Présentation
RÉSUMÉ
TCP (Transmission Control Protocol) est le protocole de transport «orienté connexion» de référence de la suite TCP/IP. La richesse fonctionnelle de TCP a toutefois un coût: celui de la complexité, qui peut parfois affecter les performances de la communication. Ainsi, TCP fait récemment l’objet d’évolutions fonctionnelles destinées à améliorer sa robustesse, sa performance et son efficacité. Par exemple, l’option Multi-Path TCP (MPTCP) permet l’établissement d’une connexion TCP sur des chemins multiples. Cette évolution du protocole TCP, protéiforme et multifonctionnelle conforte son hégémonie, et cet article se propose de présenter un ensemble d’évolutions fonctionnelles majeures de TCP parmi les plus récentes.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
TCP (Transmission Control Protocol) is the reference connection-oriented transport protocol of the TCP/IP protocol suite. But the functional richness of the protocol has a cost: its complexity, which can sometimes impair the performance of an Internet communication. Thus TCP has been constantly evolving. Functional evolutions include the Multi-Path TCP –MPTCP) option that enables the establishment of TCP connections over multiple paths, for example. This protean, multi-functional evolution of TCP further strengthens its undisputed hegemony. This article presents some of the most recent major TCP evolutions.
Auteur(s)
-
Mohamed BOUCADAIR : Architecte de réseaux et services IP - Orange
-
Christian JACQUENET : Directeur des Programmes Stratégiques Réseaux IP - Orange
INTRODUCTION
TCP (Transmission Control Protocol) est le protocole de transport orienté connexion de référence au sein de la suite TCP/IP. Pierre angulaire des échanges liés à la consultation de sites web notamment, TCP occupe une position quasi hégémonique du point de vue de la typologie du trafic véhiculé sur Internet. Cette position n’a jamais été démentie depuis les trois dernières décennies, malgré la standardisation de certaines propositions alternatives destinées à promouvoir des modes de transport mieux adaptés aux besoins de certaines applications, par exemple en simplifiant la procédure d’établissement des connexions au niveau de la couche transport ou en améliorant la robustesse des connexions contre des attaques de déni de service. Toutefois, ces propositions alternatives présentées dans la Section 1 de cet article n’ont jamais rencontré le succès espéré, notamment parce que leur impact sur les systèmes d’exploitation (OS, Operating systems) tels que Windows était techniquement et commercialement rédhibitoire, mais aussi parce qu’elles n’ont pas réussi à convaincre la communauté des développeurs d’applications de la nécessité de concevoir de nouvelles sockets capables d’exploiter les ressources de ces nouvelles piles protocolaires de la couche transport.
Pour autant, la spécification de base du protocole TCP publiée en 1981 a évolué au cours du temps et du développement de l’Internet. Ces évolutions fonctionnelles du protocole TCP sont destinées à répondre à des besoins divers et variés, tels que :
-
l’amélioration globale de la performance de la machinerie protocolaire TCP. Cette amélioration est protéiforme et a notamment pour objectif d’optimiser le temps d’établissement d’une connexion TCP en profitant des premiers échanges caractéristiques de la procédure de négociation « 3-way handshake » (3WHS) pour envoyer et recevoir les premières données utiles ;
-
les perspectives de pouvoir exploiter l’ensemble des ressources réseau accessibles à des multi-terminaux interfaces prometteurs. En effet, la capacité d’établir une connexion TCP sur plusieurs chemins permet d’augmenter la bande passante associée à la connexion. Cette capacité permet également d’améliorer la disponibilité du service de connectivité ;
-
la nécessité de rendre les connexions TCP plus imperméables aux attaques de déni de service ;
-
le besoin d’adapter la machinerie protocolaire TCP à l’évolution globale des réseaux, dont certaines ressources sont désormais virtualisées et hébergées dans des infrastructures cloud. Ce besoin est lui aussi protéiforme : il peut s’exprimer en termes de gestion dynamique de la mobilité des machines virtuelles lorsque celles-ci migrent d’un data center vers un autre. Il peut par ailleurs illustrer l’émergence de choix d’ingénierie qui reposent sur l’introduction de fonctions d’agrégation de connexions TCP dans le réseau. De telles fonctions permettent aux utilisateurs de bénéficier d’un usage optimisé des ressources réseau sans pour autant imposer la moindre contrainte sur les terminaux à l’origine de l’établissement d’une connexion TCP.
De tels modèles, où l’établissement et la gestion des connexions TCP bénéficient in fine de l’assistance de fonctions spécifiques typiquement déployées dans les réseaux d’accès, sont aujourd’hui considérés comme les supports privilégiés pour le déploiement d’offres d’accès hybrides. Ces offres sont ainsi capables de combiner avec intelligence l’ensemble des ressources réseaux disponibles pour fournir plus de bande passante ou améliorer la disponibilité globale du service de connectivité. De ce point de vue, leur ingénierie et leur gestion ont un impact inévitable sur la manière dont les connexions TCP sont établies et maintenues, tout en préservant l’utilisateur final d’un quelconque impact sur les technologies des terminaux qu’il utilise pour accéder à lnternet.
Ces différents défis techniques auxquels TCP est désormais confronté sont essentiellement relevés par la spécification et le développement d’options TCP. Ces options enrichissent les capacités fonctionnelles de TCP, au risque parfois d’en compliquer le fonctionnement. Cet article se propose donc de fournir un éclairage sur les évolutions fonctionnelles majeures et néanmoins récentes du protocole TCP. L’article est structuré de la manière suivante :
-
La section 1 présente un résumé des solutions alternatives à TCP pour offrir un mode transport orienté connexion (ou non) adapté notamment aux besoins spécifiques de certaines applications ;
-
Après quelques rappels sur le fonctionnement de TCP tels qu’évoqués dans la section 2, les sections 3 à 7 détaillent certaines des récentes évolutions fonctionnelles majeures du protocole TCP, selon les différents axes d’amélioration – qualité de service, performance, robustesse, sécurité, etc.
-
Enfin, la section 8 présente quelques perspectives d’évolution.
Cet article n’a pas pour but de décrire les fonctions de base TCP, de définir un profil TCP, ou de proposer des paramétrages TCP pour certains déploiements (par exemple, fixe, mobile, LAN, etc.). Cet article a pour principal objectif de décrire certaines évolutions récentes du protocole et d’expliquer les motivations et usages associés.
MOTS-CLÉS
KEYWORDS
performance | robustness | TCP | option TCP | efficiency
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Technologies de l'information > Réseaux Télécommunications > Réseau Internet : protocoles, multicast, routage, MPLS et mobilité > Transport Internet : TCP plus performant, plus robuste, plus fiable - Quelques évolutions récentes du protocole TCP > Quelques rappels sur le protocole TCP
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 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
2. Quelques rappels sur le protocole TCP
Cette section rappelle quelques principes de fonctionnement du protocole TCP qui sont utiles pour les besoins de cet article.
L’article [TE 7 570] décrit plus en détail le fonctionnement de base du protocole TCP, incluant les mécanismes de retransmission et de contrôle de congestion.
Premièrement, TCP utilise une procédure, dite 3WHS (3-way Handshake), pour l’établissement d’une connexion entre deux terminaux TCP. Des bits (appelés, « flags ») sont renseignés à cet effet dans un segment TCP pour indiquer au terminal distant la nature du segment, particulièrement :
-
SYN est utilisé lors de l’établissement d’une connexion ;
-
ACK est utilisé pour signaler que le segment est un acquittement ;
-
FIN est utilisé pour mettre fin à une connexion ;
-
RST est utilisé pour indiquer une rupture anormale de la connexion.
La figure 1 illustre un exemple typique de l’établissement d’une connexion TCP.
Un segment TCP inclut un en-tête TCP qui renseigne les informations suivantes, en plus des bits de contrôle (flags) mentionnés précédemment :
-
Numéro de port source indique le numéro de port utilisé par la machine source pour cette connexion ;
-
Numéro de port destination indique le numéro de port utilisé par la machine destination pour cette connexion ;
-
Numéro de séquence est un identifiant, codé sur 32 bits, utilisé par un émetteur pour décompter les octets envoyés à une machine distante ;
-
Numéro d’acquittement est un identifiant, codé sur 32 bits, utilisé pour indiquer le numéro de séquence attendu du prochain segment à recevoir du correspondant ;
-
Fenêtre indique le nombre de données en octets que le récepteur souhaite recevoir sans accusé de réception ;
-
Le champ « Checksum » ce champ est utilisé pour le contrôle d’intégrité TCP ;
-
Une ou plusieurs options des données optionnelles peuvent être communiquées...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 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
Quelques rappels sur le protocole TCP
BIBLIOGRAPHIE
-
(1) - Akamai - « akamai’s [state of the internet], Q3 2015 report », - 2015, <https://www.akamai.com/us/en/multimedia/documents/report/q3-2015-soti-connectivity-final.pdf>.
-
(2) - ALIZADEH (M.), GREENBERG (A.), MALTZ (D.), PADHYE (J.), PATEL (P.), PRABHAKAR (B.), SENGUPTA (S.), SRIDHARAN (M.) - « Data Center TCP (DCTCP) », - DOI 10.1145/1851182.1851192, Proc. ACM SIGCOMM 2010 Conference (SIGCOMM 10), August 2010, <http://dl.acm.org/citation.cfm?doid=1851182.1851192>.
-
(3) - ALLMAN (M.), FLOYD (S.), PARTRIDGE (C.) - « Increasing TCP’s Initial Window », - RFC 3390, October 2002, <http://www.rfc-editor.org/info/rfc3390>.
-
(4) - ALLMAN (M.), PAXSON (V.), BLANTON (E.) - « TCP Congestion Control », - RFC 5681, September 2009, <http://www.rfc-editor.org/info/rfc5681>.
-
(5) - TRAMMELL (B.), KUEHLEWIND (M.), BOPPART (D.), LEARMONTH (I.), FAIRHURST (G.), SCHEFFENEGGER (R.) - « Enabling Internet-Wide Deployment of Explicit Congestion Notification », - ...
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 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
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
Cet article fait partie de l’offre
Réseaux Télécommunications
(139 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