Схема. VoIP — голос в «Интернете»

Термин IP-телефония появился не так давно. В буквальном смысле он означает «телефонная связь с передачей через протокол IP». Так как протокол IP используется для работы в глобальной сети Интернет, то IP-телефонию часто связывают именно с Интернетом. С одной стороны, IP-телефония напрямую обязана своей популярностью именно Интернету, с другой стороны, Интернет при ее использовании играет лишь роль транспорта. Поэтому в широком смысле термин IP-телефония следует распространять не только на Интернет, но и на корпоративные сети. Для обозначения IP-телефонии обычно используется аббревиатура VoIP (Voice over IP — голос поверх IP).
Схема VoIP — голос в «Интернете» 1
Первыми передавать голос через цифровые каналы стали телефонисты, а не интернетчики. Они уже достаточно давно стали задумываться над тем, как уплотнить телефонные линии за счет применения цифровых способов передачи. Сейчас связисты используют, в основном, волоконно-оптические линии связи, где через одно волокно одновременно могут передаваться сотни тысяч разговоров. Эти линии интегрированы в сети операторов связи так, что конечные пользователи и не догадываются, что используются цифровые каналы. Конечно, у подавляющего большинства абонентов сейчас стоят аналоговые телефоны, но аналоговый сигнал передается только на «последней миле» т.е. на отрезке линии от АТС до абонента. На самой АТС сигнал преобразовывается в цифровой и в этом виде «путешествует» между АТС. Отличным качеством междугородней и международной связи мы обязаны именно тому, что между АТС практически всегда сигнал идет в цифровом виде, а цифровой сигнал не искажается при передаче.

Аналогичным образом работают и сети сотовых операторов, только там «последняя миля» вообще отсутствует: мобильные телефоны стандартов GSM и CDMA2000 являются полностью цифровыми устройствами, которые напрямую работают в цифровой сети оператора сотовой связи. Именно поэтому в сотовых сетях этих стандартов невозможно услышать помехи — им просто неоткуда взяться. А те «похрюкивания» и провалы, которые иногда возникают, вызваны потерей пакетов с голосовыми данными из-за плохой радиосвязи. Такие же искажения характерны, к сожалению, и для VoIP.

По имеющимся данным, концепция передачи голоса по сети с помощью персонального компьютера зародилась в университете штата Иллинойс (США). В 1993 г. Чарли Кляйн выпустил в свет первую программу для передачи голоса по сети с помощью персонального компьютера «Maven». Одновременно популярным мультимедийным приложением в сети стала программа видеоконференций CU-SeeMe для компьютеров «Macintosh» («Mac»), разработанная в Корнельском университете.

В апреле 1994 года, во время полета космического челнока «Endeavor», Американское агентство по аэронавтике NASA с помощью программы Maven передавало звуковой сигнал, который из Льюисовского исследовательского центра поступал на компьютер «Мае», соединенный с Интернетом, и любой желающий мог услышать голоса астронавтов. Потом одну программу встроили в другую, и появился вариант CU-SeeMe с полными функциями аудио и видео как для «Мас’ов», так и для персональных компьютеров IBM (PC).
В феврале 1995 г. израильская компания VocalTec предложила первую версию программы Internet Phone, разработанную для владельцев мультимедийных PC, работающих под операционной системой Windows. При первой демонстрации телефонии через интернетпротокол (IP) от PC к PC связь осуществлялась в полудуплексном режиме, то есть абоненты говорили по очереди.

Другие компании очень быстро оценили перспективы, которые открывала возможность разговаривать по телефону, находясь в разных полушариях и не платя при этом за международные звонки. На рынке появилось множество устройств, предназначенных для телефонной связи через Интернет.
В сентябре 1995 г. появилась программа DigiPhone, разработанная небольшой компанией в г. Далласе (штат Техас), которая обеспечивала дуплексную связь, т.е. позволила говорить и слушать одновременно. В принципе, в этот момент и родилась привлекательная для абонентов настоящая интерактивная связь.

В марте 1996 г. было объявлено о совместном проекте под названием «Internet Telephone Gateway» двух компаний: уже известной VocalTec и крупнейшего производителя программного обеспечения для компьютерной телефонии Dialogic. Цель проекта — научить работать через Интернет обычный телефонный аппарат (ТА). Для этого между Интернет и ТА устанавливался специализированный шлюз — VTG (VocalTec Telephone Gateway), представляющий собой голосовую плату Dialogic и специализированную программу.
Схема VoIP — голос в «Интернете» 2
Чтобы понять механизм VoIP, лучше сначала обратиться к обычному телефону (рис.1). А он работает так: голос воспринимается микрофоном (рис.2а), который преобразует его в соответствующий электрический сигнал. Этот сигнал подается в линию (при необходимости усиливается), передается по ней и достигает телефонного аппарата другого абонента. Там он поступает на динамик (телефонный капсюль), встроенный в трубку, преобразуется в звук и воспроизводится в ухо собеседнику. Аналогичная схема работает и со стороны второго участника разговора — его голос передается в первую трубку.
Поскольку по линии (рис.26) «гуляет» аналоговый сигнал, шумы и помехи, которые возникают в ней, накладываются на сигнал и «тесно объединяются» с ним. В результате, вместе с голосом собеседника мы слышим шорохи, трески, чужие голоса и пр. Отделить весь этот «мусор» от речи невозможно!

Другое дело — цифровая передача (рис.3). Как и при «классической телефонии», разговор воспринимается микрофоном телефонной трубки в виде аналогового сигнала. Аналого-цифровой преобразователь (АЦП) превращает этот сигнал в цифровой и кодирует его по определенному протоколу, т.е. преобразует в соответствующий аудиоформат. Сигнал сжимается с помощью кодека (кодера-декодера). Существуют различные кодеки, и, в зависимости от вида сжатия, они отбрасывают некоторую часть информации. Однако для обычного телефонного разговора ее в достаточно широких пределах можно считать несущественной.
Схема VoIP — голос в «Интернете» 3
Данные после сжатия передаются в линию. При передаче непрерывный поток данных кодека делится на небольшие пакеты, которые направляются к их конечной точке (нередко разными путями). У получателя пакеты временно сохраняются в буфере, сортируются и выстраиваются по порядку. Затем они проходят через цифроаналоговый преобразователь (ЦАП), и в динамике телефонной трубки мы слышим голос собеседника.
Протокол IP (Internet Protocol) разрабатывался еще во времена, когда каналы передачи были довольно медленными и плохо поддавались контролю. Именно поэтому IP был изначально ориентирован на каналы без определенной полосы пропускания и без гарантий обеспечения минимальных задержек при передаче. Другими словами, принцип его работы заключается в следующем: «передавать данные через любой канал». Речи об обеспечении требуемых параметров передачи трафика не шло.

Протокол IP передает данные, разбивая их на пакеты. При этом каждый пакет, кроме данных, содержит служебную информацию. Это важный момент, поскольку механизм работы VoIP таков, что часто голосовые данные в IP-пакете занимают лишь небольшую часть его объема, а остальное приходится на служебные заголовки. Этот недостаток вызван схемой работы протокола IP.

Когда протокол IP только разрабатывался, было решено, что при перегрузке каналов передачи пакеты, которые невозможно передать, будут просто уничтожаться. В VoIP это отразилось так, что если голосовой поток не проходит через имеющуюся в данный момент полосу пропускания канала, пакеты отбрасываются, и часть голосовой информации теряется. Именно это вызывает «похрюкивания» и провалы при использовании VoIP. Фактически VoIP вынужден подстраиваться под идеологию работы протокола IP, т.е. использовать кодеки с минимальными требованиями к полосе пропускания и способностью сглаживать провалы, которые возникают при потере пакетов из-за перегрузок каналов.
Схема VoIP — голос в «Интернете» 4
Отдельной проблемой является еще один «механизм» работы протокола IP — очереди. Суть этого механизма заключается в том, что при передаче пакетов через канал они ставятся в очередь, и, если в очереди много пакетов большого размера, то пакеты с голосовым трафиком передаются с задержкой (рис.4).

Представим себе такую ситуацию: в очереди «стоят» 3 пакета с голосовым трафиком размером по 128 байт и 30 пакетов с бинарными данными по 1500 байт. Предположим, пропускная способность канала — 64 Кбит/с. Тогда каждый 1500-байтовый пакет будет передаваться примерно 0,19 с, но таких пакетов в 10 раз больше, чем пакетов с голосовым трафиком. Соответственно, на каждый пакет с голосовым трафиком может передаваться по 10 пакетов размеров 1500 байт, а это уже задержка в 1,9 с между каждым пакетом с голосовым трафиком!

Именно с задержкой (delays) вы сталкиваетесь, когда используете VoIP и слышите своего собеседника с большим запозданием. Но в очереди не обязательно будет стоять 30 пакетов по 1500 байт и 10 по 128 байт. Возможны и другие комбинации. Это приводит к тому, что пауза между пакетами VoIP постоянно изменяется в зависимости от того, какие еще пакеты и в каком количестве стоят в очереди вместе с ними. Это явление получило название джиттер (jitter — дрожание).
Схема VoIP — голос в «Интернете» 5
Для работы с VoIP в Интернете обычно применяются две основные топологии:
— клиент — сервер (рис.6а);
— клиент — клиент (рис.56).
В топологии с сервером абоненты подключаются к нему и передают все данные только через сервер. При использовании топологии клиент — клиент абоненты могут напрямую обмениваться данными. Существует и третья, гибридная, топология (рис.6в), когда используется связь клиент — клиент, но при этом задействован и сервер, однако только для регистрации и поиска абонента.

Топология клиент — сервер работает в том случае, если абоненты находятся за межсетевыми экранами и требуется трансляция адресов. Тогда они не могут обмениваться пакетами напрямую, поскольку входящие соединения блокируются экранами. Топология клиент — клиент используется, когда клиенты могут обмениваться пакетами непосредственно друг с другом. Это — самая эффективная топология для VoIP, поскольку отсутствует необходимость сервера и каналов связи до него. Однако в такой топологии могут возникнуть сложности с определением IP-адреса, на который нужно «звонить». Гибридная топология решает проблему регистрации VoIP-клиентов достаточно просто, так что она является самой перспективной, поскольку не требует мощного сервера и канала его связи с Интернетом, но при этом сохраняет возможность централизованной регистрации и поиска абонентов.
Схема VoIP — голос в «Интернете» 6
Чтобы VoIP-абоненты могли общаться не только между собой, но и звонить абонентам обычной телефонной сети и получать от них звонки, используются VoIP-шлюзы (рис.6). Это — специальные устройства, которые подключаются к телефонной сети (традиционной), но при этом являются и абонентами VoIP-сети. Так как установка и поддержание шлюзов стоят ощутимых денег, в подавляющем большинстве случаев связь через них является платной. В общем виде структура системы, в которой можно общаться с помощью VoIP, показана на рис.7.
Наиболее популярный современный протокол для IP-телефонии — SIP (Session Initiation Protocol — «протокол установки соединения»), пришедший на смену протоколу Н.323. При создании SIP за основу были взяты протоколы, применяемые в самых популярных на сегодняшний день IP-сервисах: HTTP (Web) и SMTP (электронная почта). SIP основан на том же подходе, что и HTTP (запрос-ответ). Все служебные сообщения SIP — текстовые, и их можно совершенно спокойно читать, а коды возврата полностью аналогичны HTTP. Например, «404» — «абонент не найден», -200″ — «ОК» и т.п.

В принципе, SIP сам по себе не является протоколом для передачи голосовых данных (он вообще не привязан к передаче данных). SIP обеспечивает инициирование, контроль и завершение сеансов обмена информацией. А что именно будет являться передаваемой информацией (данными) — вопрос другой.
Тип передаваемых данных определяется отдельным протоколом SDP (Session Description Protocol — «протокол описания сеанса»), который работает в «связке» с SIP. Особенностью SDP является возможность менять параметры сеанса непосредственно во время обмена данными. Например, два собеседника общаются с использованием IP-телефонии посредством SIP, и один хочет передать другому какой-нибудь файл — SDP позволит сделать это в рамках этого же сеанса. Кроме того, ничто не мешает в том же SIP-сеансе переключиться на другой терминал.

Самая простая схема — два компьютера, соединенные сетью и передающие друг другу голоса своих пользователей (с использованием специального ПО). В этом случае и серверная, и клиентская часть выполняются параллельно на одном и том же компьютере. Кратко процесс, происходящий между двумя такими абонентами, можно расписать так:
— пользователь первого компьютера «снимает трубку» и набирает номер;
— его SIP-клиент генерирует сигнал INVITE (приглашение) для второго компьютера;
— у второго компьютера SIP-клиент выдает сообщение «180» (Ringing — звонок);
— второй пользователь слышит «звонок»;
— второй пользователь берет трубку;
— его SIP-клиент выдает сообщение «200» (ОК);
— первый SIP-клиент посылает второму сигнал АСК (подтверждение). Далее начинается передача голосового потока по протоколу RTP (Realtime Transport Protocol);
— когда разговор окончен и один из пользователей вешает трубку, SIP-клиент посылает сигнал BYE.

При многопользовательской среде в этом процессе принимают участие один или несколько маршрутизаторов и серверов, но суть, с точки зрения абонентов, мало отличается от самого простого случая.

Читайте также:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *