**Network Address Translator (NAT)** je obecně zařízení, které mění v procházejících IP datagramech adresy odesilatele a/nebo příjemce. Nejčastěji se používá v IPv4 k připojení koncové sítě, která používá neveřejné adresy podle RFC 1918, k Internetu. Například průměrný ADSL modem zpravidla vykonává funci NAT. NAT disponuje určitou sadou veřejných IP adres, nejčastěji jen jednou. Když počítač v koncové síti připojené prostřednictvím NAT zahájí komunikaci směrem do Internetu, přiřadí mu NAT dynamicky jednu z veřejných adres, přidá si do své překladové tabulky záznam o této dvojici adres a u datagramů odcházejících do Internetu od daného počítače mění zdrojovou adresu z původní neveřejné na přiřazenou veřejnou. Analogicky pak v přicházejících datagramech mění cílovou veřejnou IP adresu na přiřazenou neveřejnou. Pokud pro určitou položku delší dobu neprobíhá žádná komunikace, bude z tabulky odstraněna a přiřazená veřejná IP adresa se uvolní pro další využití. Nejčastěji má NAT k dispozici jen jedinou veřejnou IP adresu, svou vlastní. V takovém případě používá k identifikaci jednotlivých datových toků klientů z vnitřní sítě kombinaci IP adres a portů transportního protokolu (TCP nebo UDP). Záznamy v překladové tabulce obsahují vždy IP adresu a port vnitřního počítače a IP adresu a port, na něž se má přeložit zdrojová adresa+port při odesílání datagramu do Internetu a naopak z nichž se má převést cílová adresa v přicházejících datagramech. Správně by takové zařízení mělo být označováno NAPT (Network Address and Protocol Translator), ale tento pojem se prakticky nepoužívá. ====== Zápory ====== NAT představuje významnou překážku pro komunikaci, protože připouští navázání komunikace jen jedním směrem - z koncové sítě do veřejného Internetu. Navázat spojení nelze, protože počítače ve vnitřní síti používají neveřejné adresy a není je jak identifikovat, dokud samy nezahájí komunikaci a nevytvoří tak záznam v překladové tabulce. Naršuje se tím jeden ze základních principů Internetu - schopnost přímé komunikace libovolných dvou strojů. V protokolech síťových služeb se proto vymýšlejí více či méně krkolomná řešení, jak tento nedostatek obejít. Zpravidla se používá určitý kontaktní server s veřejnou adresou a klient zahajuje svou činnost tím, že se připojí k tomuto serveru. Jeho prostřednictvím lze pak získat (jimi navázané) spojení na další klienty. Nasazením NATu se také komplikuje řešení problémů v síťové komunikaci. NAT prostřednictvím své překladové tabulky zavádí do infrastruktury stavovou informaci, která má navíc dočasný charakter. V době hledání příčiny problému už vše může být jinak... ====== Klady ====== Hlavní předností NATu je, že zmenšuje spotřebu adres. Bez nich by pravděpodobně byly IPv4 adresy již vyčerpány. Bohužel s tenčící se zásobou IPv4 adres dnes dochází i k několikanásobnému NATování, kdy koncové NATy zákazníků již nedostávají žádnou veřejnou adresu a procházejí centrálním či lokálním NATem poskytovatelovy sítě. NAT má také pozitivní dopady na bezpečnost - k vnitřním počítačům nelze navázat komunikaci, nelze tedy na ně ani útočit. NAT ovšem není bezpečnostní prvek a tato ochrana není stoprocentní. Existují metody, jak NATem projít. ====== Typy NATů ====== Právě bepečnostní hlediska vedla k vytvoření několika typů NATů. Liší se podle svého chování během komunikace. * **Trychtýřový NAT (Cone NAT)** jakmile vytvoří pro lokální počítač záznam v překladové tabulce, je ochoten přijímat pro něj data odkudkoli. Je nejliberálnější a nejsnadněji překonatelný zvenčí. * **Omezený NAT (Restricted NAT)** propustí z venkovního Internetu k lokálnímu počítači jen pakety z těch adres a portů, na které lokální počítač odeslal nějaká data. Povolí tedy odpověď na provoz zahájený lokálním počítačem, ale neumožní, aby mu data posílal kdokoli jiný. * **Symetrický NAT (Symmetric NAT)** se chová jako omezený, ale navíc pro každý venkovní počítač, s nímž lokální stroj komunikuje, mapuje lokální adresu a port na jinou dvojici adresa+port. U omezeného NATu se veškerá komunikace odcházející z jedné lokální adresy a portu různým venkovním strojům mapuje stejně.