Mon routeur dispose de deux protocoles (et d'une option "les deux") que je peux sélectionner lors de la configuration du transfert de port : UDP et TCP. Quelle est la différence entre ces deux protocoles et quand choisiriez-vous l'un plutôt que l'autre dans le cadre d'une redirection de port ?
Réponses
Trop de publicités?Vous trouverez un bon résumé ici :
Quelle est la différence entre les protocoles internet UDP et TCP ?
Le TCP et l'UDP fonctionnent tous deux au niveau de la couche transport du modèle TCP/IP, mais leur utilisation est très différente.
Les différences les plus importantes sont les suivantes :
-
Fiabilité :
TCP : orienté connexion
UDP : sans connexion -
Commandé :
TCP : l'ordre de réception des messages est garanti
UDP : l'ordre n'est pas garanti -
Poids du protocole :
TCP : poids lourd, en raison de la surcharge de connexion/ordonnancement
UDP : léger, très peu de frais généraux -
Paquets :
TCP : flux, les données sont lues comme un "flux", sans que rien ne distingue la fin d'un paquet du début d'un autre. Il peut y avoir plusieurs paquets par appel de lecture.
UDP : datagrammes, un paquet par appel de lecture.
Structure du cadre
Lorsque des données sont envoyées sur le réseau, elles doivent être encapsulées dans ce que l'on appelle des "trames". Il existe différentes méthodes d'encapsulation en fonction du protocole et de la topologie utilisés. Les images suivantes montrent comment les structures des trames TCP et UDP diffèrent.
Il s'agit de la structure de la trame TCP :
Voici la structure de la trame UDP, beaucoup plus simple :
Les protocoles typiques qui utilisent TCP sont HTTP, FTP et SMTP. Les protocoles utilisant UDP sont par exemple DNS et DHCP.
TCP est soutenu par des accès et des tentatives pour s'assurer que les données arrivent à destination. UDP est sans connexion et permet d'oublier tout ce qu'il y a à faire. UDP est principalement utilisé pour les applications de type "streaming", où si vous perdez des données, vous n'avez pas besoin d'essayer de les envoyer à nouveau.
Le choix de l'un ou l'autre dépend de l'application. Par exemple, un serveur web utilise TCP.
Et l'explication au niveau du directeur général :
L'UDP, c'est lorsque vous jetez votre papier dans la direction générale de la poubelle.
Le TCP, c'est quand ça rate, on jette des copies exactes du même papier encore et encore jusqu'à ce qu'il tombe dans la poubelle. Il y aurait un gaspillage de papier, même les paquets TCP renvoyés entraînent un gaspillage des ressources du réseau ou du système.
Le TCP et l'UDP sont tous deux des protocoles qui s'exécutent au-dessus de l'IP. Le TCP offre une garantie de livraison, ce qui n'est pas le cas de l'UDP. Vous choisirez l'un ou l'autre pour le transfert de port en fonction du service que vous essayez de transférer. HTTP, par exemple, est un protocole TCP. Si vous ne savez pas quel est le protocole du service que vous essayez de transférer, il s'agit presque certainement de TCP.
Pour répondre à l'autre partie de votre question, vous devez indiquer ce que votre application utilise. Pour transférer le trafic HTTP, sélectionnez TCP. Pour transférer le trafic TFTP, sélectionnez UDP. Les programmes P2P utilisent généralement à la fois tcp et udp, donc transférez-les tous les deux.
Tout dépend du protocole et du programme que vous utilisez.
- Réponses précédentes
- Plus de réponses