Un servidor Traversal Using Relays around NAT (TURN) permite conexiones WebRTC fiables en redes muy restrictivas.
Después de leer este artículo podrás:
Contenido relacionado
Voz sobre protocolo de Internet (VoIP)
¿Qué es el streaming?
¿Qué es el streaming en directo?
Streaming en directo HTTP
Transmisión dinámica HTTP
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
Un servidor Traversal Using Relays around NAT (TURN) es un tipo de servidor web que permite conexiones WebRTC entre dispositivos informáticos cuando los firewalls o el uso de direcciones IP privadas interrumpen las conexiones de comunicaciones en tiempo real, como las llamadas de vídeo o audio. Como su acrónimo indica, el servicio TURN elude la traducción de direcciones de red (NAT) para garantizar que la conexión entre los clientes no se interrumpa en medio de una sesión.
En pocas palabras, los servidores TURN ayudan a garantizar el buen funcionamiento de las llamadas de vídeo y audio, incluso cuando la red no está configurada para admitirlas.
Los servidores TURN se vuelven necesarios cuando uno de los dispositivos en una conexión WebRTC utiliza una dirección IP privada. Los dispositivos que tienen direcciones IP privadas utilizan NAT para conectarse a otros dispositivos. NAT vuelve a empaquetar los paquetes y los envía a la dirección IP privada, pero no funciona bien con la mayoría de protocolos, incluyendo WebRTC.
Imaginemos que Alice quiere ir en coche a la casa de Bob, pero hay un control de carretera en la autovía que los separa. En lugar de tomar la autopista y chocar con el control de la carretera, Alice toma calles laterales hasta llegar a la casa de Bob por una ruta alternativa. Un servidor TURN proporciona una ruta alternativa para las conexiones WebRTC cuando NAT podría ser un obstáculo infranqueable.
Un servidor STUN (Session Traversal Utilities for NAT) es otro tipo de servidor que admite conexiones WebRTC. Permite que dos dispositivos descubran las direcciones IP públicas del otro e inicien una conexión directa. Sin embargo, los servidores STUN a menudo no pueden eludir las estrictas medidas de seguridad. En tales casos, se puede utilizar un servidor TURN en su lugar.
Web Real-Time Communications (WebRTC) es una tecnología de código abierto que permite establecer una comunicación directa entre punto a punto (P2P) en tiempo real a través de las APIs. Permite que los dispositivos cliente transmitan archivos entre sí en lugar de depender de un servidor central (a diferencia de protocolos como HLS o HDS, que suponen un modelo cliente-servidor). WebRTC también se ha terminado usando para una serie de protocolos de comunicación, como el protocolo de voz sobre Internet (VoIP), que admite llamadas telefónicas y videollamadas basadas en Internet.
La NAT (traducción de direcciones de red) es una técnica para asignar direcciones IP privadas a direcciones IP públicas o, más comúnmente, asignar varias direcciones IP privadas a una dirección IP pública (Las direcciones IP son esenciales para establecer conexiones entre dispositivos).
La NAT es como utilizar una dirección de reenvío dentro de un sistema postal. Los remitentes pueden enviar cartas sin conocer la verdadera dirección postal del destinatario, ya que la dirección de reenvío lo enviará a esa dirección. Del mismo modo, la NAT hace coincidir una dirección IP pública con una dirección IP privada y reenvía los paquetes a los lugares correctos.
Una de las aplicaciones más populares de NAT es la asignación de direcciones IP dentro de las redes de área local (LAN), como las redes WiFi domésticas. No hay suficientes direcciones IPv4 para todos, por lo que los enrutadores asignan direcciones IP dinámicas y privadas a los dispositivos conectados a la red. Es probable que estas direcciones IP también sean utilizadas por otros dispositivos en Internet, por lo que para evitar confusiones, el enrutador utiliza NAT para cambiarlas a una dirección IP pública que no esté duplicada en ningún otro lugar (El ISP también puede asignar dinámicamente esas direcciones IP públicas).
La NAT se utiliza además como medida de seguridad para mantener la privacidad de las direcciones IP. Un dispositivo puede evitar revelar su verdadera dirección IP fuera de la red, o incluso dentro de la red, y utilizar NAT para difundir una dirección IP pública y conectarse a otros dispositivos.
El problema es que algunos protocolos de la capa de aplicación no funcionan bien con la NAT, al igual que la dirección de reenvío de uno puede no ser capaz de reenviar todo tipo de correo (paquetes grandes, por ejemplo).
Un servidor TURN ayuda a garantizar la conectividad incluso en entornos de red muy restringidos que utilizan NAT y firewalls para ocultar las direcciones IP. Permite que las comunicaciones en tiempo real funcionen cuando las conexiones normales no son posibles y los servidores STUN no pueden admitirlas. Los servidores TURN mejoran la fiabilidad de los servicios telefónicos o de chat basados en Internet.
Cloudflare Calls es un servicio que permite a los desarrolladores crear aplicaciones de audio, vídeo y datos en tiempo real. Cloudflare Calls incluye un servidor TURN global, lo que facilita la creación de aplicaciones en tiempo real que sean rápidas y fiables. Para obtener más información sobre el servicio TURN de Cloudflare, consulta la documentación para desarrolladores.