Aujourd’hui, de nom­breuses con­nexions Internet tran­si­tent par des routeurs utilisant la tra­duc­tion d’adresses réseau (NAT). Si cela permet d’éco­no­mi­ser des adresses IPv4, cela complique en revanche l’éta­blis­se­ment de con­nexions directes entre terminaux. C’est pré­ci­sé­ment dans ce contexte qu’in­ter­vient le serveur STUN, en per­met­tant à la com­mu­ni­ca­tion en temps réel de fonc­tion­ner malgré ces con­traintes.

Qu’est-ce qu’un serveur STUN ?

Un serveur STUN est un service spé­cia­lisé au sein de l’in­fras­truc­ture Internet qui aide à résoudre des problèmes de connexion liés aux con­fi­gu­ra­tions réseau. STUN signifie Session Traversal Utilities for NAT. En français, on peut le traduire par « outils d’as­sis­tance pour traverser le NAT lors des sessions ». Ce nom décrit son rôle : STUN aide les ap­pli­ca­tions à franchir les obstacles réseau créés par les routeurs NAT afin de permettre l’éta­blis­se­ment de con­nexions entre deux terminaux.

STUN est normalisé dans la RFC 8489. Son objectif principal est de fournir aux clients des in­for­ma­tions sur leur vi­si­bi­lité réseau sur Internet. Il s’agit notamment de l’adresse IP publique ainsi que du port sous lequel un appareil est ac­ces­sible depuis l’extérieur. Ces in­for­ma­tions sont es­sen­tielles, car de nombreux terminaux ne sont pas di­rec­te­ment connectés à Internet, mais se trouvent derrière des routeurs utilisant la Network Address Trans­la­tion, ou NAT.

Le NAT est largement répandu, car il permet à plusieurs appareils de partager une seule adresse IP publique. Toutefois, il complique la com­mu­ni­ca­tion directe entre deux points de ter­mi­nai­son, puisque les adresses et ports internes ne sont pas visibles depuis l’extérieur. Un serveur STUN répond pré­ci­sé­ment à ce problème en servant de point de référence sur Internet public. Il n’établit pas lui-même de con­nexions et ne trans­porte pas de données utiles : il fournit uni­que­ment les in­for­ma­tions né­ces­saires sur les­quelles d’autres tech­no­lo­gies et pro­to­coles peuvent s’appuyer.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

Comment fonc­tionne un serveur STUN ?

Pour mieux com­prendre le fonc­tion­ne­ment d’un serveur STUN, on peut le comparer à une borne d’in­for­ma­tion publique : un client qui ne sait pas exac­te­ment sous quelle adresse il est ac­ces­sible depuis l’extérieur peut l’in­ter­ro­ger di­rec­te­ment, un peu comme quelqu’un qui cherche à connaître le numéro sous lequel il est ré­per­to­rié dans un annuaire. Cette analogie rend le processus technique beaucoup plus concret.

Étape 1 : envoi de la requête STUN

Con­crè­te­ment, le processus débute lorsque le client envoie une requête STUN au serveur. Cette requête quitte le réseau local et est transmise au réseau public via le routeur. Si le client se trouve derrière un routeur NAT, celui-ci modifie la connexion en rem­pla­çant l’adresse IP interne et privée par une adresse IP publique, tout en at­tri­buant un port externe. Pour le client, cette trans­for­ma­tion reste gé­né­ra­le­ment invisible, mais elle détermine la manière dont il apparaît sur Internet.

Étape 2 : réception et trai­te­ment de la requête

Le serveur STUN reçoit la requête sur l’Internet public et agit comme un point d’ob­ser­va­tion neutre. Il analyse l’adresse IP et le port à partir desquels la requête lui parvient, c’est-à-dire les in­for­ma­tions sous les­quelles le client est ac­ces­sible depuis l’extérieur, puis les renvoie au client. Il renvoie ensuite ces données au client dans sa réponse. Le client dispose ainsi d’une in­for­ma­tion fiable sur la manière dont il est perçu par les autres systèmes sur Internet.

Étape 3 : ini­tia­tion de la connexion

Grâce à ces in­for­ma­tions, le client peut ensuite trans­mettre ces données à des par­te­naires de com­mu­ni­ca­tion po­ten­tiels. L’objectif est d’établir une connexion directe entre deux terminaux, sans que l’ensemble du trafic doive passer par un serveur central. La réussite de cette approche dépend toutefois du type de NAT utilisé et de ses règles. Dans des en­vi­ron­ne­ments simples, cette méthode fonc­tionne de manière fiable, tandis que des con­fi­gu­ra­tions NAT plus res­tric­tives peuvent limiter la connexion directe. Un serveur STUN n’impose donc aucune connexion à lui seul : il fournit uni­que­ment les in­for­ma­tions né­ces­saires pour permettre à d’autres com­po­sants d’établir la com­mu­ni­ca­tion.

Note

Lorsque les pa­ra­mètres NAT sont plus res­tric­tifs, comme c’est le cas dans les réseaux d’en­tre­prise fortement sécurisés, STUN est rarement utilisé seul. Un serveur STUN est gé­né­ra­le­ment combiné avec des méthodes com­plé­men­taires TURN, qui proposent des solutions al­ter­na­tives pour établir la connexion. Par exemple, dans Nextcloud Talk, un serveur TURN est souvent utilisé en com­plé­ment de STUN afin de garantir des con­nexions audio et vidéo stables, même lorsqu’une connexion directe via STUN n’est pas possible en raison des con­fi­gu­ra­tions NAT ou des pare-feux.

À quoi sert un serveur STUN ?

Les serveurs STUN sont prin­ci­pa­le­ment utilisés dans les ap­pli­ca­tions en temps réel, où une com­mu­ni­ca­tion directe est es­sen­tielle. Un exemple typique est la té­lé­pho­nie sur Internet via VoIP, où un serveur STUN facilite l’éta­blis­se­ment fiable des com­mu­ni­ca­tions vocales malgré les routeurs NAT, en four­nis­sant aux clients les in­for­ma­tions né­ces­saires pour une connexion Peer-to-Peer directe. Les chats vidéo et les vi­sio­con­fé­rences s’appuient également souvent sur STUN pour assurer la trans­mis­sion fluide de l’image et du son entre les par­ti­ci­pants.

Par ailleurs, de nombreux jeux en ligne utilisent STUN pour établir des con­nexions entre les joueuses et les joueurs. Cela réduit sen­si­ble­ment la latence, puisque le trafic de données n’est pas sys­té­ma­ti­que­ment acheminé via des serveurs relais centraux. En parallèle, STUN permet d’éco­no­mi­ser de la bande passante et de limiter les coûts liés aux serveurs, car il ne transmet pas lui-même de données média ou ap­pli­ca­tives, mais sert uni­que­ment de source d’in­for­ma­tion pour l’éta­blis­se­ment de la connexion.

Dans l’univers des ap­pli­ca­tions WebRTC en par­ti­cu­lier, STUN est un composant standard. Sans serveur STUN, de nom­breuses con­nexions devraient être en­tiè­re­ment gérées via des serveurs in­ter­mé­diaires, ce qui nuirait aux per­for­mances, à la capacité de montée en charge et à l’ex­pé­rience uti­li­sa­teur.

Quel est le matériel né­ces­saire à l’ins­tal­la­tion d’un serveur STUN ?

Un serveur STUN nécessite peu de res­sources ma­té­rielles. Comme il se limite à recevoir et traiter de petites requêtes, il nécessite très peu de puissance de calcul. Les besoins en mémoire vive restent également minimes. En revanche, une connexion réseau stable, fiable et ac­ces­sible pu­bli­que­ment est es­sen­tielle.

Pour cette raison, les serveurs virtuels privés (VPS) cons­ti­tuent un choix populaire. Ils disposent d’adresses IP publiques fixes et restent ac­ces­sibles en per­ma­nence. De plus, les VPS peuvent être ajustés fa­ci­le­ment si le nombre d’uti­li­sa­trices, d’uti­li­sa­teurs ou de requêtes augmente. Les coûts restent modérés, car aucun matériel dédié n’est né­ces­saire. Grâce à la vir­tua­li­sa­tion, les VPS sont ra­pi­de­ment déployés, simples à ad­mi­nis­trer et adaptés à l’ex­ploi­ta­tion d’un serveur STUN.

Aller au menu principal