Пост канала
- фото
👋 Привет, сетевой друг! Сегодня про PCP (Port Control Protocol) - протокол, через который устройство может само попросить роутер открыть ему порт. Без захода в веб-интерфейс и ручной настройки проброса. 🟣Зачем он нужен: допустим, у вас дома работает игровой сервер, но роутер использует NAT. Снаружи никто не может подключиться к серверу, потому что роутер просто не знает, куда отправлять входящие соединения. 🟣Ситуация становится ещё веселее, если провайдер использует CGNAT. Теперь между сервером и интернетом сразу два NAT, причём один из них вообще вам не принадлежит. 🟣Что делает PCP: устройство отправляет запрос на PCP-сервер, обычно работающий на маршрутизаторе или CGNAT-шлюзе, и просит создать отображение порта. Например: Внутри сети: 192.168.1.50:25565 Внешний адрес: 203.0.113.10:40000 Протокол: TCP Время жизни: 3600 секунд Если сервер разрешает такое отображение, он возвращает выделенный внешний адрес и порт. Теперь входящие соединения на 203.0.113.10:40000 могут попасть на игровой сервер. 🟣Интересная часть - PCP не ограничивается домашними роутерами. Он умеет работать с NAT на стороне провайдера, если тот поддерживает протокол и разрешает клиентам создавать отображения. А ещё PCP умеет управлять правилами на межсетевых экранах даже там, где NAT вообще нет. 🟣У протокола две основные операции: • MAP - создать или продлить отображение порта для входящих соединений. • PEER - управлять отображением, связанным с конкретным удалённым узлом. Полезно для приложений, которым важно сохранить существующее соединение через NAT. Запросы PCP отправляются по UDP на порт 5351. 🟣Проверить работу можно через pcp-client из реализации libpcp, если она доступна в вашей системе. Но важно понимать: наличие PCP-клиента ещё не означает, что роутер или провайдер поддерживает запросы. И даже успешное создание отображения не гарантирует доступность сервиса, если трафик блокируется другим firewall. 🟣PCP описан в RFC 6887 и пришёл на смену более ограниченным механизмам вроде NAT-PMP. Его используют для автоматического управления доступностью сервисов, P2P-соединений и приложений, которым нужно принимать входящий трафик. По сути, это способ договориться с NAT напрямую: не пытаться угадать, как он работает, а попросить его создать нужное правило. 🤖Бесплатный ChatGPT
Открыть в MAX- Просмотры
- 257
- ER
- 1,2%
- Реакции
- 3