Przez Brian Scheibe
Tłumaczenie adresów sieciowych (NAT) i tłumaczenie adresów portów (PAT) mapują adresy IP w sieci wewnętrznej na adresy IP w sieci zewnętrznej. Wybór metody translacji adresów zależy od typów sieci, które są translowane, oraz od liczby dostępnych adresów IP, którymi dysponujesz.
Jeśli łączysz witrynę w sieci 10.10.10.0 z witryną w sieci 10.10.20.0, możesz użyć NAT do translacji adresów IP 10.10.10.0 na dostępne adresy IP 10.10.20.0, aby hosty w sieci 10.10.10.0 mogły uzyskać dostęp do danych i korzystać z zasobów sieciowych w sieci 10.10.20.0. Jednak aby ten scenariusz zadziałał, musisz mieć pulę adresów, która zawiera wystarczającą liczbę dostępnych adresów IP w sieci 10.10.20.0, aby pomieścić każdy host w sieci 10.10.10.0, ponieważ NAT wymaga relacji jeden do jednego podczas tłumaczenia adresów IP.
PAT próbuje użyć oryginalnego numeru portu źródłowego hosta wewnętrznego, aby utworzyć unikalną, zarejestrowaną kombinację adresu IP i numeru portu. Na przykład dwa hosty, którym przypisano odpowiednio adresy IP 10.10.10.100 i 10.10.10.101, mogą wysyłać ruch do i odbierać ruch z Internetu, używając pojedynczego publicznego adresu IP 123.45.67.89. Jeśli ten numer portu jest już przydzielony, PAT wyszukuje dostępny alternatywny numer portu źródłowego. Dlatego host o adresie IP 10.10.10.100 mógł uzyskać dostęp do Internetu przy użyciu kombinacji publicznego adresu IP i portu źródłowego 123.45.67.89:10000. Tymczasem host o adresie IP 10.10.10.101 mógłby uzyskać dostęp do Internetu przy użyciu adresu IP i kombinacji portu źródłowego 123.45.67.89:10001.
Jeśli podłączasz witrynę w sieci 10.10.10.0 do Internetu, musisz przetłumaczyć adresy IP hostów w tej sieci na zarejestrowany adres IP, który jest routowalny przez Internet. Aby użyć tradycyjnego NAT w tym scenariuszu, należałoby zakupić zarejestrowany adres IP dla każdego hosta w sieci wewnętrznej. Alternatywnie można użyć PAT do translacji wszystkich adresów IP w sieci wewnętrznej na pojedynczy, współdzielony adres IP, który łączy się z Internetem. PAT, znany również jako przeciążanie NAT, używa 16-bitowych numerów portów źródłowych do mapowania i śledzenia ruchu między hostem wewnętrznym a Internetem.
Jak widać, pierwsza litera w każdym akronimie oznacza różnicę między NAT (Network Address Translation) a PAT (Port Address Translation), co powinno ułatwić zapamiętanie, co do czego służy. Należy pamiętać, że zarówno NAT, jak i PAT wykorzystują co najmniej jeden adres IP oraz że PAT jest również określany jako przeciążanie NAT, ponieważ wykorzystuje jeden adres IP dla wszystkich klientów na wielu portach, podczas gdy standardowy NAT wykorzystuje relację jeden do jednego adresu IP na klienta.