Simple Traversal of UDP through NATs

STUN (« Simple Traversal of UDP through NATs » ou « traversée simple de UDP à travers les NAT ») est un protocole client-serveur de l'IETF (RFC 8489) permettant à un client UDP situé derrière un routeur NAT (ou de multiples NAT) de découvrir son adresse IP publique ainsi que le type de routeur NAT derrière lequel il est. Ces informations sont utilisées pour échanger correctement des données UDP avec l'extérieur d'un réseau NAT.

Utilisation

La première RFC de STUN (RFC 3489) date de 2003, les sociétés CISCO et Microsoft y ont participé. Celle-ci a été rendu obsolète par la RFC 5389en 2008, elle même devenue obsolète par la RFC 8489 en 2020.

STUN ne résout pas tous les problèmes liés aux routeurs NAT. Il est cependant très intéressant dans le domaine de la voix sur IP et notamment en utilisation avec le protocole SIP.

En effet, SIP est un protocole de signalisation, qui permet d'établir, contrôler et terminer des sessions multimédia. SIP ne transporte pas les données échangées durant la session, comme la voix par exemple. Lors de l'établissement d'une session, les clients s'échangent des messages précisant l'adresse IP et le port à utiliser pour transmettre les données. Cependant, un client derrière un routeur NAT transmettra son adresse IP privée. Il ne pourra donc jamais recevoir les données.

L'utilisation d'un serveur STUN, situé du côté public, permet au client de découvrir son adresse IP publique et de transmettre ainsi des informations correctes.

L'inconvénient de STUN est qu'il ne fonctionne pas avec les NAT symétriques, mais il fonctionne avec les trois autres types de NAT (« Full Cone », « Restricted Cone » et « Port Restricted Cone »).

Principe de fonctionnement

Le client a le nom d'un serveur STUN de configuré, le client envoie une requête au serveur qui écoute par défaut sur le port 3478 pour TCP et UDP et le port 5349 pour TLS, le serveur STUN va renvoyer au client ce à quoi ressemble ses paquets vus depuis l'extérieur du réseau privé, notamment l'adresse utilisé par le routeur NAT .

Notes et références

Liens externes

Uses material from the Wikipedia article Simple Traversal of UDP through NATs, released under the CC BY-SA 4.0 license.