encyklopedia.run.place

Nat (Network Address Translation)

Nat (ang. Network Address Translation) – technika stosowana w sieciach komputerowych umożliwiająca zmianę adresów źródłowych i docelowych w nagłówkach pakietów IP. Dzięki NAT wiele urządzeń może współdzielić jeden publiczny adres IPv4 lub IPv6, co zwiększa efektywność wykorzystania adresacji i poprawia bezpieczeństwo.

Definicja

Nat polega na dynamicznej lub statycznej konwersji prywatnych adresów IPv4 (np. 192.168.0.0/16) na adresy publiczne przychodzące i wychodzące z routera. Mechanizm ten jest realizowany najczęściej w bramach sieciowych, zaporiach ogniowych lub serwerach proxy.

Zastosowanie

  • Udostępnianie połączenia internetowego wielu hostom w sieci lokalnej przy użyciu jednego publicznego adresu.
  • Maskowanie wewnętrznej struktury sieci przed zewnętrznymi podmiotami, co zwiększa bezpieczeństwo.
  • Umożliwienie jednoczesnego działania urządzeń z ograniczonym zakresem adresów, np. w IoT.

Rodzaje NAT

Statyczny NAT (SNAT)
Mapuje stały prywatny adres na stały publiczny adres. Stosowany w sytuacjach, gdy konieczna jest stała dostępność usług z zewnątrz.
Dynamiczny NAT (DNAT)
Przypisuje prywatnym adresom publiczne adresy z puli w momencie nawiązywania połączenia.
Port Address Translation (PAT) – NAT z translacją portów
Umożliwia wielu prywatnym hostom korzystanie z jednego publicznego adresu IP, różnicując połączenia na podstawie numerów portów.
Masquerading
Specjalny typ PAT, stosowany najczęściej w systemach Linux, automatycznie dopasowujący adresy i porty.

Historia

Pierwsze implementacje NAT pojawiły się w połowie lat 1990, kiedy to rosnące zapotrzebowanie na adresy IPv4 wymusiło potrzebę oszczędzania przydzielanej puli. W 1994 roku RFC 1631 opisało koncepcję NAT, a kolejne standardy, takie jak RFC 3022, uzupełniły jej specyfikację.

Problemy i ograniczenia

  • Trudności w konfiguracji usług wymagających otwartych połączeń przychodzących, np. VoIP czy gry sieciowe.
  • Potencjalne spowolnienie transmisji spowodowane dodatkową warstwą translacji.
  • Kompatybilność z protokołami, które zawierają adresy w warstwie aplikacji (np. FTP).

Zobacz także

IPv4, IPv6, router, firewall, VPN, QoS, sieć lokalna.