Présentation
En anglaisRÉSUMÉ
Le protocole de transport TCP (Transmission Control Protocol) permet d’assurer des services de communication fiables entre des applications hébergées dans les équipements terminaux. Ceci n’est pas le cas du protocole IP (Internet Protocol) qui n’offre aucune garantie quant à la réception des paquets. C’est ce qui explique en partie le succès du protocole TCP, retenu comme protocole de transport dans bon nombre d’applications au sein de réseaux basés sur le protocole IP. L’article présente ses caractéristiques, la particularité des échanges et de la retransmission des données sous TCP. Pour terminer, il aborde le phénomène de congestion.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
David ROS : Maître de conférences à l’École nationale supérieure des télécommunications (ENST) de Bretagne
INTRODUCTION
Dans les réseaux IP, le protocole IP (Internet Protocol) offre un service à datagrammes ; autrement dit, il ne fournit aucune garantie quant à la réception correcte des paquets. En effet, ces paquets peuvent être perdus ou dupliqués, et ils peuvent aussi arriver dans un ordre différent de l’ordre d’émission. Or, de nombreuses applications ont besoin d’un transfert ordonné et fiable de leurs données. Le protocole de transport TCP (Transmission Control Protocol, ou protocole de contrôle de transmission) joue alors un rôle fondamental : celui d’assurer des services de communication fiables entre des applications hébergées dans les équipements terminaux. En suivant le principe dit « de bout en bout » (« end-to-end principle »), le réseau IP sous-jacent est vu comme une boîte noire, le soin de cacher ses imperfections aux applications étant laissé à TCP.
Depuis sa conception au début des années 1980, TCP s’est imposé comme le protocole de transport de choix pour de nombreuses applications. De plus, il est incontestablement le plus utilisé dans les réseaux basés sur le protocole IP, en termes de paquets et d’octets échangés.
Dans le modèle de référence en couches protocolaires de l’Internet, TCP se situe au niveau de la couche 4 (figure 1). Il est généralement mis en œuvre par le système d’exploitation, de sorte que celui-ci offre ces services de transport aux applications à travers une interface de programmation (API : Application Programming Interface), dont la plus populaire est celle connue sous le nom d’API sockets [1].
TCP offre aux applications et aux protocoles qui l’utilisent un canal transparent, sans erreurs et bidirectionnel (en mode « full duplex ») qui transporte une séquence d’octets. C’est un protocole de point à point (il n’est pas adapté au « multicast ») et de bout en bout : seules les deux extrémités participant à la communication, ou connexion, déroulent le protocole (figure 2).
Lorsqu’une application fournit à TCP des données pour transmission, TCP peut découper ces données en blocs, afin d’adapter la taille des paquets résultants à la taille de l’unité maximale de transmission du réseau (MTU : Maximum Transfer Unit). Chacun de ces blocs, précédé d’un en-tête, forme l’unité de données (PDU : Protocol Data Unit) du protocole, nommée segment (figure 3).
Le service de transport offert par TCP est nommé parfois un « flot d’octets » (« byte-stream ») : de son point de vue, TCP transporte des octets sans aucune structure, car il peut découper les données applicatives en segments de façon arbitraire, indépendamment de leur sémantique ; la délimitation de ces octets relève exclusivement de l’application, pas de TCP.
La fiabilité est assurée grâce à un mécanisme d’acquittement (« acknowledgement »). À chaque octet émis correspond un numéro de séquence, et cette numérotation permet l’acquittement des données reçues.
TCP opère en mode connecté, autrement dit, avant de pouvoir envoyer des données, il faut établir une connexion à l’aide d’une procédure de signalisation.
Enfin, TCP met en œuvre des mécanismes de contrôle de flux et de contrôle de congestion afin d’éviter, dans la mesure du possible, l’engorgement du récepteur ainsi que la saturation chronique des équipements intermédiaires d’interconnexion.
DOI (Digital Object Identifier)
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
4. Fiabilité et contrôle d’erreurs : retransmission des données
Dans les réseaux IP, le protocole IP n’offre qu’un service à datagrammes, c’est-à-dire qu’il n’y a aucune garantie comme quoi les paquets vont arriver dans l’ordre d’émission (voire arriver du tout). Les numéros de séquence, les acquittements et la fenêtre glissante sont des mécanismes régulant l’échange des données, grâce auxquels TCP peut fournir à l’application réceptrice des blocs d’octets contigus et ordonnés. Cependant, dès lors que des paquets peuvent être perdus, TCP assure la fiabilité du transfert en mettant en œuvre un mécanisme de retransmission des octets manquants. Un paquet peut être perdu pour de diverses raisons : congestion du réseau, erreurs de transmission, panne ou mauvais fonctionnement d’un routeur, problème de routage... ; quelle que soit la raison, TCP détecte la perte du paquet et le retransmet.
4.1 Stratégie de retransmission
Le principe de base de la technique de retransmission est d’associer un temporisateur de retransmission, de durée RTO (Retransmission Time-Out), à chaque émission de données : si RTO s s’écoulent sans que ces données soient acquittées, alors il faut les envoyer à nouveau. Inversement, la réception d’acquittements confirmant tous les octets transmis inhibe le temporisateur.
L’idée est illustrée par la figure 17. Supposons qu’avant cet échange, le TCP A ait reçu un ACK X et que la fenêtre annoncée préalablement par TCP B était de 3N octets. Trois segments contenant N octets de données chacun sont envoyés à la suite mais, pour une raison quelconque, le premier segment, portant le numéro de séquence X, a été perdu dans le réseau. Sur la figure 17, on peut constater plusieurs caractéristiques des mécanismes de fiabilité et de contrôle de flux employés par TCP :
-
la réception de données « hors séquence » déclenche immédiatement...
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
Fiabilité et contrôle d’erreurs : retransmission des données
BIBLIOGRAPHIE
-
(1) - WRIGHT (G.), STEVENS (W.R.) - TCP/IP Illustrated, vol. 2 : The Implementation. - Addison-Wesley (1995).
-
(2) - POSTEL (J.) - Transmission Control Protocol. - RFC 793, IETF (septembre 1981).
-
(3) - DUKE (M.), BRADEN (R.), EDDY (W.), BLANTON (E.) - A Roadmap for TCP Specification Documents. - Internet Draft draft-ietf-tcpm-tcp-roadmap-00, work in progress (octobre 2004).
-
(4) - RAMAKRISHNAN (K.), FLOYD (S.), BLACK (D.) - The Addition of Explicit Congestion Notification (ECN) to IP. - RFC 3168, IETF (septembre 2001).
-
(5) - Ports Numbers. - http://www.iana.org/ assignments/port-numbers
-
(6) - STEVENS (W.R.) - TCP/IP Illustrated, vol. 1 : The Protocols. - Addison-Wesley (1994).
-
...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
Thèses
GURTOV (A.) - Efficient data transport in wireless overlay networks. - Thèse de doctorat, université de Helsinki (2004).
NOUREDDINE (W.) - Improving the performance of TCP applications using network-assisted mechanisms. - Thèse de doctorat, université de Stanford (2002).
BARAKAT (C.) - Évaluation des performances du contrôle de congestion dans l’Internet. - Thèse de doctorat, université de Nice-Sophia-Antipolis (2001).
HAUT DE PAGE2.1 Internet Engineering Task Force (IETF)
Tous les documents issus des groupes de travail, ainsi que les Internet drafts (documents de travail), sont disponibles gratuitement sur le site de l’IETF.
HAUT DE PAGE2.2 Groupes de travail de l’IETF
http://www.ietf.org/html.charters/tcpm-charter.html
http://www.ietf.org/html.charters/tsvwg-charter.html
Les...
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