Différence entre TCP et UDP?

Quelle est la différence entre TCP et UDP?

je sais que TCP est utilisé dans le cas d'applications non critiques, et UDP est utilisé pour des jeux ou des applications qui nécessitent une transmission rapide de données. Je sais que TCP est utilisé pour HTTP, HTTPs, FTP, SMTP et Telnet. Je sais que UDP est utilisé pour DNS et DHCP.

mais pourquoi? Quelles sont les caractéristiques de TCP et UDP qui le rendent utile pour leurs cas d'utilisation respectifs?

127
demandé sur Heisenbug 2011-05-12 00:44:09

9 réponses

TCP est un flux orienté connexion sur un réseau IP. Il garantit que tous les paquets envoyés atteindront la destination dans le bon ordre. Cela implique l'utilisation de paquets d'accusé de réception renvoyés à l'expéditeur, et la retransmission automatique, ce qui entraîne des retards supplémentaires et une transmission générale moins efficace que UDP .

UDP est un protocole sans connexion. La Communication est datagramme orientée. Le l'intégrité est garantie uniquement sur le seul datagramme. Les datagrammes atteignent la destination et peuvent arriver en panne ou ne pas arriver du tout. Il est plus efficace que TCP car il utilise non ACK . Il est généralement utilisé pour la communication en temps réel, où un petit pourcentage du taux de perte de paquets est préférable à la ligne aérienne d'une connexion TCP .

Dans certaines situations UDP est utilisé car il permet de paquets de diffusion transmission. Ceci est parfois fondamental dans des cas comme le protocole DHCP , parce que la machine client n'a pas encore reçu l'adresse IP (c'est le but du protocole de négociation DHCP ) et il n'y aura aucun moyen d'établir un flux TCP sans l'adresse IP elle-même.

107
répondu Heisenbug 2017-08-26 22:23:19

à Partir de la Skullbox l'article:

TCP (Transmission Control Protocol) est le protocole le plus couramment utilisé sur Internet. La raison en est que TCP offre la correction d'erreurs. Lorsque le protocole TCP est utilisé, il y a une "livraison garantie"."Cela est dû en grande partie à une méthode appelée "contrôle du débit."Le contrôle du flux détermine quand les données doivent être réexpédiées et arrête le flux de données jusqu'à ce que les paquets précédents soient réussis transférer. Cela fonctionne parce que si un paquet de données est envoyé, une collision peut se produire. Lorsque cela se produit, le client demande à nouveau le paquet depuis le serveur jusqu'à ce que le paquet entier soit complet et identique à son original.

UDP (User Datagram Protocol) est un autre protocole couramment utilisé sur L'Internet. Cependant, UDP n'est jamais utilisé pour envoyer des données importantes telles que des pages Web, des informations de base de données, etc; UDP est couramment utilisé pour le streaming audio et vidéo. Les médias de Streaming tels que les fenêtres Médias Fichiers audio (.WMA), Real Player (.RM), et d'autres utilisent UDP parce qu'il offre la vitesse! La raison pour laquelle UDP est plus rapide que TCP est qu'il n'y a aucune forme de contrôle du débit ou de correction d'erreur. Les données envoyées par Internet sont affectées par les collisions, et des erreurs seront présentes. Rappelez-vous que L'UDP ne s'intéresse qu'à la vitesse. C'est la raison principale pour laquelle les médias en continu ne sont pas de haute qualité.

1) TCP est orienté connexion et fiable où comme UDP est moins de connexion et peu fiable.

2) TCP a besoin de plus de traitement au niveau de l'interface réseau où comme dans UDP il n'est pas.

3) TCP utilise la poignée de main à 3 voies, le contrôle de la congestion, le contrôle du débit et d'autres mécanismes pour s'assurer de la transmission fiable.

4) UDP est principalement utilisé dans les cas où le retard du paquet est plus grave que la perte du paquet.

47
répondu p27 2017-01-13 01:42:32

pense à TCP comme un UPS/FedEx réservé ramassage/livraison de paquets entre deux endroits, tandis que UDP est l'équivalent de jeter une carte postale dans une boîte aux lettres.

UPS / FedEx vont faire leur damndest pour s'assurer que le paquet que vous envoyez arrive là, et l'obtenir là à l'heure. Avec la carte postale, vous êtes chanceux si elle arrive à tous, et il peut arriver hors de l'ordre ou en retard (combien de fois avez-vous reçu une carte postale de quelqu'un après qu'ils sont rentrés à la maison de les vacances?)

TCP est aussi proche d'un protocole de livraison garanti que vous pouvez obtenir, tandis que UDP est juste "meilleur effort".

38
répondu Marc B 2011-05-11 20:50:15

raisons UDP est utilisé pour DNS et DHCP:

DNS-TCP nécessite plus de ressources du serveur (qui écoute les connexions) que du client. En particulier, lorsque la connexion TCP est fermée, le serveur doit mémoriser les détails de la connexion (en les gardant en mémoire) pendant deux minutes, dans un état connu sous le nom de TIME_WAIT_2. Il s'agit d'une caractéristique qui protège contre les paquets répétés par erreur à partir d'une connexion précédente étant interprété dans le cadre d'une connexion en cours. Le maintien de TIME_WAIT_2 utilise la mémoire du noyau sur le serveur. Les demandes DNS sont petites et arrivent fréquemment de nombreux clients différents. Ce schéma d'utilisation exacerbe la charge sur le serveur par rapport aux clients. Il a été estimé que L'utilisation de UDP, qui n'a aucune connexion et aucun État à maintenir sur le client ou le serveur, permettrait d'améliorer ce problème.

DHCP-DHCP est une extension de BOOTP. BOOTP est un protocole que le client les ordinateurs utilisent pour obtenir des informations de configuration à partir d'un serveur, alors que le client démarre. Pour localiser le serveur, un message est envoyé demandant des serveurs BOOTP (ou DHCP). Les émissions ne peuvent être envoyées que via un protocole sans connexion, tel que UDP. Par conséquent, BOOTP avait besoin d'au moins un paquet UDP, pour la diffusion de localisation du serveur. De plus, parce que BOOTP est en cours d'exécution pendant que le client... et c'est une période où le client peut ne pas avoir toute sa pile TCP/IP chargée et en cours d'exécution, UDP peut être le seul protocole que le client est prêt à gérer à ce moment-là. Enfin, certains clients DHCP / BOOTP n'ont que UDP à bord. Par exemple, certains thermostats IP n'implémentent que L'UDP. La raison en est qu'ils sont construits avec ces petites processeurs et peu de mémoire que le sont incapables d'effectuer TCP -- mais ils ont encore besoin d'obtenir une adresse IP lorsqu'ils démarrent.

comme d'autres l'ont mentionné, UDP est également utile pour le streaming des médias, en particulier audio. Conversation sonnez mieux sous le décalage réseau si vous laissez tomber les paquets retardés. Vous pouvez le faire avec UDP, mais avec TCP tout ce que vous obtenez pendant le lag est une pause, suivie d'un audio qui sera toujours retardé autant qu'il a déjà été mis en pause. Pour les conversations téléphoniques bidirectionnelles, c'est inacceptable.

20
répondu Heath Hunnicutt 2011-05-11 21:13:10

une des différences est en bref

UDP : envoyer un message et ne pas regarder en arrière s'il atteint la destination, protocole sans connexion

TCP : envoyer un message et une garantie pour atteindre la destination, protocole orienté connexion

13
répondu mcaaltuntas 2011-05-11 20:51:49

TCP établit une connexion avant que la transmission de données réelle ait lieu, UDP ne le fait pas. De cette façon, UDP peut fournir une livraison plus rapide. Les Applications comme DNS, time server access, utilisent donc UDP.

contrairement à UDP, TCP utilise le contrôle de la congestion. Il les réponses à la charge du réseau. Contrairement à L'UDP, il ralentit lorsque la congestion du réseau est imminente. Ainsi, des applications comme le multimédia préférant un débit constant pourraient aller pour UDP.

De plus, UDP n'est pas fiable, il ne réagit pas sur les pertes de paquets. Ainsi les applications sensibles à la perte comme la transmission multimédia préfèrent UDP. Cependant, TCP est un protocole fiable, de sorte que les applications qui nécessitent une fiabilité telle que le transfert web, le courrier électronique, le téléchargement de fichiers préfèrent TCP.

D'ailleurs, dans l'Internet D'aujourd'hui UDP n'est pas aussi accueillant que TCP en raison de boîtes du milieu. Certaines applications comme skype tombent en TCP lorsque la connexion UDP est supposée bloquée.

9
répondu Timir 2013-04-30 20:29:08
2
répondu rapt 2017-05-23 12:34:27

Court et simple des différences entre Tcp et Udp protocole:

1) Tcp - Transmission control protocol and Udp - User datagram protocol.

2) Tcp est un protocole fiable, où Udp est un protocole peu fiable.

3) Tcp est orienté stream, où comme Udp est un protocole orienté message.

4) Tcp est plus lent que Udp.

1
répondu rsp 2017-07-26 17:13:51

explication Simple par analogie

TCP est comme ça.

Imaginez que vous ayez un correspondant sur Mars (nous avons communiqué avec des lettres écrites dans le bon vieux temps avant l'internet).

vous devez envoyer à votre correspondant Les Sept Habitudes de personnes hautement efficaces. Si vous décidez de l'envoyer en sept lettres:

  1. Lettre 1-être proactif
  2. Lettre 2 - Commencer par la fin à l'esprit...

etc.

etc..Lettre 7-affûter la scie

Requirements:

Vous voulez vous assurer que vos correspondants ne reçoit tous vos lettres - dans l'ordre et qu'elles arrivent parfaitement . Si votre stylo payer reçoit la lettre 7 avant la lettre 1 - ce n'est pas bon. si votre correspondant reçoit toutes les lettres, sauf la lettre 3 - c'est pas bon.

Voici comment nous nous assurons que nos exigences sont respectées:

  • lettre de Confirmation: donc votre correspondant envoie une lettre de confirmation pour dire "j'ai reçu la lettre 1". Comme ça tu sais que ton correspondant l'a reçu. Si une lettre n'arrive pas ou arrive l'ordre, alors vous devez vous arrêter et revenir en arrière et envoyez de nouveau cette lettre et toutes les lettres subséquentes.
  • contrôle de flux: à L'époque de Xmas, vous savez que votre correspondant recevra beaucoup de courrier, donc vous ralentissez parce que vous ne voulez pas submerger votre correspondant. (Votre correspondant vous envoie des mises à jour constantes sur le nombre de messages non lus qu'il y a dans la boîte aux lettres de penpal - si votre correspondant dit que la boîte aux lettres est sur le point d'exploser parce qu'elle est pleine, alors vous ralentissez en envoyant vos lettres - parce que votre correspondant ne être en mesure de les lire.
  • arrivée parfaite. Parfois, pendant que vous envoyez votre lettre à la poste, il peut obtenir déchiré, ou un escargot peut manger la moitié. Comment savez-vous que votre lettre est arrivée en parfait état? Bien vos correspondants ne vous donnera un mécanisme par lequel vous pouvez vérifier s'ils ont reçu la lettre et que c'était exactement la lettre que vous avez envoyée. (par exemple via un nombre de mots, etc. ). une base de l'analogie.
-1
répondu BKSpurgeon 2018-03-01 04:42:58