tutorial supported que platforms logo instalar home webrtc candidate ice-protocol

webrtc - supported - ¿Qué son los candidatos de ICE y cómo la conexión entre pares elige entre ellos?



webrtc supported platforms (2)

Recientemente escribí una aplicación de chat simple, pero realmente no entendía los antecedentes de los candidatos de ICE.

Cuando el par crea una conexión, obtienen Candidatos ICE, los intercambian y los ponen finalmente en la conexión correcta.

Así que mi pregunta es, ¿de dónde vienen los Candidatos de ICE y cómo se usan y realmente se usan todos?

Me he dado cuenta de que mi colega tiene menos candidatos cuando ejecuta la aplicación en su máquina, ¿cuál podría ser la razón para que haya una cantidad diferente de candidatos?


La respuesta de @Ichigo es correcta, pero es un poco más grande. Cada ICE contiene ''un nodo'' de su red, hasta que llegue al exterior. Con esto, envía estos ICE al otro par, para que sepan a través de qué puntos de conexión pueden comunicarse con usted. Véalo como un edificio grande: uno está en el edificio y necesita decirle al otro (que no está familiarizado) cómo caminar a través de él. Igual aquí, si tengo muchos dispositivos de red, la conexión entrante de alguna manera necesita encontrar el camino correcto para mi computadora. Al proporcionar todos los nodos, la conexión RTC encuentra la ruta más corta. Entonces, cuando se conecte a la computadora que está a su lado, que está conectada al mismo enrutador / conmutador / lo que sea, utiliza todos los ICE y determina el más corto, y eso es directamente a través de ese punto. Que su colega tenga menos candidatos de ICE tiene que ver con la cantidad de dispositivos por los que tiene que pasar. Tenga en cuenta que cada adaptador de red dentro de su computadora que tenga una dirección IP (tengo un conmutador vEthernet de hyper-v) también crea un ICE para él.


ICE significa Establecimiento de conectividad interactiva , es una técnica utilizada en NAT (traductor de direcciones de red) para establishing communication for VOIP, peer-peer, instant-messaging, and other kind of interactive media.

Por lo general, ice candidato proporciona la información sobre la dirección IP y el puerto desde donde se intercambiarán los datos.

Su formato es algo como lo siguiente.

a = candidato: 1 1 UDP 2130706431 192.168.1.102 1816 tipo de host

En este caso, UDP especifica el protocolo que se usará, el typ host especifica qué tipo de candidatos de hielo es, host significa que los candidatos se generan dentro del firewall. Si usa wireshark para monitorear el tráfico, puede ver que los puertos que se usan para la transferencia de datos son los mismos que los presentes en los candidatos de hielo.

Otro tipo es relay , que indica que estos candidatos pueden usarse cuando la comunicación se realiza fuera del firewall.

Puede contener más información dependiendo del navegador que esté utilizando. Muchas veces he visto 8-12 candidatos de hielo generados por el navegador.