Как работает NAT?

компьютеры сети локальная сеть lan NAT

Простенький вопрос по NAT — не посылайте, пожалуйста, в википедию и мануалы.

Допустим, есть сеть из трех компьютеров за NAT. Допустим, каждый из компьютеров одновременно посылает запрос, допустим, к google.com.

Маршрутизатор, реализующий NAT, одновременно в ответ на запросы получает от google.com три страницы с результатами поиска.

Вопрос: каким образом NAT знает, какому из трех компьютеров какую страницу передать? Как в NAT система определяет, что вот этот вот пришедший ответ — это ответ на запрос именно вот от того компьютера за NAT'ом, а не какого-либо другого компьютера за NAT'ом?

Объясните популярно, пожалуйста. Просто любопытен принцип.
Ответы:
в IP/TCP запросе всегда есть адрес узла кто данный запрос отправляет, т.е. ваш NAD знает кто какой запрос отправил.
Устройство NAT перехватывает исходящий пакет и производит сопоставление порта, используя IP-адрес назначения (адрес сервера), порт назначения, внешний IP-адрес устройства NAT, внешний порт, сетевой протокол, а также внутренние IP-адрес и порт клиента.
Во здесь по понятней: Пакет проходит через сервер с NAT, который сравнивает данные пакета со своей таблицей. Если в таблице нет записи для пакетов с этого ПК и порта — такая запись создается. Затем natd модифицирует пакет, подменяя адрес источника на свой собственный, а также изменяя номер порта. Теперь адрес источника стал A.B.C.D, и порт, например, 40090. После внесения изменений пакет отсылается. Когда приходит ответный пакет, он содержит адрес и порт получателя соответственно A.B.C.D и 40090. natd просматривает свою таблицу для порта 40090 и находит запись для этого соединения. После чего он снова изменяет адрес и порт пакета на 192.168.1.2 и 1645 и отправляет пакет на соответствующий компьютер, с которого и поступил первоначальный запрос.


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.