Компьютеры

IP-телефония — обзор технологий

IP-телефония,обмена голосовыми сообщениями,IP-телефон,IP

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

Немного истории: телефония

Изначально для передачи голоса использовался аналоговый сигнал — электромагнитная волна, передаваемая по медному проводу. Для одновременной передачи нескольких аналоговых сигналов по одному проводу использовалось частотное мультиплексирование (уплотнение). Основная полоса частот канала делится на некоторое число полос (подканалов) с помощью фильтров с частотами среза, сдвинутыми на 4 кГц относительно друг друга (фактическая полоса пропускания канала — 3,1…4 кГц). Полосы сдвигаются друг относительно друга методом амплитудной модуляции. Для устранения взаимного влияния подканалов используется защитная полоса, как правило, шириной 900 Гц (иногда ее можно услышать в трубке как шипение или вой). При высоких уровнях сигнала в каналах возникает перекрестная наводка, из-за которой слышен параллельный разговор или радио (последнее — результат улавливания радиосигнала каким-либо контуром).

Если уменьшить ширину полосы, в основной диапазон можно запихнуть больше подканалов. Модем на такой линии будет работать очень плохо (или вообще не сможет), хотя голос будет вполне узнаваем (мозг способен восстанавливать нечеткий или ошибочный сигнал так, как это не снилось современным адаптивным кодекам типа CS-ACELP).

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

Еще немного истории: передача данных

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

А вы куда звоните?

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

Сейчас для маршрутизации вызовов в телефонной сети используется группа протоколов SS7 (российский аналог — ОКС №7). Самое интересное, что для передачи сигнальных сообщений в SS7 используется пакетный протокол со статической маршрутизацией (в терминах IP). Развитие сетей передачи данных привело к отказу от временного мультиплексирования в пользу пакетной коммутации с установлением соединения (X.25, Frame Relay, ATM). Эта тенденция была обусловлена необходимостью выжать из емкости физического канала как можно больше, и сети с пакетной коммутацией используют для этого асинхронность, присущую природе трафика данных. Однако маршрутизация вызовов в таких сетях строилась на основе старых добрых телефонных принципов (кстати, X.25 и ATM имеют одинаковый с телефонией стандарт адресации ITU-T E.164). Сначала по служебному каналу происходила сигнализация установления соединения (то есть всем транзитным коммутаторам сообщалось о необходимости резервирования ресурсов под канал передачи), а затем начиналась собственно передача данных. Поэтому эти сети были жестко иерархическими и централизованными. Исключением являются сети ATM, но к моменту возникновения этой технологии уже был накоплен огромный опыт динамической маршрутизации в сетях IP.

Используемые аббревиатуры
ATM (Asynchronous Transfer Mode) — технология высокоскоростной одновременной передачи трафика всех видов (данные, голос и видео) в сетях с коммутируемыми каналами; стандарт на коммутируемые сети, утвержденный МККТТ в 1985 г.
SNA (Systems Network Architecture) — архитектура компьютерной сети для корпоративных систем, разработана IBM.
APPN (Advanced Peer-to-Peer Networking) — расширение архитектуры SNA, позволяющее системе автоматически настраиваться на топологию сети и направлять информацию по сети, минуя хост-компьютер.
TDM (Time-Division Multiplexing) — технология объединения информации, поступающей по нескольким низкоскоростным линиям, и ее дальнейшей передачи по одному высокоскоростному каналу связи.
ISDN (Integrated Services Digital Network) — стандарт связи, обеспечивающий высокоскоростную передачу по цифровой линии различных типов данных: текстовых, цифровых, звуковых, видео и пр.
OSI (Open Systems Interconnection) — семиуровневая модель протоколов передачи данных, утвержденная ISO в 1984 г. для обеспечения взаимодействия открытых систем.
DWDM (Dense Wave Division Multiplexing, Dense WDM) — технология уплотнения в оптоволоконных линиях связи, основана на использовании световых волн различной длины.
xDSL — собирательное название, обозначающее группу технологий цифровой абонентской линии DSL(Digital Subscriber Line)
IETF (Internet Engineering Task Force) — общественная организация, в которой обсуждаются технические проблемы сети Internet и создаются рабочие группы для их решения.
DTMF (Dual Tone Multi-Frequency) — двухтональный многочастотный набор номера, каждая цифра передается комбинацией двух тональных сигналов.
Более подробно расшифровку аббревиатур можно посмотреть на сайтах: www.midnight-computing.com (по-английски) и kolbi.ru (по-русски).

IP-революция

Революционность и успех протокола IP обусловлен тремя факторами. Во-первых, это протокол без установления соединения, использующий динамическую маршрутизацию пакетов. Чтобы начать передачу данных, не нужно сигнализировать приемнику и всем транзитным коммутаторам о необходимости создать канал из точки A в точку B. Сеть принимает пакет и маршрутизирует его «как фишка ляжет». Казалось бы, очень ненадежная система на деле оказалась сверхживучей (задачей разработчиков было построить сеть, которая бы функционировала при выходе из строя любого количества узлов). Во-вторых, это принцип независимости IP-стека от физической среды передачи. И наконец, гений Джона Постела, сформировавшего такие принципы принятия технических решений в Интернет-сообществе, которые сделали эти решения открытыми и общедоступными.

Общение за гроши

Решать проблемы передачи голоса по сетям с коммутацией пакетов пришлось, когда стали массово внедряться сети передачи данных. Организация, строившая инфраструктуру с нуля, была вынуждена строить две фактически независимые сети: одну для данных, другую для телефонии. Операторы связи, до 80% оборота реинвестирущие в инфраструктуру, тоже задумались над унификацией инфраструктуры для передачи всех видов трафика. Пока трафик данных не превалировал в сетях операторов связи, этот процесс шел медленно. Все изменил Интернет, благодаря которому появилась масса приложений и решений в области передачи данных по IP-сетям. Услуги Интернета стали доступны даже там, где услуги телефонии были минимальны. Появилась возможность общаться чуть ли не со всем миром за небольшую плату, причем практически в реальном времени. А раз можно общаться в чате с помощью клавиатуры, почему не попробовать делать это с помощью микрофона и мультимедийных колонок? Сначала возникли «наколенные» разработки, потом за дело взялись стартапы, за ними встрепенулись гиганты вроде Cisco, и мир связи вздрогнул.

ATM

Наиболее глубоко основные проблемы передачи голоса по пакетным сетям были проработаны при создании ATM. Здесь была предпринята попытка суммировать все накопленное сообществом как в области передачи данных, так и в области традиционной телефонии. Был расширен стандарт сигнализации для установления и управления соединений широкополосных сетей (B-ISDN), разработаны технологии широковещательной трансляции для групп абонентов (механизмы IP-multicast к тому времени уже существовали, но для широкополосных глобальных сетей это было новостью), созданы хитроумные методы контроля качества передачи, опиравшиеся на природу того или иного вида трафика. Кроме того, были разработаны технологии динамической маршрутизации с учетом качества обслуживания (QoS). Однако ATM не повезло, и, несмотря на всю комплексность и изощренность, технологию в настоящий момент можно считать мертвой. На мой взгляд, произошло это потому, что косность механизма принятия стандартов, их относительная закрытость, а также беспрерывные войны производителей за влияние на этом поле и, отчасти, сложность реализации не привели к созданию массовой индустрии решений для конечных пользователей. Оказалось, что проще инкапсулировать IP в ATM (принцип независимости от среды передачи) и использовать весь спектр IP-приложений, чем создавать приложения, «заточенные» именно под ATM.

То же произошло и с телефонией. Для стыка с унаследованными телефонными системами была разработана технология CES (circuit-emulation services), которая прозрачно транслировала TDM-каналы через сеть ATM. АТС связывались между собой по CES. При этом ATM-облако было для них совершенно прозрачно. Разумеется, это не стимулировало разработку ATM-телефонных станций и ATM-телефонов, аналогичных ISDN-продуктам.

От реальности к виртуальности

Следующим шагом стала оформившаяся по результатам всей этой титанической работы концепция виртуального коммутатора. Традиционная телефонная сеть жестко иерархична по уровням: зона, регион, центр агрегации (toll switch), городской коммутатор, учрежденческий коммутатор, PBX. Соответственно для организации регионального транзита телефонного трафика необходимо установить в каждом регионе мощный коммутатор и связать их всех между собой огромным количеством транковых каналов и каналов сигнализации, объединив в сеть SS7. Транзитный вызов сначала «поднимается» с помощью протоколов сигнализации по уровням, а затем «опускается» для определения конечного абонента в другом регионе. Всем коммутаторам отдается команда обеспечить соединение (выделить ячейки в коммутационной матрице). При этом число транковых каналов, а значит, количество одновременных соединений и емкость коммутационной матрицы АТС всегда во много раз меньше, чем общее количество абонентов, подключенных к коммутатору, поскольку статистически все пользователи одновременно не разговаривают. Если такое вдруг случится, телефонная сеть захлебнется (кстати, так и происходит в Новый год, когда за пять минут до боя курантов народ кидается поздравлять друг друга).

Предположим, АТМ или IP-сеть с узлами доступа есть в каждом регионе. На граничном коммутаторе определяется адрес конечного абонента, а затем вызов маршрутизируется по этому адресу автоматически. При этом вся сеть работает как один большой распределенный коммутатор. Использование концепции «виртуального коммутатора» позволяет значительно сократить вложения в инфраструктуру при построении крупных сетей связи.

Проблемы IP-телефонии и методы их решения

Основная проблема IP-сетей — качество обслуживания при транзите трафика реального времени. IP-протокол не нуждается в установлении соединения. Его базовый принцип состоит в том, что связность (connectivity) есть фундаментальный атрибут сети, позволяющий любому абоненту осуществлять коммуникацию с любым другим абонентом без процедуры установления соединения, резервирования ресурсов на транзитных коммутаторах и т. д. Однако это означает, что приложения, основанные на IP, не должны зависеть от вариации задержек при передаче пакетов. Для HTTP-протокола не важно, скачивается веб-страница пять или пятнадцать секунд. Для голосового трафика вариация задержки даже более критична, чем потеря пакетов. Пропадание одного или нескольких пакетов с короткими голосовыми фрагментами может быть компенсировано алгоритмом кодека с помощью адаптивной экстраполяции. В конце концов, пропадание цепочки фрагментов воспринимается ухом лишь как щелчок. А вот вариация задержки приводит к запаздыванию и плаванию звука, мешающим разговаривать. Из того же фундаментального принципа IP следует, что транзитный путь каждого конкретного пакета может быть разным. Следовательно возникает еще и проблема переупорядочивания пакетов.

Дабы решить общие проблемы качества обслуживания в IP, прикладывались колоссальные усилия. Были разработаны механизмы предупреждения и управления перегрузками транзитных коммутаторов и дифференциации классов IP-трафика. Но для обеспечения сквозного контроля качества от источника к приемнику их оказалось недостаточно. В результате был разработан протокол резервирования ресурсов для контроля качества обслуживания (RSVP). Он представляет собой протокол сигнализации всем транзитным коммутаторам о резервировании ресурсов для передачи высокоприоритетного трафика и выполняет две функции: определение оптимального (с точки зрения качества обслуживания) пути от источника к приемнику и резервирование необходимых ресурсов. Появление этого механизма фактически означает возврат к принципу предварительной сигнализации и установления соединения с заданными параметрами, как это и происходит в сетях традиционной телефонии и унаследованных пакетных сетях.

Другая проблема IP — избыточность заголовков. Есть такое понятие, как «задержка на пакетизацию голоса». Это время, используемое для заполнения пакета оцифрованными голосовыми фрагментами. Чем оно больше, тем больше голосовых фрагментов можно упаковать в пакет и тем эффективнее использование полосы пропускания. Однако абсолютная величина этой задержки ограничена. Если суммарная задержка в сети телефонии превышает 50 мс, возникает эхо-эффект и должны применяться алгоритмы эхоподавления. При разработке ATM было установлено, что размер полезного пространства ячейки (payload), равный 32 октетам, приводит к задержке пакетизации в 15 мс, что позволяет обойтись без эхоподавления. Однако наибольшая эффективность заполнения ячейки (с учетом того, что ATM-заголовок содержит всего пять октетов), а значит, и эффективность использования полосы пропускания достигается при 64 октетах. После долгих споров ITU-T одобрил фиксированный полезный размер ячейки, равный 48 октетам, что является средним арифметическим между скоростью и эффективностью.

Заголовок IP-пакета составляет 24 октета. Существует также заголовок второго уровня модели OSI. Это означает, что для адекватного использования полосы необходимо увеличить эффективное пространство пакета минимум в пять раз. Кроме того, имеет место задержка транзитной передачи по сети. В реальной жизни IP-телефония с приемлемым уровнем качества живет при общей задержке в 200–250 мс (хотя некоторые умудряются разговаривать и при 400–500 мс) благодаря применению механизмов эхоподавления и умных кодеков. Тем не менее, это приводит к значительному объему ненужного трафика, да и качество не совсем коммерческое. Для передачи мультимедиа-данных был разработан протокол RTP/RTCP (Real Time (Control) Protocol), обеспечивающий определение типа трафика, секвенсирование, временные метки фрагментов, синхронизацию и контроль передачи. RTP работает поверх UDP (это еще плюс 20 октетов заголовков). Механизм такой: сначала, используя протокол TCP, посылается сигнал вызова. Абонент подтверждает соединение (снимает трубку), устанавливается контрольное соединение (RTCP) и открывается несколько UDP сессий для передачи RTP-трафика.

Дабы избежать избыточности заголовков, была разработана технология компрессии заголовков CRTP, позволяющая сократить их размер в среднем до 2–4 октетов при передаче RTP-трафика. Принцип компрессии заголовков придуман Ван Якобсоном на заре развития IP-стека и основан на том, что после установления соединения служебная информация заголовков уже не нужна, коль скоро две системы договорились о параметрах соединения. Алгоритм Ван Якобсона, описанный в RFC 1144, применим для протокола TCP, ориентированного на установление соединения. CRTP — более продвинутая технология, обеспечивающая компрессию IP/UDP/RTP-заголовков. Идея заключается в том, что для обмена контекстом компрессии (статической информацией, содержащейся в заголовках исходных инкапсуляций, информацией о синхронизации и т. п.) выделяется специальное TCP-соединение. Тем не менее, протокол CRTP не решил всех проблем, связанных с избыточностью заголовков. На соединениях с большим количеством транзитных узлов (маршрутизаторов), а также на медленных или перегруженных каналах возникли проблемы масштабируемости. Каждый потерянный в пути компрессированный пакет вынуждает приемник сбрасывать и перезапрашивать целую цепочку, поскольку контекст компрессии рассинхронизируется на время всего цикла пути (round-trip-time — время прохождения пакета туда и обратно). Поэтому применение CRTP зачастую ограничено двумя соседними маршрутизаторами, соединенными прямыми каналами. Кроме того, реализация CRTP требует больших вычислительных ресурсов.

Эволюция технологии

Попытки строительства на базе стека IP мультисервисных сетей с поддержкой QoS, а также появление технологий, позволяющих увеличить пропускную способность физической инфраструктуры передачи данных (DWDM для оптоволокна и xDSL для меди), привело к эволюции самой технологии коммутации IP-пакетов. До Интернета ни одна сеть не достигала таких масштабов без того, чтобы не рухнуть под весом комплексных архитектурных проблем. Модернизации IPv4 назрела давно, и новая версия стека IPv6 отвечает на множество системных вопросов. Но появление IPv6 не стало революционным скачком — массового перехода на новую версию не было. Интернет демонстрирует гибкость и способность эволюционировать, сохраняя преемственность приложений. Технологии, разрабатываемые в рамках решения конкретных проблем, приводят к изменениям общей архитектуры сетей связи на системном уровне. Одна из таких технологий — MPLS — технология мультипротокольной коммутации меток.

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

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

Контрольная компонента архитектуры включает протокол маршрутизации третьего уровня модели OSI (в случае IP это OSPF или IS-IS), который работает согласованно с процедурами распределения и распространения меток. Она выполняет функции установления значений меток вдоль пути коммутации в соответствии с маршрутной информацией IP (или другого протокола). Эти функции реализуются с помощью протокола распространения меток (LDP).

После этого об ATM все постепенно забыли и начали разрабатывать новые возможности технологии, такие как новая концепция виртуальных частных сетей (VPN) и технологии управления потоками трафика в магистральных сетях (Traffic Engineering). Последние имеют непосредственное отношение к проблеме качества обслуживания в IP-сетях.

Протоколы маршрутизации в IP-сетях основаны на алгоритме Дейкстры — алгоритме построения кратчайшего пути в связном графе (SPF-протоколы, такие как OSPF, IS-IS). Все маршрутизаторы строят дерево кратчайшего пути к остальным узлам сети. Маршрутные таблицы строятся на основании этого дерева.

При чем здесь IP-телефония?

В конце 1999 года один из подписчиков списка рассылки IETF, посвященного разработке стандартов MPLS, задал сакраментальный вопрос: почему в названии MPLS присутствует слово «мультипротокольная», ведь работа идет над проблемами коммутации IP. На что гуру ему ответили: дескать, разрабатываемая концепция может быть применена к любому маршрутизируемому протоколу, но раз уж IP является доминирующим, то ради него все и стараются. Товарищ на этом не успокоился и инициировал дискуссию о передаче голоса по MPLS-сети. Идея проста и базируется на принципах коммутации в традиционных сетях телефонии. Коль скоро сигнализация и установление пути отделены от коммутации трафика, зачем добавлять лишнюю инкапсуляцию уровня IP для передачи оцифрованных голосовых фрагментов? Дискуссия завершилась выделением этого направления из рабочей группы IETF, однако работа шла, и в конце концов MPLS Forum выпустил рекомендацию «Voice over MPLS implementation agreement». Суть этого документа — определение архитектуры, форматов заголовков для оцифрованных голосовых фрагментов, DTMF-сигналов, передачи внутриканальной сигнализации (CAS) и т. п. Некоторые компании уже производят оборудование, позволяющее строить системы, основанные на этих принципах.

Что впереди

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

Что же делает IP-телефонию (и вообще пакетную телефонию) привлекательной и каковы ее перспективы?

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

Внедрение IP-телефонии как простой альтернативы стандартной телефонной связи для корпоративных клиентов, на мой взгляд, малоэффективно. Да, можно чуть сэкономить на междугородних переговорах и снизить затраты на инфраструктуру и сопровождение. Но если вам нужна просто учрежденческая АТС, лучше купить просто учрежденческую АТС. Многие производители подходят к IP-телефонии как к дополнительной игрушке на базе АТС, подключая к ней локальную сеть и вешая на нее модные IP-телефоны. Этот путь представляется мне тупиковым. IP-телефония ценна тем, что на базе единой технологической платформы интегрируются в единое информационное пространство два мира: мир компьютерной обработки информации и мир услуг голосовой связи. На пересечении этих миров открываются новые возможности, которые предприятия могут использовать для повышения производительности, а компании, развивающие бизнес интегрированных ИТ-услуг, — для разработки новых бизнес-моделей. IP-телефон сейчас представляет собой универсальный терминал, работающий по технологии тонкого клиента с универсальным мультимедийным сервером. Программирование на базе открытых стандартов позволяет легко превращать этот телефон в специализированный терминал, выполняющий те или иные производственные операции, например диспетчерский пульт, получающий данные из информационной системы и используемый для экстренной связи или ввода управляющей информации. На основе мультимедийных серверов можно организовывать универсальные порталы для общекорпоративной работы, интегрируя web-технологии, видеоконференцсвязь, электронную почту и телефонию. Возможности безграничны.

По материалам еженедельника «Компьютерра».