Simple Traversal of UDP through NATs — Wikipédia
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[1][2]) 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
[modifier | modifier le code]La première RFC de STUN (RFC 3489[3][4]) date de 2003, les sociétés CISCO et Microsoft y ont participé. Celle-ci a été rendu obsolète par la RFC 5389[5][6]en 2008, elle même devenue obsolète par la RFC 8489[1][2] 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
[modifier | modifier le code]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[7], 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
[modifier | modifier le code]- (en) Request for comments no 8489
- Marc Petit-Huguenin, Gonzalo Salgueiro, Jonathan Rosenberg et Dan Wing, « Session Traversal Utilities for NAT (STUN) », IETF, Internet Engineering Task Force, no RFC 8489, (lire en ligne, consulté le )
- ↑ (en) Request for comments no 3489
- ↑ Jonathan Rosenberg, Christian Huitema, Rohan Mahy et Joel Weinberger, « STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) », IETF, Internet Engineering Task Force, no RFC 3489, (lire en ligne, consulté le )
- ↑ (en) Request for comments no 5389
- ↑ Philip Matthews, Jonathan Rosenberg, Dan Wing et Rohan Mahy, « Session Traversal Utilities for NAT (STUN) », IETF, Internet Engineering Task Force, no RFC 5389, (lire en ligne, consulté le )
- ↑ Marc Petit-Huguenin, Gonzalo Salgueiro, Jonathan Rosenberg et Dan Wing, « Session Traversal Utilities for NAT (STUN) », IETF, Internet Engineering Task Force, no RFC 8489, (lire en ligne, consulté le )
Erreur de référence : La balise <ref>
nommée « RFC-8489 » définie dans <references>
n’est pas utilisée dans le texte précédent.
Liens externes
[modifier | modifier le code]- (en) RFC 3489 (obsolete)
- (en) RFC 5389
- (en) STUN Client and Server library