Présentation
RÉSUMÉ
Le protocole de transport TCP (Transmission Control Protocol) occupe une position prédominante pour le transport des données sur Internet. Toutefois, la qualité d'une communication TCP peut varier en fonction des conditions d'accès au contenu, de l'état de congestion du réseau ou encore des conditions d'acheminement du trafic. La machinerie protocolaire TCP impose l'utilisation d'un unique chemin pour l'établissement et la maintenance d'une connexion, et ne permet pas d’exploiter des terminaux multi-interfaces, ou de combiner les ressources de chemins distincts. Cet article présente l'extension «multi-chemins» du protocole TCP, appelée Multi-Path TCP (MP TCP). Il détaille la spécification du protocole, les concepts et fonctionnements liés, les usages, apports et limites des implémentations MP TCP.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
The Transmission Control Protocol (TCP) has been extensively used as the privileged connection-oriented transport mode for many Internet applications. Yet experience with TCP can sometimes be disappointing for various reasons, which include (but are not limited to) sub-optimized forwarding path capabilities. Because a TCP session can be established only over a single path, this restriction cannot take into account either the dramatic evolution of terminal technologies toward multi-interfaced devices, or the ability to take advantage of several potential forwarding paths for improved Quality of Experience (QoE). This paper presents the Multi-Path Transmission Control Protocol (MPTCP) which is an extension of the TCP protocol that aims at optimizing the management of a TCP session by means of sub-flows.
Auteur(s)
-
Mohamed BOUCADAIR : Architecte de réseaux et services IP - France Telecom Orange
-
Christian JACQUENET : Directeur des programmes stratégiques réseaux IP - France Telecom Orange
INTRODUCTION
Le protocole de transport TCP (Transmission Control Protocol) occupe une position hégémonique au sein des communications Internet, compte tenu notamment de la prédominance des connexions HTTP (Hyper Text Transfer Protocol) utilisées pour accéder aux contenus des serveurs web. Toutefois, le protocole TCP ne permet d'établir une connexion entre deux terminaux que via un seul chemin, quel que soit le nombre de chemins effectivement disponibles pour permettre à ces terminaux de communiquer entre eux.
Avec le développement de gammes de terminaux multi-interfaces capables d'exploiter plusieurs interfaces logiques associées à une ou plusieurs interfaces physiques, plusieurs adresses IP peuvent être attribuées à ces interfaces de sorte que ces terminaux peuvent se connecter de manière simultanée ou non, selon qu'ils sont en mouvement ou pas, à différents types de réseaux (par exemple, réseau fixe, réseau mobile, réseau sans fil dont les réseaux WLAN, etc.). Ces adresses IP peuvent appartenir à la même famille ou à des familles distinctes (IPv4, IPv6 ou les deux). Elles peuvent avoir des durées de vie et des portées différentes (par exemple, adresse IPv4 privée, adresse IPv6 unique locale (ULA, Unique Local Address), adresse IPv6 de portée globale (GUA, Global Unique Address). Ces adresses peuvent également être affectées à la même interface réseau logique ou à différentes interfaces.
Malgré la disponibilité de ces nouvelles ressources capables d'exploiter différents réseaux et par conséquent différents chemins pour communiquer avec un terminal distant, une connexion TCP, caractéristique de la consultation d'un site web par exemple, sera toujours établie sur un seul et unique chemin.
L'émergence de ces terminaux multi-interfaces disposant de plusieurs interfaces de raccordement à différents réseaux introduit ainsi une certaine frustration quant à la possibilité d'optimiser l'usage des ressources disponibles pour établir une communication entre deux terminaux. En effet, puisque les connexions TCP sont identifiées par une adresse IP et un numéro de port, toute modification de ces informations d'identification est de nature à pénaliser le fonctionnement d'une connexion TCP en cours, au risque d'interrompre brutalement le service de communication reposant sur la connexion TCP.
Ainsi, un changement d'adresse (ou de numéro de port) est particulièrement préjudiciable lorsque le terminal se voit attribuer une nouvelle adresse IP, ou parce qu'il se connecte à un autre réseau, ou encore lorsque l'interface à laquelle l'adresse IP est associée n'est plus disponible (par exemple à cause d'un bail expiré). Des moyens pour informer le correspondant TCP distant qu'une adresse IP n'est plus valide sont alors nécessaires pour assurer le maintien d'une connexion existante (par exemple, dans le cas de sessions TCP de longue durée).
Il est important de noter que le support de plusieurs interfaces par un terminal est volatile, car la capacité d'utiliser ces interfaces dépend en particulier des conditions de raccordement au(x) réseau(x) de la localisation du terminal, et selon que ce terminal est en mouvement ou pas. Un terminal pourrait devenir un terminal multi-interfaces en cours d'établissement d'une connexion TCP, voire après l'établissement de la connexion TCP. De plus, un dispositif mono-interface ne sait pas a priori s'il lui est possible d'utiliser plusieurs chemins distincts pour établir une communication avec un correspondant. En effet, il n'acquiert cette information qu'à l'issue de la phase d'échange de messages relatifs à la connexion à chemins multiples établie avec son correspondant.
De nouveaux protocoles de transport ont été conçus pour répondre à ces contraintes, comme SCTP (Stream Control Transmission Protocol). Néanmoins, SCTP n'est pas massivement adopté, en raison de la prolifération des middleboxes (boîtiers intermédiaires dans une chaîne de communication), comme les NAT (Network Address Translator) et pare-feux, de nature à compromettre le bon fonctionnement des protocoles de transport, et notamment celui de SCTP.
Compte tenu de la position dominante du protocole TCP, il a paru naturel d'en développer une extension pour permettre à des terminaux d'établir une communication capable d'exploiter les ressources de plusieurs chemins, afin notamment d'optimiser l'usage des terminaux multi-interfaces. Des mesures ont été effectuées pour démontrer qu'il est encore possible d'ajouter de nouvelles extensions TCP à large échelle. C'est ainsi qu'est né le protocole Multi-Path Transmission Control Protocol (MPTCP).
Cet article a pour objectif de présenter les principales motivations qui ont conduit à la spécification du protocole MPTCP (§ 1), il énumère ensuite une liste de cas d'usage pour illustrer l'apport de MPTCP (§ 2). L'article décrit également les concepts, ainsi que le fonctionnement de ce protocole (§ 3). Il présente aussi une liste des implémentations MPTCP connues à ce jour (§ 4), ainsi qu'une analyse des défauts de la spécification MPTCP (§ 5.1). Enfin, des extensions au protocole MPTCP sont présentées afin d'en améliorer les performances et la robustesse (§ 5.3).
MOTS-CLÉS
continuité de session agrégation concentrateur de connexions réseau multi-interface protocole de transfert
KEYWORDS
session continuity | agrgregation | network concentrator | multi-interface | transport protocol
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Réseaux Télécommunications
(147 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Protocole MPTCP
3.1 Principes
La conception du protocole MPTCP repose sur le principe fondamental selon lequel il existe plusieurs chemins possibles et disponibles pour établir une communication entre deux terminaux disposant de plusieurs interfaces logiques ou physiques. Ce principe ne suppose pas forcément que tous les chemins susceptibles de supporter la communication MPTCP soient strictement disjoints, de telle sorte qu'ils puissent par exemple passer par un même équipement du réseau (voire plusieurs).
Exploiter plusieurs chemins multiples à l'aide du seul protocole TCP aurait été possible moyennant l'utilisation d'une option ad hoc , mais la présence plus que probable d'équipements intermédiaires (middlebox, tels que des équipements NAT ou des pare-feux) a plutôt favorisé l'approche MPTCP, malgré une complexité d'ingénierie accrue.
Les contraintes suivantes ont été prises en compte pour spécifier MPTCP :
-
les flux MPTCP doivent être vus par les middleboxes comme des flux TCP normaux ;
-
MPTCP doit être compatible avec TCP ; en particulier un terminal MPTCP doit établir avec succès une communication vers un correspondant TCP ;
-
l'activation de MPTCP ne doit pas provoquer la moindre dégradation de qualité d'expérience par rapport à TCP ;
-
l'utilisation de MPTCP ne doit...
Cet article fait partie de l’offre
Réseaux Télécommunications
(147 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Protocole MPTCP
BIBLIOGRAPHIE
-
(1) - FORD (A.), RAICIU (C.), HANDLEY (M.), BONAVENTURE (O.) - TCP extensions for multipath operation with multiple addresses. - RFC 6824, janv. 2013.
-
(2) - RAICIU (C.) et al - How hard can it be ? Designing and implementing a deployable multipath TCP. - USENIX Symposium of Networked Systems Design and Implementation (NSDI'12), San Jose, CA (2012).
-
(3) - HUITEMA (C.) - Multi-homed TCP. - Draft-huitema-multi-homed, mai 1995.
-
(4) - MATSUMOTO (A.) - TCP multi-home options. - Draft-arifumi-tcp-mh, oct. 2003.
-
(5) - STEWART (R.) - Stream control transmission protocol. - RFC 4960, sept. 2007.
-
(6) - IYENGAR (J.), AMER (P.), STEWART (R.) - Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths. - Journal IEEE/ACM Transactions on...
Cet article fait partie de l’offre
Réseaux Télécommunications
(147 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive