Interactive Connectivity Etablering
Interactive Connectivity Establishment ( ICE ) är en teknik som används i datornätverk för att hitta sätt för två datorer att prata med varandra så direkt som möjligt i peer-to-peer- nätverk. Detta används oftast för interaktiva medier som Voice over Internet Protocol (VoIP), peer-to-peer- kommunikation, video och snabbmeddelanden . I sådana applikationer skulle det vara långsamt och dyrt att kommunicera via en central server, men direkt kommunikation mellan klientapplikationer på Internet är mycket svår på grund av nätverksadressöversättare ( NAT), brandväggar och andra nätverkshinder.
ICE är utvecklad av Internet Engineering Task Force MMUSIC-arbetsgruppen och publiceras som RFC 8445, från och med augusti 2018, och har föråldrat både RFC 5245 och RFC 4091.
Översikt
Nätverksadressöversättning (NAT) blev en effektiv teknik för att fördröja uttömningen av den tillgängliga adresspoolen i Internet Protocol version 4, som i sig är begränsad till cirka fyra miljarder unika adresser. NAT-gateways spårar utgående förfrågningar från ett privat nätverk och upprätthåller tillståndet för varje etablerad anslutning till senare direkta svar från peeren på det offentliga nätverket till peeren i det privata nätverket, som annars inte skulle vara direkt adresserbara.
VoIP, peer-to-peer och många andra applikationer kräver adressinformation för kommunicerande peers inom anslutningens dataströmmar, snarare än bara i Internet Protocol-pakethuvuden. Till exempel kommunicerar Session Initiation Protocol (SIP) IP-adressen för nätverksklienter för registrering med en platstjänst, så att telefonsamtal kan dirigeras till registrerade klienter. ICE tillhandahåller ett ramverk med vilket en kommunicerande peer kan upptäcka och kommunicera sin offentliga IP-adress så att den kan nås av andra peers.
Session Traversal Utilities för NAT (STUN) är ett standardiserat protokoll för sådan adressupptäckt inklusive NAT-klassificering. Traversering med hjälp av reläer runt NAT (TURN) placerar en tredjepartsserver för att vidarebefordra meddelanden mellan två klienter när direkt medietrafik mellan peers inte tillåts av en brandvägg.
IETF-specifikationer
- RFC 5389 : Session Traversal Utilities för NAT (STUN).
- RFC 8656 : Traversering med hjälp av reläer runt NAT (TURN): Reläförlängningar till STUN.
- RFC 6544 : TCP-kandidater med Interactive Connectivity Establishment (ICE)
- RFC 8445 : Interactive Connectivity Establishment (ICE): Ett protokoll för nätverksadressöversättare (NAT) Traversal
Se även
- Realm-Specific IP (RSIP)
- Middlebox (Middlebox Communications eller MIDCOM)
- Universal Plug and Play (UPnP)
- NAT Port Mapping Protocol (NAT-PMP)
- Port Control Protocol (PCP)
- WebRTC
externa länkar
- IETF Journalartikel om ICE
- MMUSIK arbetsgrupp
- BETERA arbetsgruppen
- PJNATH - Open Source ICE, STUN och TURN Library
- libnice: GLib ICE bibliotek
- libjuice: UDP ICE-bibliotek med öppen källkod
- coturn: Implementering av öppen källkod av TURN och STUN Server