web-dev-qa-db-fra.com

Quelle est la différence entre UDP et TCP?

Mon routeur possède deux protocoles (et une option "les deux") que je peux sélectionner lors de la configuration de la redirection de port: UDP et TCP. Quelle est la différence entre ces deux protocoles et quand choisiriez-vous l'un sur l'autre dans la redirection de port?

47
Guy

TCP est soutenu par des accusés de réception et des tentatives pour vous assurer que vos données arrivent là où elles vont. UDP est sans connexion et "tire et oublie". 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 renvoyer.

Celui que vous utilisez dépend de l'application. Par exemple, un serveur Web utilise TCP.

52
user640

Vous pouvez trouver un bon résumé ici:

Quelle est la différence entre UDP et TCP Internet?

Les deux TCP et UDP fonctionnent sur le modèle TCP/IP de la couche transport, mais ont une utilisation très différente.

Les différences les plus importantes sont:

  • Fiabilité :
    TCP: orienté connexion
    UDP: sans connexion
  • Commandé :
    TCP: l'ordre de réception des messages est garanti
    UDP: la commande n'est pas garantie
  • Poids du protocole :
    TCP: poids lourd, en raison de la surcharge de connexion/commande
    UDP: léger, très peu de frais généraux
  • Paquets :
    TCP: diffusion en continu, les données sont lues comme un "flux", rien ne distinguant où un paquet se termine et où un autre commence. Il peut y avoir plusieurs paquets par appel lu.
    UDP: datagrammes, un paquet par appel lu.

Structure de trame

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 TCP et les structures de trame UDP diffèrent.

Il s'agit de la structure de trame TCP:

TCP frame

C'est la structure de trame UDP, beaucoup plus simple:

UDP frame

Protocoles typiques qui utilisent TCP sont HTTP, FTP et SMTP. Des exemples de protocoles utilisant UDP sont DNS et DHCP.

74
splattne

Et l'explication du niveau PDG:

UDP, c'est quand vous jetez votre papier dans la direction générale du bac.

TCP est quand il manque, vous lancez des copies exactes du même papier encore et encore jusqu'à ce qu'il tombe dans le bac. Il y aurait du gaspillage de papier, voire du ressentiment TCP entraînent un gaspillage des ressources réseau ou système.

45
pgs

TCP et UDP sont les deux protocoles qui s'exécutent sur IP. TCP a une livraison garantie et pas UDP. Vous choisiriez l'un ou l'autre pour la redirection de port en fonction du service que vous essayez de transférer. HTTP, par exemple, est TCP. Si vous ne ' Je ne connais pas le protocole du service que vous essayez de transmettre, c'est presque certainement TCP.

7
Brian

Pour répondre à une autre partie de votre question, vous devez transmettre 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 principalement à la fois tcp et udp, donc transférez-les tous les deux.

Tout dépend du protocole et du programme que vous utilisez.

3
hayalci

Ainsi que les différences mentionnées jusqu'ici TCP fournit également

contrôle de flux. En utilisant un mécanisme de fenêtre, le destinataire limite le nombre d'octets (octets) qu'il souhaite recevoir de l'expéditeur avant que l'expéditeur ne doive attendre l'autorisation d'envoyer plus de données. La taille de la fenêtre peut être modifiée par le récepteur au cours de la conversation. Cela permet à un récepteur de "limiter" le taux de données provenant d'un expéditeur: UDP ne le permet pas et tout ce qu'un récepteur peut faire est de jeter des données qu'il ne peut pas tamponner ou traiter à l'arrivée.

certaines fonctionnalités plus techniques telles que l'accusé de réception non contigu (utilise des accusés de réception sélectifs pour permettre à l'expéditeur de retransmettre uniquement une trame manquante plutôt que la trame manquante et les suivantes que le récepteur a déjà mais n'a pas pu reconnaître de la manière habituelle), la gestion de la congestion et retransmission adaptative (réglage du temporisateur qui décide du délai de renvoi d'une trame transmise lorsqu'un accusé de réception n'est pas reçu). Ceux-ci ne sont pas pertinents pour UDP mais aident TCP à fournir des services supplémentaires sur UDP sans augmenter considérablement la charge du réseau pour le même volume de charge utile.

2
mas

TCP s'efforce de garantir que les données parviennent au destinataire; UDP ne le fait pas.

2
J. Polfer

Peu importe toutes les réponses expliquant l'une par rapport à l'autre. Aux fins de la configuration d'une redirection de port, les règles sont assez simples: vous devez choisir TCP, sauf si les documents pour le protocole/l'application que vous utilisez disent d'utiliser UDP. Habituellement, ceux qui utilisent UDP sont liés au streaming, ou à des choses très simples qui favorisent les protocoles légers/la vitesse par rapport à la fiabilité (en particulier DNS et NTP). Notez qu'il existe d'autres protocoles en plus de TCP et UDP aussi - ICMP, protocoles de tunneling, etc.

1
Lee B

Plus un protocole est connu, plus il y a de routeurs sur le chemin qui interviennent avec le protocole. Envoyez des paquets TCP, et il y a de fortes chances que les paquets reçus soient très mutilés. UDP n'est généralement pas si déformé, et les autres protocoles 254 IP paylod sont généralement complètement intacts.

1
user60557

Protocole UDP (User Datagram Protocol)

Il fait partie des protocoles de base d'Internet Protocol Suite. Les programmes sur les ordinateurs en réseau peuvent envoyer des messages courts parfois appelés datagrammes. UDP ne garantit aucune fiabilité (il arrive que le datagramme arrive en panne, soit dupliqué, soit manquant sans préavis). Le fait qu'aucune vérification de la livraison effective de tous les paquets ne soit effectuée, UDP s'avère plus rapide et plus efficace, pour les applications qui n'ont pas besoin d'une livraison garantie. UDP trouve ses utilisations dans de telles situations:

Applications sensibles au temps. Les problèmes dus aux paquets retardés sont évités

Il est également utile pour les serveurs qui répondent à de petites requêtes d'un grand nombre de clients. UDP prend en charge la diffusion de paquets (transmet à tous sur le réseau local) et la multidiffusion (transmet à tous les abonnés).

Protocole de contrôle de transmission (TCP)

Il est souvent appelé TCP/IP en raison de l'importance de ce protocole dans Internet Protocol Suite. TCP fonctionne à un niveau supérieur, uniquement concerné par les deux systèmes d'extrémité (par exemple entre un navigateur Web et un serveur Web). TCP fournit une livraison séquentielle fiable d'un flux de données d'un programme sur un ordinateur à un autre programme sur un autre ordinateur. Les utilisations courantes de TCP regroupent la prise en charge de la messagerie électronique, le transfert de fichiers et les applications Web. Parmi ses tâches de gestion, TCP contrôle la taille des messages, la vitesse à laquelle les messages sont échangés et la congestion du trafic réseau. Quant à IP, il gère les transmissions de niveau inférieur d'un ordinateur à l'autre comme un message transféré sur Internet.

0
surendran

Eh bien, les deux sont des protocoles réseau construits sur quelque chose appelé protocole Internet ou IP. Le protocole Internet est le principal protocole d'Internet et c'est par exemple ce qui nous permet de naviguer sur le Web. C'est pourquoi vous verrez souvent ces protocoles écrits en TCP/IP ou UDP/IP. Ce sont en fait des protocoles essentiels d'Internet.

Dans les deux cas, vos données sont divisées en blocs appelés paquets. TCP garantit que ces paquets arrivent à destination et dans le bon ordre et sans aucune erreur.

UDP d'autre part ne garantira pas qu'un paquet de données arrivera même. Il s'assurera seulement que s'il arrive, ce sera sans erreur.

En règle générale, d'autres protocoles s'exécuteront au-dessus de TCP et UDP et sont connus comme des protocoles d'application car ils fonctionnent dans une application et non dans le système d'exploitation. Votre navigation Web utilise le protocole HTTP qui utilisera le TCP.

Les recherches de nom de domaine ou les requêtes DNS utilisent souvent UDP mais peuvent également utiliser TCP. Un certain nombre de services de streaming utilisent UDP sous un autre protocole d'application.

J'espère que cela répond à votre question dans un anglais plus simple.

0
Matt