@jollygulf

Как маршрутизатор определяет на какой из устройств в локалке отправить запрос?

Доброго времени суток, начал изучение интернет сетей, пытаюсь вникнуть как это всё работает, буду рад если мне помогут. Появился вопрос:

1) Допустим у меня есть маршрутизатор и пару устройств в локалке, маршрутизатор имеет WAN подключение с белым IP адресом провайдера. Я хочу использовать одно из устройств как сервер, например я с компьютера с помощью сокетов начинаю прослушивать 5000 порт. Какое либо удаленное устройство через интернет отправляет запрос на открытие TCP соединения по моему IP адресу и нужному (5000) порту. Как маршрутизатор, приняв пакет с данным запросом понимает, на какое именно устройство из моих двух в локальной сети этот пакет дальше отправить?

- К данному вопросу у меня есть свой ответ, хотел бы узнать, верен он, или нет: Когда с помощью сокета ОС я начинаю прослушивать 5000 порт, устройство отправляет эти данные маршрутизатору, мол я с таким локальным IPшником и таким MAC адресом начинаю прослушивать наш 5000 порт, все данные пришедшие на него, отдать мне, это так работает? То есть например я могу с одного устройства прослушивать тот же 5000 порт, а с другого например 5050?

Буду очень признателен, если мне объяснят, правильно ли я все понял.
  • Вопрос задан
  • 452 просмотра
Пригласить эксперта
Ответы на вопрос 4
@galaxy
Какое либо удаленное устройство через интернет отправляет запрос на открытие TCP соединения по моему IP адресу и нужному (5000) порту. Как маршрутизатор, приняв пакет с данным запросом понимает, на какое именно устройство из моих двух в локальной сети этот пакет дальше отправить?

Никак, если специально не сконфигурили (это и называется "проброс портов").
Ок, еще UPnP есть.
Ответ написан
Комментировать
Jump
@Jump
Системный администратор со стажем.
Как маршрутизатор, приняв пакет с данным запросом понимает, на какое именно устройство из моих двух в локальной сети этот пакет дальше отправить?
Никак не понимает.
Ему приходит пакет.
Если есть правило фаервола для прохождения этого пакета - например проброс портов, то маршутизатор поступит в соответствии с правилом.
Если нет правила для данного пакета - просто уничтожит его.
Ответ написан
Комментировать
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Маршрутизатор про порты ничего знать не хочет, он просто держит в памяти табличку с соответствием мак-адресов, айпишников и портов (физических), поэтому знает, куда отправлять пакеты.

Когда вы начинаете прослушивать порт - ОС просто перестаёт отвергать пакеты с этим портом назначения, а начинает передавать их приложению. Можно не слушая порт (например, настроив iptables в линуксе) что-то делать с этими пакетами - например, передавать на другой порт или даже отправлять куда-то вовне.
Ответ написан
msHack
@msHack
Компьютер отправляет пакет роутеру на адрес 192.168.88.1 порт 80 в роутере есть DHCP сервер он принимает и передает остальным клиентам почитайте про маршрутизацию и про работу DHCP
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы