Protocole TCP & UDP

Différentes applications ont différents besoins en matière de transport. La couche transport compte deux protocoles TCP/IP : TCP et UDP.

TCP

TCP est un protocole de livraison garanti et fiable. Il spécifie les méthodes que les hôtes utilisent pour accuser réception des paquets et nécessite que l’hôte source renvoie les paquets dont la réception n’est pas confirmée. Le protocole TCP régit également l’échange de messages entre les hôtes source et de destination pour créer une session de communication. Ce protocole est souvent comparé à un pipeline, ou à une connexion persistante, entre hôtes. Pour cette raison, on décrit TCP comme un protocole avec connexion.

Le protocole TCP impose une surcharge pour conserver la trace des conversations individuelles entre les hôtes source et de destination et pour traiter les accusés de réception ainsi que les retransmissions. Dans certains cas, les retards causés par cette surcharge ne sont pas tolérés par l’application. Le protocole UDP convient mieux à ces applications.

UDP

UDP est un protocole très simple, sans connexion. Il a l’avantage de n’imposer qu’un très faible surdébit pour la livraison des données. Étant donné que l’UDP est un protocole de couche transport dit « au mieux », les datagrammes UDP peuvent arriver à destination dans le désordre, ou même se perdre. Le protocole UDP ne garantit aucune livraison de données ou contrôle de flux. Les applications qui utilisent l’UDP peuvent tolérer la perte de petites quantités de données. La webradio est un exemple d’application UDP. Si quelques données manquent à l’arrivée, la qualité de la diffusion ne s’en trouvera que modérément affectée.

Fonctionnement des protocoles de transports

Les applications, telles que les bases de données, les pages Web et le courriel, exigent que toutes les données arrivent à destination dans leurs conditions d’origine, pour être exploitables. Toute donnée manquante peut endommager les messages ou les rendre illisibles. Ces applications sont conçues pour utiliser un protocole de couche transport qui implémente la fiabilité.

La surcharge réseau supplémentaire requise pour assurer cette fiabilité est considérée comme un coût raisonnable pour une communication réussie.

Le protocole de couche transport est déterminé en fonction du type des données d’application qui sont envoyées. Par exemple, un message électronique nécessite que sa livraison soit confirmée et utilisera donc le protocole TCP. Un client de messagerie, qui utilise SMTP, envoie un message électronique sous la forme d’un flux d’octets à la couche transport. Dans la couche transport, la fonctionnalité TCP divise le flux en segments.

Au sein de chaque segment, TCP identifie chaque octet à l’aide d’un numéro de séquence. Ces segments sont transférés à la couche du protocole interréseau, qui place chaque segment dans un paquet pour sa transmission.

Ce processus s’appelle l’encapsulation. À destination, le processus est inversé, et les paquets sont désencapsulés. Les segments insérés dans les paquets sont envoyés via le processus TCP, qui reconvertit les segments en un flux d’octets à passer à l’application du serveur de messagerie.

Avant qu’une session TCP puisse être utilisée, les hôtes source et de destination échangent des messages pour configurer la connexion par laquelle seront acheminés les segments de données. Pour ce faire, les deux hôtes utilisent un processus à trois étapes.

Au cours de la première étape, l’hôte source envoie un type de message appelé SYN pour démarrer le processus d’établissement de session TCP. Le message a deux objectifs :

  • Indiquer l’intention de l’hôte source d’établir une connexion avec l’hôte de destination pour l’envoi des données.
  • Synchroniser les numéros de séquence TCP entre les deux hôtes de sorte que chaque hôte conserve la trace des segments envoyés et reçus au cours de la conversation.

Lors de la deuxième étape, l’hôte de destination répond au message SYN avec une accusé de réception de synchronisation, ou message SYN-ACK. À la dernière étape, l’hôte qui envoie les données reçoit le message SYN-ACK et renvoie un message ACK afin de mettre fin à la configuration de la connexion. Les segments de données peuvent maintenant être envoyés en toute sécurité.

Cette activité SYN, SYN-ACK, ACK entre les processus TCP sur les deux hôtes s’appelle une connexion en trois étapes.

Lorsqu’un hôte envoie des segments de message à un hôte de destination par TCP, le processus TCP démarre un chronomètre sur l’hôte source. Le chronomètre laisse suffisamment de temps au message pour atteindre l’hôte de destination et à un accusé de réception d’être envoyé. Si l’hôte source ne reçoit pas d’accusé de réception de la destination dans le délai imparti, le chronomètre expire et la source estime que le message est perdu. La partie du message dont la réception n’a pas été confirmée est renvoyée.

Outre la confirmation de la réception et la retransmission, le protocole TCP spécifie également comment les messages sont réassemblés sur l’hôte de destination. Chaque segment TCP contient un numéro de séquence. Sur l’hôte de destination, le processus TCP stocke les segments reçus dans une mémoire tampon TCP.

En évaluant les numéros de séquence du segment, le processus TCP peut confirmer que les données reçues ne subissent aucune rupture. Lorsque les données sont reçues dans le désordre, le processus TCP peut également réordonner les segments.

Le protocole UDP est un protocole très simple. Étant donné qu’il est sans connexion et qu’il est dépourvu des mécanismes sophistiqués de retransmission, de séquençage et de contrôle de flux du protocole TCP, le protocole UDP impose beaucoup moins de surcharge.

On en parle souvent comme d’un protocole de livraison non fiable, car aucune garantie n’est faite à l’expéditeur que le message a été reçu par l’hôte de destination. Cela ne signifie pas que les applications qui utilisent ce protocole ne sont pas fiables. Cela signifie simplement que ces fonctions ne sont pas fournies par le protocole de la couche transport et qu’elles doivent être implémentées ailleurs, si nécessaire.

Bien que la quantité totale du trafic UDP d’un réseau moyen soit souvent relativement faible, les principaux protocoles de couche application qui utilisent le protocole UDP comprennent :

  • Domain Name System (DNS)
  • Simple Network Management Protocol (SNMP)
  • Dynamic Host Configuration Protocol (DHCP)
  • Routing Information Protocol (RIP)
  • Trivial File Transfer Protocol (TFTP)
  • Jeux en ligne

La tâche consistant à gérer plusieurs processus de communication simultanés est assurée par la couche transport. Les services TCP et UDP conservent la trace des différentes applications qui communiquent via le réseau.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :