Connexion
Abonnez-vous

iOS 7 : le multipath TCP permet à Siri de jongler avec connexions 3G et Wi-Fi

Bon, il n'y a plus qu'à le répandre dans le reste du système maintenant

iOS 7 : le multipath TCP permet à Siri de jongler avec connexions 3G et Wi-Fi

Le 30 septembre 2013 à 15h17

iOS 7 dispose d’un mécanisme de communication qu’il est le premier à utiliser sous forme commerciale : le multipath TCP. Cette technique permet d’utiliser plusieurs connexions en même temps pour accroître la fiabilité d’une transmission. Même si Apple ne l’utilise pas tout à fait de cette manière, il s’agit d’une étape importante qui pourrait signifier une exploitation plus large de cette technologie issue du monde open source.

iPhone 5C

L'iPhone 5c, livré avec iOS 7

Une nouveauté absente de la présentation 

La présentation d’iOS 7 et les retours des utilisateurs se focalisent pour la plupart sur l’aspect du système mobile. Un style beaucoup plus plat, la suppression des effets de reliefs et des textures ainsi que globalement un design plus aéré. Pour autant, iOS 7 contient également bon nombre de nouveautés fonctionnelles que nous avions d’ailleurs résumées au sein d’un dossier. En outre, iOS 7 est le premier produit commercial à disposer du multipath TCP.

 

Pour comprendre l’intérêt de cette solution venue du monde open source, il faut comprendre de quoi il retourne avec le TCP. Car ce protocole particulier est au cœur de la grande majorité des communications internet. Il a pour rôle de transporter l’information, aiguillé en cela par des protocoles spécifiques de routage, et gère le degré de congestion sur une liaison de communication.

Contourner les limitations de TCP 

Le problème de TCP est qu’il fait souvent face aux limites de l’infrastructure habituelle. Les grands axes de communication proposent de très nombreux canaux pour transmettre des données. TCP envoie normalement les données sur la meilleure route possible, information transmise par d'autres protocoles. Mais s’il arrive en cours de route que le trafic devienne congestionné, ce qui arrive régulièrement, il peut y avoir perte de performances.

 

C’est ici qu’intervient le multipath TCP : le protocole sélectionne plusieurs routes et communique de manière égale avec toutes en créant spécifiquement une session pour chaque connexion disponible. Ce fonctionnement est très différent d’autres techniques qui consistent à séparer les paquets et à les envoyer via plusieurs routes. En effet, si l’une des canaux devient obstrué, la reconstitution de la trame à l’autre bout peut échouer, TCP considérant alors qu’une partie des paquets a été perdue.

 

Comme l'explique Ars Technica, le multipath TCP, ou MPTCP, dispose pour réussir dans sa mission d’une capacité bien spécifique : tous les chemins sont testés pour connaître leur viabilité. Si en cours de route l’un des chemins rencontre des problèmes, le protocole peut le détecter et renvoyer les paquets considérés comme perdus par un autre chemin. Il ne s’agit pas évidemment de saturer toutes les connexions disponibles mais de profiter de ressources qui sinon seraient inutilisées.

Permettre la continuité d'une transmission entre plusieurs connexions 

Mais en quoi cela pourrait-il intéresser Apple ? En fait, la firme de Cupertino s’est suffisamment intéressée à la technologie pour l’intégrer dans iOS 7, sans pour autant s’en servir comme on pouvait s’y attendre. Une seule fonctionnalité est concernée par MPTCP : Siri. L’assistant vocal se sert bien du protocole, mais d’une autre manière : pour jongler avec les connexions 3G/4G et Wi-Fi.

 

Les performances de Siri sont très dépendantes de celles de la connexion active sur l’appareil. Et pour cause : les réponses ne sont pas stockées dans le système mais sur les serveurs d’Apple. Chaque fois qu’un utilisateur fait une demande, elle est expédiée vers ces serveurs qui renvoient alors la solution la plus adaptée. Et puisque Siri est considéré par Apple comme un aspect essentiel, il ne faut pas dans l’idéal que la connexion se coupe.

 

Or, la connexion peut se couper pour d’autres motifs qu’une panne ou une indisponibilité. Par exemple, quand un utilisateur rentre chez lui et qu’une connexion Wi-Fi est disponible, l’iPhone réagit comme n’importe quel smartphone : il bascule automatiquement. Mais si une tâche était en cours, il y a coupure et redémarrage de la transmission via le nouveau canal. MPTCP, qui crée une session pour chaque connexion, permet dans ce cas de simplement « mettre en pause » la transmission pour continuer sur la nouvelle connexion. Ce qui permet donc la continuité de l’expérience et l’impression de performances lors des réponses données par le service.

Après Siri, le reste des applications internes ? 

Si Apple utilise MPTCP, elle n’en a pour autant parlé à aucun moment durant sa présentation, alors qu’il s’agit potentiellement d’une étape importante. Le premier à percevoir cet apport est Olivier Bonaventure, professeur de l’Université Catholique de Louvain (Belgique). Il souligne lui-même qu’Apple réalise avec MPTCP la première implémentation du protocole, l’université ayant d’ailleurs participé à sa création.

 

Le professeur note, à la fin de son billet, ce que l’on peut pressentir : qu’Apple teste sans doute avec Siri une première implémentation qui ne demande qu’à être étendue. Par exemple, iMessage profiterait sans conteste de cette amélioration car si une interruption est détectée, le message part sous la forme d’un SMS classique. Reste à voir maintenant si Apple souhaite transformer cet essai, et surtout si les concurrents comptent eux aussi se pencher sur cet intéressant protocole.

Commentaires (55)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar







DorianMonnier a écrit :



L’activation du wifi désactive le data, donc quant tu es connecté en wifi, plus rien n’est censé passé en data ? Je dis peut-être une bêtise…





Tu décris le fonctionnement sans cette technologie surtout <img data-src=" /><img data-src=" />



Edit : bbq par MB …


votre avatar







zogG a écrit :



Si cela vient du monde de l’open source, pourquoi parle-t-on à la fin de l’article de “première implémentation” ? <img data-src=" />





Parce que la théorisation du protocole a sans doute été publiée sous license libre, mais aucune implémentation (grand) publique n’a encore été développée.


votre avatar

C’était le sujet de mon stage dans le laboratoire de recherche de Motorola, avec des démonstrations dans le cadre de projets européens ! =D

À part que j’avais mis en œuvre le protocole SCTP, prévu pour ! ;)

votre avatar







DorianMonnier a écrit :



L’activation du wifi désactive le data, donc quant tu es connecté en wifi, plus rien n’est censé passé en data ? Je dis peut-être une bêtise…





Non, les 2 sont utilisé pour éviter justement les décrochage<img data-src=" />


votre avatar

Très intéressant l’article en effet, mais il était temps j’ai envie de dire..

Les constructeurs ont toujours tendances à penser qu’on dispose d’une couverture 3G+ tout le temps, mais la vérité c’est que dans le métro, trains, à la campagne, en voiture ce n’est pas vrai…

votre avatar







misterB a écrit :



parce que c’est peut être la première implémentation tout simplement.



pleins de technos existent sans pour autant être intégré.







Si y’a pas d’implémentation, y’a pas de source, donc pas d’open source non? D’où ma question.



à moins qu’un spec puisse être “open source”, mais ça n’a pas de sens pour moi. Enfin je suis pas expert alors <img data-src=" />



edit: ok avec maxxyme plus haut, open source ça marche aussi avec licence libre, pourquoi c’était un peu différent donc <img data-src=" />


votre avatar







zogG a écrit :



Si y’a pas d’implémentation, y’a pas de source, donc pas d’open source non? D’où ma question.



à moins qu’un spec puisse être “open source”, mais ça n’a pas de sens pour moi. Enfin je suis pas expert alors <img data-src=" />





<img data-src=" /> tu peux développer un truc complet et donc avec des sources, mais sans application autre que les tests pour montrer que ça marche <img data-src=" />


votre avatar







jb18v a écrit :



<img data-src=" /> tu peux développer un truc complet et donc avec des sources, mais sans application autre que les tests pour montrer que ça marche <img data-src=" />







Et ouais ça s’appelle une implémentation…



Enfin je voulais pas lancer une expertise de la brigade de la mouche donc oublions la question <img data-src=" />


votre avatar







zogG a écrit :



Et ouais ça s’appelle une implémentation…



Enfin je voulais pas lancer une expertise de la brigade de la mouche donc oublions la question <img data-src=" />





Sans application c’est sympa mais ça sert a rien, ok ça marche ils ont testé mais si personne ne s’en sert……



votre avatar







misterB a écrit :



lis la news <img data-src=" />



L’assistant vocal se sert bien du protocole, mais d’une autre manière : pour jongler avec les connexions 3G/4G et Wi-Fi.









yvan a écrit :



Tu décris le fonctionnement sans cette technologie surtout <img data-src=" /><img data-src=" />



Edit : bbq par MB …









Alkore a écrit :



Non, les 2 sont utilisé pour éviter justement les décrochage<img data-src=" />







Bon, faut que j’arrête de lire les news en diagonale… <img data-src=" />



Mais ok, j’ai mal compris, je pensais que la technologie permet des transitions plus souples entre différentes connexions, mais quand dans ce cas il était pas utilisé pour permettre à Siri d’utiliser les connexions “en parallèle”.


votre avatar







zogG a écrit :



Si cela vient du monde de l’open source, pourquoi parle-t-on à la fin de l’article de “première implémentation” ? <img data-src=" />





C’est juste faux.



NetScaler de Citrix l’utilise déjà.



Mais bon, quand c’est Apple, c’est une révolution ; quand c’est les autres, personne ne relève

(<img data-src=" /> … ou même pas tant que ça, en fait)


votre avatar







misterB a écrit :



Sans application c’est sympa mais ça sert a rien, ok ça marche ils ont testé mais si personne ne s’en sert……







Et alors ? s’il existe une implémentation open source, alors celle d’Apple n’est pas la première. Et si celle d’Apple est la première, alors elle ne vient pas de l’open source, c’est soit l’un soit l’autre, pas les deux.



Bon brazomyna a un début d’explication <img data-src=" />



Et c’est juste pour comprendre, je suis client et dev Apple, alors loin de moi l’idée de venir troller sur la marque…


votre avatar







brazomyna a écrit :



C’est juste faux.



NetScaler de Citrix l’utilise déjà.



Mais bon, quand c’est Apple, c’est une révolution ; quand c’est les autres, personne ne relève

(<img data-src=" /> … ou même pas tant que ça, en fait)





Mais c’est bien beau, mais sans OS te laissant le faire ça ne sert a rien



MPTCP has been adopted by at least one major mobile manufacturer and is expected to be broadly adopted by end of this year.



Ils sont prêt mais il faut que les constructeurs authorise à l’app de le faire en implémentant la fonction dans l’OS il me semble<img data-src=" />


votre avatar







misterB a écrit :



Mais c’est bien beau, mais sans OS te laissant le faire ça ne sert a rien



MPTCP has been adopted by at least one major mobile manufacturer and is expected to be broadly adopted by end of this year.



Ils sont prêt mais il faut que les constructeurs authorise à l’app de le faire en implémentant la fonction dans l’OS il me semble<img data-src=" />







Alors il suffit de parler de “première utilisation sur un produit grand public”, simple.


votre avatar







brazomyna a écrit :



C’est juste faux.



NetScaler de Citrix l’utilise déjà.



Mais bon, quand c’est Apple, c’est une révolution ; quand c’est les autres, personne ne relève

(<img data-src=" /> … ou même pas tant que ça, en fait)







Première exploitation commerciale à large échelle. Autant que je sache, le péquin moyen, Citrix il connaît pas des masses. Et personne n’a parlé de révolution.


votre avatar







misterB a écrit :



Mais c’est bien beau, mais sans OS te laissant le faire ça ne sert a rien





Linux le propose déjà et des portages ont déjà été faits pour plusieurs smartphones sous Android.

http://www.uclouvain.be/en-437743.html







Vincent_H a écrit :



le péquin moyen, Citrix il connaît pas des masses





Citrix compte plus de 260 000 entreprises clientes.. Une paille.







Vincent_H a écrit :



Et personne n’a parlé de révolution.





J’ai pas dit que tu avais parlé de révolution, c’était évidemment une formulation.



Reste quand même le fait intéressant de voir que des articles émergent quand ça arrive dans un device Apple, mais pas avant. Suffit de faire une recherche google pour le constater.



votre avatar







brazomyna a écrit :



Linux le propose déjà et des portages ont déjà été faits pour plusieurs smartphones sous Android.

http://www.uclouvain.be/en-437743.html







Ton lien montre que ça a été fait des fins de démo là







brazomyna a écrit :



Citrix compte plus de 260 000 entreprises clientes.. Une paille.





Et ça change la perception par le péquin moyen en quoi ?


votre avatar







misterB a écrit :



Et ça change la perception par le péquin moyen en quoi ?





Je te retourne la question: le fait qu’Apple utilise du MPTCP change la perception du pékin moyen en quoi ?



Il faut savoir: soit on considère comme base la vue du pékin moyen et on parle pas du tout du MPTCP qui reste un truc éminement technique, soit on parle d’une truc technique et on va au bout de la logique.


votre avatar







brazomyna a écrit :



Je te retourne la question: le fait qu’Apple utilise du MPTCP change la perception du pékin moyen en quoi ?



Il faut savoir: soit on considère comme base la vue du pékin moyen et on parle pas du tout du MPTCP qui reste un truc éminement technique, soit on parle d’une truc technique et on va au bout de la logique.





C’est appliqué, après le péquin il s’en cogne du MPTCP, mais c’est mis dans un OS grand publique d’origine, pas en bidouillant la machine <img data-src=" />



votre avatar







misterB a écrit :



Ton lien montre que ça a été fait des fins de démo là





Et ça change la perception par le péquin moyen en quoi ?





En même temps, le péquin moyen, il sait ce que sait du TCP et pourquoi le faire en multipath ?

J’ai l’impression qu’on reprend la dissectomie de mouche là <img data-src=" />


votre avatar

Bon article, par contre il y a vraiment une ambiguité. TCP n’est pas un protocole de routage. C’est un protocole, mais pas de “routage”. Il permet de retransmettre des packet IP contrairement à UDP, mais ne choisi en aucune façon le meilleur chemin dans une infrastructure.



Corriger si vous pouvez ^^, à moins que je me trompe.

votre avatar

Bon, j’ai un peu de temps à perdre en attendant que ma pizza cuise, donc je vais relever les erreurs sur TCP (je dois admettre que j’en avais encore jamais vu des si grosses) <img data-src=" />





Pour comprendre l’intérêt de cette solution venue du monde open source, il faut comprendre de quoi il retourne avec le TCP. Ce protocole particulier est au cœur de la grande majorité des communications internet. Il a pour rôle de contrôler le transport de l’information, et non de transporter l’information elle-même. Il cherche notamment à savoir quelles sont les meilleures routes pour transmettre les données.



C’est faux, TCP transporte l’information.

De plus, il ne s’occupe absolument pas de routage.





TCP, avec d’autres protocoles de routage, cherchent à établir la meilleure route possible.



TCP n’est pas un protocole de routage. Il ne s’occupe pas des routes empruntés par les paquets. TCP fonctionne entre machines terminales (les PC, smartphones, tablettes, les serveurs), pas sur les routeurs. Les protocoles de routages, eux, fonctionnent à l’intérieur du réseau. Sur Internet, c’est BGP qui est utilisés entre les opérateurs par exemple.

Les protocoles de routage dynamique automatisent la construction des tables de routages empruntés par les paquets IP, y compris ceux contenant du TCP.





Mais quand il arrive que plusieurs canaux soient équivalents, un seul va quand même être utilisé.





C’est ici qu’intervient le multipath TCP : le protocole sélectionne plusieurs routes et communique de manière égale avec toutes.



Une machine terminale peut disposer de plusieurs connexion vers le réseau (par exemple un smartphone avec le Wi-Fi de la maison et la 3G, un PC avec une connexion filaire par ADSL et une connexion satellite, etc.). Dans ce cas, effectivement, une seule des deux liaisons va être utilisés pour une même session TCP. Le boulot de MPTCP est d’établir plusieurs sessions, une via chaque connexion réseau.

Cela n’a rien à voir avec les multiples routes présentent dans le cœur de réseau des opérateurs, des différents liens d’interconnexions (transit & peering) vers la même destination. Et ces multiples routes peuvent être utilisés simultanément elles aussi, mais c’est plus loin dans le réseau, pas chez madame michu, et ce n’est pas là où MPTCP intervient.



Faudrait peut-être lire 2 ou 3 tutos de base sur le réseau avant d’écrire des articles orienté réseau. Sans méchanceté hein ! PCi est réputé pour pas ne pas écrire de pipo, ça serait bien de continuer <img data-src=" />



J’espère que ma pizza n’a pas cramé <img data-src=" />

votre avatar







Latios a écrit :



J’espère que ma pizza n’a pas cramé <img data-src=" />





Ta pizza, je ne sais pas, mais moi en tout cas…







Alderaaan a écrit :



Bon article, par contre il y a vraiment une ambiguité. TCP n’est pas un protocole de routage. C’est un protocole, mais pas de “routage”. Il permet de retransmettre des packet IP contrairement à UDP, mais ne choisi en aucune façon le meilleur chemin dans une infrastructure.



Corriger si vous pouvez ^^, à moins que je me trompe.







Tout à fait, ce paragraphe est faux :



Le problème de TCP est qu’il fait souvent face aux limites de l’infrastructure habituelle. Les grands axes de communication proposent de très nombreux canaux pour transmettre des données. TCP, avec d’autres protocoles de routage, cherchent à établir la meilleure route possible. Mais quand il arrive que plusieurs canaux soient équivalents, un seul va quand même être utilisé. S’il arrive en cours de route que le trafic devienne congestionné, ce qui arrive régulièrement, il peut y avoir perte de performances.





TCP est un protocole de transport au concept basique : il crée une connexion entre deux piles IP et fait en sorte que tout soit transmis dans un sens et dans l’autre. Il se fout du chemin pris, il ne cherche pas le meilleur. Toute cette partie, c’est le réseau qui s’en charge et un PC terminal ne peut de toute façon pas s’en occuper.



Par contre, TCP gère en effet la congestion : s’il perçoit des pertes de paquet, il réduit sa vitesse de transfert pour éviter de saturer le réseau.



Ce que fait Multipath TCP, de ce que je comprends, c’est qu’au lieu de faire confiance au système qui choisit l’interface de sortie par défaut (qui se voit via route print sur Windows), il peut tester d’envoyer par plusieurs interfaces des flux complémentaires.


votre avatar







Alderaaan a écrit :



Bon article, par contre il y a vraiment une ambiguité. TCP n’est pas un protocole de routage. C’est un protocole, mais pas de “routage”. Il permet de retransmettre des packet IP contrairement à UDP, mais ne choisi en aucune façon le meilleur chemin dans une infrastructure.



Corriger si vous pouvez ^^, à moins que je me trompe.





+1 avec ta première phrase, par contre UDP transporte aussi de l’IP (La principale différence est que TCP fiabilise le transfert).



Sinon oui MPTCP existe depuis un moment, c’est sans doute peu utilisé car les cas où il est avantageux de faire du multipath sont assez rare. J’avais vu une expérimentation du CERN qui l’utilisait pour augmenter ses débits, mais ça le péquin moyen verra pas la différence même si il a la fibre.

Et aussi je suppose que le protocole doit être implémenté côté client et côté serveur : du coup pour Apple c’est facile de le faire pour Siri car ils maitrisent tout, mais pour un développeur lambda à mon avis c’est une autre histoire.


votre avatar

C’est aussi exploité sur Safari. En effet, quand je n’avais pas de loopback sur mon réseau local et connecté en WiFi, l’iPhone passait par la 3G.

votre avatar







Helmeted_Leo a écrit :



+1 avec ta première phrase, par contre UDP transporte aussi de l’IP (La principale différence est que TCP fiabilise le transfert).





En l’occurrence, c’est plutôt IP qui transporte de l’UDP ou du TCP <img data-src=" />



D’accord pour tout le reste: le routage n’est pas au niveau de TCP, il est au niveau inférieur, du côté de l’IP (cf. le modèle OSI). Le seul bout de TCP qu’on pourrait vaguement relier à la notion de “routage” (avec de très gros guillemets) concerne la notion de port qui permet de router les paquets vers une application ou une autre au niveau de chaque endpoint du réseau. Et encore, c’est plus proche du démultiplexage qu’autre chose.



votre avatar

au dela de l’enculage de mouches habituel quand des gens n’ont rien a dire mais cherchent a critiquer Apple quand meme (je ne vise pas les mecs qui relevent les approximations plus ou moins justifiées de l’article en disant ca), ca montre quand meme que cette boite est une vraie entreprise technologique qui PRODUIT de la techno et pas seulement des campagnes de pubs comme pleins de neuneux s’amusent a le repeter comme des anes batés a longueur de thread.

Et on pourra dire ce qu’on veut mais ils ne cherchent pas a s’en vanter quand ils integrent des technos de ce genre qu’on a encore jamais vu auparavant dans un produit grand public (ni meme accessible dans un environnement “pro” moyen) : ils n’en ont parlé a AUCUN moment dans leurs presentations. Meme pour les devs. Rien.

votre avatar







KP2 a écrit :



au dela de l’enculage de mouches





Moi, j’aime. La preuve:





cette boite est une vraie entreprise technologique qui PRODUIT de la techno



Elle n’a ici rien PRODUIT. Elle a UTILISE une techno produite par d’autres.


votre avatar

Pour clarifier les choses il existe bien une implémentation open source Linux de MPTCP:



http://mptcp.info.ucl.ac.be/



Des fichiers .deb sont même disponibles. Je l’ai installé sur mon Linux et cela fonctionne très bien.



Pour la petite histoire les chercheurs de l’Université Catholique de Louvain (Belgique) ont réussi à battre le record de la connexion TCP la plus rapide au monde:



http://multipath-tcp.org/pmwiki.php?n=Main.50Gbps



Il faut savoir qu’Apple n’intègre pas de code open-source dans ses produits, c’est pourquoi ils ont leur propre implémentation dans iOS7. Bien entendu la version open source Linux existait bien avant.

votre avatar







swax a écrit :



Il faut savoir qu’Apple n’intègre pas de code open-source dans ses produits





Ca me paraît étrange comme affirmation.

Un webkit par exemple n’est-il pas open-source ?


votre avatar







swax a écrit :



Il faut savoir qu’Apple n’intègre pas de code open-source dans ses produits









opensource.apple.com AppleIl est possible que cette implémentation soit un dev interne à Apple qui n’est pas ouvert, mais dire qu’Apple n’intègre pas d’open source est erroné.


votre avatar







brazomyna a écrit :



Ca me paraît étrange comme affirmation.

Un webkit par exemple n’est-il pas open-source ?







Apple fait parfois du code et le rend open-source (ce qui est le cas pour webkit si j’ai bien compris ce que j’ai lu) mais apple n’intègre pas directement du code open source d’une autre entité dans ses produits, c’est ce que je veux dire.



Je n’ai pas de sources, c’est simplement ce qu’un des chercheurs derrière MPTCP m’a dit quand j’ai demandé pourquoi Apple n’utilisait pas l’implémentation open source déjà existante. Maintenant peut-être que j’ai mal compris ce qu’on m’a dit. Si cela se trouve ils ont juste copié la version open source en l’adaptant au kernel iOS, et vu que leur implémentation à eux n’est pas open source on ne peut pas vérifier.


votre avatar

Merci pour cet article détaillé et très intéressant !

votre avatar

Si cela vient du monde de l’open source, pourquoi parle-t-on à la fin de l’article de “première implémentation” ? <img data-src=" />

votre avatar

Tant que la “G” ne sera pas illimitée, ça va devenir compliquer de jongler sur les paramètres si des applications choisissent cette techno.

votre avatar







zogG a écrit :



Si cela vient du monde de l’open source, pourquoi parle-t-on à la fin de l’article de “première implémentation” ? <img data-src=" />





Le protocole a été édité en OpenSource et testé pour fins de recherche, mais son utilisation «industrielle» vient juste d’être réalisée. Du moins, c’est comme ça que je le comprends.


votre avatar







zogG a écrit :



Si cela vient du monde de l’open source, pourquoi parle-t-on à la fin de l’article de “première implémentation” ? <img data-src=" />







La technologie existe mais n’est peut-être pas implémenté ? Mais ce serait étrange en effet.



Technologie intéressante en tout cas, étrange qu’elle n’ai pas implémenté directement dans la couche réseau d’iOS, ça aurait été une avancé technique plaisante.


votre avatar







zogG a écrit :



Si cela vient du monde de l’open source, pourquoi parle-t-on à la fin de l’article de “première implémentation” ? <img data-src=" />





parce que c’est peut être la première implémentation tout simplement.



pleins de technos existent sans pour autant être intégré.


votre avatar







DorianMonnier a écrit :



La technologie existe mais n’est peut-être pas implémenté ? Mais ce serait étrange en effet.



Technologie intéressante en tout cas, étrange qu’elle n’ai pas implémenté directement dans la couche réseau d’iOS, ça aurait été une avancé technique plaisante.





sans doute pour éviter d’exploser tes datas si ton tel en wifi te bouffe via la 3 ou 4G <img data-src=" />



Siri ça reste léger, YT ou autre ça pourrait faire mal <img data-src=" />


votre avatar

Ça me fait penser à cette appli. C’est le même principe ?

votre avatar







misterB a écrit :



sans doute pour éviter d’exploser tes datas si ton tel en wifi te bouffe via la 3 ou 4G <img data-src=" />



Siri ça reste léger, YT ou autre ça pourrait faire mal <img data-src=" />







L’activation du wifi désactive le data, donc quant tu es connecté en wifi, plus rien n’est censé passé en data ? Je dis peut-être une bêtise…


votre avatar







DorianMonnier a écrit :



L’activation du wifi désactive le data, donc quant tu es connecté en wifi, plus rien n’est censé passé en data ? Je dis peut-être une bêtise…





lis la news <img data-src=" />



L’assistant vocal se sert bien du protocole, mais d’une autre manière : pour jongler avec les connexions 3G/4G et Wi-Fi.


votre avatar







JohnCaffey a écrit :



Ça me fait penser à cette appli. C’est le même principe ?





oui c’est la version bourrin qui va récupérer de tout côté sans se soucier de choisir le mieux, juste en activant tout en même temps <img data-src=" />


votre avatar







swax a écrit :



Apple fait parfois du code et le rend open-source (ce qui est le cas pour webkit si j’ai bien compris ce que j’ai lu) mais apple n’intègre pas directement du code open source d’une autre entité dans ses produits, c’est ce que je veux dire.





Le noyau de l’OS (osx ou ios) est opensource

fr.wikipedia.org Wikipedia

en.wikipedia.org Wikipedia



Webkit est un fork de KHTML donc open depuis l’origine

fr.wikipedia.org WikipediaApple utilise bcp d’open source dans ses produits venant de partout


votre avatar







swax a écrit :



apple n’intègre pas directement du code open source d’une autre entité dans ses produits, c’est ce que je veux dire.





Si on lit l’article de FreeBSD sur wikipédia, on a:



Apple a utilisé une grande partie du système version 5, et a participé en retour à l’ajout de fonctionnalités11. Il y a donc une communauté de développeurs FreeBSD - au sens large - très importante.


votre avatar







swax a écrit :



Je n’ai pas de sources, c’est simplement ce qu’un des chercheurs derrière MPTCP m’a dit quand j’ai demandé pourquoi Apple n’utilisait pas l’implémentation open source déjà existante. Maintenant peut-être que j’ai mal compris ce qu’on m’a dit. Si cela se trouve ils ont juste copié la version open source en l’adaptant au kernel iOS, et vu que leur implémentation à eux n’est pas open source on ne peut pas vérifier.





L’implémentation MPTCP pour Linux est sous licence GPL. Cette licence stipule que si tu distribues un produit utilisant le code (tel quel ou avec des modifications), tu dois redistribuer les sources sous la même licence. Donc Apple ne peut pas pas légalement l’utiliser dans iOS.

Mais comme tu le dis, quand on a pas les sources c’est pas facile de vérifier…


votre avatar







misterB a écrit :



Le noyau de l’OS (osx ou ios) est opensource

fr.wikipedia.org Wikipedia



Webkit est un fork de KHTML donc open depuis l’origine



Apple utilise bcp d’open source dans ses produits venant de partout







Je sais bien pour le noyau. Je parlais de leur éventuelle politique actuelle. Bref ca serait quand même pas le cas, autant pour moi. Maintenant peut-être que le “n’intègre pas” est à remplacer par “intègre rarement”, ou sous certaines conditions qui ne sont pas remplies par l’implémentation open source de MPTCP. Ou alors on m’a simplement donné une information erronée.


votre avatar







Latios a écrit :



si tu distribues un produit utilisant le code (tel quel ou avec des modifications), tu dois redistribuer les sources sous la même licence. Donc Apple ne peut pas pas légalement l’utiliser dans iOS.





Apple pourrait parfaitement ne re-publier que le module modifié à leur sauce (si tant est qu’il l’ont modifié) sans le reste autour.



Au passage, il me semble qu’il existe par ailleurs masse de modules qui ne sont pas open source (nVidia le premier ?). La notion de module permettant de considérer que le code n’est pas une modification du kernel lui-même, mais une entité à part, où la viralité de la GPL ne s’applique pas.



votre avatar







swax a écrit :



Je sais bien pour le noyau. Je parlais de leur éventuelle politique actuelle. Bref ca serait quand même pas le cas, autant pour moi. Maintenant peut-être que le “n’intègre pas” est à remplacer par “intègre rarement”, ou sous certaines conditions qui ne sont pas remplies par l’implémentation open source de MPTCP. Ou alors on m’a simplement donné une information erronée.





ils ont pas encore publié les sources open de iOS7, laisse leur le temps <img data-src=" />


votre avatar







Latios a écrit :



L’implémentation MPTCP pour Linux est sous licence GPL. Cette licence stipule que si tu distribues un produit utilisant le code (tel quel ou avec des modifications), tu dois redistribuer les sources sous la même licence. Donc Apple ne peut pas pas légalement l’utiliser dans iOS.

Mais comme tu le dis, quand on a pas les sources c’est pas facile de vérifier…







Cela est surement ce qu’on a voulu me dire et donc l’explication de pourquoi ils ont leur propre implémentation.


votre avatar







brazomyna a écrit :



Apple pourrait parfaitement ne re-publier que le module modifié à leur sauce (si tant est qu’il l’ont modifié) sans le reste autour.



Au passage, il me semble qu’il existe par ailleurs masse de modules qui ne sont pas open source (nVidia le premier ?). La notion de module permettant de considérer que le code n’est pas une modification du kernel lui-même, mais une entité à part, où la viralité de la GPL ne s’applique pas.





Tout à fait. Avec la petite subtilité en plus des fonctions du noyau en EXPORT_GPL, qui interdit au module proprio de les utiliser (au grand dam de nvidia).


votre avatar







swax a écrit :



Je sais bien pour le noyau. Je parlais de leur éventuelle politique actuelle. Bref ca serait quand même pas le cas, autant pour moi. Maintenant peut-être que le “n’intègre pas” est à remplacer par “intègre rarement”, ou sous certaines conditions qui ne sont pas remplies par l’implémentation open source de MPTCP. Ou alors on m’a simplement donné une information erronée.



Il semblerait, oui… Mais peu importe.

Il suffit aussi de voir dans le détail des MAJ d’OS ce qu’Apple rectifie ou pas, que ce la concerne sécurité ou simple upgrade logiciel de fonctionalités. Ce détail te montre une foultitude de codes libres et/ou open source aussi; ça se voit moins si tu n’y fourres pas ton nez mais c’est kle cas même en dehors des CUPS, emacs et cie…apple.com Applepour un détail…


votre avatar







KP2 a écrit :



au dela de l’enculage de mouches habituel quand des gens n’ont rien a dire mais cherchent a critiquer Apple quand meme (je ne vise pas les mecs qui relevent les approximations plus ou moins justifiées de l’article en disant ca), ca montre quand meme que cette boite est une vraie entreprise technologique qui PRODUIT de la techno et pas seulement des campagnes de pubs comme pleins de neuneux s’amusent a le repeter comme des anes batés a longueur de thread.

Et on pourra dire ce qu’on veut mais ils ne cherchent pas a s’en vanter quand ils integrent des technos de ce genre qu’on a encore jamais vu auparavant dans un produit grand public (ni meme accessible dans un environnement “pro” moyen) : ils n’en ont parlé a AUCUN moment dans leurs presentations. Meme pour les devs. Rien.







Pour l’heure, ils ne risquent pas, puisque l’usage du MPTCP est restreint à Siri. Peut-être qu’à l’avenir, il sera dispo dans une API, mais pour le moment, les développeurs ne peuvent pas en faire grand-chose.


votre avatar







le podoclaste a écrit :



Pour l’heure, ils ne risquent pas, puisque l’usage du MPTCP est restreint à Siri. Peut-être qu’à l’avenir, il sera dispo dans une API, mais pour le moment, les développeurs ne peuvent pas en faire grand-chose.







Dans une configuration MPTCP normale (sur Linux pas sur iOS7 où seul Siri l’utilise) il n’est pas nécessaire d’avoir recours à une API pour utiliser MPTCP.



MPTCP fonctionne de manière transparente entre la couche transport TCP et la couche application. Cela permet à toutes les applications utilisant TCP d’utiliser MPTCP sans aucune modification du code.



En somme, si on patch le kernel Linux avec MPTCP, toutes les applications Linux vont utiliser MPTCP. Bien sur il faut que l’hôte distant soit aussi compatible avec MPTCP, cela est négocié à l’aide de l’option tcp “mp_capable” du three-way-handshake TCP.



Donc si Apple décide à terme d’intégrer entièrement MPTCP dans iOS, toutes les applications utiliseront MPTCP sans que le développeur n’ait à faire quoique ce soit.


votre avatar

+1 je suis d’accord avec toi. Pour UDP, je voulais dire que n’était pas un protocole fiable au sens réseau.









Helmeted_Leo a écrit :



+1 avec ta première phrase, par contre UDP transporte aussi de l’IP (La principale différence est que TCP fiabilise le transfert).



Sinon oui MPTCP existe depuis un moment, c’est sans doute peu utilisé car les cas où il est avantageux de faire du multipath sont assez rare. J’avais vu une expérimentation du CERN qui l’utilisait pour augmenter ses débits, mais ça le péquin moyen verra pas la différence même si il a la fibre.

Et aussi je suppose que le protocole doit être implémenté côté client et côté serveur : du coup pour Apple c’est facile de le faire pour Siri car ils maitrisent tout, mais pour un développeur lambda à mon avis c’est une autre histoire.





iOS 7 : le multipath TCP permet à Siri de jongler avec connexions 3G et Wi-Fi

  • Une nouveauté absente de la présentation 

  • Contourner les limitations de TCP 

  • Permettre la continuité d'une transmission entre plusieurs connexions 

  • Après Siri, le reste des applications internes ? 

Fermer