User Datagram Protocol

Page d'aide sur l'homonymie Pour les articles homonymes, voir UDP.

Le User Datagram Protocol (UDP, en français protocole de datagramme utilisateur) est un des principaux protocoles de télécommunication utilisés par Internet. Il fait partie de la couche transport du modèle OSI, il appartient à la couche 4, comme TCP. Il est détaillé dans la RFC 768.

Le rôle de ce protocole est de permettre la transmission de données de manière très simple entre deux entités, chacune étant définie par une adresse IP et un numéro de port. Contrairement au protocole TCP, il fonctionne sans négociation : il n'existe pas de procédure de connexion préalable à l'envoi des données (le handshaking). Donc UDP ne garantit pas la bonne livraison des datagrammes à destination, ni leur ordre d'arrivée. Il est également possible que des datagrammes soient reçus en plusieurs exemplaires.

L'intégrité des données est assurée par une somme de contrôle sur l'en-tête. L'utilisation de cette somme est cependant facultative en IPv4 mais obligatoire avec IPv6. Si un hôte n'a pas calculé la somme de contrôle d'un datagramme émis, la valeur de celle-ci est fixée à zéro. La somme de contrôle inclut les adresses IP source et destination.

La nature de UDP le rend utile pour transmettre rapidement de petites quantités de données, depuis un serveur vers de nombreux clients ou bien dans des cas où la perte d'un datagramme est moins gênante que l'attente de sa retransmission. Le DNS, la voix sur IP ou les jeux en ligne sont des utilisateurs typiques de ce protocole.

Structure d'un datagramme UDP

Le paquet UDP est encapsulé dans un paquet IP. Il comporte un en-tête suivi des données proprement dites à transporter.

En-tête IP En-tête UDP Données

L'en-tête d'un datagramme UDP est plus simple que celui de TCP :

Port Source (16 bits) Port Destination (16 bits)
Longueur (16 bits) Somme de contrôle (16 bits)
Données (longueur variable)

Il contient les quatre champs suivants :

Port Source 
indique depuis quel port le paquet a été envoyé.
Port de Destination 
indique à quel port le paquet doit être envoyé.
Longueur 
indique la longueur totale (exprimée en octets) du segment UDP (en-tête et données). La longueur minimale est donc de 8 octets (taille de l'en-tête).
Somme de contrôle 
celle-ci permet de s'assurer de l'intégrité du paquet reçu quand elle est différente de zéro. Elle est calculée sur l'ensemble de l'en-tête UDP et des données, mais aussi sur un pseudo en-tête (extrait de l'en-tête IP)
Note : la présence de ce pseudo en-tête, interaction entre les deux couches IP et UDP, est une des raisons qui font que le modèle TCP/IP ne s'applique pas parfaitement au modèle OSI.

La table suivante décrit les champs utilisés pour le calcul de la somme de contrôle UDP sur IPv4 (les indices négatifs correspondent au pseudo en-tête IP) :

+ Bits 0 - 7 8 - 15 16 - 23 24 - 31
-96 Adresse Source
-64 Adresse Destination
-32 Zéros Protocole Taille UDP
0 Port Source Port Destination
32 Longueur Somme de contrôle
64  
Données
 

Le numéro de protocole assigné à UDP est le 17 (décimal).

Other Languages
български: User Datagram Protocol
bosanski: UDP
dansk: UDP
Ελληνικά: UDP
Esperanto: UDP
suomi: UDP
galego: UDP
hrvatski: UDP
Հայերեն: UDP
Bahasa Indonesia: User Datagram Protocol
íslenska: UDP
қазақша: UDP
lietuvių: UDP
latviešu: UDP
македонски: UDP
norsk nynorsk: User Datagram Protocol
norsk: UDP
русский: UDP
srpskohrvatski / српскохрватски: UDP (protokol)
Simple English: User Datagram Protocol
slovenščina: UDP
српски / srpski: UDP (protokol)
Türkçe: UDP
українська: UDP
oʻzbekcha/ўзбекча: UDP
Tiếng Việt: UDP