BEDÖVA

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 12 september 2018; kontroller kräver 6 redigeringar .

STUN (förkortning av English  Session Traversal Utilities for NAT , Session Traversal Utilities for NAT, tidigare English  Simple Traversal of UDP through NATs , Simple UDP passing through NAT-servs) är ett nätverksprotokoll som tillåter en klient placerad bakom en adressöversättningsserver (eller bakom flera sådana servrar), bestäm din externa IP-adress , ett sätt att översätta adressen och porten i det externa nätverket, associerad med ett specifikt internt portnummer. Denna information används för att upprätta en UDP-anslutning mellan två värdar om de båda är bakom en NAT- router . Protokollet är definierat i RFC 5389 ( den tidigare versionen var RFC 3489 ).

Protokollöversikt

Det finns protokoll som använder UDP-paket för att överföra röst eller bilder över IP-nätverk. Om båda kommunicerande parter står bakom NAT'om kan förbindelsen inte upprättas på vanligt sätt. Det är här STUN kommer väl till pass.

STUN är ett klient-serverprotokoll. VoIP- klienten kan inkludera en STUN-klientimplementering som skickar en begäran till STUN-servern. STUN-servern skickar sedan tillbaka till klienten vad som är den externa adressen till NAT-routern och vilken port som är öppen på NAT:n för att acceptera inkommande förfrågningar tillbaka till det interna nätverket.

Svaret tillåter också STUN-klienten att avgöra vilken typ av adressöversättning som används, eftersom olika typer av NAT- routrar behandlar inkommande UDP-paket olika. STUN arbetar med tre av de fyra huvudtyperna: Full Cone NAT, Address Restricted NAT och Port Restricted NAT (den fjärde är Symmetric NAT). I fallet med restriktiv NAT måste klienten skicka ett paket till fjärrvärden innan NAT börjar skicka paket från fjärrvärden till klienten. STUN kommer inte att fungera med symmetrisk NAT (även kallad "two-way NAT"), som ofta finns på stora företagsnätverk. Med symmetrisk NAT skiljer sig IP-adressen för STUN-servern från destinationsadressen, och på grund av detta skiljer sig NAT-adressen som STUN-servern ser från destinationsadressen som kommer att användas för att skicka paket till klienten.

När en klient har upptäckt sin externa adress kan den skicka den vidare till den värd som den ansluter till. Om det finns översättare med full kon längs vägen kan båda sidor initiera kommunikation. Om en begränsad kon- eller portbegränsad konsändning pågår måste båda parter starta dataöverföringen gemensamt.

Det bör noteras att metoderna som beskrivs i RFC 3489 inte nödvändigtvis kräver användning av STUN-protokollet; de kan användas inom alla protokoll baserat på UDP.

En anslutning till STUN-servern upprättas på UDP-port 3478 , men servern uppmanar klienterna att även kontrollera den alternativa IP-adressen och portnumret (STUN-servrar har två IP-adresser). RFC anger att valet av port och IP är godtyckligt.

Se även

Implementering

Offentliga STUN-servrar