V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

STUN

Z Multimediaexpo.cz

(Rozdíly mezi verzemi)
m (Nahrazení textu)
(+ Výrazné vylepšení)
 
(Nejsou zobrazeny 2 mezilehlé verze.)
Řádka 1: Řádka 1:
{{Internetové protokoly}}
{{Internetové protokoly}}
-
''Simple Traversal of UDP through NATs'' ('''STUN''') je síťový protokol typu [[klient-server]] sloužící ke zjištění typu [[network address translation|NAT]], veřejné [[IP adresa|IP adresy]] a [[Síťový port|portu]]. STUN klient je běžně zabudován do aplikací, které potřebují získat veřejnou IP adresu a port pro přijímání dat (například [[VoIP]] telefonů a programů). Protokol je definován dokumentem RFC 3489.
+
'''Session Traversal Utilities for NAT''' ('''STUN''') je sada pomocných [[internet]]ových standardů a [[protokol (informatika)|protokolů]], které slouží k umožnění komunikace skrz [[network address translation|NAT]], typicky používaný u interaktivních síťových služeb ([[Voice over Internet Protocol|VOIP]], [[instant messaging]] apod.). STUN umožňuje zjištění typu NAT, veřejné [[IP adresa|IP adresy]] a [[síťový port|portu]]. Protokol byl původně definován dokumentem RFC 3489, kde zkratka znamenala – ''Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)''.
 +
== Základní princip funkce ==
STUN klient odešle požadavek na STUN server, který klientovi vrátí odpověď s IP adresou NAT [[router|routeru]] a s číslem portu, který NAT otevřel pro příchozí spojení. Z odpovědi zjistí STUN klient také typ použitého [[Network address translation|NAT]] – různé typy NAT nakládají s příchozími UDP [[Paket|pakety]] různými způsoby.
STUN klient odešle požadavek na STUN server, který klientovi vrátí odpověď s IP adresou NAT [[router|routeru]] a s číslem portu, který NAT otevřel pro příchozí spojení. Z odpovědi zjistí STUN klient také typ použitého [[Network address translation|NAT]] – různé typy NAT nakládají s příchozími UDP [[Paket|pakety]] různými způsoby.
Řádka 8: Řádka 9:
=== Full Cone NAT ===
=== Full Cone NAT ===
-
[[Soubor:Full_Cone_NAT.png|Full Cone NAT]]
+
[[Soubor:Full_Cone_NAT.png|thumb|center|600px]]
Známý také jako NAT jedna ku jedné. Všechny požadavky ze stejné vnitřní IP adresy a portu jsou mapovány na stejnou externí IP adresu a port. Externí počítač pak pošle paket lokálnímu počítači, který je za NATem, zasláním paketu na mapovanou externí adresu. STUN server tento paket dále přepošle příslušnému počítači za NATem.
Známý také jako NAT jedna ku jedné. Všechny požadavky ze stejné vnitřní IP adresy a portu jsou mapovány na stejnou externí IP adresu a port. Externí počítač pak pošle paket lokálnímu počítači, který je za NATem, zasláním paketu na mapovanou externí adresu. STUN server tento paket dále přepošle příslušnému počítači za NATem.
=== Restricted Cone NAT ===
=== Restricted Cone NAT ===
-
[[Soubor:Restricted_Cone_NAT.png|Restricted Cone NAT]]
+
[[Soubor:Restricted_Cone_NAT.png|thumb|center|600px]]
Všechny požadavky ze stejné lokální IP adresy a portu jsou mapovány na stejnou externí IP adresu a port. Na rozdíl od NAT jedna ku jedné může externí zařízení zaslat paket lokálnímu pouze pokud mu lokální počítač zaslal předtím paket.
Všechny požadavky ze stejné lokální IP adresy a portu jsou mapovány na stejnou externí IP adresu a port. Na rozdíl od NAT jedna ku jedné může externí zařízení zaslat paket lokálnímu pouze pokud mu lokální počítač zaslal předtím paket.
=== Port Restricted NAT ===
=== Port Restricted NAT ===
-
[[Soubor:Port_Restricted_Cone_NAT.png|Port Restricted NAT]]
+
[[Soubor:Port_Restricted_Cone_NAT.png|thumb|center|600px]]
Je podobný Restricted cone NAT, ale omezení zahrnuje čísla portů. Externí zařízení může poslat paket na konkrétní port lokálnímu jen pokud lokální počítač předtím zaslal z tohoto portu paket vnějšímu zařízení.
Je podobný Restricted cone NAT, ale omezení zahrnuje čísla portů. Externí zařízení může poslat paket na konkrétní port lokálnímu jen pokud lokální počítač předtím zaslal z tohoto portu paket vnějšímu zařízení.
-
 
+
{{RIGHTTOC}}
=== Symetrický NAT ===
=== Symetrický NAT ===
-
[[Soubor:Symmetric_NAT.png|Symetrický NAT]]
+
[[Soubor:Symmetric_NAT.png|thumb|center|600px]]
Všechny požadavky ze stejné lokální IP adresy a portu na specifickou IP adresu a port jsou mapovány na unikátní externí zdrojovou IP adresu a port. Jestliže to samé lokální zařízení pošle paket se stejnou zdrojovou adresou a portem na jiné místo určení, je použito odlišné mapování. Pouze externí zařízení, které obdrží paket může poslat UDP paket zpět lokálnímu zařízení. V případě symetrického NAT vidí STUN server odlišné mapování, než to odpovídající cíli, ke kterému se mají skrze klienta zasílat pakety.
Všechny požadavky ze stejné lokální IP adresy a portu na specifickou IP adresu a port jsou mapovány na unikátní externí zdrojovou IP adresu a port. Jestliže to samé lokální zařízení pošle paket se stejnou zdrojovou adresou a portem na jiné místo určení, je použito odlišné mapování. Pouze externí zařízení, které obdrží paket může poslat UDP paket zpět lokálnímu zařízení. V případě symetrického NAT vidí STUN server odlišné mapování, než to odpovídající cíli, ke kterému se mají skrze klienta zasílat pakety.

Aktuální verze z 25. 7. 2017, 15:55

Internetové protokoly
Aplikační vrstva
Transportní vrstva
Síťová vrstva
Linková vrstva
Fyzická vrstva

Session Traversal Utilities for NAT (STUN) je sada pomocných internetových standardů a protokolů, které slouží k umožnění komunikace skrz NAT, typicky používaný u interaktivních síťových služeb (VOIP, instant messaging apod.). STUN umožňuje zjištění typu NAT, veřejné IP adresy a portu. Protokol byl původně definován dokumentem RFC 3489, kde zkratka znamenala – Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs).

Základní princip funkce

STUN klient odešle požadavek na STUN server, který klientovi vrátí odpověď s IP adresou NAT routeru a s číslem portu, který NAT otevřel pro příchozí spojení. Z odpovědi zjistí STUN klient také typ použitého NAT – různé typy NAT nakládají s příchozími UDP pakety různými způsoby.

Rozdílné typy NAT podle STUN

Některé aplikace pracující s NATem potřebují charakterizovat NAT dle typu. STUN protokol charakterizuje NAT jako Full cone NAT, Restricted cone NAT, Port restricted cone NAT a Symetrický NAT.

Full Cone NAT

Full Cone NAT.png

Známý také jako NAT jedna ku jedné. Všechny požadavky ze stejné vnitřní IP adresy a portu jsou mapovány na stejnou externí IP adresu a port. Externí počítač pak pošle paket lokálnímu počítači, který je za NATem, zasláním paketu na mapovanou externí adresu. STUN server tento paket dále přepošle příslušnému počítači za NATem.

Restricted Cone NAT

Restricted Cone NAT.png

Všechny požadavky ze stejné lokální IP adresy a portu jsou mapovány na stejnou externí IP adresu a port. Na rozdíl od NAT jedna ku jedné může externí zařízení zaslat paket lokálnímu pouze pokud mu lokální počítač zaslal předtím paket.

Port Restricted NAT

Port Restricted Cone NAT.png

Je podobný Restricted cone NAT, ale omezení zahrnuje čísla portů. Externí zařízení může poslat paket na konkrétní port lokálnímu jen pokud lokální počítač předtím zaslal z tohoto portu paket vnějšímu zařízení.

Obsah

Symetrický NAT

Symmetric NAT.png

Všechny požadavky ze stejné lokální IP adresy a portu na specifickou IP adresu a port jsou mapovány na unikátní externí zdrojovou IP adresu a port. Jestliže to samé lokální zařízení pošle paket se stejnou zdrojovou adresou a portem na jiné místo určení, je použito odlišné mapování. Pouze externí zařízení, které obdrží paket může poslat UDP paket zpět lokálnímu zařízení. V případě symetrického NAT vidí STUN server odlišné mapování, než to odpovídající cíli, ke kterému se mají skrze klienta zasílat pakety.

Terminologie zavedená STUN protokolem se ukázala jako nedostatečná k popisu NAT, mnoho implementací kombinuje výše popsané typy. Mnoho implementací NAT zachovává port, tedy ve většině situací zůstávají stejná lokální a externí čísla portů. Pokud se ovšem dvě lokální zařízení pokouší o komunikaci se stejným vnějším zařízením na stejném portu, je vnější port druhého lokálního zařízení přidělen náhodně. Pak tedy záleží na úhlu pohledu a NAT je typu restricted cone a zároveň symetrický.

Externí dokazy

Implementace