Aller au contenu principal
Tous les termes

STUN face à TURN

STUN aide un appareil à découvrir son adresse publique pour permettre une connexion directe ; TURN relaie le trafic lorsqu'une connexion directe ne peut pas être établie.

STUN : découvrir son adresse publique

Session Traversal Utilities for NAT (STUN), défini dans la RFC 8489, est un protocole léger de requête-réponse. Un appareil envoie une requête Binding à un serveur STUN, et la réponse indique l'adresse et le port publics d'où provenait la requête, c'est-à-dire l'adresse « server-reflexive » de l'appareil. STUN aide deux appareils à tenter une connexion directe, mais ne transporte jamais la session elle-même : un serveur STUN consomme donc très peu de bande passante.

TURN : relayer quand le direct échoue

Traversal Using Relays around NAT (TURN), défini dans la RFC 8656 comme une extension de STUN, réserve une adresse sur un serveur relais. Les deux côtés envoient leur trafic au relais, qui le transfère. TURN fonctionne quand rien d'autre ne marche, mais chaque octet de la session traverse le relais, ce qui ajoute de la latence et coûte de la bande passante à l'exploitant.

ICE : choisir entre les deux

Interactive Connectivity Establishment (ICE), RFC 8445, assemble les deux. Chaque côté rassemble des candidats (adresses locales, adresses « server-reflexive » obtenues par STUN et adresses relayées obtenues par TURN), les échange, teste des paires et conserve la meilleure qui fonctionne, en privilégiant les chemins directs. C'est exactement ainsi que WebRTC utilise ICE, STUN et TURN.

L'approche de Vexaro Desk

Vexaro Desk n'utilise pas TURN. Lorsqu'un réseau empêche une connexion directe, la session passe par les propres relais de Vexaro, et le client ne se connecte qu'à un relais dont il peut vérifier l'authenticité.

Les sessions directes sont chiffrées de bout en bout. Lorsqu'un réseau impose une connexion relayée, le trafic reste chiffré en transit via des relais exploités par Vexaro.

STUN, TURN et ICE comparés

STUN, TURN et ICE comparés
STUNTURNICE
Norme1,2,3RFC 8489RFC 8656RFC 8445
Rôle1,2,3Découvrir l'adresse et le port publicsRelayer le trafic par un serveurRassembler, tester et choisir les chemins candidats
Transporte le trafic de session1,2,3NonOuiNon, il choisit le chemin
Charge serveur1,2,3De petites requêtes seulementToute la bande passante de la sessionAucune en propre ; il s'appuie sur des serveurs STUN et TURN

Questions fréquentes

À quoi sert STUN ?
Il indique à un appareil l'adresse et le port publics d'où semble provenir son trafic, afin que deux appareils puissent tenter de se connecter directement. Il ne transporte pas le trafic de session.
Qu'est-ce que TURN et quand l'utilise-t-on ?
TURN est un relais : les deux côtés envoient leur trafic à un serveur TURN, qui le transfère. On l'utilise quand une connexion directe ne peut pas s'établir, car il fonctionne toujours, au prix de latence et de bande passante.
Faut-il à la fois STUN et TURN ?
Pour une connectivité de type WebRTC, en général oui : STUN rend les connexions directes possibles, TURN couvre les cas où elles échouent, et ICE choisit entre les deux. Les produits dotés de leur propre relais, comme Vexaro Desk, utilisent ce relais à la place de TURN.
Vexaro Desk utilise-t-il TURN ?
Non. Vexaro Desk se connecte directement partout où le réseau le permet, et sinon via les propres relais de Vexaro, dont le client vérifie l'authenticité avant de se connecter.

Voir cela dans Vexaro Desk

Vexaro Desk réunit accès assisté et non assisté, traversée de NAT, moteur de codecs adaptatif et gouvernance dans une seule console. Il est en accès anticipé, et vous pouvez créer un compte gratuit pour l'essayer.