Сформулированные ниже различия между NAT и PAT помогут понять особенности каждого из этих методов преобразования.
Как показано на рисунке, NAT преобразует IPv4-адреса, исходя из схемы 1:1 для частных IPv4-адресов и публичных IPv4-адресов. В то же время PAT меняет и адрес, и номер порта.
NAT пересылает входящие пакеты получателю, используя входящий IPv4-адрес источника, предоставленный узлом в публичной сети. При использовании PAT обычно задействуется только один или небольшое количество публично представленных IPv4-адресов. Входящие пакеты из публичной сети направляются адресатам в частной сети с помощью таблицы на маршрутизаторе с NAT. Данная таблица отслеживает пары публичных и частных портов. Это называется отслеживанием соединений.
Пакеты без сегмента 4 уровня
Что же происходит с пакетами IPv4, передающими данные, не являющиеся сегментом TCP или UDP? Данные пакеты не содержат номера порта уровня 4. PAT преобразует большинство основных протоколов, передаваемых с помощью IPv4 и не использующих TCP или UDP в качестве протокола транспортного уровня. Самым распространённым среди таких протоколов является протокол ICMPv4. Процесс преобразования PAT обрабатывает каждый из этих протоколов по-разному. Например, сообщения запросов ICMPv4, эхо-запросы и эхо-ответы содержат идентификатор запроса (Query ID). ICMPv4 использует идентификатор запроса (Query ID), чтобы сопоставить эхо-запрос с соответствующим эхо-ответом. Идентификатор запроса увеличивается с каждым отправленным эхо-запросом. PAT использует идентификатор запроса вместо номера порта уровня 4.
Примечание. Другие сообщения ICMPv4 не используют идентификатор запроса (Query ID). Эти сообщения и другие протоколы, не использующие номера портов TCP и UDP, могут отличаться друг от друга и не рассматриваются в рамках материала настоящего учебного курса.