Saltar al contenido principal
Todos los términos

STUN frente a TURN

STUN ayuda a un dispositivo a descubrir su dirección pública para habilitar una conexión directa; TURN retransmite el tráfico cuando no se puede establecer una conexión directa.

STUN: averiguar la dirección pública

Session Traversal Utilities for NAT (STUN), especificado en el RFC 8489, es un protocolo ligero de petición y respuesta. Un dispositivo envía una petición Binding a un servidor STUN, y la respuesta indica la dirección y el puerto públicos de los que llegó la petición: la dirección server-reflexive del dispositivo. STUN ayuda a dos dispositivos a intentar una conexión directa, pero nunca transporta la sesión, así que un servidor STUN necesita muy poco ancho de banda.

TURN: reenviar cuando falla la ruta directa

Traversal Using Relays around NAT (TURN), especificado en el RFC 8656 como extensión de STUN, reserva una dirección en un servidor relay. Los dos lados envían su tráfico al relay, que lo reenvía. TURN funciona cuando nada más lo hace, pero cada byte de la sesión atraviesa el relay, lo que añade latencia y le cuesta ancho de banda a quien lo opera.

ICE: elegir entre ellos

Interactive Connectivity Establishment (ICE), RFC 8445, une los dos. Cada lado reúne candidatos (direcciones locales, direcciones server-reflexive de STUN y direcciones de relay de TURN), los intercambia, prueba pares y se queda con el mejor que funcione, dando prioridad a las rutas directas. Así es exactamente como WebRTC usa ICE, STUN y TURN.

Cómo lo hace Vexaro Desk

Vexaro Desk no usa TURN. Cuando una red impide la conexión directa, la sesión pasa por los relays propios de Vexaro, y el cliente solo se conecta a un relay cuya autenticidad puede comprobar.

Las sesiones directas van cifradas de extremo a extremo. Cuando una red obliga a usar una conexión retransmitida, el tráfico sigue cifrado en tránsito a través de relays operados por Vexaro.

STUN, TURN e ICE comparados

STUN, TURN e ICE comparados
STUNTURNICE
Estándar1,2,3RFC 8489RFC 8656RFC 8445
Función1,2,3Averiguar la dirección y el puerto públicosReenviar el tráfico a través de un servidorReunir, probar y elegir rutas candidatas
Transporta tráfico de la sesión1,2,3NoSíNo: elige la ruta
Carga del servidor1,2,3Solo peticiones pequeñasTodo el ancho de banda de la sesiónNinguna propia; usa servidores STUN y TURN

Preguntas frecuentes

¿Qué hace STUN?
Indica a un dispositivo la dirección y el puerto públicos de los que parece venir su tráfico, para que dos dispositivos puedan intentar conectarse directamente. No transporta tráfico de la sesión.
¿Qué es TURN y cuándo se usa?
TURN es un relay: los dos lados envían tráfico a un servidor TURN, que lo reenvía. Se usa cuando no se puede establecer una conexión directa, porque siempre funciona, aunque cuesta latencia y ancho de banda.
¿Necesito STUN y TURN a la vez?
Para una conectividad al estilo WebRTC, normalmente sí: STUN hace posibles las conexiones directas, TURN cubre los casos en que fallan e ICE elige entre ellos. Los productos con relay propio, como Vexaro Desk, usan ese relay en lugar de TURN.
¿Vexaro Desk usa TURN?
No. Vexaro Desk se conecta directamente siempre que la red lo permite y, si no, a través de los relays propios de Vexaro, cuya autenticidad comprueba el cliente antes de conectarse.

Véalo en Vexaro Desk

Vexaro Desk reúne acceso asistido y desatendido, atravesamiento de NAT, un motor de códecs adaptativo y gobernanza en una sola consola. Está en acceso anticipado, y puede crear una cuenta gratuita para probarlo.