Qu'est-ce que UDP (User Datagram Protocol) ?
Protocole de la couche transport sans connexion. Son en-tête fait 8 octets et ne contient que des numéros de port, une longueur et une somme de contrôle. Il n'a ni établissement de connexion, ni accusé de réception ou retransmission, ni contrôle de l'ordre, si bien qu'il ajoute peu de délai. Il sert notamment aux requêtes DNS, aux appels vocaux et vidéo, aux jeux en ligne, à DHCP et à QUIC.
Nom japonais: UDP
« UDP (User Datagram Protocol) » apparaît dans 4 questions d'entraînement réparties sur 2 thèmes, dont Bases des réseaux informatiques, Bases des technologies web.
Domaine: Bases des réseaux informatiques
En-tête et datagrammes
L'en-tête UDP se compose de quatre champs de 16 bits, le numéro de port source, le numéro de port destination, la longueur et la somme de contrôle, soit 8 octets au total. Chaque bloc de données envoyé par l'application devient un datagramme, que le récepteur reçoit avec les mêmes limites, contrairement au flux d'octets de TCP. La somme de contrôle est facultative sur IPv4 mais obligatoire sur IPv6. Les grands datagrammes sont fragmentés au niveau IP et se perdent plus facilement : les applications les gardent donc généralement assez petits pour tenir dans la MTU.
Quand UDP est le bon choix
Dans les appels et la diffusion en direct, des données qui arrivent en retard sont inutiles, et attendre les retransmissions fait hacher le son et l'image. Pour les échanges composés d'une seule question et d'une seule réponse, comme les requêtes DNS, se passer de l'établissement de connexion réduit l'attente. UDP peut aussi servir à la diffusion générale (broadcast) et à la multidiffusion (multicast), de un vers plusieurs : c'est pourquoi DHCP, utilisé par des appareils qui n'ont pas encore d'adresse IP, fonctionne sur UDP. Les applications qui ont besoin de fiabilité construisent elles-mêmes la retransmission et le contrôle de l'ordre au-dessus d'UDP, comme le fait QUIC.
Questions fréquentes
Pourquoi utiliser UDP s'il n'est pas fiable ?
Il n'attend ni l'établissement de connexion ni les retransmissions, si bien qu'il ajoute peu de délai, et son en-tête est petit. Cela convient aux appels et aux jeux, où un faible délai importe plus que quelques données manquantes, et aux requêtes DNS, qui se terminent en un seul aller-retour. Quand la fiabilité est nécessaire, des protocoles comme QUIC mettent en œuvre la retransmission au-dessus d'UDP.
Les données UDP arrivent-elles dans l'ordre d'envoi ?
Ce n'est pas garanti. Les datagrammes peuvent arriver dans le désordre, par exemple parce qu'ils empruntent des chemins différents, et peuvent aussi être perdus ou dupliqués. Si l'ordre compte, l'application numérote ses données et les remet dans l'ordre.