Con el auge del trabajo remoto, las videoconferencias y las retransmisiones en directo, la demanda de tecnologías de comunicación en tiempo real ha crecido de forma exponencial. WebRTC, o Web Real-Time Communication, es una tecnología extremadamente potente que permite la comunicación en tiempo real entre dispositivos a través de Internet. Con el paso de los años, se ha convertido en la opción de referencia para aplicaciones de comunicación en tiempo real.
Sin embargo, establecer una conexión de red fiable entre dispositivos puede ser un reto importante, especialmente cuando existen firewalls u otras barreras de red entre ellos.
Aquí vamos a profundizar en dos componentes esenciales de la tecnología WebRTC: los protocolos ICE y SDP, que permiten una comunicación en tiempo real eficiente y fluida a través de Internet.
Índice de contenidos
- El protocolo ICE
- ¿Cómo ayuda ICE a WebRTC a atravesar NAT y firewalls?
- Candidatos ICE
- ¿Cómo determinan los candidatos ICE las rutas de red?
- Servidor ICE en WebRTC
- Tipos de servidores ICE
- Servidores STUN
- Servidores TURN
- El papel de los servidores ICE en el proceso de conexión WebRTC
- Protocolo SDP
- El papel de SDP en WebRTC
- Cómo funciona SDP
- Desbloquea el potencial de la comunicación en tiempo real con la tecnología ICE y SDP de Digital Samba
- Conclusión
El protocolo ICE
El protocolo ICE, o Interactive Connectivity Establishment, es una técnica utilizada en WebRTC para establecer conexiones entre dispositivos a través de Internet. Ayuda a superar obstáculos como los NAT (Network Address Translators) y los firewalls, que pueden dificultar la comunicación directa entre pares.
Mediante un proceso denominado «ICE gathering», los dispositivos intercambian direcciones de red conocidas como candidatos ICE para determinar la ruta de red más eficiente y así establecer una conexión fiable.
Esto permite una comunicación en tiempo real fluida incluso cuando existen barreras de red.
¿Cómo ayuda ICE a WebRTC a atravesar NAT y firewalls?
NAT, siglas de Network Address Translator, es una técnica que utilizan los routers para conservar direcciones IP, ocultarlas y añadir una capa adicional de seguridad a las direcciones IP internas de los dispositivos dentro de una red.
Los routers lo consiguen permitiendo que varios dispositivos de la red local compartan una única dirección IP pública para comunicarse con otros dispositivos en Internet, ya sean servidores DNS u otros equipos.
Aunque los NAT hacen que las redes sean más seguras, también suponen un obstáculo importante para establecer comunicación directa peer-to-peer entre dispositivos.
Aquí es donde entra en juego ICE.
ICE ayuda a WebRTC a atravesar NAT y firewalls permitiendo que los dispositivos encuentren y utilicen la ruta de red más eficiente entre ellos, independientemente de cómo esté configurada la red.
Lo consigue mediante un proceso llamado «ICE gathering». Durante este proceso, los dispositivos intercambian candidatos ICE, que son posibles direcciones de red. Estos candidatos describen las distintas rutas que puede utilizar un dispositivo para establecer una conexión.
El protocolo ICE evalúa estos candidatos y selecciona el más adecuado para establecer la conexión, incluso cuando los NAT y los firewalls dificultan la comunicación directa entre pares.
Candidatos ICE
En WebRTC, los candidatos ICE actúan como las direcciones que utilizan los dispositivos para conectarse entre sí a través de Internet. Un dispositivo puede tener varios candidatos ICE, cada uno con información como direcciones IP, números de puerto y protocolos de transporte. Estos candidatos son fundamentales para establecer la conexión más óptima entre dispositivos, independientemente de cómo esté configurada la red.
Al establecer una conexión WebRTC, cada dispositivo comparte su lista de candidatos ICE con el otro. Esta información se utiliza para determinar la mejor ruta de red disponible para la sesión, garantizando que la conexión se establezca correctamente.
How do ICE сandidates determine network paths?
ICE candidates use a process called connectivity checks to determine which network path to use. This process involves sending and receiving messages between the two devices to test the connection quality and latency.
Once the best network path is determined, the devices establish a direct peer-to-peer connection over the Internet. STUN and TURN servers, which we’ll discuss later, are often used to facilitate the exchange of ICE candidates and establish connections when direct peer-to-peer communication is not possible.
By using ICE candidates to find the best available network path, WebRTC is able to traverse NATs and firewalls and connect users, even when they are behind complex network configurations.

Servidor ICE en WebRTC
Un servidor ICE es un componente clave dentro de la tecnología WebRTC. Funciona junto con el protocolo ICE para proporcionar la infraestructura necesaria que permite a los dispositivos que utilizan WebRTC establecer una conexión entre sí a través de Internet.
Los servidores ICE son especialmente importantes cuando los dispositivos están separados por NAT o firewalls.
Tipos de servidores ICE
Existen dos tipos principales de servidores ICE:
- Servidores STUN, siglas de Session Traversal Utilities for NAT
- Servidores TURN, siglas de Traversal Using Relay NAT
Servidores STUN
Los dispositivos en Internet se comunican utilizando direcciones IP y números de puerto. Para que esta comunicación sea más rápida y eficiente, cada dispositivo necesita conocer la dirección IP y el puerto del dispositivo con el que quiere conectarse.
En WebRTC, los dispositivos utilizan servidores STUN para averiguar su propia dirección IP pública y su número de puerto, que luego podrán usar para comunicarse. Lo hacen enviando y recibiendo paquetes de datos al servidor STUN, que les devuelve paquetes con su dirección pública y puerto.
En muchos casos, los dispositivos están detrás de firewalls y NAT que ocultan su dirección IP real, lo que impide la comunicación directa entre pares a través de Internet. Aquí es donde entran en juego los servidores STUN. Cuando un dispositivo intenta conectarse a otro, el servidor STUN le ayuda a determinar su dirección IP pública y su puerto, incluso si está detrás de un firewall o NAT. También puede identificar si se trata de un NAT de tipo full cone o de una red con restricción de direcciones.
El servidor STUN devuelve entonces la dirección IP y el puerto que el cliente puede utilizar para establecer una conexión peer-to-peer. De este modo, STUN reduce la latencia y el consumo de ancho de banda, ya que los paquetes de datos pueden enviarse directamente entre los dispositivos. Esta información también ayuda al protocolo ICE a determinar el mejor canal para la comunicación.
Sin embargo, los servidores STUN no funcionan en tipos de NAT más restrictivos, como el NAT simétrico. En estos casos es necesario utilizar servidores TURN. A menudo se emplea un servidor proxy inverso que actúa como proxy de capa 4 para reenviar los paquetes de datos sin procesar entre los clientes WebRTC y el servidor TURN, reduciendo así la necesidad de hardware adicional.
Servidores TURN
Un servidor TURN actúa como intermediario entre dispositivos WebRTC que no pueden establecer una conexión directa peer-to-peer debido a restricciones de red. Por ejemplo, cuando ambos dispositivos están detrás de NAT o firewalls, o cuando uno de ellos está detrás de un NAT simétrico que no permite la comunicación directa.
Los servidores TURN generan costes más elevados que los servidores STUN, ya que consumen más recursos y requieren mayor ancho de banda al tener que retransmitir los paquetes de datos entre los dispositivos.
Para reducir los costes asociados a los servidores TURN, puede utilizarse un NAT con restricción de direcciones en lugar de un NAT full cone. El NAT con restricción de direcciones permite que varios dispositivos compartan la misma dirección IP pública y el mismo puerto, reduciendo el número de conexiones que el servidor TURN debe gestionar.
Sin embargo, esto puede aumentar la latencia y afectar al rendimiento general. Otra opción para mejorar el rendimiento de los servidores TURN y reducir la latencia es la aceleración por hardware, aunque su implementación también puede resultar costosa.

El papel de los servidores ICE en el proceso de conexión WebRTC
Los servidores ICE desempeñan un papel fundamental en el establecimiento de una conexión WebRTC, ya que ayudan a los dispositivos a descubrirse y conectarse entre sí.
Cuando dos dispositivos intentan establecer una conexión WebRTC, cada uno envía al otro su lista de candidatos ICE. Si no es posible establecer una conexión directa entre ambos, recurren a los servidores ICE para retransmitir los flujos de medios y así completar la conexión.
Protocolo SDP
El Session Description Protocol (SDP) es un protocolo basado en texto que se utiliza para establecer sesiones multimedia entre dispositivos a través de Internet. Incluye detalles sobre los flujos de medios, como el tipo de códec, el protocolo de transporte y otra información relacionada.
El papel de SDP en WebRTC
SDP desempeña un papel fundamental en WebRTC al permitir que los dispositivos negocien los formatos de medios, los protocolos de transporte y otros parámetros necesarios para establecer una conexión correctamente.
Cuando dos dispositivos intentan iniciar una conexión WebRTC, intercambian mensajes SDP para negociar los detalles de los flujos de medios que quieren enviar y recibir.
Cómo funciona SDP
Cuando los dispositivos establecen una conexión a través de Internet, necesitan informarse mutuamente sobre el tipo de flujos de medios que quieren enviar y recibir, los protocolos de transporte que deben utilizarse, el tipo de códec y cualquier otra información necesaria para completar la conexión. Toda esta información se envía y recibe en forma de mensajes SDP.
Si los dispositivos llegan a un acuerdo sobre los requisitos de la conexión, se establece una conexión peer-to-peer y pueden enviar y recibir flujos de medios de forma directa y estandarizada. Además, esto garantiza la compatibilidad entre dispositivos de distintos fabricantes.
Desbloquea el potencial de la comunicación en tiempo real con la tecnología ICE y SDP de Digital Samba
ICE y SDP son dos protocolos fundamentales en WebRTC, que constituye la base de nuestra API de videoconferencia. Como hemos explicado anteriormente, ICE se encarga de facilitar la conexión entre dispositivos a través de Internet, mientras que SDP se ocupa de negociar los parámetros de la sesión multimedia entre ellos.
Ventajas para los usuarios
- Permite que los usuarios se conecten de forma fluida, sin preocuparse por si los NAT o los firewalls interfieren en la conexión. Esto significa que pueden comunicarse en tiempo real, independientemente de su ubicación o de la red que estén utilizando.
- Garantiza que la conexión sea estable y fiable. Puedes confiar en nuestra API para ofrecer una experiencia de comunicación de alta calidad, incluso en condiciones de red exigentes.
- Permite comunicarse utilizando una amplia variedad de formatos multimedia y protocolos de transporte, ofreciendo la flexibilidad necesaria para adaptarse a las necesidades de tu negocio, ya sea mediante vídeo, audio o mensajería.
En definitiva, ICE y SDP desempeñan un papel clave en el éxito de Digital Samba como plataforma de comunicación en tiempo real. Gracias a estas tecnologías, Digital Samba puede ofrecer una comunicación fluida y fiable, independientemente de la ubicación geográfica del usuario o del canal de comunicación que utilice.
Conclusión
Cuando se trata de comunicación en tiempo real entre dispositivos a través de Internet, WebRTC es una de las tecnologías más potentes disponibles. Se basa en la combinación de los protocolos ICE y SDP para no solo establecer conexiones seguras, sino también garantizar que la comunicación sea estable y fiable durante toda la sesión. ICE ayuda a los dispositivos a atravesar NAT y firewalls, mientras que SDP permite negociar y acordar los parámetros de la sesión multimedia.
Nuestra API aprovecha ICE, los servidores ICE y SDP para ofrecer una plataforma sólida de videoconferencia en tiempo real. ICE y los servidores ICE garantizan que los usuarios puedan conectarse incluso cuando existen barreras como NAT o firewalls, mientras que SDP permite que los dispositivos negocien los mejores parámetros posibles para cada usuario, asegurando audio, vídeo y mensajería de alta calidad.
La API de videoconferencia de Digital Samba, compatible con el RGPD, utiliza ICE y SDP para ofrecer una de las plataformas de comunicación en tiempo real más potentes y fiables del mercado. Tanto si la utilizas para trabajo, educación o para mantener el contacto, puedes confiar en Digital Samba para ofrecer una experiencia de usuario excelente.
Share this
You May Also Like
These Related Stories

API de comunicación: qué es, tipos y cómo puede transformar tu empresa

Resolución de problemas comunes con la API REST

