logo

Protocole UDP

Dans les réseaux informatiques, UDP signifie User Datagram Protocol. David P. Reed a développé le protocole UDP en 1980. Il est défini dans la RFC 768 et fait partie du protocole TCP/IP, c'est donc un protocole standard sur Internet. Le protocole UDP permet aux applications informatiques d'envoyer des messages sous forme de datagrammes d'une machine à une autre via le réseau IP (Internet Protocol). L'UDP est un protocole de communication alternatif au protocole TCP (transmission control protocol). Comme TCP, UDP fournit un ensemble de règles qui régissent la manière dont les données doivent être échangées sur Internet. L'UDP fonctionne en encapsulant les données dans le paquet et en fournissant ses propres informations d'en-tête au paquet. Ensuite, ce paquet UDP est encapsulé dans le paquet IP et envoyé vers sa destination. Les deux TCP et UDP les protocoles envoient les données sur le réseau de protocole Internet, c'est pourquoi on l'appelle également TCP/IP et UDP/IP. Il existe de nombreuses différences entre ces deux protocoles. UDP permet au processus de traiter la communication, tandis que TCP fournit une communication d'hôte à hôte. Étant donné que UDP envoie les messages sous forme de datagrammes, il est considéré comme le mode de communication le plus efficace. TCP envoie les paquets individuels, c'est donc un support de transport fiable. Une autre différence est que le TCP est un protocole orienté connexion alors que l'UDP est un protocole sans connexion car il ne nécessite aucun circuit virtuel pour transférer les données.

UDP fournit également un numéro de port différent pour distinguer les différentes demandes des utilisateurs et fournit également la capacité de somme de contrôle pour vérifier si les données complètes sont arrivées ou non ; la couche IP ne fournit pas ces deux services.

Caractéristiques du protocole UDP

Voici les fonctionnalités du protocole UDP :

    Protocole de couche transport

UDP est le protocole de communication de couche transport le plus simple. Il contient un minimum de mécanismes de communication. Il est considéré comme un protocole peu fiable et repose sur des services de livraison au mieux. UDP ne fournit aucun mécanisme d'accusé de réception, ce qui signifie que le destinataire n'envoie pas d'accusé de réception pour le paquet reçu et que l'expéditeur n'attend pas non plus l'accusé de réception pour le paquet qu'il a envoyé.

    Sans connexion

L'UDP est un protocole sans connexion car il ne crée pas de chemin virtuel pour transférer les données. Il n'utilise pas le chemin virtuel, donc les paquets sont envoyés sur des chemins différents entre l'expéditeur et le destinataire, ce qui entraîne la perte des paquets ou leur réception dans le désordre.

La livraison commandée des données n'est pas garantie.

Dans le cas d'UDP, les datagrammes envoyés dans un certain ordre seront reçus dans le même ordre, ce qui n'est pas garanti car les datagrammes ne sont pas numérotés.

    Ports

Le protocole UDP utilise différents numéros de port afin que les données puissent être envoyées vers la bonne destination. Les numéros de port sont définis entre 0 et 1023.

    Transmission plus rapide

UDP permet une transmission plus rapide car il s'agit d'un protocole sans connexion, c'est-à-dire qu'aucun chemin virtuel n'est requis pour transférer les données. Mais il existe un risque que chaque paquet soit perdu, ce qui affecte la qualité de la transmission. D'un autre côté, si le paquet est perdu lors de la connexion TCP, ce paquet sera renvoyé, garantissant ainsi la livraison des paquets de données.

    Mécanisme d'accusé de réception

L'UDP dispose d'un mécanisme d'accusé de réception, c'est-à-dire qu'il n'y a pas d'établissement de liaison entre l'expéditeur UDP et le récepteur UDP. Si le message est envoyé en TCP, alors le destinataire reconnaît que je suis prêt, puis l'expéditeur envoie les données. Dans le cas de TCP, l’établissement de liaison se produit entre l’expéditeur et le destinataire, alors qu’en UDP, il n’y a pas d’établissement de liaison entre l’expéditeur et le destinataire.

    Les segments sont gérés indépendamment.

Chaque segment UDP est traité individuellement, car chaque segment emprunte un chemin différent pour atteindre la destination. Les segments UDP peuvent être perdus ou livrés dans le désordre pour atteindre la destination car il n'y a pas d'établissement de connexion entre l'expéditeur et le destinataire.

    Apatride

Il s'agit d'un protocole sans état qui signifie que l'expéditeur ne reçoit pas d'accusé de réception pour le paquet envoyé.

Pourquoi avons-nous besoin du protocole UDP ?

Comme nous le savons, l'UDP est un protocole peu fiable, mais nous avons quand même besoin d'un protocole UDP dans certains cas. L'UDP est déployé là où les paquets nécessitent une grande quantité de bande passante ainsi que les données réelles. Par exemple, dans le streaming vidéo, la reconnaissance de milliers de paquets est gênante et gaspille beaucoup de bande passante. Dans le cas du streaming vidéo, la perte de certains paquets ne pourrait pas créer de problème, et elle peut également être ignorée.

Format d'en-tête UDP

Protocole UDP

En UDP, la taille de l'en-tête est de 8 octets et la taille du paquet peut atteindre 65 535 octets. Mais cette taille de paquet n'est pas possible car les données doivent être encapsulées dans le datagramme IP, et dans un paquet IP, la taille de l'en-tête peut être de 20 octets ; par conséquent, le maximum d'UDP serait de 65 535 moins 20. La taille des données que le paquet UDP peut transporter serait de 65 535 moins 28, soit 8 octets pour l'en-tête du paquet UDP et 20 octets pour l'en-tête IP.

L'en-tête UDP contient quatre champs :

    Numéro de port source :Il s'agit d'informations de 16 bits qui identifient le port qui enverra le paquet.Numéro de port de destination :Il identifie quel port va accepter les informations. Il s'agit d'informations de 16 bits utilisées pour identifier le service au niveau de l'application sur la machine de destination.Longueur:Il s'agit d'un champ de 16 bits qui spécifie toute la longueur du paquet UDP qui inclut également l'en-tête. La valeur minimale serait de 8 octets car la taille de l'en-tête est de 8 octets.Somme de contrôle :Il s'agit d'un champ de 16 bits et c'est un champ facultatif. Ce champ de somme de contrôle vérifie si les informations sont exactes ou non, car il est possible que les informations soient corrompues lors de la transmission. Il s'agit d'un champ facultatif, ce qui signifie que cela dépend de l'application, si elle souhaite ou non écrire la somme de contrôle. S'il ne veut pas écrire la somme de contrôle, alors tous les 16 bits sont nuls ; sinon, il écrit la somme de contrôle. En UDP, le champ de somme de contrôle est appliqué à l'ensemble du paquet, c'est-à-dire à l'en-tête ainsi qu'à la partie données, tandis qu'en IP, le champ de somme de contrôle est appliqué uniquement au champ d'en-tête.

Concept de file d'attente dans le protocole UDP

Protocole UDP

Dans le protocole UDP, les nombres sont utilisés pour distinguer les différents processus sur un serveur et un client. Nous savons qu'UDP fournit un processus pour traiter la communication. Le client génère les processus qui ont besoin de services tandis que le serveur génère les processus qui fournissent des services. Les files d'attente sont disponibles pour les deux processus, c'est-à-dire deux files d'attente pour chaque processus. La première file d'attente est la file d'attente entrante qui reçoit les messages et la seconde est la file d'attente sortante qui envoie les messages. La file d'attente fonctionne lorsque le processus est en cours d'exécution. Si le processus est terminé, la file d'attente sera également détruite.

UDP gère l'envoi et la réception des paquets UDP à l'aide des composants suivants :

    File d'attente d'entrée :Les paquets UDP utilisent un ensemble de files d'attente pour chaque processus.Module d'entrée :Ce module prend le datagramme utilisateur de l'IP, puis trouve les informations de la table des blocs de contrôle du même port. S'il trouve l'entrée dans la table des blocs de contrôle avec le même port que le datagramme utilisateur, il met les données en file d'attente.Module de bloc de contrôle :Il gère la table des blocs de contrôle.Tableau des blocs de contrôle :La table des blocs de contrôle contient l'entrée des ports ouverts.Module de sortie :Le module de sortie crée et envoie le datagramme utilisateur.

Plusieurs processus souhaitent utiliser les services d'UDP. L'UDP multiplexe et démultiplexe les processus afin que les multiples processus puissent s'exécuter sur un seul hôte.

Limites

  • Il fournit un service de fourniture de connexion peu fiable. Il ne fournit aucun service IP, sauf qu'il fournit une communication de processus à processus.
  • Le message UDP peut être perdu, retardé, dupliqué ou en panne.
  • Il ne fournit pas un service de livraison de transport fiable. Il ne fournit aucun mécanisme d’accusé de réception ou de contrôle de flux. Cependant, il permet, dans une certaine mesure, de contrôler les erreurs.

Avantages

  • Cela génère un nombre minimal de frais généraux.