8(499)-709-97-83
Работаем с 8:00 до 19:00

Протокол STUN часть 1

  • 08 августа 2014

STUN расшифровывается как Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NAT’s) (упрощенное прохождение UDP пакетов через NAT). Как правило протокол STUN используется в различных сетевых схемах, но нам он интересен с точки зрения VoIP. В настоящее время VoIP базируется, в основном, на основе протокола SIP. На практике, большинство устройств, использующих протокол SIP, работают за роутером или файрволом, с чем возникает ряд проблем, связанных с некорректным прохождение сигнализации или голоса. Протокол STUN помогает решить эти проблемы.

Цель протокола STUN

Основной целью протокола STUN, является помощь устройствам, находящимся за NAT, узнать свой публичный IP адрес. Также протокол STUN позволяет устройствам, подключенным за шлюзом, обнаружить проброс портов, сделанный самим шлюзом (NAT), т.е. какой порт другие устройства могут использовать для подключения из публичной сети. Обратите внимание, что шлюзы и маршрутизаторы не всегда делают пробросы портов, это зависит от типа NAT и от того, как он настроен.

STUN также используется для обновления привязки NAT, например, как механизм Keep-Alive при использовании Restricted Cone NAT или Port Restricted cone NAT. При прохождении трафика через такие конфигурации NAT, внутренний адрес и порт сопоставляется с конкретным внешним адресом и портом. Но если такая привязка адреса и порта не используется после истечения определенного количества времени (в зависимости от конфигурации устройства), то такую привязку NAT исключает из обслуживания. Поэтому, когда внутреннее устройство SIP пытается подключиться снова к внешнему устройству (которое может быть тем же устройством, к которому было подключение ранее), используя тот же внутренний IP и порт, маршрутизатор назначит предыдущий IP адрес и порт.

Протокол STUN

STUN это протокол типа «клиент-сервер». STUN сервер обычно работает на протоколах TCP и UDP и прослушивает порт 3478. Клиент обычно обращается к STUN серверу на конкретный IP адрес и порт (3478), но сервер может использовать для выполнения запросов-ответов и альтернативный IP адрес и номер порт.

Сценарий работы STUN сервера

На диаграмме ниже мы видим типичный запрос и ответ STUN сервера:

 

protocol_stun

  • Шаг 1: Компьютер A отправляет STUN запрос, через роутер 192.168.1.1, к внешнему STUN серверу с IP адресом 64.25.58.65.
  • Шаг 2: Роутер (192.168.1.1) перенаправляет запрос к STUN серверу (64.25.58.65) и меняет порт 5060 на 15060.
  • Шаг 3: STUN сервер (64.25.58.65) отправляет ответ в сторону компьютера A , через роутер с публичным IP адресом 212.128.56.125, указывая, что первоначальный запрос был получен с IP адреса 212.128.56.125 и порта 15060

Когда компьютер устанавливает сеанс связи, на основе протокола SIP, с внешним устройством, он может уведомить внешнее устройство, что отправку пакетов обратно к компьютеру А следует производить на IP адрес  212.128.56.125 и порт 15060. Как сказано выше, протокол STUN играет очень важную роль при создании сеанса связи между устройствами, находящимися за NAT.

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

Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.

 
Powered by SEO CMS ver.: 23.1 TOP 2 (opencartadmin.com)
 
Метки: STUN, VoIP