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?)
UDP: Tout ce qui ne vous intéresse pas trop si vous obtenez toujours toutes les données
TCP: presque tout où vous devez obtenir toutes les données transmises
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 :)
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.
TCP :
UDP :
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
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)
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.
Email:
Raison: Supposons que si un paquet (mots/instruction) manque, nous ne pouvons pas comprendre le contenu. Il devrait être fiable.
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.
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!
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.
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.
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.
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
É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).
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.
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.