2.2. Le protocole UDP
Ce chapitre est basé sur le livre de référence Computer Networking (section UDP)
Le protocole UDP (User Datagram Protocol) est un protocole transport, défini dans le RFC768. Il est :
- sans connexion
- en mode datagramme
- non fiable (mais avec détection d’erreurs).
L’en-tête UDP
L’en-tête du protocole est relativement simple, et reflète le type de service fourni.
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
|
| data octets ...
+---------------- ...
On y trouve :
- Le port source (16 bits)
- Le port destination (16 bits)
- Un champ indiquant la longueur du segment, de 16 bits également. Notons que le contenu transférable dans un segment UDP est limité à 65467 octets en IPv6 (en-tête de 60 octets) et 65507 en IPv4 (en-tête IP de 20 octets), car la couche transport ne peut transporter de paquets plus grands que 64ko et que UDP ne permet pas la fragmentation des données.
- Un checksum de 16 bits permettant de s’assurer que les données n’ont pas ét corrompues pendant la transmission.
Usages d’UDP
Le protocole UDP est généralement utilisé par des applications pour lesquelle le délai de transmission doit être minimisé, et/ou qui ne souffrent pas de pertes, soit parce que ces dernières n’ont pas d’impact important sur la communication (ex : téléphonie), soit parce que la couche applicative possède elle-même un mécanisme de récupération des pertes de données.
Quelques exemples de protocoles utilisant UDP :
- Le Domain Name System (DNS), lorsque les messages échangés sont courts (il peut aussi utiliser TCP),
- Le Network File System (NFS), qui a aussi des requêtes/réponses courtes,
- Le DHCP, qui fonctionne sur des réseaux locaux normalement fiables, avec des échanges requêtes/réponses courts,
- Les applications de jeu, qui échangent fréquemment beaucoup de messages courts concernant la localisation des joueurs et leurs actions, et pour lesquelles un faible délai est important,
- La voix ou la vidéo sur IP en mode interactif (téléphonie ou visioconférence) : un délai trop long a plus d’impact sur la qualité perçue par les interlocuteurs que les pertes.