Vous êtes sur la page 1sur 2

PROTOCOLE UDP

Signifie: User Datagram Protocol

9-1 But
Offrir aux applications un service de "datagrammes" : envoi de données
sans connexion.

2 Le protocole Les datagrammes sont acheminés vers des ports UDP,


repérés par une adresse IP (32 bits) et un numéro de port local (16 bits).
Les applications prennent en charge les problèmes de correction d'erreurs
et de contrôle de congestion. Le protocole est plus léger que TCP (il n'y a
pas de connexion à gérer), et assure au programme un meilleur contrôle
sur ce qui se passe (indispensable pour des applications telles que SNMP -
Simple Network Management Protocol).

Port UDP source Port UDP destination

Long.message Checksum

Note
Le checksum est en fait calculé sur un message "étendu", auquel on a
ajouté une pseudo en-tête contenant en particulier les adresses IP source
et destination. Ceci est un exemple (puisque la couche UDP doit connaître
les adresses IP) de non respect du modèle "en couches".

3 Numéro de ports UDP

Numéro CODE Nom Description

0 - - Réserver

7 ECHO Echo Echo

9 DISCARD Discard Détruire

11 USERS Systat Utilisateur actifs

13 DAYTIME Daytime Horodateur

15 - Netstat Qui est actif, ou Netstat

17 QUOTE Qotd Fuseau horaire

19 CHARGEN Chargen Générateur de caractères

37 TIME Time Heure

42 NAMESERVER Nameserver Machine serveur de noms

43 NICKNAME Whois Qui est-ce ?


53 DOMAIN Nameserver Serveur de nom de domaines

67 BOOTPS Bootps Serveur de protocole de bootstrap

68 BOOTPC Bootpc Client de protocole de bootstrap

69 TFTP Tftp Trivial FTP - Transfert de fichier simple

111 NTP Ntp Network Time Protocole

123 - Snmp Moniteur d'administration de réseau SNMP

161 - Snmp-trap Trappes SNMP

512 - Biff Communication satellites UNIX

513 - Who Démon UNIX "who"

514 - Syslog Journalisation système

520 RIP Rip Routing Information Protocole ver 1 et 2

525 - Timed Démon d'horodate

4 Les datagrammes UDP avec JAVA

Pour utiliser le protocole de transport UDP, il est nécessaire en Java de


manipuler deux classes : datagramPacket et DatagramSocket 

La classe DatagramPacket
Cette classe permet de créer des objets qui contiendront les données
envoyées ou reçues ainsi que l'adresse de destination ou de provenance
du datagramme. Deux constructeurs sont disponibles, un pour les paquets
à recevoir, l'autre pour les paquets à envoyer.

La Classe DatagramSocket
Cette classe permet de créer des sockets UDP qui permettent d'envoyer et
de recevoir des datagrammes UDP. Avant toute communication en mode
UDP il est nécessaire de créer une socket aussi bien du côté client que du
côté serveur. Pour cela Java propose trois constructeurs