ScholarGate
Assistant

Protocole de contrôle de transmission

Le protocole de contrôle de transmission est le protocole de transport orienté connexion d'Internet, fournissant un flux d'octets fiable, ordonné et en duplex intégral entre deux processus, avec des mécanismes intégrés de contrôle de flux et de contrôle de congestion.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Le protocole de contrôle de transmission est un protocole de la couche transport orienté connexion qui assure la livraison fiable, ordonnée et vérifiée des erreurs d'un flux d'octets entre processus applicatifs, avec établissement et rupture de connexion, contrôle de flux et contrôle de congestion.

Scope

Ce sujet traite spécifiquement du TCP : sa structure de segment, la poignée de main à trois voies qui établit une connexion et les procédures qui la ferment, les numéros de séquence et d'acquittement, les acquittements cumulatifs, la retransmission avec estimation adaptative du délai d'attente et la retransmission rapide, ainsi que le contrôle de flux via la fenêtre de réception. Il positionne le TCP comme la concrétisation des principes de transfert de données fiables et de la gestion de connexion. Son comportement en matière de contrôle de congestion est résumé ici mais est traité en profondeur dans le sujet dédié au contrôle de congestion.

Core questions

  • Que réalise la poignée de main à trois voies, et comment une connexion est-elle fermée ?
  • Comment les numéros de séquence et d'acquittement TCP suivent-ils un flux d'octets ?
  • Comment le TCP estime-t-il les délais d'attente et utilise-t-il la retransmission rapide pour récupérer des pertes ?
  • Comment la fenêtre de réception met-elle en œuvre le contrôle de flux ?
  • Comment le TCP combine-t-il la fiabilité, le contrôle de flux et le contrôle de congestion en un seul protocole ?

Key concepts

  • service orienté connexion
  • poignée de main à trois voies
  • structure de segment TCP
  • numéros de séquence et d'acquittement
  • acquittement cumulatif
  • estimation du délai d'attente de retransmission
  • retransmission rapide
  • contrôle de flux et fenêtre de réception
  • abstraction de flux d'octets

Key theories

Gestion de connexion
Le TCP établit une connexion par une poignée de main à trois voies qui synchronise les numéros de séquence initiaux et la rompt par un échange gracieux, fournissant à chaque extrémité un état cohérent pour un flux d'octets fiable et en duplex intégral.
Livraison fiable de flux d'octets
Le TCP numérote chaque octet, utilise des acquittements cumulatifs et des temporisateurs de retransmission adaptatifs, et applique la retransmission rapide en cas d'acquittements dupliqués (duplicate ACKs), livrant un flux fiable et ordonné plutôt que des messages discrets.
Contrôle de flux via la fenêtre de réception
Le récepteur annonce l'espace tampon dont il dispose, et l'émetteur limite ses données en transit à cette fenêtre, empêchant ainsi un émetteur rapide de submerger un récepteur lent, indépendamment de la congestion du réseau.

Clinical relevance

Le TCP transporte la grande majorité du trafic Internet fiable, y compris le web, le courrier électronique et les transferts de fichiers, de sorte que son comportement détermine directement les performances de ces applications. Son établissement de connexion ajoute une latence que les protocoles plus récents cherchent à réduire, ses contrôles de flux et de congestion façonnent le débit, et la compréhension du TCP est essentielle pour l'optimisation des performances, le comportement des pare-feu et des NAT, et le diagnostic des connexions bloquées ou lentes.

History

Le TCP a vu le jour avec le protocole Cerf-Kahn de 1974 pour l'interconnexion de réseaux (internetworking), initialement comme un protocole unique qui fut ensuite scindé en TCP et IP. Il a été normalisé dans le RFC 793 (1981) et affiné au fil des décennies — délais d'attente adaptatifs, retransmission et récupération rapides, mise à l'échelle de la fenêtre, et acquittement sélectif — la spécification ayant été consolidée et mise à jour dans le RFC 9293 (2022).

Key figures

  • Vinton Cerf
  • Robert Kahn
  • Van Jacobson

Related topics

Seminal works

  • cerf1974
  • rfc9293
  • kurose2021

Frequently asked questions

Qu'est-ce que la poignée de main à trois voies TCP ?
C'est l'échange qui ouvre une connexion TCP : le client envoie un SYN avec son numéro de séquence initial, le serveur répond avec un SYN-ACK l'acquittant et donnant le sien, et le client envoie un ACK final. Après cela, les deux extrémités s'accordent sur les numéros de séquence de départ et peuvent échanger des données de manière fiable.
En quoi le TCP diffère-t-il de l'UDP ?
Le TCP est orienté connexion et fournit un flux d'octets fiable et ordonné avec contrôle de flux et de congestion, au prix d'une latence d'établissement et d'une surcharge. L'UDP est sans connexion et offre un service de datagrammes minimal, au mieux (best-effort), sans aucune de ces garanties, ce qui le rend plus léger et à plus faible latence, mais laisse la fiabilité à l'application.

Methods for this concept

Related concepts