Запрос на перевод порта 80 веб-сервера и порт NAT на стороне сервера

Вопрос или проблема

С моего домашнего компьютера (192.168.0.2), который подключен к домашнему роутеру, использующему NAT, я хочу подключиться к google.com (ping возвращает 216.58.204.78). 192.168.0.2 открывает локальный TCP-порт, например, 60000, и сообщение отправляется на 216.58.204.78:80 через мой роутер NAT, который переводит его, например, на :60010. Я понимаю, что ответы на 192.168.0.2:60000 будут фактически на :60010, и мой роутер будет использовать таблицу NAT, чтобы переслать ответ на 192.168.0.2.

Мои вопросы касаются того, что происходит, когда это сообщение приходит на сторону Google. Роутер Google просто отправляет сообщение на сервер Google, используя порт 80, и если да, то что происходит, когда сервер Google отвечает? Сервер отвечает на другом порту, который затем переводится по пути выхода, и поэтому дальнейшие ответы с моего компьютера больше не на порт 80, а на какой-либо другой ‘публичный’ порт? Я немного потерян в том, что происходит на стороне Google в отношении NAT.

Ответ или решение

Порт 80 веб-сервера и запрос о вашей NAT-переводе портов

Когда вы подключаетесь к Google.com с вашего домашнего компьютера (192.168.0.2), находящегося за маршрутизатором с NAT (Network Address Translation), некоторые ключевые аспекты передачи данных играют важную роль. Давайте подробно рассмотрим, как работает этот процесс, особенно с точки зрения NAT на стороне клиента и ответов на стороне сервера.

1. Исходящий запрос

Ваш компьютер открывает локальный TCP порт, например, 60000, и отправляет запрос на 216.58.204.78:80 — IP-адрес одного из серверов Google (порт 80 используется для HTTP, что является стандартным для веб-трафика). На этом этапе ваш маршрутизатор NAT выполняет следующие действия:

  • Он принимает исходящий пакет и заменяет локальный IP-адрес и порт (192.168.0.2:60000) на свой публичный IP-адрес (к примеру, 203.0.113.5) и новый сгенерированный порт, например, 60010.
  • Эта информация о трансляции записывается в NAT-таблицу, которая сопоставляет ваш локальный адрес и порт с их публичным эквивалентом.

Таким образом, отправленный пакет выглядит следующим образом:

Исходящий пакет: 203.0.113.5:60010 -> 216.58.204.78:80

2. Обработка на стороне Google

Когда пакет достигает серверов Google, его маршрутизатор просто перенаправляет пакет на внутренние серверы Google, которые работают с портом 80. Важно отметить, что NAT не используется на стороне серверов Google. Пакет поступает на сервер, и сервер обрабатывает запрос. Например, сервер может отправить запрашиваемую страницу в ответ.

3. Ответ от серверов Google

Когда Google сервер формирует ответ, он отправляет его обратно на IP-адрес 203.0.113.5, порт 60010 — это публичный адрес вашего маршрутизатора с NAT. На этом этапе происходит следующее:

  • Сервер Google отправляет ответ на верный порт (80), и этот ответ поступает на маршрутизатор NAT вашего интернет-провайдера.
  • Маршрутизатор использует NAT-таблицу, чтобы сопоставить приходящий пакет с ранее записанным соответствующим локальнымIP-адресом и портом. Он видит, что пакет, который приходит на 203.0.113.5:60010, соответствует записям в таблице, и перенаправляет ответ на 192.168.0.2:60000.

Таким образом, вы получаете в своём браузере ответ от сервера Google.

4. Понимание NAT на стороне сервера

Понимание NAT важно, чтобы правильно трактовать, как работает взаимодействие между клиентами и серверами. На стороне сервера NAT не используется, поскольку серверы Google имеют статические IP-адреса, доступные непосредственно из Интернета. Все запросы приходят в порт 80, но ответ сервера отправляется на тот же IP-адрес и порт, с которого он был инициирован, без изменения.

Заключение

Таким образом, NAT на вашем маршрутизаторе обеспечивает целостность соединения, позволяя вашим локальным устройствам связываться с серверами во внешней сети, скрывая при этом внутренние IP-адреса. Обработка на стороне сервера не требует NAT, так как серверы Google имеют свои публичные IP-адреса. Понимание этих процессов позволяет сделать более осознанные выводы о том, как работает веб-трафик и связь в современном Интернете.

Оцените материал
Добавить комментарий

Капча загружается...