Structure d'un datagramme UDP
[modifier | modifier le code]
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 :
Somme de Données
Port Source Port Destination Longueur
contrôle (longueur
(16 bits) (16 bits) (16 bits)
(16 bits) 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
-
Adresse Source
96
-
Adresse Destination
64
-
Zéros Protocole Taille UDP
32
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).