|
Пример
NAT
Если сеть малого предприятия использует
идентификатор сети 192.168.0.0 для интрасети и имеется public-адрес a.b.c.d,
полученный от Интернет-провайдера, то NAT отображает все частные адреса в сети
192.168.0.0 в IP-адрес a.b.c.d. Если несколько частных адресов отображаются
в один public-адрес с использованием NAT, TCP- и UDP-порты выбираются динамически,
чтобы отличить один компьютер внутри интрасети от другого.
На рис. 19.9 показано применение
NAT для "прозрачного" соединения интрасети с Интернетом.
|
Примечание
|
Записи a.b.c.d и e.f.g.h
представляют допустимые public-IP-адреса, выданные InterNIC или Интернет-провайдером.
|
|
|
|
Рис.
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.
|
|