ICE

ICE (Interactive Connectivity Establishment) ist ein Framework, das von WebRTC (neben anderen Technologien) verwendet wird, um zwei Peers miteinander zu verbinden, unabhängig von der Netzwerk-Topologie (üblicherweise für Audio- und Video-Chats). Dieses Protokoll ermöglicht es zwei Peers, eine Verbindung zueinander aufzubauen, selbst wenn sie beide einen Network Address Translator (NAT) nutzen, um eine globale IP-Adresse mit anderen Geräten in ihren jeweiligen lokalen Netzwerken zu teilen.

Der Algorithmus des Frameworks sucht nach dem Weg mit der geringsten Latenzzeit, um die beiden Peers zu verbinden und versucht dabei folgende Optionen in dieser Reihenfolge:

  1. Direkte UDP-Verbindung (In diesem Fall — und nur in diesem Fall — wird ein STUN-Server verwendet, um die netzwerkseitige Adresse eines Peers zu ermitteln)
  2. Direkte TCP-Verbindung über den HTTP-Port
  3. Direkte TCP-Verbindung über den HTTPS-Port
  4. Indirekte Verbindung über einen Relay/TURN-Server (falls eine direkte Verbindung scheitert, z. B. wenn ein Peer hinter einer Firewall ist, die NAT-Traversierung blockiert)

Siehe auch