web-dev-qa-db-fra.com

Quels sont des exemples de TCP et UDP dans la vie réelle?

Je connais la différence entre les deux sur le plan technique.

Mais dans la vraie vie, quelqu'un peut-il fournir des exemples (plus il y en a de mieux) d'applications (utilisations) de TCP et UDP pour démontrer la différence?)

54
Leon

UDP: Tout ce qui ne vous intéresse pas trop si vous obtenez toujours toutes les données

  • Tunnelling/VPN (les paquets perdus sont ok - le protocole tunnelé s'en charge)
  • Diffusion multimédia en continu (les images perdues sont acceptables)
  • Des jeux qui ne vous intéressent pas si vous obtenez tous update
  • Mécanismes de diffusion locaux (même application s'exécutant sur différentes machines se "découvrant" les unes les autres)

TCP: presque tout où vous devez obtenir toutes les données transmises

  • Web
  • SSH, FTP, telnet
  • SMTP, envoi de courrier
  • IMAP/POP, réception de courrier

EDIT: Je ne vais pas m'embêter à expliquer les différences, puisque vous dites que vous le savez déjà et que toute autre réponse l'explique quand même :)

113
Erik

UDP envoie une lettre au bureau de poste.

TCP poste une lettre avec accusé de réception au bureau de poste, sauf que le maître de la poste organisera les lettres dans l’ordre et les remettra uniquement dans l’ordre.

Eh bien, c'était une tentative quand même.

30
Edwin Buck

TCP :

  • World Wide Web (HTTP)
  • Courriel (TCP SMTP)
  • Protocole de transfert de fichier (FTP)
  • Secure Shell (SSH)

UDP :

  • Système de nom de domaine (DNS)
  • Diffusion d'applications multimédia telles que des films
  • Jeux multijoueurs en ligne
  • Voice over IP (VoIP)
  • Protocole de transfert de fichiers trivial (TFTP)
9
sndu

Le point de vue classique est de considérer TCP comme sûr et UDP comme non fiable.

Mais lorsque les protocoles TCP-IP sont utilisés dans des applications critiques pour la sécurité, TCP n'est pas recommandé car il peut s'arrêter en cas d'erreur pour plusieurs raisons. Tandis que UDP permet au logiciel d'application de gérer les erreurs, les minuteries de retransmission, etc. .

De plus, TCP entraîne plus de temps système que l’UDP.

Actuellement, le protocole UDP est utilisé dans les commandes d'aéronefs et les instruments de vol, dans la norme ARINC 664 également appelée AFDX (Avionics Full-Duplex Switched Ethernet). Dans ARINC 664, TCP est facultatif, mais UDP est utilisé avec le RTOS (systèmes d’exploitation en temps réel)) conçu pour le standard ARINC 653 (logiciel de avions civils).

Pour plus d'informations sur les contrôles en temps réel utilisant IP et UDP dans AFDX, vous pouvez lire les pages 27 à 50 dans http://www.afdx.com/pdf/AFDX_Training_October_2010_Full.pdf

8
meca soft

TCP

Je n'enverrai plus de données avant d'avoir reçu un accusé de réception.

ce processus est lent

Il est utilisé à des fins de sécurité

exemple: web, envoi de courrier, réception de courrier, etc.

UDP

Ici, je n'ai pas mal à la tête avec reconnaissance.

ce processus est plus rapide, mais ici les données peuvent être perdues.

exemple: streaming vidéo, jeux en ligne, etc.

TCP + UDP = SMTP (exemple: mobile, téléphone)

7
Joy Acharya

TCP garantit la livraison (dans l’ordre) des paquets. UDP non.

TCP - utilisé pour le trafic pour lequel vous avez besoin de toutes les données. i.e HTML, images, etc. UDP - utilisé pour un trafic qui ne souffre pas beaucoup si un paquet est lâché, c’est-à-dire le streaming vidéo et vocal, certains canaux de données de jeux en ligne, etc.

5
edge

APPLICATION EN TEMPS RÉEL POUR TCP:

Email:

Raison: Supposons que si un paquet (mots/instruction) manque, nous ne pouvons pas comprendre le contenu. Il devrait être fiable.

APPLICATION EN TEMPS RÉEL POUR UDP:

streaming vidéo:

* ** Reason: *** Supposons qu’un paquet (image/séquence) manque, nous pouvons comprendre le contenu.Parce que la vidéo est une collection d’images. Pour une vidéo d’une seconde, il devrait y avoir 25 images (image). ). Même si nous pouvons comprendre que certains cadres manquent à cause de nos compétences d'imagination. C'est pourquoi UDP est utilisé pour le streaming vidéo.

4
Guilbert

TCP est un protocole orienté connexion. Il établit un chemin ou une connexion virtuelle à travers les commutateurs, les routeurs, les mandataires, etc., puis lance la communication. Divers mécanismes, tels que l'algorithme d'acheminement le plus court chemin de djikstras, existent pour établir la connexion de bout en bout virtuelle. Donc, il se trouve utilisé lors de la navigation sur HTML et d'autres pages, effectuant des paiements et des applications Web en général.

UDP est un protocole sans connexion - il a simplement une destination et les nœuds la transmettent simplement si cela se présente le mieux possible. Ainsi, les paquets arrivant en panne, le long de différentes routes, etc. sont courants. Les messageries instantanées et les développeurs de logiciels similaires considèrent donc UDP comme une solution idéale.

Dans la vraie vie, si vous voulez jeter des données sur le net, sans vous soucier du temps nécessaire pour atteindre, l'ordre d'utilisation atteint UDP. Si vous voulez un chemin solide avant de commencer à jeter des paquets, et voulez le même ordre et la même latence pour vos paquets de données, utilisez TCP - J'utiliserai UDP pour Torrents et TCP = pour Paypal!

3
Zasz

Une pensée supplémentaire sur certains des commentaires ci-dessus qui parle de livraison commandée .... Il faut préciser que l’ordinateur de destination peut recevoir des paquets hors service sur le réseau, mais le TCP à la La destination est responsable de la "réorganisation des données hors service" avant de les transmettre aux couches supérieures de la pile. Lorsque vous dites TCP garantit la livraison d'un paquet commandé, cela signifie paquets dans le bon ordre aux couches supérieures de la pile.

2
Ram

TCP est approprié lorsque vous devez déplacer une quantité décente de données (> ~ 1 ko) et que vous souhaitez que toutes ces données soient livrées. Presque toutes les données qui transitent sur Internet le font via TCP - HTTP, SMTP, BitTorrent, SSH, etc.) utilisent tous le protocole TCP.

UDP est approprié lorsque vous avez des petits messages que vous pouvez vous permettre de perdre et que vous souhaitez envoyer le plus efficacement possible. L'une des raisons pour lesquelles vous pouvez vous permettre de les perdre est que vous pouvez les renvoyer s'ils se perdent. Le principal exemple sur Internet est DNS - Le DNS consiste en de petites requêtes disant "Quel est le numéro IP de stackoverflow.com?", Et les réponses sont en conséquence réduites. Les ordinateurs effectuent bon nombre de ces requêtes. Elles doivent donc être effectuées efficacement. Toutefois, s’ils se perdent en cours de route, il est facile de faire une pause et de les renvoyer.

2
Tom Anderson

TCP garantit la livraison des paquets ET la commande. L'ordre est presque aussi important que la livraison en premier lieu lors de la reconstruction de données pour des fichiers tels que des exécutables, etc.

UDP ne garantit pas la livraison NOR commande. Les paquets peuvent arriver (ou pas!) Dans n'importe quel ordre.

Utilisations courantes pour TCP inclure le transfert de fichiers où l’intégrité des paquets est primordiale. Les applications voix/vidéo peuvent se permettre de perdre certaines données tout en conservant une qualité acceptable, et utilisent donc généralement UDP.

2
Steve
  • TCP: va y arriver dans un ordre significatif
  • UDP: dieu sait (peut-être)
2
gbn
SCTP vs TCP vs UDPServices/Features       SCTP        TCP       UDP
Connection-oriented                       yes         yes       no
Full duplex                               yes         yes       yes
Reliable data transfer                    yes         yes       no
Partial-reliable data transfer            optional    no        no
Ordered data delivery                     yes         yes       no
Unordered data delivery                   yes         no        yes
Flow control                              yes         yes       no
Congestion control                        yes         yes       no
ECN capable                               yes         yes       no
Selective ACKs                            yes         optional  no
Preservation of message boundaries        yes         no        yes
Path MTU discovery                        yes         yes       no
Application PDU fragmentation             yes         yes       no
Application PDU bundling                  yes         yes       no
Multistreaming                            yes         no        no
Multihoming                               yes         no        no
Protection against SYN flooding attacks   yes         no        n/a
Allows half-closed connections            no          yes       n/a
Reachability check                        yes         yes       no
Psuedo-header for checksum                no (vtags)  yes       yes
Time wait state                           vtags       4-Tuple   n/a
2
Anuj jain

Étant donné que les utilisations de tcp sont assez simples à partir d'autres réponses, je mentionnerai quelques cas d'utilisation UDP intéressants:

1) DHCP - Protocole de configuration d'hôte dynamique, utilisé pour attribuer dynamiquement une adresse IP et une autre configuration réseau aux périphériques connectés. En termes simples, ce protocole vous permet simplement de vous connecter au câble réseau (ou wifi) et de commencer à utiliser Internet, sans configuration supplémentaire. DHCP utilise le protocole UDP. Étant donné que le message de demande de configuration est en cours de diffusion à partir de l'hôte et qu'il est impossible d'établir une connexion TCP avec un serveur DHCP (vous ne connaissez pas l'adresse)), il est impossible d'utiliser TCP à la place.

2) Traceroute - outil de diagnostic réseau bien connu qui vous permet d’explorer quel chemin dans le réseau votre datagramme passe pour atteindre sa destination (et combien de temps cela prend). Par défaut, cela fonctionne en envoyant un datagramme UDP avec un numéro de port de destination improbable (allant de 33434 à 33534) à la destination avec le champ ttl (durée de vie) défini sur 1. Lorsque le routeur, quelque part sur le réseau, obtient un tel datagramme - il découvre que le datagramme a expiré. Ensuite, le routeur supprime le datagramme et envoie à l'origine du datagramme un message d'erreur ICMP (Internet Control Message Protocol) indiquant que le ttl du datagramme a expiré et contenant le nom du routeur et l'adresse IP. Chaque fois que l’hôte envoie des datagrammes avec une durée de vie (TTL) de plus en plus élevée, la partie réseau qu’il parvient à surmonter est augmentée et de nouveaux messages ICMP sont transmis par les nouveaux routeurs. Quand il atteint finalement sa destination (datagrammes TTL est assez grand pour le permettre), - l'hôte de destination envoie un message ICMP 'Port inaccessible' au port de destination. De cette manière, Traceroute sait que le Depuis que TCP garantit la livraison des segments, il serait au moins inefficace de l’utiliser au lieu de UDP, ce qui permet à un datagramme d’être simplement abandonné sans tentative de renvoi (le renvoi est mis en œuvre au niveau supérieur, avec une augmentation constante TTL comme décrit ci-dessus).

1
RuslanSh

UDP est beaucoup utilisé dans les jeux ou autres configurations peer-to-peer, car il est plus rapide et la plupart du temps, vous n'avez pas besoin du protocole pour vous assurer que tout arrive à la destination dans la commande d'origine (UDP ne garantit pas la livraison de paquets ou ordre de livraison).

Le trafic Web, par contre, est sur TCP. (Je ne suis pas sûr ici mais je pense que cela a à voir avec la façon dont le protocole HTTP est construit)

Edité parce que j'ai échoué à UDP.

0

Exemples concrets: TCP et UDP tcp -> un appel téléphonique, un sms ou autre chose spécifique à la destination UDP -> une chaîne de radio FM (AM), Wi-Fi.

0
ABIR