Podsumowanie różnic pomiędzy NAT i PAT będzie pomocne w ich lepszym zrozumieniu.

Jak pokazano na rysunku, NAT dokonuje translacji adresów IPv4 w sposób 1:1 pomiędzy prywatnymi adresami IPv4 a publicznymi adresami IPv4. Jednak PAT dokonuje modyfikacji zarówno adresu jak i numeru portu.

NAT przekierowuje nadchodzące pakiety do miejsc docelowych w sieci wewnętrznej odwołując się przy tym do źródłowego adresu IPv4 nadanego przez hosta w sieci publicznej. W przypadku PAT, zazwyczaj istnieje tylko jeden lub bardzo niewiele adresów publicznych IPv4. Pakiety nadchodzące z sieci publicznej są routowane do celów w sieci prywatnej poprzez odwołania się do tabeli w routerze NAT. Tabela ta przechowuje powiązania par portów publicznych i prywatnych. Nazywa się to śledzeniem połączenia.

Pakiety bez segmentu warstwy 4.

Co jednak nastąpi, gdy pakiety z danymi są innego typu niż segmenty TCP lub UDP? Pakiety te nie zawierają numeru portu Warstwy 4. PAT dokonuje translacji większości popularnych protokołów przenoszonych przez IPv4, także tych nie wykorzystujących TCP lub UDP jako protokołu warstwy transportu. Najpowszechniejszym z nich jest ICMPv4. Każdy z tych protokołów jest obsługiwany inaczej przez PAT. Na przykład, komunikaty ICMP żądania echa (echo request) i odpowiedzi na żądanie echa (echo reply) zawierają Query ID (identyfikator zapytania). ICMPv4 wykorzystuje Query ID jako powiązania zapytania echo z odpowiedzią na nie. Wartość query ID jest zwiększana o jeden z każdym kolejnym wysłanym zapytaniem echo. PAT wykorzystuje Query ID zamiast numeru portu warstwy 4.

Uwaga: Pozostałe wiadomości ICMPv4 nie wykorzystują Query ID. Komunikaty te oraz inne protokoły nie wykorzystujące numerów portów TCP i UDP są zróżnicowane i nie są omawiane w zakresie tego kursu.

Przed rozpoczęciem tego kursu, zaloguj się na stronę netacad.com.