TCP vs UDP

Oct 19, 2023   |   5 minutes
TCP vs UDP

Table des matières

Quel est le protocole ?

Lorsque les ordinateurs communiquent avec les périphériques réseau, tout comme les personnes communiquent entre elles, ils doivent utiliser la même langue pour assurer une communication fluide.

Les règles telles que comment commencer la communication, quelle langue utiliser et comment terminer la communication doivent être déterminées à l'avance. De plus, ces méthodes de communication doivent suivre une règle appelée le protocole.

TCP/IP est le nom général de divers protocoles liés à Internet, tels que TCP, UDP, IP, FTP, HTTP et ICMP.

TCP/IP a été inventé dans les années 1970. TCP/IP a initialement proposé le concept de stratification, divisant la communication réseau complexe en plusieurs couches, chacune ayant des responsabilités différentes, de sorte que lorsqu'un problème survient dans une couche, seul le problème dans cette couche doit être résolu, plutôt que de tout changer.

Améliorer considérablement la gestion et la maintenance de l'environnement de communication réseau. Le protocole comporte quatre couches, chacune étant interdépendante, chacune ayant besoin du soutien de la couche inférieure et soutenant la couche supérieure.

À l'époque, il existait de nombreux autres protocoles de réseau. L'OSI (Modèle de référence interconnexion de systèmes ouverts) est un modèle de protocole hiérarchique de réseau plus unifié. L'OSI faisait référence à plusieurs protocoles, tels que TCP/IP, dès le début de sa conception, ce qui rendait relativement facile la mise en correspondance.

Le modèle OSI comporte sept couches, dont certaines sont très similaires à TCP/IP:


Dans la couche de transport, deux protocoles, à savoir TCP et UDP, ne peuvent être ignorés. Quelles sont les différences entre eux et comment devrions-nous choisir ?

Comment fonctionne TCP ?

Comme nous l'avons mentionné précédemment, le but principal de la stratification des protocoles est de diviser les responsabilités de chaque couche. Par exemple, TCP (Transmission Control Protocol) est un protocole de couche transport qui permet la transmission de données d'un appareil numérique à un autre. La tâche principale de TCP est de collecter les données de la couche application. Ensuite, il divise les données en paquets, attribue un numéro à chaque paquet et envoie les paquets à la destination.


TCP est un protocole fiable. Le récepteur envoie toujours au sender un message de confirmation concernant le paquet de données. Pendant ce temps, le sender sait toujours si le paquet a atteint l'autre côté. La demande est renvoyée s'il y a une défaillance lors du transfert d'informations pendant le processus de transfert.

Il réassemble les paquets avant de les envoyer à la couche application. Étant donné que TCP est un protocole orienté connexion, la connexion est maintenue jusqu'à ce que l'émetteur et le récepteur aient terminé la transmission des données.

Comment fonctionne UDP ?

UDP (protocole de datagramme utilisateur) est considéré comme un protocole de transport peu fiable par rapport au protocole fiable de TCP. Néanmoins, il offre l'un des meilleurs moyens de livraison en utilisant les services IP pour faire son travail.

En UDP, le récepteur ne génère pas d'accusé de réception du paquet, et l'émetteur n'attend pas la divulgation du paquet. C'est cette faille qui rend le protocole peu fiable mais exploitable.

Si la reconnaissance de réception des données reçues n'est pas si importante, dans ce cas, nous utilisons UDP. Il convient à une situation de flux de données unidirectionnel et est le mieux adapté pour une communication basée sur des requêtes.

UDP ne garantit pas l'envoi séquentiel des paquets. Il est sans état et ne fournit aucun mécanisme de contrôle de congestion.

Quelles sont les différences entre TCP et UDP ?

Nous pouvons voir les différences entre TCP/UDP à partir de ces aspects :

Connectivité

TCP est un protocole orienté connexion. Étant donné que nous utilisons ce protocole en conjonction avec le protocole IP, on l'appelle généralement TCP/IP.

L'envoi et la réception de données doivent établir une connexion fiable entre les deux parties. 3 "poignées de main" pour établir la relation, 4 "vagues" pour déconnecter la connexion, posant ainsi une base fiable pour la transmission des données.

Une bonne connexion a été établie avant le début de la transmission des données, et le récepteur acceptera les paquets de données de manière ordonnée pour garantir l'exactitude des données.

UDP est un protocole sans connexion. Avant la transmission des données, l'expéditeur et le destinataire des données n'établissent pas de connexion. Au lieu de cela, l'expéditeur transmet les données plus rapidement au réseau, et le destinataire lit les segments de message de la file d'attente des messages. Étant donné que l'expéditeur et le destinataire n'ont pas une bonne connexion, le destinataire reçoit les paquets dans le désordre.

Fiabilité

TCP fournit des services de transport fiables, garantissant la fiabilité et l'ordre de réception des données. De nombreuses méthodes sont utilisées dans le processus de transmission pour assurer des services de transmission fiables sur la connexion, tels que le numérotage et l'accusé de réception, le contrôle de flux, les minuteries, etc., afin de garantir que les données sont sans erreur, perdues, répétées et arrivent dans l'ordre. Si la transmission échoue, elle demandera une retransmission.

UDP ne garantit pas une livraison fiable lors de la transmission. Au lieu de cela, il s'appuie sur des protocoles de couche supérieure pour assurer la fiabilité. Les méthodes de transmission désordonnées et non précises sont plus adaptées à certaines exigences qui ne nécessitent pas une corruption élevée des données.

Comment choisir TCP et UDP ?

En raison des avantages et des inconvénients des protocoles TCP et UDP, nous pouvons choisir le protocole le plus adapté pour répondre à différents besoins.

Le protocole TCP est fiable, ajoutant des mécanismes complexes tels que le contrôle de somme, l'identification par numéro de série, la fenêtre glissante, la réponse de confirmation, le contrôle de congestion, etc., établissant un processus de poignée de main fastidieux et augmentant la consommation de ressources système par TCP. Par conséquent, il existe un effet de retard particulier sur la transmission des données, réduisant ainsi l'efficacité de la transmission.

TCP est adapté aux applications typiques qui nécessitent une faible efficacité de transmission mais une grande précision, telles que le HTTPS (Hypertext Transfer Protocol Secure), HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol) et FTP (File Transfer Protocol), etc.

UDP est sans connexion, a une transmission non fiable, une livraison des données dès que possible, un protocole simple, moins de ressources requises, une vitesse de transmission rapide et une haute performance en temps réel. Par conséquent, il convient aux applications typiques nécessitant une efficacité de transmission élevée mais une faible précision. Il est utilisé pour le streaming vidéo, la téléphonie vidéo, les services de voix sur IP (appels Internet), DNS (Système de noms de domaine), etc.