21
UDP – User Datagram Protocol

UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

Embed Size (px)

Citation preview

Page 1: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP – User Datagram Protocol

Page 2: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

La couche Transport du modèle TCP/IP :

La couche de protocoles située au dessus de la couche Internet est la couche de Transport Processus hôte à processus hôte

Les deux protocoles les plus importants en sont le Transmission Control Protocol (TCP) et le User Datagram Protocol (UDP)

En toute logique, le protocole UDP aurait dû s'appeler l’Application Datagram Protocol

Page 3: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

TCP fournit un service de transmission fiable de données avec détection et correction d'erreurs de bout en bout

UDP fournit un service peu coûteux en traitement, sans connexion, de transmissions de datagrammes

Les deux protocoles délivrent des données entre les couches hautes applicatives et la couche Internet

Les programmeurs d'applications peuvent choisir le service le plus approprié à leurs applications spécifiques

Page 4: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Les numéros de protocole de transport sont :

Protocole Numéro TCP 0x06 UDP 0x11

Page 5: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

UDP User Datagram Protocol :

Le User Datagram Protocol donne aux applications l’utilisant un accès direct à un service de transmission de datagrammes, équivalent à celui que fournit IP

Les applications peuvent ainsi échanger des messages sur le réseau avec un minimum de surcharge due au protocole

UDP offre la notion de port que ne permet pas IP

UDP permet la détection des erreurs que ne permettait pas IP au niveau de ses données

Page 6: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

UDP est un protocole datagramme non fiable, sans connexion

A l'intérieur d'un réseau Internet, UDP délivrera les données qu’il transporte à la couche UDP destination

UDP emploie des numéros de Port Source et de Port Destination sur 16 bits dans le premier mot long de son en-tête

Le message peut ainsi être délivré au bon processus applicatif

Page 7: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Les protocoles de transport, grâce aux numéros de port, utilisent un système de multiplexage permettant de transmettre simultanément plusieurs flux de données par une même liaison, vers plusieurs applications

Le numéro de port source est choisi dynamiquement, aléatoirement mais de façon unique par l'émetteur

Le numéro de port destination correspond à un service particulier offert sur l'ordinateur cible

Page 8: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Les numéros de ports destination correspondant à l'appel de services classiques sont appelés les numéros de ports bien connus (well known ports)

Ils sont attribués par l'IANA (Internet Assigned Number Authority)

L’IANA a été rebaptisée ICANN en 1992

Les numéros de ports bien connus sont la plupart du temps inférieurs à 1024 [rfc 1700]

Page 9: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Les numéros de port bien connus sont décrits dans les fichiers :

Fichier OS

/etc/services Unix

\windows\services Win9x

\winnt\system32\drivers\etc Windows NT

Page 10: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Page 11: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

L'emplacement et la numérotation des numéros de port UDP sont les mêmes que pour TCP

Le protocole de routage RIP utilise UDP pour échanger ses messages

L'ensemble @IP source et destination, numéros de port source et destination et protocole de transport permettent d'établir un lien unique dans le monde permettant des communications duplex

Page 12: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Le protocole de transport UDP ne fournit pas de liaison fiable

Un datagramme UDP n'est jamais sûr d'arriver

Si plusieurs datagrammes UDP sont envoyés, il n'existe pas de moyen de les réordonner à l'arrivée

UDP est un équivalent de IP mais permettant d'interfacer les applications

Page 13: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Les programmeurs d'applications choisissent UDP comme service de transport de données lorsque la quantité de données transmises est faible ou très importante

La surcharge due à la création des connexions et à une transmission fiable peut être plus importante que le renvoi de tout l'ensemble des données

TCP n'est pas adapter à la communication streaming ou broadcast (cas de la vidéo ou du son)

Dans ce cas UDP est le choix le plus efficace pour un protocole de couche Transport simplifié (cas du RealAudio)

Page 14: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

UDP sert également aux applications basées sur un modèle de question-réponse

La réponse peut être utilisée comme un acquittement positif de la question

Si une réponse n'est pas reçue dans un certain laps de temps, l'application se contente de renvoyer une autre question

Page 15: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

D'autres applications fournissent leurs propres techniques pour une transmission fiable des données et ne requièrent donc pas ce service des protocoles de la couche Transport

C'est le cas du protocole NFS (Network File System) qui est basé sur des RPC (Remote Procedure Call) elles-mêmes basées sur UDP

NFS est cependant une application d’échange de données fiable

Il serait inefficace d'imposer plusieurs couches d'acquittement

Page 16: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Page 17: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Les deux premiers champs représentent les ports source et destination sur 16 bits

Le champ longueur indique la taille en octets du datagramme UDP (en-tête + données)

Ce champ contient toujours une valeur supérieure à 8

Le datagramme UDP possède une taille maximum de 65535 et donc 65507 octets de données utiles

Page 18: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Le champ somme de contrôle est optionnel

Dans le cas où il contient la valeur 0, l'algorithme de vérification de la somme de contrôle n'est pas utilisé

Quand la somme de contrôle vaut 0, la valeur 0xFFFF est alors placée dans le champ de contrôle afin de le différencier de l'absence de contrôle

Dans le cas où la somme de contrôle recalculée à l'arrivée diffère de la somme de contrôle du datagramme, le paquet est perdu et ni le destinataire ni l'émetteur en sont informés

Page 19: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

La somme de contrôle est calculée sur le pseudo en-tête contenant les adresses IP de l'expéditeur et du destinataire, la taille du paquet UDP et le code de protocole pour UDP (0x11)

Ceci permet de vérifier que les adresses IP n'ont pas été faussées en cours de route

Page 20: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Page 21: UDP – User Datagram Protocol. UDP La couche Transport du modèle TCP/IP : La couche de protocoles située au dessus de la couche Internet est la couche

UDP

Sur les OS Windows, le logiciel de pilotage UDP se trouve dans la bibliothèque Winsock.dll ou wsock32.dll

Ces fichiers contiennent la pile de protocoles TCP/IP sous Windows

rfc 768

User Datagram Protocol J.Postel 1980

Document de référence UDP présentant certaines lacunes

rfc 1122

Requirements for Internet Hosts Communication Layer

R.Braden 1989

Compléments et éclaircissements sur de nombreux points de détail dont UDP