CommuniGate Pro
Версия 6.0
Сигналы
 
 
NAT

Прохождение NAT

"Базовая", "оригинальная" модель голосовых коммуникаций подразумевает, что конечные устройства могут взаимодействовать напрямую, то есть все "участники", как клиенты (телефоны, софтфоны, приложения PBX), так и сервера имеют "реальные" Интернет IP адреса. В этом случае все участники могут обмениваться медиа данными напрямую, отправляю медиа пакеты (обычно, используя протокол RTP или T.120) непосредственно друг-другу.

Как это часто бывает, в реальной жизни ситуация довольно сильно отличается от этой модели, и конечные устройства не могут обмениваться медиа данные напрямую. Сервер CommuniGate Pro решает эту проблему путём автоматического проксирования медиа данных, предписывая конечным устройствам отправлять медиа данные через Медиа Прокси для их дальнейшей ретрансляции.

Проксирование Медиа применяется в следующих случаях:
  • одно конечное устройство находится в локальной сети LAN, а другую в глобальной WAN.
  • одно конечно устройство находится за удалённым NAT, тогда как другое не находится за этим же NAT.
  • одно конечно устройства находится в сети IPv4, а другое находится в сети IPv6.
  • Проксирование Медиа явно затребовано компонентом Signal.

Проксирование Медиа также применяется компонентами SIP и XIMSS в случаях, когда вызов отправляется удалённому участнику.

Прохождение NAT и Проксирование Медиа Данных

"Базовая", модель коммуникаций подразумевает, что конечные устройства могут взаимодействовать напрямую, то есть, все "участники", как клиенты (телефоны, софтфоны, приложения PBX), так и сервера имеют "реальные" Интернет IP адреса. В такой ситуации Серверу необходимо только установить соединение. Медиа данные и (в случае SIP) управляющая сигналы, поступающие во время звонка, циркулируют непосредственно между конечными устройствами:

Базовый SIP Вызов

В реальной жизни множество клиентов находится в удалённых локальных сетях ("позади NAT") или в различных локальных сетях и не могут взаимодействовать напрямую. Для коммуникаций в реальном времени, основывающихся на публичных стандартах, CommuniGate Pro поддерживает автоматическое "Прохождение NAT".


Ближнее Прохождение NAT

Модули SIP и XIMSS CommuniGate Pro определяют запросы на установление сессии, отправленные от одной стороны через NAT другой стороне (запрос от клиента в локальной сети, направляемый участнику в Интернет/WAN и наоборот). В этом случае сервер использует специальный локальный порт сервера (или набор таких портов, в зависимости от используемого медиа протокола) и осуществляет проксирование медиа данных. Сервер изменяет запросы на установление сессии и направляет трафик обоих сторон через такой прокси.

Медиа Прокси ретранслирует медиа данные между "плечом LAN" и "плечом WAN" медиа соединения:
Ближнее Прохождение NAT для SIP

Модули SIP и XIMSS CommuniGate Pro определяют запросы на изменения сессии (команду re-INVITE протокола SIP) и запросы на закрытие сессии (команду BYE протокола SIP) и, соответственно, изменяют или удаляют Медиа Прокси. Для удаления "заброшенных" Медиа Прокси используется механизм тайм-аутов.

CommuniGate Pro обеспечивает услуги проксирования NAT для:

Обратите внимание: Если вам необходимо использовать функции Проксирования Медиа, убедитесь, что данные о конфигурации LAN и NAT на странице с настройками LAN заданы корректно.

Обратите внимание: Сервер автоматически выполняет Медиа Проксирование при ретрансляции запросов, приходящих с IPv4 адресов на IPv6 адреса и наоборот.


Дальнее Прохождение NAT

SIP и XIMSS модули CommuniGate Pro обладают так же возможностями "дальнего" прохождения NAT, обнаруживая запросы, приходящие от клиентов, находящихся за удалёнными межсетевыми экранами или NAT.
Модули добавляют соответствующие Записи-Маршруты и заголовки Пути к таким запросам и организовывают Медиа Проксирование, ретранслируя трафик между такими клиентами.

Дальнее Прохождение NAT для SIP

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

Обратите внимание: из-за особенностей TCP протокола и самой концепции межсетевого экрана, в общем случае невозможно открыть TCP соединение с клиентом, находящимся за дальним NAT (в конфигурациях с "ближним" NAT такие проблемы отсутствуют). Это означает, что клиенты, находящиеся за "дальними" NAT не могут инициировать TCP (T.120) сессии.

Для того, что бы решить эту проблему, вы можете:

Услуги Edge

SIP Модуль CommuniGate Pro может оказывать "Услуги Edge" или ALG ("Application Level Gateway", "Шлюз Уровня Приложений"), предоставляя возможности по прохождению NAT для пользователей, зарегистрированных на других серверах.

Услуги Edge SIP

SIP Модуль CommuniGate Pro умеет обнаруживать "медиа петли", когда вызов, совершённый из локальной сети LAN проксируется в глобальную сеть WAN, а затем проксируется обратно в ту же локальную сеть. В этом случае Медиа Проксирование не осуществляется, что позволяет избежать непроизводительных затрат ресурсов сервера и SIP клиенты получают возможность взаимодействовать напрямую внутри локальной сети, тогда как все необходимое взаимодействие с серверами по регистрации пользователей по-прежнему осуществляется вне локальной сети.

Минимизация Медиа Проксирования

SIP модуль может обнаруживать намного более сложные случаи зацикливания и отменять Медиа Проксирования полностью или частично, минимизируя число используемых Прокси.


Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.