5

или они покидают ЛВС, если им это не нужно?

Если обе стороны в вызове находятся в одной и той же локальной сети, проходят ли голосовые пакеты вызова SIP/Skype через Интернет?

Если так, как мне избежать этого? Я хочу сохранить пропускную способность и улучшить качество связи.

Я знаю, что с SIP контрольные пакеты должны достигать контроллера, который чаще всего является удаленным, но фактические голосовые пакеты могут передаваться по P2P-соединению, не покидая ЛВС. В чем я не уверен, так это в том, как заставить это работать, и может ли то же самое случиться со скайпом.

5 ответов5

3

Хотя это возможно, это маловероятно. Есть несколько простых способов, которые вы можете сказать наверняка.

Сначала выполните трассировку от одного клиента к другому, чтобы убедиться, что сеть настроена правильно. Если пакеты traceroute покидают ЛВС, некоторые из них серьезно неправильно настроены.

Затем начните звонок VoIP. После того, как вызов начался, физически вытащите штекер из вашего WAN-соединения, убедившись, что ваша ЛВС включена и работает. Если вызов не сброшен, пакеты изолируются в вашей локальной сети. Если вызов сброшен, он определенно маршрутизируется неэффективно.

3

Я не знаю точного ответа, но я подозреваю, что да, Skype будет использовать вашу локальную сеть. Это тривиальная проверка, и я не вижу причин, почему люди из Skype не включили бы это в свое приложение.

  1. Skype свяжется с суперузлом по TCP, чтобы установить соединение.

  2. Супер-узел увидит, что оба компьютера находятся за NAT в вашей локальной сети, и, безусловно, на пути есть брандмауэр с ограничением портов. Обычно это означает, что суперузел должен маршрутизировать трафик между узлами. Но супер узел может видеть, что оба компьютера имеют один и тот же публичный IP-адрес.

  3. Супер-узел говорит вашим ПК отправлять аудио (через UDP) на внутренние адреса NAT друг друга и видеть, что происходит. Это будет сделано только потому, что они имеют один и тот же публичный IP-адрес. В случае успеха ПК будут общаться напрямую. В противном случае резервным вариантом является использование суперузла для маршрутизации звука.

Как я уже сказал, я точно не знаю, что делает Skype, но я работал над (как и в C++) системами VoIP раньше и знаю, что это простая оптимизация.

Вот некоторые темы на форуме, которые имеют разные мнения о том, работает ли прямая маршрутизация по локальной сети. Я подозреваю, что это не работает все время по любой причине, основанной на смешанных мнениях.

1

Хотя голосовые пакеты могут быть отправлены через P2P-соединение в локальной сети, вызывающий в этом случае использует стороннее устройство (серверы Skype) для поиска и подключения к получателю. Другими словами, Skype видит адреса WLAN звонящего и получателя. Адреса локальной сети видны только интернет-маршрутизатору, поэтому серверы Skype никогда их не увидят.

Таким образом, P2P-соединение может быть установлено только между двумя адресами WLAN.

1

Это может варьироваться в зависимости от протокола, но, так как вы указали SIP и Skype в своих тегах, я буду указывать на основе этих конкретных условий.

SIP основан на сеансе, поэтому, как только сеанс создается между двумя точками (посредством сервера SIP), фактические пакеты RDP, которые переносят аудиопоток RTP, перемещаются только между двумя точками, поэтому, если это происходит в локальной сети, один раз SIP-сервер (где бы он ни находился) инициирует соединение между двумя точками, он отходит назад, пока не получит запросы от любого из телефонов (например, передачи или прощания). Голосовые пакеты в этот момент никогда не покинут ЛВС.

Что касается Skype, то это не SIP, а проприетарный протокол с закрытым исходным кодом. Я, честно говоря, не уверен, как работает этот протокол, но я бы предположил, что он похож (перенаправление всего голосового трафика через сервер создает тяжелые нагрузки на этот сервер, и это соединение, которое, я думаю, будет стоить компании гораздо больше, чем стоит иметь дело с так как есть относительно немного преимуществ для этого).

0

Я думаю, что вам нужно будет использовать программу, которая ожидает прямого подключения к локальной сети для этого. Например, iChat может делать Bonjour, который не требует интернет-сервера для прокси-соединений.

Я подозреваю, что любой сервисный VOIP, который вы найдете, не сможет напрямую подключаться к локальной сети. По крайней мере, без "корпоративного" сервера на базе локальной сети в качестве прокси.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .