Lors de la transmission de données sur Internet, à quoi sert le protocole UDP et quelle est la différence avec le protocole TCP ?
Lors de la configuration de certains composants matériels ou logiciels du réseau, il peut être important de connaître la différence entre UDP et TCP, que nous allons expliquer en essayant d’être simples et compréhensibles.
TCP et UDP sont des protocoles utilisés pour envoyer des bits de données, appelés paquets, sur Internet.
Ils utilisent le protocole Internet IP. Par conséquent, si vous envoyez un paquet via TCP ou UDP, ce paquet est certainement envoyé à une adresse IP.
TCP et UDP ne sont pas les seuls protocoles qui fonctionnent sur IP, mais ce sont les plus utilisés.
Par exemple, un autre protocole courant est ICMP, celui utilisé par PING.
TCP signifie Transmission Control Protocol (protocole de contrôle de transmission) et est le protocole le plus couramment utilisé sur Internet.
Lorsque vous chargez une page web, votre ordinateur envoie des paquets TCP à l’adresse du serveur web, lui demandant d’afficher cette page web pour vous. Le serveur web répond en envoyant un flux de paquets TCP, que le navigateur web rassemble pour former la page web et l’afficher sur votre écran.
Lorsque vous cliquez sur un lien, accédez à un site ou envoyez un commentaire, le navigateur envoie des paquets TCP au serveur, qui répond en envoyant d’autres paquets TCP.
Le protocole TCP garantit que le destinataire reçoit les paquets. Le destinataire (par exemple le serveur web) envoie un accusé de réception à l’expéditeur (notre ordinateur).
Si l’expéditeur ne reçoit pas de confirmation, il renvoie les paquets et ne s’arrête qu’après un certain temps si le destinataire ne répond pas parce qu’il est hors ligne.
Les paquets sont également vérifiés pour détecter les erreurs.
Le protocole TCP est très fiable et les paquets sont suivis de manière à ce qu’aucune donnée ne soit perdue ou endommagée en cours de route. C’est pourquoi les téléchargements de fichiers ne sont pas endommagés même si vous utilisez un réseau lent ou fréquemment interrompu.
Avec un programme permettant de voir les connexions, les ports et l’utilisation d’Internet sur le PC à partir de programmes et de sites, il est possible de voir le type de connexions de chaque processus, par exemple celles de Google Chrome.
UDP signifie User Datagram Protocol (protocole de datagramme utilisateur).
Un datagramme est égal à un paquet d’informations. L’UDP fonctionne donc de la même manière que le TCP, à une différence près : il ne vérifie pas les erreurs.
En utilisant UDP, les paquets sont envoyés au destinataire rapidement, sans attendre et sans s’assurer que le destinataire les a reçus, en continuant à envoyer des paquets.
Si le destinataire perd des paquets UDP, il n’a aucun moyen de les redemander. En pratique, une communication UDP ne donne aucune garantie que les données seront reçues.
L’avantage est que les ordinateurs peuvent communiquer entre eux plus rapidement.
L’UDP est utilisé lorsque la vitesse du réseau est élevée et qu’il n’est pas nécessaire de vérifier les erreurs. Par exemple, UDP est souvent utilisé pour le streaming vidéo en direct et les jeux en ligne.
Une vidéo en direct est un flux continu de données envoyé à votre ordinateur. Si vous manquez une image, elle est sautée et vous ne pourrez certainement pas demander à la voir plus tard.
Les flux UDP diffèrent des flux TCP précisément parce que les parties de la vidéo qui ne sont pas reçues sont ignorées.
Si la connexion est perdue pendant quelques secondes, la vidéo se fige un instant, puis reprend en sautant les paquets perdus. En cas de perte mineure de paquets, la vidéo ou l’audio peuvent être déformés pendant quelques instants, puis redevenir corrects immédiatement après.
Dans le cas des jeux en ligne, l’histoire est similaire : si des paquets UDP sont perdus, les joueurs se déplacent d’un point à un autre sans qu’aucun mouvement ne soit visible.
Ce qui est important, c’est de rester dans le jeu, sans regarder le passé et ce qui a pu être perdu. Le fait d’ignorer la correction d’erreur qu’effectuerait TCP accélère la connexion du jeu et réduit la latence.
Le fait qu’une application utilise TCP ou UDP dépend de son développeur et ne peut être modifié.
La plupart des programmes souhaitent une correction des erreurs et préfèrent la robustesse du protocole TCP, tandis que certaines applications ont besoin de vitesse et s’appuient sur le protocole UDP.
Avec un programme comme Wireshark, vous pouvez voir les différents paquets qui circulent sur votre ordinateur.
Lorsque vous configurez un routeur ou un pare-feu pour ouvrir certains ports, si vous ne savez pas si une application utilise TCP ou UDP, vous pouvez choisir d’ouvrir « les deux » pour appliquer la même règle au trafic TCP et UDP.