El establecimiento de conectividad interactiva ( ICE ) es una técnica que se utiliza en redes informáticas para encontrar formas de que dos computadoras se comuniquen entre sí de la forma más directa posible en redes punto a punto . Esto se utiliza más comúnmente para medios interactivos como Voz sobre Protocolo de Internet (VoIP), comunicaciones punto a punto , video y mensajería instantánea . En tales aplicaciones, la comunicación a través de un servidor central sería lenta y costosa, pero la comunicación directa entre aplicaciones cliente en Internet es muy complicada debido a los traductores de direcciones de red (NAT), los firewalls y otras barreras de red.
ICE es desarrollado por el grupo de trabajo MMUSIC del Internet Engineering Task Force y se publicó como RFC 8445, a partir de agosto de 2018, [1] y ha dejado obsoletos tanto el RFC 5245 [2] como el RFC 4091. [3]
La traducción de direcciones de red (NAT) se convirtió en una técnica eficaz para retrasar el agotamiento del conjunto de direcciones disponibles de la versión 4 del Protocolo de Internet , que está limitado inherentemente a alrededor de cuatro mil millones de direcciones únicas. Las puertas de enlace NAT rastrean las solicitudes salientes de una red privada y mantienen el estado de cada conexión establecida para dirigir posteriormente las respuestas del par en la red pública al par en la red privada, que de otro modo no serían directamente direccionables.
La VoIP, las comunicaciones entre pares y muchas otras aplicaciones requieren información de dirección de los pares que se comunican dentro de los flujos de datos de la conexión, en lugar de solo en los encabezados de los paquetes del Protocolo de Internet. Por ejemplo, el Protocolo de inicio de sesión (SIP) comunica la dirección IP de los clientes de la red para su registro en un servicio de ubicación, de modo que las llamadas telefónicas puedan enrutarse a los clientes registrados. ICE proporciona un marco con el que un par que se comunica puede descubrir y comunicar su dirección IP pública para que otros pares puedan comunicarse con él.
Session Traversal Utilities for NAT (STUN) es un protocolo estandarizado para este tipo de descubrimiento de direcciones, incluida la clasificación NAT. Traversal Using Relays around NAT (TURN) coloca un servidor externo para retransmitir mensajes entre dos clientes cuando un firewall no permite el tráfico de medios directo entre pares.