Skip to main content

Fonctionnement

Chaque protocole IP a un numéro lui étant associé, dans le cas de UDP, il s'agit du protocole IP #17.

UDP est un des protocoles IP les plus simples dans son fonctionnement. L'en-tête d'un paquet UDP contient généralement seulement le port de source (16 bits), de destination (16 bits), la longueur de la donnée livrée (16 bits) et une donnée permettant de valider la donnée livrée à l'intérieur du paquet (aussi 16 bits). Cette en-tête a donc une longueur de seulement 64 bits.

Puisque UDP ne garanti pas la livraison d'une donnée, il n'est pas non plus garanti que les données seront livrées dans le bon ordre. Si une donnée doit être segmentée et réassemblée du côté du client, c'est au niveau de la couche d'application que les données devront être étiquettées pour être interprétées dans l'ordre par le client. La somme de contrôle permettant de confirmer la validité de la donnée livrée est le seul mécanisme pour s'assurer que la donnée acheminée ne soit pas erronnée.

Dans l'exemple d'en-tête suivante, une requête UDP est effectuée vers le port UDP 443 (QUIC) d'un serveur web et le message aura une longueur de 31 octets.

User Datagram Protocol, Src Port: 63857, Dst Port: 443
    Source Port: 63857
    Destination Port: 443
    Length: 39
    Checksum: 0x875d [unverified]
    UDP payload (31 bytes)

Le serveur nous répond ensuite au port source de notre requête initiale avec un message composé dans ce cas-ci de 24 octets.

User Datagram Protocol, Src Port: 443, Dst Port: 63857
    Source Port: 443
    Destination Port: 63857
    Length: 32
    Checksum: 0x46a0 [unverified]
    UDP payload (24 bytes)