Пример работы механизма NAT
Рисунок 14.10. Пример работы механизма NAT
Допустим, пользователь локальной сети предпринимает попытку соединиться с веб-сервером, имеющим действительный адрес e.f.g.h. В этом случае клиентский компьютер формирует IP-пакет со следующей информацией в заголовке:
- IP-адрес получателя: e.f.g.h
- IP-адрес отправителя: 192.168.0.10
- порт получателя: TCP-порт 80
- порт отправителя: TCP-порт 1025
Механизм NAT выполняет преобразование заголовка этого пакета в следующий заголовок:
- IP-адрес получателя: e.f.g.h
- IP-адрес отправителя: a.b.c.d
- порт получателя: TCP-порт 80
- порт отправителя: TCP-порт 5000
Обратите внимание, что вместо частного адреса хоста, расположенного в локальной сети, в качестве отправителя указывается действительный адрес компьютера-преобразователя. При этом информацию о выполненном преобразовании {192.168.0.10, TCP 1025} в {a.b.c.d, TCP 5000} компьютер запоминает в своей внутренней таблице.
После выполнения преобразования IP-пакет может быть передан в Интернет. Поскольку в качестве отправителя пакета указан компьютер-преобразователь, удаленная служба сформирует ответный пакет, который будет адресован этому компьютеру. Ответный пакет содержит следующую информацию в заголовке:
- IP-адрес получателя: a.b.c.d
- IP-адрес отправителя: e.f.g.h
- порт получателя: TCP-порт 5000
- порт отправителя: TCP-порт 80
Механизм NAT анализирует полученный пакет и, используя собственную адресную таблицу, отображает действительные адреса в частные. По окончании преобразования пакет будет передан хосту во внутренней сети (в нашем случае по адресу 192.168.0.10). При этом пакет содержит следующую информацию в заголовке:
- IP-адрес получателя: 192.168.0.10
- IP-адрес отправителя: e.f.g.h
- порт получателя: TCP-порт 1025
- порт отправителя: TCP-порт 80