STUN et TURN : traverser NAT et pare-feu en WebRTC
Réponse courte
STUN (Session Traversal Utilities for NAT) permet à un client WebRTC de découvrir son adresse publique et de tenter une connexion directe. TURN (Traversal Using Relays around NAT) relaye les flux quand le direct est impossible : cas fréquent derrière un pare-feu d'entreprise. Ensemble, ils alimentent le protocole ICE qui choisit automatiquement le meilleur chemin réseau.
Qu'est-ce que STUN ?
STUN est un serveur léger qui répond : « voici ton adresse IP publique et ton port ». Le client WebRTC utilise cette information pour négocier une connexion peer-to-peer directe avec l'autre participant.
- Charge serveur : minimale (requêtes courtes) ;
- Ne transporte pas les flux vidéo ;
- Suffisant quand les deux parties ont des NAT « permissifs ».
Qu'est-ce que TURN ?
TURN est un relais média : quand le P2P échoue (pare-feu strict, NAT symétrique, UDP bloqué), tous les flux passent par le serveur TURN.
- Consomme de la bande passante serveur (upstream + downstream) ;
- Indispensable en B2B pour les invités externes et réseaux corporate ;
- Doit supporter UDP et TCP (certains réseaux bloquent l'UDP).
→ Architecture complète : architecture vidéo.
STUN vs TURN : comparaison
| STUN | TURN | |
|---|---|---|
| Rôle | Découverte d'adresse | Relais de flux média |
| Flux vidéo | Non | Oui |
| Bande passante serveur | Négligeable | Élevée en relais |
| Obligatoire en prod B2B | Recommandé | Quasi obligatoire |
| Localisation critique | Non | Oui (souveraineté) |
Comment ICE utilise STUN et TURN ?
Le protocole ICE (Interactive Connectivity Establishment) teste plusieurs candidats :
- Host : adresse locale ;
- Server reflexive (via STUN) : adresse publique ;
- Relay (via TURN) : relais serveur.
Le couple avec la plus faible latence et la connectivité confirmée est sélectionné : transparent pour l'utilisateur.
Exigences réseau pour la DSI
Un éditeur infrastructure doit fournir :
- Liste des FQDN et plages IP à autoriser ;
- Ports UDP (3478, plages RTP dynamiques) et TCP fallback ;
- Procédure de test connectivité (poste pare-feu + 4G) ;
- Localisation des serveurs TURN (France, on-premise).
Sans TURN documenté, le taux d'échec de connexion en environnement corporate peut dépasser 30 %.
TURN et souveraineté
Les flux TURN transitent par le serveur relais : composant sensible pour la résidence des données :
- Héberger TURN en France ou on-premise ;
- Cadrer contractuellement dans le DPA ;
- Ne pas confondre « page web en France » et « relais média en France ».
Voir cloud souverain vidéo et RGPD vidéo.
Symptômes d'un TURN mal configuré
| Symptôme | Diagnostic |
|---|---|
| OK en 4G, échec Wi-Fi bureau | TURN / pare-feu |
| Un seul sens audio/vidéo | ICE partiel |
| Connexion puis coupure | Timeout TURN, credentials expirés |
| OK en pilote, échec en prod | TURN non déployé en production |
STUN/TURN et SFU : rôles distincts
- STUN/TURN = connectivité réseau (couche ICE) ;
- SFU = distribution des flux en réunion multi-participants.
Les trois composants forment l'infrastructure collaborative WebRTC complète.
Comment Leagora documente STUN/TURN ?
Leagora fournit schéma d'architecture, guide pare-feu et localisation des relais pour les déploiements France ou on-premise. Les produits métier (assistance-video.fr, meeting.leagora.io) s'appuient sur cette infrastructure.
FAQ
STUN suffit-il en entreprise ?
Rarement seul. En B2B, TURN est quasi obligatoire pour les invités derrière pare-feu et NAT symétrique.
TURN consomme-t-il beaucoup de bande passante ?
Oui, quand tout passe en relais : le serveur reçoit et renvoie chaque flux. Dimensionner TURN fait partie du contrat infrastructure.
Faut-il autoriser l'UDP ?
Idéalement oui. Si UDP est bloqué, le TURN doit supporter TCP/TLS : vérifier avec l'éditeur.
Où héberger les serveurs TURN ?
Même politique que le SFU : France, on-premise ou cloud souverain selon votre DPA.
STUN et TURN sont-ils chiffrés ?
STUN utilise des requêtes légères ; TURN supporte TURN over TLS pour le contrôle. Les flux média WebRTC restent chiffrés en DTLS-SRTP.
À retenir
- STUN = découverte d'adresse ; TURN = relais de secours indispensable en B2B.
- ICE combine les deux automatiquement : l'utilisateur ne choisit pas.
- Exiger un guide pare-feu et des tests réseau réels en pilote.
- Leagora.io documente l'infrastructure ; cas d'usage métier sur les sites produits du groupe.