Сети и интернет. Сложно о простом
🌐 Что такое NAT и почему он иногда ломает ваш VoIP-звонок?
Если вы когда-нибудь сталкивались с тем, что звонок в Я.Телемост или Telegram обрывается, а собеседник вас не слышит, — возможно, виноват NAT (Network Address Translation). Разбираемся, как эта технология спасает интернет и почему VoIP не работает.
⁉️Что такое NAT?
NAT — это как переводчик между вашей локальной сетью и интернетом. Он превращает «внутренние» (серые) IP-адреса (например, 192.168.1.10) в один «внешний» (белый) адрес, который виден в интернете. Без NAT нам бы не хватило IPv4-адресов для всех устройств.
🏄Пример:
Ваш роутер имеет публичный IP. Когда вы серфите в интернете, роутер подменяет ваш локальный адрес на свой, чтобы пакеты могли вернуться обратно.
Почему NAT ломает VoIP?
VoIP-звонки используют два протокола:
⁃ SIP — для установки соединения («алло, это я!»).
⁃ RTP/RTCP — для передачи голоса/видео, при этом они использует динамические порты для передачи медиа-данных:
• RTP (для аудио/видео) — четный порт.
• RTCP (Real-time Control Protocol) — нечетный порт (следующий за RTP).
Проблемы из-за NAT:
1️⃣ SIP не видит ваш реальный IP:
— SIP-пакеты содержат ваш локальный IP (192.168.1.10), который не существует в интернете. Сервер не понимает, куда отправлять ответ.
2️⃣ RTP-трафик разваливается:
— NAT меняет четный порт RTP на нечетный от RTCP, что нарушает согласованность между RTP и RTCP.
3️⃣ PAT (Port Address Translation) — главный враг:
— PAT изменяет порты в заголовках UDP, но не изменяет информацию внутри полезной нагрузки RTP (где могут содержаться IP-адреса и порты). Это приводит к несоответствию данных, из-за чего медиапоток может не доходить до получателя.
Как это исправить?
• STUN-сервер:
Помогает устройству узнать свой внешний IP и порт.
• TURN-сервер:
Работает как «ретранслятор», если STUN не справляется.
• ICE (Interactive Connectivity Establishment):
Комбинирует STUN и TURN, чтобы найти рабочий путь для звонка.
• Переход на IPv6:
Там NAT не нужен — у каждого устройства уникальный публичный адрес.
🔥Итог:
• NAT — полезная технология, но костыль для IPv4.
• VoIP страдает из-за него, если нет обходных механизмов (STUN/TURN).
• Используйте приложения с поддержкой ICE (Zoom, Telegram, Discord справляются лучше старых SIP-телефонов). Если у вас установлено приложение,
вы можете сразу перейти в канал