Задать вопрос
Qubc
@Qubc
Ненавижу полисемию.

Почему нельзя без постоянного IP связаться с домашним сервером, а любой сервер в мире может общаться с домашним компьютером?

Понятно, что домашний адрес зачастую является внутренним адресом провайдера и что провайдер является посредником в передаче пакета.
Но - как же тогда с внутренним компьютером связываются сервера из глобальной сети?

И вдобавок, на некоторых провайдерах адрес полученный роутером совпадает с адресом, который определяет например 2IP. Чем не белый IP?
  • Вопрос задан
  • 108 просмотров
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@lubezniy
Для подключения через NAT (не важно, абонентский или провайдерский) при отсутствии у абонента белого IP используется внешний сервер, к которому устанавливают подключение обе стороны обмена. И инфа идёт через него.
Если провайдер и так даёт белый IP (только динамический), можно воспользоваться какой-нибудь службой DDNS и пробросом портов на своём роутере.
Ответ написан
Комментировать
vesper-bot
@vesper-bot
Любитель файрволлов
Источником связи ПК с глобальными серверами является ПК, для обеспечения корректного возврата пакетов от этих серверов используется технология NAT (или PAT, port-based NAT). При установке соединения пограничное устройство, на котором работает NAT, запоминает, откуда и куда пошел запрос, и сохраняет внутри себя IP и порт, на который должны приходить ответные пакеты от сервера, и транслирует их потом во внутреннюю сеть так, что они попадают на открытый сокет на том ПК, который и посылал запрос. А если кто-то без запроса изнутри попытается установить связь с ПК за натом, у этого устройства не будет данных, что за ПК нужно связать с этим сервером, и пакеты будут отброшены.

Есть технология, которая позволяет обойти NAT для прямой связи ПК за натом, но опять-таки процесс включает отправку запросов от этого ПК наружу, при этом NAT-преобразование создается штатным образом. Технология называется STUN, работает поверх UDP, потому что для UDP не нужно выполнять установку соединения через SYN/ACK пакеты, а можно просто их слать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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