La compañía para la que trabajo, Eyeball Networks, tiene tecnologías que son fundamentales para los estándares STUN, TURN e ICE.
Para comprender ICE y STUN, debe conocer los conceptos básicos de NAT.
NAT significa traducción de direcciones de red. Funciona de manera similar a una centralita telefónica, pero para una red informática. Una red puede tener algunos números públicos (direcciones IP) que se transmiten a Internet público, y luego una pila completa de números privados dentro de la red (como extensiones, pero también direcciones IP), que no se publicitan. NAT actúa como mediador entre los dos, traduciendo entre IP públicas y las IP privadas dentro de la red.
- ¿Existe el roaming inalámbrico?
- ¿Es legal el uso de Wireshark?
- ¿Cómo se relaciona el ancho de banda con la velocidad?
- Cómo obtener una comprensión básica de Cisco ASA
- ¿Cuál es el propósito del relleno de bits y el relleno de bytes (en la comunicación por computadora)?
Aquí hay un diagrama para ilustrar:
NAT proporciona una serie de beneficios, como ocultar la topología de su red de Internet pública y permitirle necesitar menos direcciones IP públicas, que generalmente han sido escasas (esa es otra historia).
Pero para las aplicaciones en tiempo real y de igual a igual, como el chat de video y VoIP, NAT es un verdadero problema. Los rompe horriblemente. Entonces, para superar este problema, se inventó el recorrido NAT, y hoy está estandarizado por los estándares IETF STUN, TURN e ICE. Voy a incluir TURN en esta respuesta, porque a menudo es parte de la solución transversal NAT completa.
Para que una persona que llama, o una aplicación, atraviese un NAT, debe seguir una serie de pasos. STUN lo inicia haciendo un ‘descubrimiento’ de la situación. ¿Cuál es mi dirección IP? ¿Cuál es la dirección IP pública de mi red? ¿Qué puertos están disponibles para mí?
A continuación, las asignaciones de TURN determinan si hay un servidor en la red pública que podría actuar como un punto de retransmisión para mis comunicaciones, si fuera necesario. Esto suele suceder cuando su NAT se encuentra en un firewall de nivel empresarial, o lo que se conoce como “NAT simétrica”. Estos NAT bloquean P2P.
Una vez que se recopila toda esta información, ICE interviene. Me gusta pensar en ICE como el quarterback: evaluar la situación, los recursos de la red y llamar a la jugada, o cómo se debe configurar la llamada.
Luego, todo se une y es de esperar que tenga conectividad, ya sea peer-2-peer, o retransmitir a través del servidor TURN.
Aquí hay un diagrama que uso para describir todo el proceso. Está ocupado, pero sucede mucho en los milisegundos después de hacer clic en “llamar”.
Leyenda: el azul oscuro es STUN y TURN, el azul claro es ICE y el verde es tu medio. El rojo es señalización SIP en este caso.
¡Espero que ayude!