Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

User Datagram Protocol

Un article de Wikipédia, l'encyclopédie libre.

Page d’aide sur l’homonymie

Pour les articles homonymes, voirUDP.

Message UDP observé avec Wireshark.

LeUser Datagram Protocol (UDP, en françaisprotocole de datagramme utilisateur) est un des principauxprotocoles de télécommunication utilisés parInternet. Il fait partie de la couchetransport dumodèle OSI, quatrième couche de ce modèle, commeTCP. Il a été défini en 1980 parDavid P. Reed (en) et est détaillé dans laRFC 768[1].

Le rôle de ce protocole est de permettre la transmission de données (sous forme dedatagrammes) de manière très simple entre deux entités, chacune étant définie par uneadresse IP et un numéro de port. Aucune communication préalable n'est requise pour établir la connexion, au contraire deTCP (qui utilise le procédé dehandshaking). UDP utilise unmode de transmission sans connexion.

L'intégrité des données est assurée par unesomme de contrôle sur l'en-tête. L'utilisation de cette somme est cependant facultative enIPv4 mais obligatoire avecIPv6. Si unhôte n'a pas calculé la somme de contrôle d'un datagramme émis, la valeur de celle-ci est fixée à zéro. La somme de contrôle inclut également les adresses IP de la source et de la destination.

À cause de l'absence du mécanisme d'établissement de liaison (handshaking), ce protocole expose le programme qui l'utilise aux problèmes éventuels de fiabilité du réseau ; ainsi, il n'existe pas de garantie de protection quant à la livraison, l'ordre d'arrivée, ou la duplication éventuelle des datagrammes. Si des fonctionnalités de correction d'erreur sont requises, alors une application peut se tourner vers les protocolesTCP ouSCTP qui sont conçus à cet effet. UDP est donc adapté à un usage pour lequel la détection et la correction d'erreurs ne sont pas nécessaires, ou sont effectuées directement par l'application.

La nature du protocole UDP le rend utile pour transmettre rapidement de petites quantités de données, depuis un serveur vers de nombreux clients ou bien dans des cas où la perte éventuelle d'un datagramme est préférée à l'attente de sa retransmission. LeDNS, lavoix sur IP ou lesjeux en ligne sont des utilisations typiques de ce protocole.

Propriétés

[modifier |modifier le code]

UDP est un protocole de lacouche de transport documenté dans laRFC 768. Il ne fournit pas de garantie au protocole dela couche supérieure quant à la livraison du message. De plus, la couche UDP ne retient pas d'information quant à l'état des messages UDP une fois envoyés. Pour ces raisons, on désigne UDP comme un protocole de transmissionnon fiable[2].

Une liste de propriétés rendent UDP particulièrement adapté à certaines applications.

Structure d'un datagramme UDP

[modifier |modifier le code]

Le paquet UDP est encapsulé dans un paquetIP. Il comporte un en-tête suivi des données proprement dites à transporter.

En-tête IPEn-tête UDPDonnées

L'en-tête d'un datagramme UDP est plus simple que celui deTCP :

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
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 aumodè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 - 78 - 1516 - 2324 - 31
-96Adresse Source
-64Adresse Destination
-32ZérosProtocoleTaille UDP
0Port SourcePort Destination
32LongueurSomme de contrôle
64 
Données
 

Le numéro de protocole assigné à UDP est le 17 (décimal).

Utilisation

[modifier |modifier le code]

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, ce sont surtout les cas où les requêtes vont dans les deux sens (de client à serveur et inversement) en direct. 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 lavoix 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.

Il est également utilisé pour émettre des données à plusieurs récepteurs simultanément (multicast,broadcast), la connexionTCP n'étant quepoint-à-point.

Exemples d'utilisation :

Voir aussi

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]

Notes et références

[modifier |modifier le code]
  1. (en)Request for commentsno 768
  2. « UDP Protocol Overview », Ipv6.com(consulté le)
v ·m
7.Application
6.Présentation
5.Session
4.Transport
3.Réseau
2.Liaison
1.Physique
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=User_Datagram_Protocol&oldid=231351365 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp