- User Datagram Protocol
-
Pour les articles homonymes, voir UDP.
Pile de protocoles 7. Application 6. Présentation 5. Session 4. Transport 3. Réseau 2. Liaison 1. Physique Modèle Internet
Modèle OSILe 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 de la pile de protocole TCP/IP : dans l'adaptation approximative de cette dernière au modèle OSI, il appartiendrait à 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 en mode non-connecté : il n'existe pas de procédure de connexion préalable à l'envoi des données, et il n'y a pas de garantie de bonne livraison d'un datagramme à sa destination, l'ordre d'arrivée des datagrammes peut différer de l'ordre d'envoi. Il est également possible que des datagrammes soient dupliqués. Les fonctions assurant la retransmission et le réordonnancement doivent être assurées par les protocoles de la couche supérieure si elles sont souhaitées.
L'intégrité des données est assurée par une somme de contrôle, l'utilisation de celle-ci est cependant facultative en IPv4 mais obligatoire avec IPv6. Si un hôte n'a pas calculé la somme de contrôle d'un paquet émis, la valeur de celle-ci est fixée à zéro. La somme de contrôle inclut un pseudo en-tête qui inclut les adresses IP source et destination.
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
- il indique depuis quel port le paquet a été envoyé.
- Port de Destination
- il indique à quel port le paquet doit être envoyé.
- Longueur
- il 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 Taille Checksum 64
Data
Utilisation
Il est utilisé quand il est nécessaire soit de transmettre des données très rapidement, et où la perte d'une partie de ces données n'a pas grande importance, soit de transmettre des petites quantités de données, là où la connexion « 3-WAY » TCP serait inutilement coûteuse en ressources. Par exemple, dans le cas de la transmission de la voix sur IP, la perte occasionnelle d'un paquet est tolérable dans la mesure où il existe des mécanismes de substitution des données manquantes, par contre la rapidité de transmission est un critère primordial pour la qualité d'écoute.
Exemples d'utilisation :
- les protocoles DNS, TFTP,
- le streaming
- les jeux en réseau (exemple : jeux de tir subjectifs)
- le programme traceroute,
Liens externes
- (en) RFC 768 – User Datagram Protocol
- (en) IANA Port Assignments – liste des ports prédéfinis et de leurs utilisations, par l'IANA
Catégories :- TCP/IP
- Protocole réseau sur la couche transport
Wikimedia Foundation. 2010.