Характерным недостатком VoIP-телефонии также является искажение сигнала, называемое джиттер, то есть дрожание. Джиттер возникает из-за разброса во времени доставки VoIP-пакетов, которые по умолчанию должны приходить один за другим непрерывным потоком.
Задержки сигнала возникали с момента появления VoIP-телефонии. При трафике через Интернет невозможно гарантировать мгновенную доставку голоса собеседнику. На пути трафика обязательно возникает «узкое» место, где образуются пробки из информационных пакетов, – в Интернете тоже бывают пробки, как и в любом крупном городе. Отличие только в том, что в Интернете их устранить легче, чем на автомобильных дорогах, – каналы постоянно расширяются, и на них устанавливается более скоростное оборудование.
В 1995 году каналы связи, оборудование для коммутации и сетевые настройки были настолько слабыми, что задержки сигнала при VoIP-связи составляли 400-4000 миллисекунд, то есть 0,4–4 секунды. На сегодняшний день ситуация улучшилась, но задержки до сих пор имеют место. Крупнейшие провайдеры VoIP-телефонии декларируют максимальный уровень задержки в 150 миллисекунд и стараются это обеспечить.
На реальный уровень задержки влияют многие факторы: перегруженность Сети в данный момент, количество пользователей, расстояние между собеседниками, тип соединения и даже тип оборудования, через которое проходит трафик.
Многообразие стандартов
После прочтения глав из технического раздела «Протоколы, кодеки, алгоритмы» вы поймете, что в мире VoIP до сих пор нет единых стандартов. Связисты в лице ITU (International Telecommunication Union – Международный телекоммуникационный союз) продвигают стандарт Н.323. Компьютерщики придумали открытый стандарт SIP и создают все новые сервисы на его основе. Бизнесмены идут своим путем, создавая нестандартные сервисы и пытаясь заработать на них, – например, создатели нестандартной программы Skype, а это шведские бизнесмены и эстонские программисты, заработали около $2 млрд долларов. Их программа приобрела популярность, и бизнес удалось продать за огромные деньги. Эстонские программисты, впрочем, не получили своих миллионов, потому что трудились исключительно за зарплату.
Закрытые интернет-пейджеры с поддержкой VoIP выпускают крупнейшие интернет-корпорации – Yahoo! Google, MSN и AOL. Программу Skype также можно занести в этот список, потому что теперь она принадлежит богатейшей интернет-корпорации eBay. Каждая из этих программ закрыта от других, но корпорации вкладывают миллионы долларов в развитие и продвижение именно своей программы. Это настоящая битва стандартов на фоне конкуренции между финансовыми гигантами.
К сожалению, приверженцы открытых стандартов не обладают такими огромными финансовыми ресурсами, поэтому VoIP-программы, работающие на открытых стандартах и совместимые друг с другом, такие как Gizmo или SIPphone, пока не получили широкого распространения. Однако многие эксперты считают, что будущее именно за ними.
Протоколы, кодеки, алгоритмы
Разберемся, каким образом работает интернет-телефония. Общая схема такова.
1. Голос переводится в цифровую форму (оцифровка) и сжимается (компрессия).
2. Цифровой поток разбивается на пакеты, которые отправляются по компьютерной сети в пункт назначения.
3. Система адресата получает пакеты с голосовым потоком, осуществляет их «сборку», после чего переводит информацию обратно из цифровой формы в аналоговую.
Расскажем подробнее о каждом из этих этапов.
Оцифровка и сжатие
Оцифровка аналогового сигнала означает, что колебания воздуха превращаются в ряд нулей и единиц. На первом этапе колебания воздуха от вашего голоса фиксируются мембраной микрофона. На втором этапе задействован обычно блок аналого-цифрового преобразования (АЦП) звуковой карты компьютера.
Процесс оцифровки имеет следующие стадии.
1. Выборка.
2. Квантование сигнала.
3. Кодирование.
Самый известный стандарт кодирования звука называется PCM (Pulse Code Modulation – импульсно-кодовая модуляция), известный также как стандарт G.711. Он предполагает выборку 8000 образцов речи в секунду. Каждый из образцов имеет размер 8 бит, так что результатом работы РСМ является цифровой поток 64 000 бит/с (рис. 1.3).
Рис. 1.3. Запись голосового сигнала на компьютере после оцифровки
Одновременно с оцифровкой звука кодек РСМ обеспечивает и эффективное сжатие цифрового сигнала. Основной принцип сжатия звука основан на том, что человеческое ухо не воспринимает большую часть звукового спектра. Кроме того, голос человека занимает лишь узкую полосу в диапазоне всех слышимых звуков.
Диапазон слышимых частот составляет примерно 200-20 000 Гц. Частоты человеческого голоса лежат в пределах 200-10 000 Гц, а типичные частоты телефонного сигнала – в диапазоне 300-3000 Гц.
Только за счет эффективной выборки частот уже можно сжать сигнал в несколько раз. Применяются и другие, более сложные методы компрессии. Как уже было сказано, кодек РСМ обеспечивает цифровой поток 64 000 бит/с. Существуют и другие стандарты оцифровки звукового сигнала. Вот некоторые из кодеков, которые входят в базовый набор Н.323 (рис. 1.4):
• G.711 (РСМ) – 64 Кбит/с;
• G.721 (ADPCM) – 32 Кбит/с;
• G.723 (ADPCM) – 24 Кбит/с;
• G.726 (ADPCM) – 16 Кбит/с;
• G.728 (LD-CELP) – 16 Кбит/с;
• G.729 (CS-ACELP) – 8 Кбит/с.
Рис. 1.4. Архитектура Н.323 и основные стандарты, входящие в этот набор
Набор стандартов Н.323 используется в некоторых программах для интернет-телефонии, таких как NetMeeting и Ekiga. Однако сегодня Н.323 не является единственным общепризнанным стандартом, хотя и рекомендован к использованию ITU.
Существует еще стандарт SIP (о нем будет рассказано позже), а также различные кодеки и коммерческие протоколы для передачи трафика, которые не являются признанными стандартами. Сегодня в мире насчитывается более 650 различных VoIP-сервисов, зачастую несовместимых между собой. Самый известный – это Skype. Существуют национальные VoIP-сервисы, например в России.
Закрытые протоколы Skype – это нестандартные протоколы связи и кодеки. Несмотря на это, сервису удалось добиться популярности. По оценкам экспертов, пользователи Skype составляют не менее 20 % всей аудитории пользователей сервисов VoIP в мире. На данный момент это самая популярная в мире VoIP-программа.
Передача пакетов
Транспортировка цифрового трафика через Интернет осуществляется с помощью TCP/IP – набора технологий и прикладных программ, связанных с передачей данных через Интернет. Это протоколы TCP и IP, вспомогательные протоколы DNS (Domen Name System – система доменных имен), UDP (User Datagram Protocol – протокол пользовательских дата-грамм), ARP (Address Resolution Protocol – протокол разрешения адресов) и многие другие. Сегодня TCP/IP – это целое семейство технологий, но на заре Интернета это были только два протокола – TCP и IP.
TCP и IP – это два базовых протокола Сети, которые были изобретены более 25 лет назад. Их функция заключается в объединении миллионов разнородных компьютерных систем, разбросанных по всему миру, в единую сеть, которая и называется Интернет.
Информация в Интернете, как уже говорилось ранее, перемещается в виде пакетов. Протокол IP обеспечивает адресацию сетевых пакетов. С помощью этого протокола прокладывается маршрут среди миллионов компьютеров, выполняющих роль шлюзов. Каждый из этих компьютеров работает как звено в цепи, получая пакеты от одного соседа и передавая их другому.
Протокол TCP обеспечивает установку надежного соединения между двумя компьютерами. С его помощью контролируется оптимальный размер пакетов передаваемых данных, а также осуществляется, например, повторная посылка пакета в случае сбоя. С помощью протокола TCP передается основная часть всего трафика в Интернете, кроме голосового.
Для голосового трафика вместо TCP используется протокол UDP. Он же используется для организации видеоконференций в Сети. Интернет-телефония не является приложением TCP/IP, но принято говорить именно так, потому что сам протокол UDP всегда рассматривается как часть TCP/IP.
Главное отличие между транспортировкой в Интернете обычной информации (тексты, веб-страницы) и голосовым трафиком – это использование разных транспортных протоколов: в первом случае используется TCP, во втором – UDP, который наряду с IP-протоколом является базовым для транспортировки голосового трафика.
Поверх UDP работают еще три специальных протокола:
• NTP (Network Time Protocol – протокол сетевого времни) – отвечает за синхронизацию времени на компьютерах адресата и получателя, чтобы передавать голосовые пакеты в правильной последовательности и в заданное время. Это важно для качества связи;
• RTP (Real-Time Transport Protocol – транспортный протокол реального времени) – это транспортный протокол реального времени, предназначенный для передачи через Интернет мультимедийных данных, в том числе аудио и видео. RTP выполняет такие функции, как идентификация типа полезной нагрузки, нумерация последовательности пакетов и присвоение временных меток. RTP был разработан для многоадресного вещания, но он подходит и для организации сессий типа «точка – точка», то есть для VoIP-телефонии (http://www.compdoc.ru/network/internet/videopotoki/ (http://www.compdoc.ru/network/internet/videopotoki/));
• RTCP (Real-Time Transport Control Protocol – протокол управления передачей в реальном времени) – это протокол управления передачей, который работает в паре с RTP и помогает следить за качеством передаваемого сигнала, уровнем перегрузки канала связи, а также утерей пакетов.
Все три протокола службы UDP работают вместе и гарантируют транспортировку VoIP-пакетов точно по адресу в заданное время (чтобы задержки почти не были уловимы на слух) с максимально возможным качеством.
При передаче голосового трафика через Интернет пакеты VoIP помещаются внутрь пакетов RTP, а те, в свою очередь, – в пакеты UDP-IP.
Отдельно отметим протокол SIP, который сейчас является одной из самых современных и популярных технологий для реализации VoIP-сервисов. Он обеспечивает не только передачу VoIP, но и передачу видео, мгновенных сообщений, информации в онлайновых играх и внутри виртуальной реальности. Это универсальная технология.
Набор SIP включает в себя большое количество различных спецификаций, которые приближают VoIP к традиционной телефонной связи по качеству и надежности. Эти спецификации также добавляют новые функции VoIP. Например, если во время разговора поступает входящий вызов от другого абонента, то протокол SIP позволяет принять его в разговор (устроить трехстороннюю связь), либо отклонить вызов, либо поставить его на удержание. При помощи SIP пользователь также может изменить характеристики звонка прямо во время сеанса связи. Например, если сеанс связи был инициирован как «только голосовой», то в процессе можно подключить и функцию передачи видео. Это очень удобно, если к разговору подключается, скажем, третий участник и хочет передать файл.