Discuter:User Datagram Protocol

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

[modifier] Par hasard...

Par hasard, je lis cette déclaration : "UDP, acronyme de User Datagram Protocol, est un protocole de remise de paquets simple, non-fiable, sans connexion, appartenant à la couche 4 du modèle OSI, détaillé dans la RFC 768".

Je ne m'impliquerais que sur cette ligne, sachant que la nuit n'y suffirait pas si je continuais le texte.

(1) UDP, acronyme de User Datagram Protocol : UDP n'est pas un acronyme mais une abréviation !

(2) Protocole de remise de paquets : comme l'abréviation l'indique, l'unité de protocole (PDU) de UDP s'appelle un datagramme. Ainsi, pour ne pas confondre avec datagramme IP, on fait suivre ce terme de datagramme par UDP, c'est à dire "le datagramme UDP".

Il existe une norme de fait, pas universelle mais très répandue, qui veut que les unités de la couche transport s'appellent des paquets, et celles de la couche réseau, des datagrammes. -- Eusebius

(3) D'ailleurs pourquoi indiquer "protocole de remise de datagrammes" ? Le but d'un protocole télécom est de transmettre des données, on n'a donc pas avancé d'une semelle en écrivant ceci dans une définition.

   *Il n'est indiqué nulle part qu'il s'agit d'un protocole télécom avant cela, donc l'explication me parait justifiée

(4) Non-fiable ? Qui de nos jours s'amuserait à utiliser dans l'industrie un protocole non fiable ? Le datagramme comporte une somme de contrôle qui permet de l'évincer si le résultat n'est pas correct. A charge des protocoles de niveau supérieur de réclamer ou non l'information manquante. En outre, si UDP est utilisé sur un réseau LAN (dont le taux d'erreur est meilleur que 10-9, et même 10-10), il est nullement besoin de sécuriser davantage l'intégrité des données.

   *Non fiable car justement on est pas certain ni de recevoir un paquet donné, ni de l'ordre dans lequel on va recevoir nos paquets. Je suis assez d'accord avec l'utilisation de "non-fiable", ici.
Même remarque, le terme "non-fiable" est justifié en ce qui concerne UDP seul. -- Eusebius


(5) Sans-connexion : je dirais plutôt de mode non-connecté, en termes télécom "vrai", car il existe un type de connexion UDP (le socket).

   * Tout a fait d'accord

(6) Appartenant à la couche 4 du modèle OSI : toute une éducation à refaire ! UDP est un protocole de niveau transport du modèle TCP/IP. Juste un point sur ce sujet : le niveau transport du modèle TCP/IP n'est pas le niveau transport du modèle OSI. Pour vous en convaincre, vous vérifierez ceci : le contrôle d'erreur de UDP (comme d'ailleurs celui de TCP) prend en compte des éléments de niveau réseau, comme les adresses IP par exemple. Cette violation de niveau serait hors nature dans le monde OSI, où la notion de connexion "socket" n'existe pas.

Cordialement, Michel Hostettler mhostettler@wanadooNOSPAM.fr


Michel Hostettler écrit :

(4) Non-fiable ? Qui de nos jours s'amuserait à utiliser dans l'industrie un protocole non fiable ?

Fiable/non-fiable n'a de sens que par rapport à un critère donné. Tout seul ça ne veut rien dire. UDP est (relativement) fiable du point de vue de la corruption accidentelle des paquets (mais pas malicieuse).

UDP ne garanti pas qu'un paquet envoyé sera reçu, ni TCP, ni aucun protocole; c'est le niveau inférieur qui dit si il est garanti qu'un paquet envoyé sera reçu : IP s'autorise à perdre des paquets, c'est même une fonctionnalité voulue, et de toutes façons je ne vois pas comment le niveau physique pourrait garantir cela (que tout paquet envoyé sera reçu).

Bien sûr personne n'imagine cela (est-ce que le réseau des téléphones portables garantit que tous les téléphones sont joignables à tout moment ?); la fiabilité effectivement voulue (et fournie par TCP) est la fourniture d'accusé-réception, autrement-dit la garanti après-coup de bonne délivrance (la bonne délivrance est d'ailleurs définie par la remise d'un accusé-réception).

Qui de nos jours s'amuserait à utiliser dans l'industrie un protocole non fiable ?

N'importe-qui qui gère lui même la fiabilité à un autre niveau. C'est le principe même des systèmes RAID de ne pas exiger la fiabilité des sous-systèmes utilisés. Google utilise des PC non fiables, etc.

Tout véritable processus industriel (physique) doit bien gérer les pannes d'une façon ou d'une autre; le système physique absolument fiable ça n'existe pas, seulement l'idéalisation théorique (qui est une bonne approximation en informatique — si on évite les rayons cosmiques).

car il existe un type de connexion UDP (le socket).

Une socket n'est absolument pas une connexion. C'est une interface de programmation introduite par BSD qui permet d'utiliser le réseau au niveau utilisateur.

le monde OSI, où la notion de connexion "socket" n'existe pas.

La définition d'une socket fait partie des normes POSIX (interfaces de programmation), pas des RFC (interface entre ordinateurs).

--Wcorrector (d) 28 novembre 2007 à 22:31 (CET)

[modifier] Nom de l'article

J'ai été très surpris de voir que le titre avait été modifié en "Protocole de Datagramme Utilisateur". Je sais bien que des redirections ont été rajoutées, mais tout de même, c'est un terme non standard, que je n'ai jamais vu utilisé. Est-ce que ça va vraiment aider les gens qui viennent chercher des infos de base sur UDP ? Y a-t-il eu une discussion à ce sujet ? Eusebius

S'il n'y a pas plus d'avis que ça, je renomme en utilisant le nom le plus couramment (le seul ?) utilisé. - Eusebius [causons] 6 septembre 2007 à 08:53 (CEST)