UDP

Communication simple entre deux sockets. Le header du packet est de taille 8B et contient :

Il n'y a aucune garantie de réception du message, mais si le message arrive à destination le checksum garantit son exactitude. Si le checksum de l'entête ne correspond pas au checksum du message reçu, le paquet est éliminé (discard).

Créez dans un terminal une socket qui écoute en udp avec la commande nc : nc -u -p 5050 -l -s localhost. Dans un autre terminal, entamez une connexion avec nc -u localhost 5050.

Les stdin/out sont liés. Si vous tapez dans un terminal, cela s'écrira dans l'autre.

Sous macos, la commande pour le serveur change : nc -l -u localhost 5050

Dans un Wireshark, récupérez la connexion et vérifiez que les headers udp correspondent.

Il vous faudra écouter le réseau loopback, puisque les données sont envoyées et reçu sur votre ordinateur sans passer par internet

Comme il n'y a a pas de vérification qu'un paquet est bien arrivé, ni de garanties sur l'ordre d'arrivée des paquets, on utilise souvent UDP pour de petits envois (pouvant passer dans un seul paquet), récurrents, de données que l'on peut se permettre de perdre de temps en temps. Par exemple :

Le principal intérêt de l'UDP est sa rapidité.