_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

Network Address Translation

W tym artykule zbadamy znaczenie Network Address Translation w różnych kontekstach i jego znaczenie w dzisiejszym społeczeństwie. Network Address Translation był przedmiotem badań i zainteresowań na przestrzeni dziejów, a jego wpływ rozciąga się na różne obszary, od ekonomii po politykę, w tym naukę i kulturę. W następnych kilku wierszach przeanalizujemy, jak Network Address Translation ukształtował nasz sposób myślenia i działania oraz jak nadal wpływa na nasze codzienne życie. Od swoich początków po współczesną ewolucję, Network Address Translation będzie nadal istotnym tematem interesującym wszystkich, którzy chcą lepiej zrozumieć otaczający nas świat.

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, 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