Поговорим через Интернет? Анализ популярных сетей интернет-телефонии::Журнал СА 11.2005
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1826
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1887
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1446
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1066
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1636
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Поговорим через Интернет? Анализ популярных сетей интернет-телефонии

Архив номеров / 2005 / Выпуск №11 (36) / Поговорим через Интернет? Анализ популярных сетей интернет-телефонии

Рубрика: IP-телефония

МИХАИЛ ПЛАТОВ

Поговорим через Интернет?

Анализ наиболее популярных сетей интернет-телефонии

Знаете ли вы, что с помощью компьютера можно не только работать с документами, играть, обмениваться письмами, но еще и разговаривать? Сегодня, отбросив максимум рекламной шелухи, мы рассмотрим достоинства и недостатки трех наиболее популярных клиентов интернет-телефонии – Skype, Gizmo Project и Google Talk.

«А в чем, собственно, вопрос?»

За последние несколько месяцев рынок компьютерной телефонии пережил несколько значительных событий. Наиболее интересными среди них являются запуск проекта Gizmo Project, а также открытие голосового сервиса компанией Google. Сразу после этого в сети появились многочисленные статьи, рассказывающие о преимуществах новых сетей перед старыми конкурентами. Как ни странно, сколь-нибудь единого мнения о том, какая же сеть на данный момент является лучшей, представлено не было. Более того, мнения различных обозревателей зачастую оказывались диаметрально противоположными. Для внесения ясности в этот вопрос было произведено небольшое исследование, с результатами которого вы сможете ознакомиться в этой статье. Итак, кандидат №1 – Skype.

Skype, «Let the whole world talk for free»

В недалеком 2003 году, основатели сети KaZaA Николас Зенстром и Янус Фрис создали революционную для своего времени программу для интернет-телефонии с совершенно непонятным названием – Skype. Ее изюминка заключалась в том, что для передачи «голоса» использовались идеи пиринговых сетей, широко используемых для обмена файлами (Napster, KaZaA, Gnutella и др.). С тех пор в течение почти трех лет сеть Skype активно развивается, а количество пользователей программы неуклонно продолжает расти. За первый год работы сеть набрала свой первый миллион активных пользователей, за второй год – еще два, сейчас их количество медленно, но верно приближается к отметке в 5 миллионов… Последним значимым этапом в истории Skype стало слияние с известными и популярными сервисами электронной коммерции e-bay и PayPal [1].

Что же лежит в основе успеха Skype? Для ответа на этот вопрос достаточно посмотреть на список основных возможностей программы:

  • Передача речи, мгновенных сообщений и файлов.
  • Высокое качество речи.
  • Проведение конференций.
  • Связь с традиционной телефонной сетью (через сервисы SkypeIn и SkypeOut).
  • Дополнительные возможности (интеграция с MS Outlook, Firefox, работа с сетями wi-fi хот-спотов, возможности «корпоративного» управления счетами и др.).
  • Шифрация всех передаваемых данных (алгоритмы AES, RC4).
  • Отличная работа из-за NAT и бранд-мауэров.
  • Поддержка различных платформ (Windows, Mac OS X, Linux, PocketPC).
  • Наличие API для разработки собственных расширений программы.
  • 27 различных языков в интерфейса клиента Skype.

Как работает Skype

Для того чтобы понять техническую часть, обратимся к рис. 1.

Рисунок 1. Структура сети Skype

Рисунок 1. Структура сети Skype

Сеть состоит из программных клиентов Skype, работающих на компьютерах пользователей. В зависимости от условий работы один и тот же клиент может выступать либо как «обычный узел», либо как «суперузел» сети [2]. У последних есть по меньшей мере два характерных признака:

  • Они всегда имеют реальный интернет-адрес.
  • Они принимают непосредственное участие в поддержке работы сети Skype.

Собственно, благодаря наличию «суперузлов» Skype и относят к децентрализованным сетям. Поиск абонентов, отслеживание их текущего состояния (активен/не активен), обмен мгновенными сообщениями и файлами – все это производится с участием «супер узлов». Впрочем, их самой важной функцией является то, что каждый из них может выступать посредником при передаче голосового трафика между другими клиентами сети Skype, находящимися за серверами NAT (см. вариант «3» на рис. 1). Теоретически подход Skype позволяет бороться абсолютно со всеми видами NAT (см. врезку «NAT и STUN»), правда, к сожалению, борьба эта ведется руками ничего не подозревающих абонентов (ведь физически «суперузлы» находятся на компьютерах самых обычных пользователей сети). Так, один день работы Skype в режиме «суперузла» может стоить владельцу компьютера до 800 Мб трафика других пользователей Skype [3]. Ситуация усугубляется тем, что на данный момент не существует официального способа запретить клиенту Skype становиться «суперузлом». Конечно же, можно схитрить и поместить свой компьютер за NAT, но в таком случае вы лишь обострите проблему качества речи в сети, переложив ее решение на плечи других пользователей Skype.

Личное знакомство

Итак, идем на http://www.skype.net и загружаем Windows-версию клиента Skype (на момент написания статьи – версия 1.3.0.66). Владельцам модемов придется подождать загрузки 7-мегабайтного файла установки. После инсталляции запустим программу и зарегистрируем себе уникальное имя в сети Skype.

Интерфейс программы достаточно прост и понятен (см. рис. 2).

Рисунок 2. Интерфейс skype-клиента

Рисунок 2. Интерфейс skype-клиента

Первое, что мы сделаем, – найдем человека, с которым будем общаться (можно искать по skype-именам или просто найти пользователей в режиме Skype-me, желающих поболтать), и добавим его в список контактов. После этого, нажав на зеленую кнопку внизу экрана, мы начнем звонить. В моем случае вызов проходил достаточно долго – около 10 сек. Кроме того, когда у вызываемого абонента было запущено несколько skype-клиентов на разных компьютерах (для Skype такая ситуация допускается), звонок иногда доходил только до одного из них.

Методика тестирования

Для каждой из рассматриваемых сегодня программ проводился определенный набор испытаний. В процессе каждого теста субъективно оценивались качество передаваемой речи, а также величина задержки. С помощью Ethernet-снифера определялись характерные особенности реализации работы клиентов из-за NAT (используемые протоколы, IP-адреса узлов, участвующих в передаче голосового трафика).

При тестировании проверялось качество работы в следующих сценариях:

  • Разговор между двумя абонентами, находящимися за одним и тем же NAT-сервером (внутри организации или локальной сети).
  • Разговор между абонентом находящимся в Интернет (dial-up-подключение), и абонентом за динамическим NAT (разговор между пользователями Интернета, подключенными к одному и тому же провайдеру).
  • Разговор между двумя абонентами (dial-up и LAN), находящимися за различными несимметричными NAT-серверами (разговор между пользователями Интернета, подключенными к различным провайдерам).

Вариант, при котором оба клиента непосредственно подключены к Интернет при тестировании не рассматривался. Такая схема подключения является достаточно редкой. Все же чаще такие люди работают либо из-за сервера NAT, либо через прокси-сервер (локальные и корпоративные сети) и очень редко напрямую (как правило, это удел конечных пользователей, часто dial-up). К тому же проведение всех вариантов тестов с реальными интернет-адресами в моем случае было несколько затруднительным. Отчаиваться по этому поводу не стоит, результаты тестов в данном сценарии более чем предсказуемы.

Тестирование Skype

Первый же тест преподнес сюрприз – даже находясь в одной локальной сети, клиенты Skype умудрялись обменивались данными через «суперузел» в Швейцарии, подключенный к Интернету с помощью беспроводной технологии 802.11. (провайдер Monsoon Networks). Думаю здесь комментарии излишни.

При тестировании по второй схеме поведение клиента полностью соответствовало ожидаемому – данные передавались напрямую между участниками (см. вариант «2» на рис. 1). Субъективно качество речи было лучше, чем при разговоре по обычному телефону, но все-таки хуже, чем у конкурентов (см. ниже).

Третья схема (см. «3», рис. 1) полностью повторила результаты первой, разве что география в этот раз была другой – Великобритания, Япония и США. Качество речи сильно менялось от звонка к звонку – от полной невозможности разговора, до редких пропаданий речи, видимо, при разговорах выбирались различные «суперузлы». Объяснить причину такого поведения достаточно сложно – протокол закрыт и зашифрован, а сама Skype не спешит раскрывать миру особенности объектов своей интеллектуальной собственности.

Чем плох Skype?

Самым большим «злом» Skype является то, что он использует ресурсы компьютеров своих пользователей для нужд всей сети в целом.

В результате, некоторые образовательные учреждения США и Европы официально запретили своим работникам и студентам использовать Skype.

В основе программы лежат закрытые протоколы. Никто до конца точно не знает, что на самом деле делает Skype, какие данные и куда он может передавать (посредством тех же «суперузлов»). Исходный код клиента также закрыт, поэтому нам остается лишь «верить», что он не содержит Spyware или других подобных средств.

Из-за использования закрытого протокола интеграция Skype с другими сетями на данный момент крайне затруднительна. Впрочем, судя по существованию SkypeOut, это не означает, что интеграция невозможна в принципе, ее нет скорее по политическим причинам.

Большая часть выпускаемого сегодня оборудования для Skype (так называемые skype-телефоны), работает только вместе со skype-клиентом на компьютере пользователя. Таким образом, достаточно сложно использовать skype без компьютера.

Gizmo Project

Автором и владельцем этого проекта является Майкл Робертсон, известный миру такими брендами как mp3.com и Linspire (в прошлом – Lindows). В 2003 году Майкл основал компанию SipPhone, задачей которой было создание сети IP-телефонии на базе протокола SIP. В середине 2005 года состоялся анонс бета-версии программного клиента для этой сети – Gizmo Project, который многие незамедлительно назвали первым реальным конкурентом Skype.

Итак, давайте посмотрим, что же может Gizmo:

  • Передача голоса и мгновенных сообщений.
  • Связь с традиционной телефонной сетью через службы Call In и Call Out.
  • Связь с абонентами Gizmo через выделенные городские номера доступа (набор добавочного SIP-номера).
  • Проведение конференций, в том числе и с абонентами ТФОП.
  • Бесплатная голосовая почта.
  • Возможность записи разговоров.
  • Отображение участников разговора на карте мира.
  • Использование эмотиконов и звуковых вставок.
  • Поддержка открытых стандартов (SIP, Jabber).
  • Связь с другими VoIP-сетями, использующими SIP.
  • Возможность работы с использованием аппаратных SIP-шлюзов и IPтелефонов.

В отличие от Skype, архитектура сети SipPhone более традиционна (см. рис. 3).

Рисунок 3. Структура сети SipPhone

Рисунок 3. Структура сети SipPhone

В центре сети находятся серверы сети SipPhohe. Благодаря использованию открытых протоколов в сети возможна работа не только клиентов Gizmo Project, но и любых других, поддерживающих протокол SIP, в том числе и аппаратных (список рекомендуемого оборудования можно найти на сайте проекта.

Всем участникам сети SipPhone доступны бесплатные голосовые звонки абонентам других SIP-сетей (несколько VoIP-сетей университетов, VoIPсети проекта SipBroker по всему миру). Кроме того, относительно просто должна достигаться и организация связи с обычными телефонными сетями, за что еще раз скажем спасибо протоколу SIP.

Для передачи мгновенных сообщений используется открытый протокол XMPP, на основе которого работают сети Jabber. На данный момент Gizmo Project является участником IMконфедерации [4], что автоматически означает обмен сообщениями с абонентами других jabber-сетей.

Визуальная «примерка»

Основным сайтом проекта является http://www.gizmoproject.com. Именно оттуда, из раздела Download, я и загрузил последнюю версию клиента (1.1 на момент написания статьи). Размер дистрибутива для Windows-платформы – чуть более 9 Мб.

Интерфейс клиента достаточно удобен и интуитивно понятен (см. рис. 4).

Рисунок 4. Интерфейс Gizmo Project

Рисунок 4. Интерфейс Gizmo Project

В основе лежит стандартная для всех IM-клиентов идея «списков друзей» (buddy list). Имеется поиск, записная книжка и история совершенных звонков. Последняя централизованно хранится на сервере и доступна с любого компьютера (у Skype история хранится локально). Голосовая почта реализована просто – все оставленные сообщения в виде wav-файлов (к сожалению, ничем не сжатых) отсылаются на указанный в системе e-mail.

Таким образом, сообщения голосовой почты также можно централизованно хранить на любом почтовом сервере. В параметрах настройки Gizmo можно указать второй e-mail адрес, на который будут отсылаться уведомления о пришедших голосовых сообщениях (так предлагается реализовывать SMS-оповещения). При желании можно настроить безусловную переадресацию входящих звонков на другой номер, в том числе и номер ТФОП (в этом случае абонент будет оплачивать все переадресуемые звонки по соответствующему тарифу для Call Out).

Другой приятной особенностью Gizmo является отображение участников разговора на карте мира (см. рис. 5). Для этого используется интерфейс системы Google Maps. К слову реализация этой возможности тоже имеет мелкие недостатки. Так при совершении звонков через Call Out на карте вместо расположения вызываемого абонента (которое достаточно точно можно определить по номеру телефона) показывалась точка в США (предположительно точка установки шлюза, соединяющего SipPhone c традиционными сетями).

Рисунок 5. Отображение положения участников разговора на карте мира

Рисунок 5. Отображение положения участников разговора на карте мира

Работа с NAT

В этом пункте Gizmo Project продолжает следовать идее максимального использования уже существующих и проверенных технологий. При работе с клиентами, находящимися за NAT, используется открытый протокол STUN. Правда, как показало практическое исследование поведения текущей версии Gizmo, возможности STUN реализованы далеко не полностью – только для передачи данных между клиентом за NAT и интернет-сервером сети SipPhone. В этом случае на качество речи значительное влияние будет оказывать взаимное расположение клиента и сервера. Последний, к слову, находится в США.

Если же вспомнить, что в сети SipPhone помимо клиентов Gizmo также работают обычные шлюзы и IP-телефоны, то все сразу встает на свои места – реализованные возможности STUN оптимальны с точки зрения совместимости с другими устройствами сети. Впрочем, это вовсе не означает, что специальные расширения функциональности для лучшей совместной работы Gizmo из-за NAT невозможны в принципе…

Групповое использование

Одним из таких «расширений» можно считать службу Bonjour. Последняя является реализацией открытого протокола IETF Zeroconf и активно используется в MacOS X для простой работы с сервисами в локальной сети (сетевые настройки компьютеров, работа с файлами и принтерами, обмен музыкой и картинками). С помощью этой службы клиенты Gizmo Project могут напрямую передавать голосовой трафик при звонках в рамках одной подсети.

Некоторые пользователи сообщали о проблемах в работе управляемого оборудования D-Link, возникающих после установки Bonjour (вместе с Gizmo Project или Apple iTunes) [5], поэтому если возможность прямых разговоров в локальной сети вам не нужна, а потенциально «проблемное» оборудование имеется просто деинсталлируйте эту службу с помощью программы TurnOffBonjour.exe, входящей в стандартную инсталляцию Gizmo.

Особенности терминации

Для тестирования услуги звонков на обычные телефоны все вновь регистрирующиеся пользователи получают на счет 35 центов. Стоимость звонка в Россию – 7 центов, тарификация – поминутная. В процессе короткого, но интенсивного тестирования Call Out качество речи было несколько хуже, чем при внутрисетевых звонках. Причиной этому, судя по всему, являлось транскодирование. Дело в том, что подавляющее большинство оборудования операторов не поддерживает даже открытый кодек iLBC, не говоря уже о коммерческом ISAC и его собратьях из пакета GIPS. Поэтому звонки перед терминацией скорее всего подвергаются транскодированию на одном из серверов SipPhone, которое и приводит к некоторому ухудшению качества речи. С другой стороны, благодаря транскодированию даже пользователи с низкоскоростными интернет-каналами могут делать call-out-звонки с приемлемым качеством.

Для услуг междугородной и международной телефонии SipPhone, как и другие подобного рода компании, скорее всего использует возможности крупных операторов IP-телефонии. Как правило, последние для передачи голоса используют выделенные сети IP MPLS, поэтому проблем с ухудшением качества на их участке не возникает и наибольшее влияние все-таки оказывает состояние интернет-канала между клиентом и сервером SipPhone. На данный момент серверов SipPhone, работающих за пределами США, обнаружено не было – при разговорах голосовые пакеты всегда передавались через единственный сервер, расположенный в США. (Справедливости ради нужно отметить, что при прочих равных условиях качество речи в Gizmo при проведении тестирования из-за NAT было лучше, чем у Skype, использующего для транзита «суперузлы» в Японии, Европе и США.)

А все ли хорошо в американском королевстве…

К сожалению, при работе с Gizmo не обошлось и без большой ложки дегтя. Во-первых, программа действительно является бета-версией (а местами даже и альфа), особенно в плане стабильности. Так, клиент несколько раз произвольно завершал свою работу (особенно часто при попытке отправки IM-сообщений на русском языке), причем перед повторным запуском часто требовалось вручную завершить процесс gizmo.exe. Небольшой осадок оставила функция отображения звонков на карте при вызовах в ТФОП. В некоторых специфичных условиях клиент просто не мог подключиться к сети. Однако с учетом того, что программа активно развивается и все еще имеет официальный статус «бета», можно надеяться, что в скором времени эти и другие недочеты будут успешно устранены.

Google Talk

24 августа 2005 года состоялся официальный анонс еще одной голосовой службы, на этот раз от компании Google, известной миру своей одноименной поисковой системой. Название простое – Google Talk или сокращенно – Gtalk.

Основные возможности:

  • Передача голоса и мгновенных сообщений.
  • Отображение качества разговора в реальном времени.
  • Уведомления о непрочитанных письмах в почтовом ящике.
  • Быстрое открытие ящика Gmail.

Как видим, список невелик, но давайте воздержимся от поспешных выводов, ведь, как известно, больше не значит лучше…

Знакомство

Первой приятной особенностью программы стал ее размер – всего лишь 900 Кб.

Для работы с Google Talk понадобилась учетная запись почтовой системы Google Mail. Для получения последней нужно попросить любого знакомого с почтой Gmail прислать вам приглашение. К сожалению, других официальных способов регистрации в Gmail для людей, проживающих за пределами США, на данный момент нет.

После получения приглашения и успешной регистрации можно войти в Gtalk. Интерфейс программы типичен для Google – просто, удобно и в то же время красиво (см. рис. 6).

Рисунок 6. Интерфейс Google Talk

Рисунок 6. Интерфейс Google Talk

Имеется традиционный список контактов, для его наполнения можно использовать адресную книгу Gmail или просто ввести e-mail нужного человека в поле поиска. Если введенный почтовый адрес не является адресом почтовой системы Google, то вам будет предложено пригласить этого пользователя в Gmail прямо из Google Talk. С пользователями, имеющими статус «Available», можно общаться. При голосовых сеансах качество речи в реальном времени отображается индикатором верхней панели, причем достаточно корректно.

Интерфейс клиента вылизан до мелочей. Приятные меню, автодополнения при вводе адресов, моментальное открытие ящика Gmail (без ввода пароля), удобные уведомления о новой почте, ненавязчивое звуковое сопровождение – и все это при размере дистрибутива в 900 Кб! За интерфейс Google Talk без разговоров получает свои заслуженные 5 баллов.

Протоколы, диалекты…

С технической точки зрения выбор Google особенно интересен. Если Skype использует собственный закрытый протокол, а Gizmo Project – стандартный для IP-телефонии SIP, то в основе Gtalk лежит протокол Jabber/XMPP, широко используемый Open Source-сообществом для передачи мгновенных сообщений. Благодаря этому совместно с Google Talk гипотетически можно использовать абсолютно любой Jabber-клиент. Список гарантированно работающих альтернатив можно найти на соответствующем разделе сайта google [6]. Клиенты будут работать с сервером Google, поэтому создавать учетную запись в Gmail все равно придется. В будущем планируется обмен сообщениями с другими jabber-серверами в рамках проекта IM Federation [7]. Передача речи на данный момент возможна только между родными клиентами Google Talk.

В будущих версиях заявлена поддержка протокола SIP. Помимо этого Google также обещает открыть сообществу детали использования XMPP для передачи голоса в Google Talk [8].

Работа с NAT

При работе с клиентами, находящимися за NAT, Gtalk также использует STUN. Качество реализации STUN от Google впечатляет – во всех рассматриваемых сегодня схемах с NAT Gtalk всегда удавалось передавать голосовые данные напрямую между участниками. Как вы помните, Skype в этом случае использовал «суперузел», а Gizmo – специализированный сервер в США. Субъективная оценка качества речи лишь подтвердила объективные данные – среди всех рассмотренных участников наилучшее качество речи было у Google Talk.

Связь с телефонными сетями

В настоящее время официально такой услуги нет. Информации о ее возможном появлении также нет. Однако изучение сигнальных сообщений, передаваемых между сервером и клиентами Gogle Talk, обернулось несколько неожиданным сюрпризом – помимо декларирования поддержки кодеков GIPS и двух стандартных вариаций G711 в сообщениях также присутствовала следующая запись:

<payload-type xmlns=http://www.google.com/session/phone id="4" name="G723"/>

Таким образом, возможно, уже сейчас в клиенте Google Talk есть поддержка популярного в мире IP-телефонии кодека G723! С точки зрения здравого смысла это может означать одно – интеграция с телефонными сетями не за горами. Причем благодаря тому, что поддержка кодека есть непосредственно в клиенте, отпадает необходимость в перекодировании речи, что для конечных пользователей должно отразиться в более высоком качестве речи при разговорах с абонентами телефонных сетей. Главное, чтобы версия в клиенте Google оказалась совместимой с тем, что называется G723.1 у телефонистов…

Чего в Gtalk нет

Оценивать функциональность Google Talk достаточно сложно. Если в ряду его конкурентов рассматривать Skype и Gizmo Project, то, безусловно, наиболее существенным недостатком будет отсутствие связи с традиционной телефонной сетью. Если же конкурентами будут «мессенджеры» от Microsoft, AOL и Yahoo, то в сравнении с ними уже имеющиеся на данный момент возможности передачи голоса будут более чем достаточны.

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

Статус и стабильность

На данный момент сервис Gtalk официально находится в стадии Beta. Однако, как показало непродолжительное, но достаточно интенсивное тестирование, детище Google на данный момент более чем стабильно – за все время испытаний не возникло ни одной ошибки.

Таким образом, приставка beta в названии данной программы скорее означает то, что пока в программе реализована не вся желаемая функциональность.

Российский путь

Некоторое представление о том, как развивается интернет-телефония в мире, мы получили, но что происходит у нас? Говоря об интернет-телефонии в России, можно упомянуть, как минимум, два проекта – Mail.Ru Agent и сеть Sipnet.ru.

Mail.ru Agent

Детальное изучение MRA показало, что он скорее является очередным ICQ-клоном, ориентированным в первую очередь на обмен мгновенными сообщениями. Голосовые функции номинально имеются, но качество их практической реализации (по сравнению с тем же GTalk) оставляет желать лучшего. Оценку голосовых возможностей, к сожалению, произвести не удалось – при нахождении абонентов за NAT слышимость была нулевой.

С технической точки зрения MRA использует собственный бинарный протокол (на вид достаточно ICQ-подобный), что ограничивает круг его применения только абонентами mail.ru.

Sipnet.ru

А вот этот проект, как оказалось, имеет самое что ни на есть непосредственное отношение к теме нашего сегодняшнего разговора. Сеть sipnet в некотором смысле можно считать российским аналогом SipPhone. Так, с 27 октября каждый желающий может бесплатно подключиться к сети sipnet.ru, заполнив небольшую форму на веб-сайте. Собственного программного клиента (как Gizmo Project у sipphone), у sipnet нет, вместо это предлагается использовать бесплатные версии программ, поддерживающих протокол SIP (CounterPath x-lite, Microsoft Messenger и др). Также можно использовать аппаратные голосовые шлюзы, причем юридическим лицам Sipnet готов предоставить их бесплатно.

Работа с NAT

Как видно из названия, сеть использует протокол SIP. Вариант борьбы с NAT стандартен – STUN. Сеть предоставляет свой сервер (stun.sipnet.ru), клиентская часть протокола присутствует во всех популярных SIP-клиентах. По информации с официального сайта, реализация STUN в sipnet.ru позволяет работать даже из-за симметричного NAT, хотя на практике установить соединение из-за NAT при помощи клиента x-lite мне не удалось. (хотя Gtalk, Skype и Gizmo соединялись без проблем).

Связь с телефонными сетями

Связь с телефонными сетями возможна в двух вариантах:

  • Звонки абонентов sipnet в ТФОП.
  • Звонки из ТФОП абонентам spinet.

Для «приземления» звонков в телефонные сети используется платформа Tario Softswitch. Одной из ее особенностей является то, что абоненты сами могут выбирать конкретные узлы, через которые будут совершаться их звонки (до появления sipnet эта возможность была доступна только операторам, работающим с Tario). Специалистам интерфейс-платформы более чем понятен (ведь для них это и делалось), а вот начинающего пользователя он запросто может поставить в тупик – «интуитивного понимания» нет. Прежде чем что-либо сделать, рекомендуется обязательно ознакомиться с соответствующим разделом встроенной системы помощи. Кроме того, часть настроек учетной записи доступна в свойствах учетной записи сервера CommuniGate PRO. Описание этих настроек приводится уже в другом месте. Другими словами, в плане «дружелюбного» интерфейса spinet еще есть чему поучиться…

Второй вариант использует те же узлы сети Tario, но уже для вызова абонентов sipnet. Позвонив на номер узла Tario в вашем городе и набрав добавочный SIP-номер абонента, вы можете позвонить любому пользователю сети sipnet. Если же абонент занят или недоступен, вы можете оставить ему сообщение голосовой почты (для реализации этой возможности используется платформа CommuniGate PRO). Список городов и номеров телефонов узлов доступа на данный момент приводится только в личном кабинете абонента sipnet. Звонок на узел Тарио тарифицируется как звонок на обычный городской телефон.

Качество речи

К сети могут подключаться любые SIP-совместимые клиенты. На официальном сайте имеются инструкции по настройке Microsoft Windows Messenger и CounterPath X-lite. При работе с этими программами скорее всего придется использовать самые неэкономичные кодеки G711A и G711U (MS Messenger других и не знает, а все остальное, что входит в x-lite, на практике не поддерживается терминирующими шлюзами провайдеров).

Как мы помним из [11], для такой связи нам понадобится канал связи около 80 кБит/c в каждую сторону (пользователям dial-up можно не беспокоиться).

Если же взять SIP-клиент или аппаратный шлюз с поддержкой G723 или G729, то можно без проблем пользоваться междугородной связью, а вот при разговорах с другими абонентами сети трудности останутся – изза ограничений нашего канала мы не сможем говорить с пользователями x-lite и MS Messenger.

В принципе эта проблема могла бы решаться использованием централизованного перекодирования (как это, например, делает sipphone при терминации), но, насколько мне известно, такого сервиса у sipnet.ru пока нет.

Краткий итог

Основные плюсы sipnet.ru:

  • Бесплатные внутрисетевые звонки и голосовая почта.
  • Дешевые междугородные и международные звонки.
  • Возможность звонков абонентам сети sipnet через выделенные городские номера.
  • Возможность пополнения счета через российские системы интернет-расчетов.
  • Дополнительные возможности (настройки маршрутизации, заказ звонков).
  • Возможности группового использования.

Основные минусы sipnet.ru

  • Нет удобного и интуитивно понятного интерфейса пользователя.
  • Нет четких правил относительно используемых кодеков.
  • Сложности в работе dial-up-клиентов.
  • Нет четкой политики относительно использования мгновенных сообщений.
  • Общие недочеты в реализации служб (неполная локализация), отсутствие https в личном кабинете, нетипичный интерфейс форума.

Вместо выводов

В заключение подведем краткий итог. Самое большое преимущество Skype – количество пользователей. Согласитесь, довольно сложно использовать Gizmo, если все знакомые в Skype, а если вспомнить, что Skype еще и закрыт, то надеяться на «мягкую» миграцию и вовсе не приходится. Если же раньше вы и ваши друзья не пользовались интернет-телефонией, посмотрите на Gizmo Project или Google Talk. С помощью первого можно звонить на обычные телефоны, второй же может прийтись по вкусу тем, кто дополнительно хочет сменить (или получить) e-mail. Владельцам широкополосного подключения к Интернету (128 кбит/с и выше) можно посмотреть в сторону sipnet, особенно если вам часто приходится звонить, а в плане мгновенных сообщений устраивает и ICQ.

Более подробное сравнение возможностей всех рассмотренных сегодня клиентов можно найти в Таблице 1.

Таблица 1. Сводная таблица возможностей

Возможности

Skype

Gizmo Project (Beta)

Google Talk (Beta)

Sipnet.ru*

Связь с телефонными сетями

Да

Да

Да

Да

Возможность проведения конференций

Да

Да

Нет

Нет

Мгновенные сообщения

Да

Да

Да

Нет

Голосовая почта

Да, за дополнительную плату

Да, бесплатно

Нет

Да, бесплатно

Дополнительные услуги

(переадресация, автоответчик и т. д.)

Да, за дополнительную плату

Да

Нет

Да, средствами платформы CommuniGate PRO

Передача файлов

Да

Нет

Нет

Нет

Возможность работы с другими сетями

Нет

Да

Нет

Да

Шифрация трафика

Да

Нет

Нет

Нет

Субъективная оценка работы с NAT (максимум – 5 баллов)

4

3

5

2

«Прямые звонки» между абонентами  локальной сети

Нет

Да, с помощью Bonjour

Да, с помощью STUN

Неизвестно

Возможность записи разговоров

Да, с использованием средств 3-х фирм

Да, с помощью самой программы

Да, с использованием средств 3-х фирм

Нет

Набор речевых кодеков

от Global IP Sound

Да

Да

Да

Нет

Используемый протокол

Собственный

SIP

XMPP

SIP

Возможность контроля качества речи

в реальном времени

Нет

Номинально присутствует, но работает некорректно

Есть, работает достаточно корректно

Нет

Отображение собеседников на карте

Нет

Да

Нет

Нет

Возможность расширения функциональности

Да, через API

Нет

Нет

Нет

Размер дистрибутива

7,2 Мб

9,3 Мб

960 Кб

Неприменимо

Потребление памяти при работе

18,4 Мб

14 Мб

2,6 Мб

Неприменимо

Поддерживаемые платформы

Windows, MacOS X, Linux, Pocket PC

Windows 2000/XP,

MacOS X, Linspire

Windows 2000/XP

Неприменимо

Статус

Release

Beta

Beta

Неприменимо

*  Приводятся возможности только для сети Sipnet.ru. Sipnet – это не клиент, а открытая сеть и некоторые пункты к нему (как к сети) не применимы

Приложение

NAT и STUN

На сегодняшний день подавляющее число компьютеров подключено к Интернету с использованием протокола четвертой версии протокола IP. Одной из известных проблем этой версии является нехватка адресного пространства. Так, для адресации в IPv4 используется 32 разряда, что позволяет обращаться к 4 294 967 296 устройств. Для Интернет на стадии его зарождения (20 лет назад) эта цифра казалось огромной. С позиции настоящего времени эта цифра уже не кажется столь большой, напротив, многие говорят о грядущей нехватке IP-адресов, особенно когда начнут появляться бытовые устройства (телефоны, холодильники и другие предметы бытовой техники), подключенные к Интернету. Сейчас же для «экономии» часто используется механизм NAT – Network Address Translation. Общую идею NAT можно описать так: преобразование адресов одной сети в адреса другой сети. В наиболее популярном частном случае (подключение локальной сети к Интернету) это будет трансляция внутренних адресов локальной сети (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) в один внешний интернет-адрес, полученный от провайдера. Обрабатывая пакеты, NAT-сервер будет просто заменять «локальные» адреса клиентов своим интернет-адресом, а при получении ответных данных из Интернета будет проводить обратное преобразование. При этом для служб, работающих на уровне IP, никаких проблем не возникает – NAT прозрачно меняет заголовки IP-пакетов. С протоколами более высокого уровня, к сожалению, возникают проблемы. Так, при установке соединения с помощью SIP участники диалога внутри SIP-сообщений указывают IP-адреса и номера портов, которые будут использоваться для передачи RTP-пакетов. Если NAT-сервер не занимается анализом содержимого пакетов на уровне протокола (а именно так все известные реализации и поступают), то RTP-пакеты просто не дойдут до адресата, ведь в SIP-сообщениях будут указаны внутренние немаршрутизируемые адреса участников. Для решения этой проблемы используется протокол STUN – Simple Traversal of UDP through NAT [9]. Его основная идея заключается в том, чтобы дать возможность клиенту определить, что он находится за NAT, а также сообщить ему IP-адрес и номер порта, которые получатся после трансляции внутреннего адреса сервером NAT. Имея эту информацию, клиент сможет сам правильно указать в SIP-сообщениях внешний адрес и номер порта для передачи RTP-данных на сервере NAT.

С точки зрения STUN выделяются 4 основных типа реализации NAT-серверов:

  • Динамический неограниченный NAT. В этом случае все запросы от определенного внутреннего IP-адреса и порта отображаются на один и тот же внешний IP-адрес и порт. Кроме того, различные узлы Интернета могут послать пакеты узлу за NAT, отправляя их на соответствующий порт NAT-сервера.
  • Динамический NAT, ограниченный по IP-адресам. То же, что и предыдущее, за исключением того, что внешние узлы могут посылать пакеты только в том случае, если узел за NAT сам предварительно посылал им какие-либо пакеты.
  • Динамический NAT, ограниченный по IP-адресам и портам. То же, что и предыдущее, только ограничения заданы более жестко: узел в Интернет может отсылать пакеты только с того порта, на который он предварительно что-то получил от узла из-за NAT.
  • Симметричный NAT – все пакеты от внутреннего IP-адреса и порта к внешнему IP-адресу и порту преобразуются в один и тот же IP-адрес и порт NAT-сервера. Отличие заключается в том, что при обращении к различным внешним IP-адресам порты на NAT-сервере тоже будут изменяться. Таким образом, только один интернет-узел может посылать пакеты узлу, находящемуся за NAT-сервером.

Для первых трех типов NAT можно с успехом использовать внешний STUN-сервер, а вот для четвертого типа этот метод уже не поможет – номера портов, назначаемые для пакетов к STUN-серверу и второму участнику разговора, будут разными. Единственным возможным здесь вариантом является интеграция функциональности STUN-сервера в прокси-сервер голосового трафика. В этом случае номера портов будет возможно определить, и соединение будет установлено. Вам это еще ничего не напоминает? Правильно! Именно так и работает механизм «суперузлов» сети Skype, позволяющий успешно работать даже из-за симметричного сервера NAT.

«Sound by Global IP Sound»

Такую фразу можно встретить в описании большинства рассмотренных сегодня систем (кроме сети Тарио и агента Mail.Ru). Некоторые пояснения по поводу смысла этой фразы можно найти на сайте [10]. Согласно размещенной там информации, предметом деятельности компании Global IP Sound является разработка и лицензирование речевых кодеков IP-телефонии, обладающих высоким качеством речи и более устойчивых к потерям IP-пакетов. Наиболее известным кодеком этой компании является iLBC – Internet Low Bitrate Codec (см. [11]), описание алгоритма работы которого можно найти в RFC-3951. Другими, но уже закрытыми, кодеками GIPS являются – iSAC, Enhanced G711, iPCM-wb. Более подробное описание их особенностей можно найти в [12], кратко информацию, приводимую в данном документе, можно выразить так: «Закрытые кодеки при определенных условиях могут обеспечить лучшее, по сравнению с конкурентами, качество передачи речи».

А теперь, как говорится, вопрос на засыпку – если все рассмотренные сегодня сети для передачи речи используют один и тот же набор кодеков от GIPS (а судя по официально доступной информации, так оно и есть), то почему же так отличается качество передачи речи в различных сетях?

Можно привести два варианта ответа на этот вопрос:

  • Используются различные алгоритмы выбора конкретного кодека из пакета, предоставляемого GIPS. Реально это может означать следующее – там, где одна программа выбирает, например, iLBC с размером потока 13.3 кБит/с, другая благодаря использованию более совершенных методов определения имеющейся пропускной способности выбрала менее требовательный ISAC с битрейтом 10 кБит/с. Как результат, при нехватке пропускной способности качество речи у второго клиента будет лучше.
  • Благодаря выбору более оптимального маршрута удалось найти такой путь доставки пакетов, что задержка и процент потерь оказались меньше, чем у конкурентов.

Первый случай скорее является крайностью, и его суть кратко можно выразить так – «ошибка проектировщиков и программистов».

Второй вариант, при прочих равных условиях, может оказывать очень сильное влияние на качество. Так, разговаривать через неизвестный узел в Японии или беспроводного клиента в Швейцарии (Skype), как правило, оказывалось хуже, чем через выделенный сервер в США (Gizmo). Лучшее же качество достигалось при передаче данных напрямую между участниками разговора (Google Talk).

Литература и ссылки:

  1. http://investor.ebay.com/event.cfm.
  2. Salman A Baset, Henning Schulzrinne, An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol, September 2005.
  3. http://www.connect.ru/article.asp?id=4997.
  4. http://www.imfederation.com.
  5. http://www.voipuser.org/forum_topic_2567.html.
  6. http://www.google.com/talk/otherclients.html.
  7. http://www.imfederation.com.
  8. http://www.google.com/talk/developer.html#protocols.
  9. Rosenberg J, STUN – Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs), RFC3489, march 2003.
  10. http://www.globalipsound.com.
  11. Платов М. Что важно знать об IP-телефонии. – Журнал «Системный администратор», №5, май 2005 г. – 20-25 c (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=05.2005;a=01).
  12. Global IP Sound GIPS Codecs – http://www.globalipsound.com/datasheets/Codecs.pdf.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru