Si l’on comparait le protocole IP à une gare de triage, TCP (Transmission Control Protocol) en serait à la fois la signalisation et le moyen de transport. Désormais inséparable du protocole IP (Internet Protocol) lui-même, TCP utilise l’itinéraire – la cartographie de réseau – fourni par IP, pour acheminer les données. Situé au niveau 4 du modèle d’architecture de réseau OSI (Open Systems Interconnection), autrement dit la couche de transport, TCP est aussi, dans un réseau local TCP/IP sur Ethernet, le protocole le plus directement en contact avec les protocoles de communication des applications que sont FTP, HTTP, SMTP et Telnet.
Gérer la répartition des données avant de remplir les paquets
Lors d’un transfert de données, TCP assume quatre fonctions essentielles : il établit une connexion permanente entre l’expéditeur et le destinataire ; il détermine le volume de données à envoyer et celui qu’est en mesure de recevoir le destinataire ; il remplit d’informations les paquets IP, les expédie et vérifie qu’ils ont bien été reçus ; enfin, le cas échéant, il les réémet. Pour pouvoir gérer simultanément plusieurs transmissions de données, le protocole TCP utilise des ports virtuels, représentés par un numéro. Plusieurs applications peuvent ainsi communiquer en même temps. La connexion est établie dans les deux sens. Chaque extrémité devient à la fois émetteur et récepteur. Transmises par un protocole d’application (FTP, HTTP, SMTP ou Telnet), les données à émettre sont, pour leur part, stockées dans une mémoire tampon virtuelle, en réalité une fraction réservée de la mémoire vive du poste de travail émetteur. Octet par octet, TCP puise dans ce flot de données pour remplir les paquets IP.
Chaque octet ainsi emballé se voit attribuer un numéro d’ordre séquentiel en guise d’étiquette. C’est ce qui permettra au processus destinataire de reconstituer le bloc d’informations. Lorsque le paquet IP est plein, TCP l’expédie sur le réseau. En théorie, il attend un accusé de réception avant d’envoyer le paquet suivant. Dans la pratique, et pour des raisons de performances, TCP adopte un mode de traitement par lot. Il transmet en rafales plusieurs segments de données sans demander d’accusé de réception individuel. Pour y parvenir, TCP utilise un mécanisme de fenêtrage qui consiste à réserver, chez l’expéditeur comme chez le destinataire, un espace mémoire identique capable de contenir les données d’un ou plusieurs segments TCP. Cette réservation s’effectue de façon dynamique : chaque accusé de réception, retourné par le processus TCP destinataire, indique le nombre d’octets reçus, ainsi que la quantité de données supplémentaires que le destinataire est en mesure de recevoir. La taille de la fenêtre d’émission s’ajuste ainsi dynamiquement sur l’espace disponible dans la fenêtre de réception.
TCP règle le débit en fonction de la transmission
Au début de la transmission, la taille de la fenêtre TCP est initialement fixée au minimum, soit un seul segment de données. Elle s’élargit ensuite graduellement, tant que les accusés de réception retournés sont positifs. La source TCP continuera d’accélérer le rythme des envois, jusqu’à ce qu’un paquet IP perdu, ou un accusé de réception non reçu, indique un problème de transmission. C’est pourquoi, lors d’un téléchargement, le débit augmente au fur et à mesure de la transmission, pour se stabiliser au bout de quelques secondes.
En cas de dégradation du réseau, la source TCP renverse le processus en réduisant la taille de la fenêtre ou en stoppant provisoirement la transmission. Le débit ralentit alors jusqu’à ce que plus aucun paquet ne soit perdu. TCP se sert pour cela du pointeur d’acquittement activé au moment de l’envoi d’un segment TCP ou d’un groupe de segments. Ce pointeur est en réalité un temporisateur, dont la durée est fixée par le protocole lui-même sur la base du délai qui s’est écoulé entre l’envoi du paquet précédent et le retour de l’accusé de réception. Cette analyse des temps de traversée permet à TCP d’adapter la durée de vie du temporisateur aux conditions réelles de disponibilité du réseau, évitant ainsi d’ajouter à la congestion du réseau en multipliant les réémissions.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.