
STUN (Utilidades de Traversal de Sesión para NAT)
glossary.categories.protocolProtocolo que ayuda a los dispositivos a descubrir su dirección IP pública
¿Qué es STUN?
STUN (Session Traversal Utilities for NAT) es un protocolo que permite a los dispositivos detrás de NAT descubrir su dirección IP pública y el tipo de NAT en el que se encuentran. Piensa en un servidor STUN como un espejo para tu dirección de red: le preguntas "¿cuál es mi dirección pública?" y te responde con la IP y el puerto que el mundo exterior ve.
En WebRTC, STUN es el primer paso en el proceso ICE. Tu navegador consulta un servidor STUN para descubrir su IP pública, creando un "candidato reflexivo del servidor" que luego se comparte con el par remoto como una posible ruta de conexión.
Cómo funciona STUN
- Tu navegador envía una solicitud de binding STUN al servidor STUN
- La solicitud pasa a través de tu router NAT, que le asigna una IP pública y un puerto
- El servidor STUN ve la IP pública y el puerto de tu router y los envía de vuelta en la respuesta
- Tu navegador ahora conoce su dirección pública y puede compartirla con pares remotos
Limitaciones de STUN
- No funciona con NAT simétrico: El NAT simétrico asigna mapeos de puerto diferentes para cada destino, por lo que la dirección que STUN descubre no funciona para otros destinos
- No retransmite medios: STUN solo descubre direcciones; no puede enrutar tráfico a través de firewalls que bloquean conexiones entrantes
- Requiere respaldo TURN: Cuando STUN falla (15-25% de las conexiones), se necesitan servidores TURN como respaldo
STUN vs. TURN
- STUN: Descubre tu IP pública. Ligero, gratuito de operar, baja latencia. Funciona ~75-85% del tiempo
- TURN: Retransmite todo el tráfico a través de un servidor. Intensivo en ancho de banda, costoso, mayor latencia. Respaldo cuando STUN falla
Servidores STUN públicos
Google proporciona servidores STUN públicos gratuitos (stun:stun.l.google.com:19302) que son ampliamente utilizados para desarrollo y aplicaciones de producción pequeñas. Sin embargo, para producción a escala, se recomienda operar tus propios servidores STUN para confiabilidad y privacidad.
Referencias
- STUN - Glossary - Mozilla Developer Network
- STUN - BlogGeek.me