Предположим, что есть 3 пользователя Lan A(192.168.0.2), B(192.168.0.3) и C(192.168.0.4). Все они связаны с домашним Wi-Fi роутером R(192.168.0.1). Теперь предположим, что пользователь A проводит контр-страйк с IP, как указано выше, и портом "27015". Как B & C сможет подключиться к A, потому что каждый раз, когда они отправляют запрос к A, этот запрос будет сбрасываться маршрутизатором, потому что A не отправил им никаких данных в первую очередь. Таким образом, для этого А должен проинструктировать маршрутизатор через "uPnP", который пропускает те пакеты, которые поступают на порт "27015". Если я не прав, то скажите, как пользователи Lan Wi-Fi соединяются друг с другом для мультиплеера?Если "uPnP" здесь недействителен, то как пользователь B & C может соединиться с A? Я думаю, используя ARP?
1 ответ
uPnP выполняет переадресацию портов (среди прочего), которая используется, когда клиент подключается к серверу, который находится за шлюзом (сервер находится в отдельной локальной сети). Домашнему маршрутизатору назначается один IP-адрес, который используется всеми устройствами в локальной сети. Это прекрасно работает при разговоре с WAN, но при входящем соединении ваш маршрутизатор не знает, на какой внутренний адрес его пересылать. Функция предупреждения о портах решает эту проблему, настраивая таблицу, которая отображает порт на внутренний IP-адрес для входящих соединений, а uPnP - это протокол для программ на вашем компьютере, которые сами создают эти правила, вместо того, чтобы просто указывать, что нужно копаться в панели администратора маршрутизатора и установить так и так правило переадресации портов. Имейте в виду, что это актуально только в том случае, если B & C хочет подключиться к A из глобальной сети (используя публичный IP-адрес R, а не 192.168.0.1, который является его адресом в локальной сети). В вашей настройке (все клиенты в локальной сети) B & C просто подключится к 192.168.0.2:27015 и полностью проигнорирует R.