holy_molly
@holy_molly
Начинающий Python программист

Как сервера взаимодействуют с клиентом если IP адреса не уникальные?

В интернете написано, что для работы сервера необходим белый, уникальный IP адрес. Получается, что обычное устройство в сети не может взаимодействовать с другим, так как имеет серый IP.
Но как же тогда сервер взаимодействует с обычным серым устройством?
  • Вопрос задан
  • 380 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Компьютерные сети
software engineer
На устройство с серым айпи нельзя отправить первый пакет.

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

Либо на маршрутизаторе можно настроить проброс порта (port forwarding) - это статичное резервирование определенного порта на маршрутизаторе для того, чтобы все что идет на этот порт перенаправлялось на нужный порт нужного устройство в подсети маршрутизатора.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Я так понимаю, что интересен случай ipv4, где многие узлы могут делить один адрес.

В этом случае всё разруоивается при помощи NAT.
1. Когда через поутер проходит какой-то запрос во внешнюю сеть - он подменяет адрес отправителя на свой, а также прописывает в порт отправителя какой-нибудь ещё не занятый порт, чтобы можно было отличить одного клиента от другого.
2. При этом он у себя в памяти сохраняет, кто на самом деле отправил запрос и с каким изначально портом, чтобы можно было отправить обратно.
3. Когда приходит ответ от сервера - в адрес назначения и порт подсовывается то, что было заранее сохранено.
4. При закрытии соединения - запись убирается.

Он работает полностью автономно и по пути следования таких может быть много.

Из описания можно понять, что NAT будет нормально работать только с TCP, тк только у него есть явно прописанное время жизни пакета и явный процесс закрытия.

Также есть проброс портов - по факту то же самое, но настраивается заранее либо при помощи upnp.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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