(T) Teoria protokołu NAT**

Teoria protokołu NAT

Wstęp do translacji adresów IPv4

  • NAT (Network Address Translation) – Umożliwia statyczną tudzież dynamiczną translację prywatnych adresów IPv4, na adresy publiczne. W przypadku protokołu IPv6, translacja adresów nie jest powszechnie stosowana.
    • Statyczna translacja NAT – Umożliwia zamianę jednego adresu IP na inny, statycznie określony adres IP.
    • Dynamiczna translacja NAT – Umożliwia zamianę puli adresów IP, na inną pulę w proporcji jeden do jednego.
Network Address Translation
  • PAT (Port Address Translation) – Umożliwia translację wielu adresów IP na jeden adres statyczny z przepełnieniem. Bądź translację wielu adresów IP, na jeden adres IP wybrany z określonej puli adresów, z przepełnieniem.
  • Zarówno w przypadku translacji NAT jak i PAT, rutery Cisco wyróżniają cztery rodzaje adresów IP, z których każdy uczestniczy w procesie translacji:
    • Wewnętrzny Lokalny (Inside Local) – Adres urządzenia inicjującego ruch sieciowy.
    • Wewnętrzny Globalny (Inside Global) – Adres publiczny rutera brzegowego.
    • Zewnętrzny Globalny (Outside Global) – Adres hosta docelowego.
Port Address Translation

Nazewnictwo związane z protokołem NAT, PAT

  • NVI (NAT Virtual Interface) – Interfejs stworzony na potrzeby instancji protokołu NAT.
  • Adres Inside Local (192.168.100.1) – Prywatny adres IP znajdujący się wewnątrz sieci lokalnej LAN (Adres IP hosta).
  • Adres Inside Global (156.34.52.123) – Publiczny adres IP znajdujący się na brzegu sieci lokalnej (Jest to adres IP jakim posługuje się urządzenia w sieci zewnętrznej (Adres ten widziany jest przez inne urządzenia znajdujące się w sieci globalnej, jako adres źródłowy nadającego hosta)).
  • Adres Outside Global (195.123.12.34) – Publiczny adres IP urządzenia będącego drugą stroną komunikacji, z punktu widzenia sieci globalnej.
  • Adres Outside Local (195.123.12.34) – Publiczny adres IP urządzenia będącego drugą stroną komunikacji, z punktu widzenia sieci lokalnej.

Wstępne założenia

  • Publiczne adresy IP w przeciwieństwie do adresów prywatnych, są routowalne w Internecie, a tym samym pakiety na nie kierowane są globalnie dostępne. Aby hosty adresowane z prywatnej puli adresów IP mogły uczestniczyć w globalnym ruchu sieciowym, muszą posiadać adres publiczny bądź skorzystać z translacji NAT bądź PAT.
  • Istnieją dwie wersje protokołu NAT: Dynamiczna Dynamic NAT(DNAT) oraz statyczna Static NAT (SNAT).
    • DNAT – Przypisuje nadchodzący adres prywatny, do adresu publicznego wybranego z puli wolnych adresów IP.
    • SNAT – Wprowadza statyczne przypisywanie jednego adresu prywatnego do jednego adresu publicznego.
  • Protokół PAT zwany również przeciążonym NAT-em (Overload NAT), umożliwia przypisanie wielu adresów prywatnych do jednego adresu publicznego. Dzięki czemu wszystkie komputery z sieci lokalnej mogą współdzielić jeden adres publiczny, pozostawiając resztę wolnych adresów publicznych dla serwerów czy innych usług zewnętrznych.

Zalety protokołu NAT, PAT

  • Zwiększa bezpieczeństwo sieci, ukrywając topologię sieci lokalnej LAN.
  • Umożliwia stworzenie nadmiarowych połączeń, w komunikacji z siecią Internet.
  • Zmniejsza zapotrzebowanie na publiczne adresy IP.
  • Umożliwia zmianę adresacji publicznej, bez wpływu na adresację wewnętrzną (Np. zmiana ISP).

Wady protokołu NAT, PAT

  • Performance is degraded – Zmniejsza wydajność przetwarzania nachodzących pakietów.
  • End-to-end functionality is degraded – Niektóre aplikacje związane np. z głosem (VoIP), umieszczają w swoich pakietach informacje o adresie nadawcy. Przy próbie odesłania takiej wiadomości, odbiorca może kierować swoją odpowiedź na docelowy adres IP zapisany przez nadawcę w pakiecie, zamiast właściwego adresu IP wynikającego z translacji NAT. Dodatkowy problem może stanowić również port źródłowy, zamieniony przez translację PAT na inny losowo wygenerowany.
  • End-to-end IP tracebility is lost – Wielokrotna zmiana adresu IP utrudnia proces troubleshooting-u sieci.
  • Tunneling is more complicated – NAT utrudnia proces tunelowania ruchu sieciowego, poprzez wprowadzanie zmian w zawartość nagłówka pakietu. Co wpływa na sumę kontrolną wykorzystywaną przez np. protokół IPsec-a.
  • Service can be disrupted – Praca serwisów wymagających wstępnej inicjacji, może być zakłócona.

Pozostałe tematy związane z protokołem NAT

NATv6

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz