**Network address translation** (skratka **NAT**; doslova *preklad sieťovej adresy/preklad sieťových adries*; iné názvy: **network masquerading** – doslova *sieťové maskovanie/sieťová maškaráda*, **native address translation** – doslova *natívny preklad adries*, **IP masquerading** – doslova *IP maskovanie*) je spôsob úpravy sieťovej prevádzky cez smerovač prepisom východiskovej a/alebo cieľovej IP adresy, často i zmenu čísla TCP/UDP portu pri prichádzajúcich IP paketoch. K tomu patrí i zmena kontrolného súčtu (pri IP i TCP/UDP) aby boli zmeny akceptované. NAT sa väčšinou používa pre prístup viacerých počítačov z lokálnej siete na Internet pod jedinou verejnou adresou. NAT však môže spôsobiť problémy v komunikácii medzi klientmi a znížiť rýchlosť prenosu.

Definícia
---------

Preklad sieťových adries je funkcia, ktorá umožňuje prekladanie adries. Znamená to, že adresy z lokálnej siete sa preložia na jedinečnú adresu, ktorá slúži pre vstup do inej siete (napr. Internetu), prekladanú adresu si uloží do tabuľky pod náhodným portom, pri odpovedi si v tabuľke vyhľadá port a pošle pakety na IP adresu priradenú k danému portu. NAT je vlastne jednoduchým proxy serverom. NAT môže byť softwarového typu (Nat32, Kerio Winroute firewall) alebo hardwarového typu (router s implementáciou NAT).

Vlastná komunikácia
-------------------

Klient odošle požiadavku na komunikáciu, smerovač (router) sa pozrie do tabuľky a zistí, či ide o adresu lokálnu alebo vonkajšiu adresu. V prípade externej adresy si do tabuľky uloží číslo náhodného portu, pod ktorým bude vysielať a k nemu si priradí IP adresu.

Výhody
------

* umožňuje pripojiť viac počítačov na jednu verejnú IP adresu – rieši sa tak nedostatok pridelených verejných IP adries
* zvyšuje bezpečnosť počítačov pripojených za NATom ( potencionálny útočník nepozná ozajstnú IP adresu)

Druhy sieťového prekladu
------------------------

NAT môže byť implementované v rôznych podobách prekladaných adries a portov. Každá z týchto podôb rôzne ovplyvňuje komunikačné protokoly aplikácií. Pri niektorých aplikačných protokoloch, ktoré používajú informáciu IP adresy, aplikácia bežiaca na uzle v maskovanej sieti potrebuje zistiť externú adresu NAT. Niekedy dokonca potrebuje vyšetriť a kategorizovať typ používaného mapovania. Z tohto dôvodu bol vyvinutý Simple traversal of UDP over NATs (STUN) protocol (RFC 3489).
Klasifikuje NAT implementácie na:
1. full cone NAT
2. (address) restricted cone NAT
3. port restricted cone NAT
4. symmetric NAT a súčasne navrhuje metodológiu pre testovanie zariadení. Nakoľko sa jeho metodológia stala nepostačujúcou a v niektorých prípadoch chybnou boli vytvorené nové metódy a ich štandardy RFC 5389 (2008). STUN acronym dnes prezentuje nový názov pre špecifikáciu: Session Traversal Utilities for NAT.

Prvé 3 typy NAT uchovávajú to isté mapovanie pre danú privátnu IP adresu nezávisle od cieľovej IP adresy. Avšak symetrické NAT alokuje nové mapovania ktoré sú závislé od cieľovej adresy.

|  |  |
| --- | --- |
| **Full cone NAT**,, tiež nazývané NAT 1-to-1
* Keď už je interná (iAddr:iPort) adresa namapovaná na externú adresu (eAddr:ePort), každý paket z adresy iAddr:iPort bude poslaný cez adresu Addr:ePortOnce
* Každý externý host môže posielať pakety na adresu iAddr:iPort prostredníctvom poslania na adresu eAddr:ePort.
* V tomto prípade, po vykonaní mapovania na dosiahnutie klienta za NAT, je potrebné vedieť len mapovaciu schému aby mohol byť paket doručený.
 |  |
| **(Address) Restricted cone NAT*** Keď už je interná (iAddr:iPort) adresa namapovaná na externú adresu (eAddr:ePort), každý paket z adresy iAddr:iPort bude poslaný cez adresu Addr:ePort.
* Externý host môže posielať pakety iAddr:iPort posielaním na adresu eAddr:ePort a to len v prípade ak iAddr:iPort poslal predtým paket na hAddr:any. „any" znamená, že číslo portu nie je podstatné
* V tomto prípade je teda potrebné aby komunikáciu začal klient ktorý je za NAT a až potom môže klient mimo NAT plnohodnotne komunikovať s daným klientom. V prípade ak klient mimo NAT pošle dáta klientovi za NAT ako prvý, tieto dáta nebudú doručené.
 |  |
| **Port-Restricted cone NAT**
Podobný (Address) Restricted cone NAT, ale sú obmedzené čísla portov.* Keď je už interná (iAddr:iPort) adresa namapovaná na externú adresu (eAddr:ePort), každý paket z adresy iAddr:iPort bude poslaný cez adresu Addr:ePort.
* Externý host môže posielať pakety iAddr:iPort posielaním na adresu eAddr:ePort a to len v prípade ak iAddr:iPort poslal predtým paket
* Ak klient za NAT začína komunikáciu, posiela klientovi mimo NAT dáta na jeho IP adresu a číslo portu. Po prijatí dát, môže klient mimo NAT posielať dáta späť len na to číslo portu, na ktorom dáta prijal.
 |  |
| **Symmetric NAT*** Každá požiadavka z internej IP adresy a portu na špecifickú cieľovú adresu a port je namapovaná na unikátnu externú zdrojovú adresu a port
* Aj keď ten istý interný host pošle paket s tou istou zdrojovou adresou a portom, ale inému cieľu, je použité nové mapovanie.
* Iba externý host, ktorý dostane paket z interného hostu môže poslať paket späť.
 |  |
|

Iné projekty
------------

Externé odkazy
--------------

* Jak funguje NAT
* Skryté sítě a NAT
* Přelez, přeskoč a podlez NAT
* RFC 4008 – Standards Track – Definitions of Managed Objects for Network Address Translators (NAT)
* RFC 3022 – Traditional IP Network Address Translator (Traditional NAT)
* RFC 1631 – Obsolete – The IP Network Address Translator (NAT)
* RFC 3489 - STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)