Как происходит подключение клиента к серверу за маршрутизатором? Имеется клиент, для простоты пусть будет клиент игры Minecraft.
Имеется сервер Minecraft, запущенный на порту 25565, на ПК, подключенном к роутеру.
Клиент пытается при помощи пары ip+port подключиться к серверу. Допустим, это первое подключение.Каким образом роутер определяет какому компьютеру внутри сети переслать полученные от клиента пакеты, если неизвестен изначально MAC-адрес?
Мое предположение такое, что в первом пакете содержится только ip и port, в качестве MAC-адреса указан широковещательный адрес, роутер при поступлении пакета передает его всем ПК, которые слушают порты, и если ПК с активным портом 25565 существует, то тот отсылает пакет-ответ со своим MAC-адресом, и затем уже клиент добавляет его в дальнейшем в свои пакеты при отправке.

21 Авг 2019 в 06:46
219 +1
0
Ответы
1

В действительности, когда клиент пытается подключиться к серверу на определенном порту, роутер получает пакет с адресом и портом назначения. Роутер, имея информацию о своей сети, определяет, к какому устройству внутри сети необходимо перенаправить этот пакет.

Роутер хранит таблицу маршрутизации, которая содержит информацию о том, какие устройства в сети находятся за ним и как именно к ним перенаправлять данные. Когда роутер получает пакет с определенным адресом и портом, он сравнивает эту информацию с таблицей маршрутизации и определяет, к какому устройству внутри сети следует переслать пакет.

Таким образом, роутер определяет, к какому компьютеру внутри сети следует перенаправить пакет, на основе информации из таблицы маршрутизации, а не с помощью широковещательных адресов.

20 Апр 2024 в 13:13
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир