48 votes

Quelle est la différence entre UDP et TCP ?

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 ?

77voto

Bob Points 34449

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 :

TCP frame

Voici la structure de la trame UDP, beaucoup plus simple :

UDP frame

Les protocoles typiques qui utilisent TCP sont HTTP, FTP et SMTP. Les protocoles utilisant UDP sont par exemple DNS et DHCP.

54voto

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.

48voto

pgs Points 3441

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.

8voto

Bob Nadler Points 1959

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.

4voto

Zachary Scott Points 146

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X