Ce qu’ils sont + Différence entre TCP et UDP



Les protocoles TCP et UDP régissent la manière dont les données transitent lors d’une communication sur Internet. Si vous êtes familier avec la notion d’adresse IP (Protocole Internet), vous savez déjà que TCP et UDP sont des protocoles complémentaires construits sur cette base.

Toutefois, il serait erroné de les considérer comme identiques. Bien que TCP et UDP interviennent dans l’acheminement des données sur le réseau, leurs fonctionnements sont fondamentalement différents, ce qui explique leurs usages distincts.

En résumé, vous employez ces deux protocoles quotidiennement, sans même vous en rendre compte, lorsque vous surfez sur le web. Ils sont essentiels au fonctionnement des échanges entre votre appareil et le réseau internet (et les appareils qui y sont connectés) et inversement.

Puisque TCP et UDP reposent sur le protocole IP, il peut être utile de se familiariser avec ce dernier avant d’aborder plus en détail ces deux protocoles. C’est un peu comme apprendre à marcher avant de courir.

Qu’est-ce qu’une adresse IP ?

L’adresse IP, abréviation de Protocole Internet, est le fondement même d’Internet tel que nous le connaissons. Son importance est capitale, chaque appareil connecté recevant une adresse IP unique pour interagir sur le réseau.

À l’origine, ces adresses étaient exclusivement composées de chiffres et de décimales. Plus précisément, une adresse IPv4 est constituée de quatre nombres, chacun ayant une valeur comprise entre 0 et 254. IPv4 a ainsi permis de générer un total de 4,3 milliards d’adresses IP uniques.

Face à la saturation de ce système, incapable de produire de nouvelles adresses IP uniques, le protocole IPv6 est apparu. Les adresses IPv6 publiques utilisent des chiffres hexadécimaux, chacune contenant 128 bits. Au lieu d’une base 10 (de 0 à 10), elles emploient une base 16 (de 0 à 10, complétée par les lettres « a » à « f »).

Grâce à IPv6, le nombre potentiel d’adresses IPv6 publiques s’élève à 340 undécillions (3,4 * 10^28). Pour mieux saisir la différence, voici des exemples d’adresses IPv4 et IPv6:

Exemple d’adresse IPv4: 10.238.126.215
Exemple d’adresse IPv6: fe80:0db8:0412:2001:3c5e:0000:10a9

Bien que l’objectif à terme soit de remplacer IPv4 par IPv6, les deux protocoles coexistent actuellement.

Les adresses IP permettent aux appareils connectés de s’identifier, de communiquer et d’échanger des informations. Le partage de données, la diffusion vidéo ou l’envoi d’e-mails seraient impossibles sans adresses IP. Toute action en ligne est traduite en données.

Pour optimiser la transmission, le protocole IP divise ces données en fragments plus petits, appelés paquets. Ces paquets contiennent non seulement les informations à transmettre, mais aussi l’adresse IP de destination, inscrite dans un en-tête.

Une fois qu’un paquet quitte votre appareil, il transite par une passerelle, qui recherche l’adresse IP de destination dans son domaine. Il est important de savoir que chaque passerelle ne connaît qu’un sous-ensemble d’adresses IP sur Internet.

Si la passerelle ne trouve pas l’adresse IP de destination dans son domaine, elle transfère le paquet à une autre passerelle, et ainsi de suite, jusqu’à ce que le paquet atteigne une passerelle capable d’identifier l’adresse de destination et de l’envoyer à l’appareil concerné.

Il faut également noter que le fait de diviser les données en petits paquets implique qu’ils n’ont pas forcément besoin d’arriver dans l’ordre, ni même de suivre le même itinéraire. Les paquets privilégient généralement le chemin le plus rapide possible à chaque étape.

Enfin, le protocole IP est agnostique quant au format des données, ce qui le rend compatible avec tous types d’informations : vidéo, images, audio, e-mails, messagerie instantanée, et même les jeux.

Qu’est-ce que TCP ?

Le protocole TCP, acronyme de Transmission Control Protocol, est un des protocoles centraux de la suite de protocoles Internet. Il est antérieur à UDP et a été conçu pour permettre aux programmes et aux appareils d’échanger des informations sur un réseau.

Il est parfois associé à IP, sous l’appellation TCP/IP, mais cela signifie la même chose (c’est-à-dire que TCP et TCP/IP sont identiques).

Comme mentionné plus haut, les données sont divisées en petits paquets et envoyées sous cette forme fragmentée, possiblement par des chemins différents. TCP a été développé pour répondre au besoin de réassembler ces paquets dans leur ordre initial.

TCP attend que tous les paquets soient arrivés, les compte, vérifie l’absence d’erreurs à l’aide d’une somme de contrôle, accuse réception des paquets reçus, et demande à l’ordinateur d’origine de renvoyer ceux qui manquent. Une fois tous les paquets reçus, TCP les réassemble dans l’ordre et les livre à l’application appropriée (client de messagerie, visionneuse d’images, lecteur vidéo, etc.).

Ce processus est très rapide de nos jours et assure que les données arrivent sur la machine du destinataire exactement telles qu’elles ont été envoyées, sans altération. De plus, il implique une communication continue entre les deux extrémités, que l’on peut décrire comme un échange constant entre les appareils participants, jusqu’à ce que les données soient reçues et confirmées à 100 %.

Cette communication constante peut exercer une pression considérable sur TCP, car la perte ou la corruption d’un seul paquet peut bloquer le processus jusqu’à ce que le paquet manquant arrive à destination. Cependant, TCP n’est pas seul dans cette tâche, car UDP a été développé peu de temps après.

En résumé, TCP :

S’assure qu’aucun paquet n’est perdu
Demande le renvoi des paquets manquants
Envoie les paquets dans l’ordre afin de faciliter le réassemblage
Est le protocole Internet le plus utilisé
Est plus lent qu’UDP car il vérifie l’arrivée de chaque paquet
Convient aux sites web, aux e-mails, au FTP (protocole de transfert de fichiers), au partage de fichiers P2P.

Qu’est-ce que UDP ?

UDP, abréviation de User Datagram Protocol, est une alternative à TCP. Il est donc logique de penser que ces deux protocoles remplissent une fonction similaire. Cependant, leurs fonctionnements sont très différents. Là où TCP est très méticuleux dans la vérification des données, UDP est plus laxiste.

Imaginez deux employés triant le courrier : TCP est celui qui examine chaque lettre attentivement et retarde toute communication jusqu’à l’arrivée de chaque lettre. UDP, lui, se contente de vérifier rapidement l’intégrité des lettres et les expédie à leurs destinations, en laissant de côté toute lettre non arrivée, sans en demander le renvoi.

On peut donc en déduire qu’UDP est plus rapide. Mais pourquoi sacrifier la fiabilité au profit de la vitesse ? Il faut savoir qu’il existe certaines applications où la perte de paquets n’est pas vraiment un problème.

Par exemple, lorsque vous utilisez un client VoIP pour converser, vous pouvez parfois remarquer une brève coupure ou un léger bégaiement dans l’audio. Ce genre de perte est généralement facile à ignorer. Il en va de même pour les jeux, où vous pouvez parfois constater de légères saccades ou un effet de «lag». Dans ce cas, vous reprenez le jeu et continuez votre partie. UDP laisse simplement tomber les paquets perdus en transit.

En d’autres termes, UDP :

Est plus rapide que TCP et utilise moins de ressources
N’envoie pas nécessairement les paquets dans l’ordre
Supprime tous les paquets manquants pour accélérer la connexion
L’expéditeur n’a aucun moyen de savoir si des paquets ont été perdus
Est principalement utilisé pour le streaming vidéo, la VoIP, les jeux et les diffusions en direct.

TCP et UDP dans l’utilisation du VPN

De nos jours, de plus en plus de VPN adoptent WireGuard ou développent leur propre protocole, mais nombreux sont ceux qui s’appuient sur OpenVPN, car il reste fiable, rapide et sécurisé après toutes ces années.

Cependant, ce que vous ignorez peut-être, c’est qu’OpenVPN fonctionne à la fois avec TCP et UDP et vous permet généralement de choisir entre les deux protocoles. Bien que cela puisse sembler être un choix important (intégrité des données ou vitesse), le véritable enjeu est ailleurs.

Lors de l’utilisation d’un VPN, vous ne remarquerez pas forcément une différence de vitesse énorme entre TCP et UDP. En revanche, si votre connexion doit contourner un pare-feu, la situation change, car ces protocoles utilisent des ports différents, et certains pare-feu peuvent bloquer les ports par défaut utilisés par certains types de trafic.

C’est pourquoi les fournisseurs de VPN vous permettent de choisir entre TCP et UDP. Si vous constatez que votre connexion ne fonctionne pas avec un protocole, vous pouvez passer à l’autre, en espérant que cela règle le problème. Certains fournisseurs de VPN offrent également des paramètres avancés vous permettant de choisir un port personnalisé pour votre connexion, afin de contourner les pare-feu.

Différence entre TCP et UDP

TCP UDP
Protocole le plus utilisé sur Internet Utilisé pour les jeux, le streaming vidéo, la VoIP, les diffusions en direct
Toutes les données envoyées parviennent au destinataire, aucune perte de paquets L’expéditeur n’est pas informé si un paquet est perdu (non reçu)
Les paquets sont envoyés dans l’ordre Les paquets ne sont pas nécessairement envoyés dans l’ordre
Nécessite plus de ressources, ce qui le ralentit Moins de ressources nécessaires, donc plus rapide

TCP vs UDP : Conclusion

En résumé, TCP et UDP sont des protocoles assez similaires dans le sens où ils garantissent que vos données arrivent à destination de manière sécurisée et sans altération.

TCP effectue de nombreuses vérifications lors de la transmission des données et est très rigoureux quant à la prévention des pertes de paquets. Il est donc idéal pour les sites web, les e-mails, la messagerie instantanée, les images et le partage de fichiers.

UDP vérifie simplement la validité de la destination et l’intégrité des paquets, mais ne demande pas le renvoi des paquets perdus, se contentant de les ignorer. Cela permet d’obtenir une connexion plus rapide, mais au risque de perdre quelques paquets en cours de route. UDP est principalement utilisé pour les jeux, la VoIP, le streaming vidéo et la diffusion de contenu en direct, où la perte de quelques paquets n’affecte généralement pas trop le résultat final.