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