Network address translation

z Wikipédie, slobodnej encyklopédie
Prejsť na: navigácia, hľadanie

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 premávky 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[upraviť | upraviť zdroj]

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[upraviť | upraviť zdroj]

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[upraviť | upraviť zdroj]

  • 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[upraviť | upraviť zdroj]

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 na cieľovej IP adrese. 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ý.
Full Cone NAT.svg
(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é.
Restricted Cone NAT.svg
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.
Port Restricted Cone NAT.svg
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äť.
Symmetric NAT.svg

Externé odkazy[upraviť | upraviť zdroj]

  • 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)