Langbahn Team – Weltmeisterschaft

Network address translation

Network address translation (NAT, pol. translacja adresów sieciowych; czasem native address translation, translacja adresów rodzimych, znane również jako maskarada sieci lub maskarada IP, od ang. network/IP masquerading) – technika przesyłania ruchu sieciowego poprzez router, która wiąże się ze zmianą źródłowych lub docelowych adresów IP, zwykle również numerów portów TCP/UDP pakietów IP podczas ich przepływu. Zmieniane są także sumy kontrolne (zarówno w pakiecie IP, jak i w segmencie TCP/UDP), aby potwierdzić wprowadzone zmiany.

Większość systemów korzystających z NAT ma na celu umożliwienie dostępu wielu hostom w sieci prywatnej do Internetu przy wykorzystaniu pojedynczego publicznego adresu IP (zob. brama sieciowa). Niemniej NAT może spowodować komplikacje w komunikacji między hostami i może mieć pewien wpływ na osiągi.

Zastosowanie

Wraz ze wzrostem liczby komputerów w Internecie zaczęła zbliżać się groźba wyczerpania puli dostępnych adresów internetowych IPv4. Aby temu zaradzić, lokalne sieci komputerowe, korzystające z adresów prywatnych, mogą zostać podłączone do Internetu przez jeden router, mający mniej adresów internetowych niż komputerów w tej sieci. Mimo iż w każdej prywatnej sieci może być zalokowane niemal 17 milionów adresów[1], to ograniczeniem będą używane do NAT porty, których jest 65 535 (216 – 1).

Router ten, gdy komputery z sieci lokalnej komunikują się ze światem, dynamicznie tłumaczy adresy prywatne na adresy zewnętrzne, umożliwiając użytkowanie Internetu przez większą liczbę komputerów niż posiadana liczba adresów zewnętrznych.

NAT jest często stosowany w sieciach korporacyjnych (w połączeniu z proxy) oraz sieciach osiedlowych.

Rodzaje

Dwa podstawowe typy NAT:

  • SNAT (source network address translation) to technika polegająca na zmianie adresu źródłowego pakietu IP na jakiś inny. Stosowana często w przypadku podłączenia sieci dysponującej adresami prywatnymi do sieci Internet. Wtedy router, przez który podłączono sieć, podmienia adres źródłowy prywatny na adres publiczny (najczęściej swój własny).
  • DNAT (destination network address translation) to technika polegająca na zmianie adresu docelowego pakietu IP na jakiś inny. Stosowana często w przypadku, gdy serwer, który ma być dostępny z Internetu, ma tylko adres prywatny. W tym przypadku router dokonuje translacji adresu docelowego pakietów IP z Internetu na adres tego serwera.

Szczególnym przypadkiem SNAT jest maskarada, czyli sytuacja, gdy router ma zmienny adres IP (np. otrzymuje go w przypadku połączenia modemowego wdzwanianego). Wtedy router zmienia adres źródłowy na taki, jak adres interfejsu, przez który pakiet opuszcza router.

Oprogramowanie

W przypadku systemu operacyjnego GNU/Linux funkcje NAT definiowane są za pomocą programów iptables lub ipchains, a w przypadku FreeBSD ipfw (IP firewall), ipf(inne języki) (IP filter) lub pf (OpenBSD Packet Filter).

Przypisy

  1. RFC 1918 ↓, 3. Private Address Space, cytat: „first block as „24-bit block”, the second as „20-bit block”, and to the third as „16-bit” block”.

Linki zewnętrzne