07/06/2021
Quelle est la différence entre TCP et UDP ?❓
La différence réside essentiellement dans la détection et la correction des erreurs.✅
TCP peut être considéré comme une conversation téléphonique. Quelqu'un vous appelle, votre téléphone sonne pour signaler que quelqu'un essaie de vous contacter, et vous décidez de l'accepter ou de l'ignorer. Si vous acceptez, vous décrochez le téléphone et dites « Bonjour ? » signalant que vous êtes au téléphone et prêt à écouter, et l'autre personne répond généralement par "Bonjour, c'est (qui)". C'est le "protocole", pour ainsi dire, de commencer une conversation téléphonique, et essayer de démarrer une conversation d'une autre manière confondra l'autre partie et vous fera probablement raccrocher.
TCP a un protocole d'établissement similaire, appelé « poignée de main à trois ». Un "client" (quelqu'un demandant une connexion) enverra un message "SYN" (SYNchronization request) à un "serveur" qui écoute ces messages. Le serveur, s'il décide d'accepter la demande, renverra un message "SYN/ACK", à la fois accusant réception de la demande précédente et demandant son propre "canal de retour" de communication. Le client renvoie alors un message "ACK" confirmant la demande du serveur, et un canal de communication bidirectionnel est établi.
📑De plus, TCP possède des caractéristiques inhérentes à la manière dont un message de données volumineux est organisé en paquets plus petits, afin de garantir que ces paquets de données, qui peuvent emprunter des routes différentes entre les deux ordinateurs sur Internet, peuvent être réassemblés dans leur ordre approprié, et que la détection de tout paquet perdu et la demande de remplacement sont relativement faciles et efficaces. Cela permet d'envoyer de grandes quantités de données sur les réseaux tout en garantissant que les données reçues par l'autre côté sont, en fin de compte, celles envoyées par l'expéditeur. L'inconvénient est que ces fonctionnalités supplémentaires augmentent la surcharge de données de la communication ; un paquet d'informations ne peut avoir qu'une taille maximale fixe, donc plus vous devez inclure d'informations concernant la communication, moins vous disposez d'espace pour ce que vous voulez réellement communiquer.
🔗UDP peut être considéré davantage comme un talkie-walkie ou une radio CB. vous appuyez sur un bouton et parlez, et toute personne écoutant sur cette fréquence l'entendra, à moins qu'elle n'utilise également la même fréquence pour parler. Deux personnes parlant en même temps sur la même fréquence ne peuvent pas s'entendre et sonnera comme du charabia à une troisième personne. Vous pouvez créer des "protocoles" supplémentaires pour éviter de se parler ou de demander une réponse ou de répéter un message précédent, et les utilisateurs de CB l'ont fait, mais la technologie n'empêche ni ne tolère explicitement la diaphonie, ni ne fournit de méthodes pour résoudre perte d'informations lorsque des choses comme ça se produisent.
⭐️La structure des paquets UDP est beaucoup plus simple que celle de TCP, et il n'y a pratiquement pas de messages prédéfinis tels que ceux pour l'établissement de connexion (car UDP est un protocole "sans connexion"). Tout l'"en-tête" du paquet contient les adresses source et de destination, la longueur des données et la somme de contrôle. Pas de numéro de séquence (donc plusieurs datagrammes UDP ne peuvent pas être organisés dans l'ordre dans lequel ils ont été envoyés, du moins pas par une implémentation du protocole), pas d'options de transmission, pas de confirmation de réception, rien. Lorsque UDP est transmis sur un réseau IPv4 (qui est à peu près tout, à moins qu'il ne s'agisse d'IPv6), un "pseudo-en-tête" est utilisé qui contient les champs nécessaires au routage via IP, mais il n'y a toujours pas de fonctionnalités de correction d'erreur ou de retransmission intégrées dans le protocole ; l'application utilisant UDP doit gérer les paquets perdus ou manquants (si elle s'en soucie).
En ce qui concerne l'utilisation, TCP est le principal protocole de transmission de données sur Internet et les réseaux Ethernet plus petits, car ses fonctionnalités de détection et de correction d'erreurs permettent d'envoyer et de reconfigurer de grands flux de données. UDP est principalement utilisé pour les petits messages uniques qui représentent l'ensemble de ce qui doit être dit à un moment donné. La résolution de noms de domaine via DNS, qui fait partie intégrante d'Internet, est souvent gérée avec UDP, par exemple. D'autres messages souvent traités avec UDP incluent les « pulsations », les messages d'état ou de télémétrie envoyés entre les ordinateurs pour se tenir mutuellement informés. La perte d'un seul message dans ces cas n'est pas un problème énorme, car la durée de vie utile des données est généralement courte.