Совсем недавно протокол SIP считался предвестником революции на рынке телефонии. Теперь, когда серверы SIP наконец появились, не принесут ли они вместо обещанных благ всего лишь новые проблемы?
Крупнейший на Ближнем Востоке торговый пассаж располагается в южной части Иерусалима, олицетворяя собой триумф капитализма в стране, замешанной на идеях социализма. В нескольких сотнях ярдов отсюда, в офисе компании Deltathree, ее технический директор Марк Газитт предрекает революцию иного рода: «Компании, продающие только время доступа к телефонной сети, особых успехов не добьются: нужно предлагать дополнительные услуги». Газитт имеет в виду экзотические приложения Internet, объединяющие передачу голоса и данных со средствами «контроля присутствия» (presence) — технологией, применяемой в системах немедленного обмена сообщениями для индикации подключения пользователя.
На первый взгляд может показаться, что Газитт опоздал со своими прогнозами. Ни для кого не секрет, что цены на пропускную способность неуклонно падают, а операторы связи предпринимают титанические усилия в стремлении привлечь новых клиентов и удержать старых, предлагая все более разнообразные услуги. Но не надо забывать, что речь идет о Deltathree — операторе, который одним из первых создал глобальную службу передачи голоса IP (Voice over IP, VoIP), а идеи сокращения расходов на междугородную телефонную связь за счет передачи голоса через Internet ассоциируются в первую очередь именно с его деятельностью. В таком контексте предсказания Газитта приобретают поистине исторические масштабы.
Сегодня Газитт и его коллеги по телекоммуникационному бизнесу наконец получили то, что им нужно. Ведущие производители сетевых продуктов уже начали или собираются начать выпуск базовых устройств для построения сети, основанной на протоколе инициирования сеанса (Session Initiation Protocol, SIP). SIP является разработкой IETF и обеспечивает интеграцию голоса, данных, видео и немедленного обмена сообщениями в приложения Web. HTTP-подобная структура, открытая архитектура и компактность делают это решение более привлекательным для разработчиков Web, чем самый распространенный протокол для реализации VoIP — H.323, предложенный Международным союзом электросвязи (ITU).
В декабре 2000 г. CommWorks (дочерняя компания 3Com) начала поставки своего продукта CommWorks 4220, представляющего собой proxy-сервер SIP, по сути эквивалент маршрутизатора в сети SIP. Примеру CommWorks вскоре последовали Cisco Systems и Nortel Networks. Эта сфера деятельности уже освоена компаниями Ubiquity и DynamicSoft: они участвовали в разработке спецификации SIP и первыми представили на рынок свои proxy-серверы в 2000 г.
Имея реальные proxy-серверы SIP, провайдеры смогут понять, заслуживают ли продукты SIP того же внимания, что и архитектура SIP. Ответ на этот вопрос далеко не очевиден. Объявленные продукты SIP — это пока только начальные версии, причем усилия разработчиков сосредоточены главным образом на функциональных аспектах протокола и в меньшей степени на проблемах сетевого управления, средствах тестирования и т. п. А ведь без этих средств нельзя говорить о сколько-нибудь широком развертывании.
Но даже на уровне функциональных характеристик незрелость proxy-серверов SIP видна невооруженным взглядом. Совместимость продуктов, несмотря на заметный прогресс в этой области (к моменту написания данной статьи уже состоялось пять неформальных встреч компаний-производителей, на которых рассматривались вопросы обеспечения совместимости), все еще остается проблемой: например, серверы от разных производителей могут работать вместе, но только не в одном домене. Некоторые продукты испытывают трудности с масштабированием, для других масштабирование просто слишком дорого обходится. У всех proxy-серверов наверняка возникнут проблемы в связи с блокировкой их работы межсетевыми экранами и другими средствами безопасности, применяемыми в системах заказчика. Что же касается цен, то лишь Ubiquity изъявила готовность немного прояснить ситуацию.
Чтобы выяснить, как эти продукты выглядят в сравнении друг с другом, Network Magazine провел фундаментальное исследование рынка proxy-серверов SIP. Совместно с Deltathree была выработана система рейтинговых оценок для сопоставления многочисленных технических возможностей, предлагаемых теми или иными продуктами. Сравнение проводилось почти по 60 параметрам. Краткая сводка результатов исследования приводится ниже в таблице, а полный перечень функций и их оценок можно найти на узле http://www.networkmagazine.com. Так кто же вышел победителем? Если руководствоваться исключительно покомпонентным сравнением, то главным «хитом» следует признать продукт Ubiquity, набравший 93% от максимально возможной суммы очков; далее идут DynamicSoft — 91%; Nortel — 90%; 3Com — 78%, и Cisco — 72%. С точки зрения функций, которые в Deltathree считают наиболее важными, расклад оказался практически таким же: Ubiquity и DynamicSoft набрали по 96%, Nortel — 92%, Cisco — 79%, и 3Com — 75%.
Однако сравнение функциональности не дает полной картины. Чтобы понять реальное положение вещей, нужно как следует изучить перспективы технологии SIP и открывающиеся возможности поддержки различных приложений, а затем исследовать детали протокола и принципы работы proxy-серверов. Proxy-серверы можно разделить на две категории — с запоминанием состояния (stateful) и без запоминания состояния (stateless); они выполняют похожие, но все же разные функции. Уяснив суть этих различий, можно будет оценить, насколько осуществимы требования провайдеров в отношении производительности и масштабируемости данных продуктов. Устройства, предназначенные для телефонной сети, должны обеспечивать интеграцию с существующими межсетевыми экранами и устройствами преобразования сетевых адресов (Network Address Translation, NAT). Именно здесь, по-видимому, кроются наиболее серьезные для SIP проблемы совместимости. Компании-производители придерживаются разных подходов, ни один из которых не может решить все проблемы. Другим фактором, позволяющим дифференцировать продукты, является клиентская поддержка.
НОВЫЕ УСЛУГИ
Перспективы SIP становятся более зримыми на фоне плачевного положения, в котором сегодня пребывают операторы связи. Всем известно, как упали расценки на телекоммуникационные услуги. По данным компании TeleGeography, тарифы международной связи в течение 1999 г. снизились на 6 центов за минуту несмотря на то, что объем трафика увеличился на 17%. Телефонным компаниям пока удается получать прибыль за счет сокращения расходов, но их будущее предрешено: чтобы сохранить конкурентоспособность, провайдеры должны предлагать дополнительные услуги.
И тут появляются VoIP и SIP. Телекоммуникационные операторы могут теперь не только развивать службы телефонной связи на базе Internet и сетей IP, где они обходятся дешевле, чем в телефонной сети общего пользования, но и разрабатывать новые службы, интегрирующие голос, видео и данные со средой Web. Технология VoIP известна уже достаточно давно, но чрезмерная сложность протокола H.323 практически не позволяет говорить о сколько-нибудь серьезных успехах. По мнению Джеффа Скелтона, главного технического директора компании Net2Phone, ведущего провайдера услуг VoIP, разработчикам трудно решиться сделать выбор в пользу H.323 из-за двоичного формата сообщений. Сходство SIP с протоколом HTTP снимает эту проблему.
В результате открывается возможность для создания мощных служб, объединяющих голосовую связь и средства Web. Новой технологии вызова через Internet или общедоступную телефонную сеть при нажатии соответствующей кнопки на узле Web можно найти множество применений. Показательным примером, по-видимому, могут служить центры обработки вызовов Web: пользователь, нажимая кнопки, перемещается по страницам Web и получает от дежурного оператора ответы на конкретные вопросы.
Еще одна обширная область применения SIP — конференц-связь. Безусловно, через Web легче устанавливать интегрированную конференц-связь с использованием аудио- и видеосредств, однако важную роль играет еще один, совершенно новый фактор: SIP стандартизует поддержку контроля присутствия (так иногда обобщенно именуется технология немедленного обмена сообщениями). Благодаря этому координация вызовов в рамках конференции отныне сможет осуществляться автоматически, например, как только все участники выйдут на связь.
Другие вертикальные приложения для SIP пока находятся в стадии разработки. Так, компания Worldcom выпустила собственное обучающее приложение на базе Web. Учащиеся получают поток видео через Internet и с помощью экранных окон могут пользоваться документами, изменять текст или просматривать базу знаний Web в поисках дополнительной информации.
SIP В РАЗРЕЗЕ
Впрочем, прежде чем развертывать подобные приложения, нужно подготовить необходимую инфраструктуру. Для этого требуется создать ядро сети SIP: proxy-сервер SIP. Proxy-сервер — это устройство, обеспечивающее установление соединений между конечными точками, называемыми в терминах SIP пользовательскими агентами (User Agent, UA).
Происходит это так. Подключившись, агент UA регистрируется в базе данных, которая ведется на специальном сервере — сервере-регистраторе (позже процедура регистрации UA периодически повторяется). Обычно функции регистратора поручаются proxy-серверу. При поступлении запроса от пользователя UA отправляет на proxy-сервер команду INVITE для открытия сеанса связи с указанным адресом SIP, который отличается от адреса электронной почты только наличием префикса «SIP:» (например, SIP:dgreenfi@cmp.com). Если адресуемое устройство не имеет локального подключения к proxy-серверу, команда INVITE пересылается по цепочке proxy-серверов, пока сообщения не дойдут до сервера, обслуживающего искомый домен.
Как только вызов достигнет нужного proxy-сервера, поиск адресата осуществляется путем опроса сервера определения местоположения (прим. ред. — этот сервер не является частью архитектуры SIP, в качестве такого сервера может использоваться сервер службы каталогов или сервер любой другой службы, регистрирующий соответствие имени пользователя его текущему адресу). Пользователь может быть доступен по его настольному или мобильному телефону, по домашнему или какому-либо добавочному номеру. Поисковый сервер определяет способ доступа к пользователю, получает номер телефона, по которому тот должен находиться, и возвращает этот адрес инициатору вызова.
Имея активный адрес, proxy-сервер теперь посылает сообщение INVITE по месту назначения. Сообщения могут ретранслироваться одновременно через несколько proxy-серверов — этот процесс называется ветвлением (forking). Если пользователь принимает вызов, proxy-серверу посылается ответ OK, и тот передает его на вызывающую станцию. Вызывающая станция выдает сигнал подтверждения приема, и соединение между двумя UA считается установленным (см. Рисунок).
МАСШТАБИРУЕМОСТЬ И НАДЕЖНОСТЬ
Мало кто сомневается, что SIP способен обеспечить все необходимое для работы крупномасштабных коммуникационных сетей. Сам протокол построен на том же фундаменте, что и Internet, а именно на службе имен DNS. Вопрос, однако, заключается в том, смогут ли отдельные продукты SIP реализовать подобную масштабируемость достаточно экономичным способом.
До сих пор проблема производительности конкретных платформ остается открытой, и это может продолжаться до тех пор, пока в распоряжении независимых лабораторий тестирования не окажутся средства, необходимые для проведения нагрузочных испытаний этих устройств.
Сначала уточним, в чем различие между proxy-серверами с запоминанием состояния и серверами без запоминания состояний. Proxy-серверы с запоминанием состояния располагаются на границе сети, принимают вызовы от конечных узлов SIP и ведут записи о каждом подключении: кто сделал вызов, когда это произошло и кому адресован вызов. Proxy-серверы без запоминания состояния устанавливаются в ядре сети. Они не хранят информацию о сеансе, а просто передают пакеты по назначению.
В условиях высокой нагрузки proxy-серверы с запоминанием состояния начинают работать медленнее. Например, proxy-сервер Ubiquity в режиме с запоминанием состояния может обрабатывать 100 вызовов в секунду (Calls Per Second, CPS), но в режиме без запоминания он показывает скорость 1000 CPS. Компания DynamicSoft не представила конкретные цифры, однако, по словам Дэвида Баухса, вице-президента по вопросам управления разработкой продуктов, их proxy-сервер способен обрабатывать «несколько сотен» вызовов в секунду.
Что же касается оборудования, используемого этими компаниями, то показатели Ubiquity достигнуты на платформе Solaris с процессором Pentium III 450 МГц. DynamicSoft и здесь проявила скрытность: о конфигурации сервера известно только то, что «использовалась двухпроцессорная система Netra». Даже по самым грубым оценкам, разница солидная. В своей базовой конфигурации Netra стоит почти на 12 тыс. долларов дороже, чем, скажем, компьютер Compaq с процессором Pentium III 667 МГц и памятью 128 Мбайт.
Более наглядно характеризует продукты то, как в них реализуются некоторые ключевые возможности, например балансировка нагрузки. При нагрузке в несколько сотен вызовов в секунду ни один сервер в одиночку не справится с обработкой такого трафика. Операторам связи нужно будет создавать пулы proxy-серверов — это повысит и производительность, и надежность.
Как обычно, самое пристальное внимание при реализации балансировки нагрузки следует уделять деталям. Большинство из упоминавшихся производителей тем или иным способом обеспечивают мониторинг нагрузки на proxy-серверы, чтобы равномерно распределять между ними запросы. В продукте Ubiquity для этих целей используется агент SNMP. DynamicSoft утверждает, что мониторинг расположенных вдоль пути передачи вызовов proxy-серверов осуществляется с помощью протокола ICMP, так что вся информация о нагрузке на серверы имеется в наличии. Если какая-либо из последующих систем испытывает перегрузки, она может отвергнуть сообщение; тогда proxy-сервер пошлет это сообщение следующей доступной системе. Такой подход позволяет средству балансировки нагрузки динамически перераспределять трафик между proxy-серверами, следя за тем, чтобы ни один из них не подвергался перегрузкам.
Cisco предлагает три типа балансировки нагрузки. При использовании записи DNS типа SRV (Service Resolver Valve — шлюз определения сервиса) в базу данных DNS вносится по одной такой записи для каждого имени сервера. Запись SRV будет указывать на список адресных записей DNS типа А, которым администратор может по своему усмотрению назначить весовые коэффициенты. Клиенты DNS используют эти коэффициенты, чтобы определить, на какое устройство направить свой трафик. Механизм DNS SRV поддерживается также и в продуктах DynamicSoft. Второй подход известен под названием «карусель DNS»: служба DNS циклически распределяет запросы среди приписанных к ней proxy-серверов. Третий способ заключается в использовании специального сервера переадресации. В этом случае каждый proxy-сервер вносится в реестр сервера переадресации с соответствующим весовым коэффициентом.
У методов балансировки нагрузки, предложенных компанией Cisco, есть один потенциальный недостаток: в них никак не учитывается существование протокола SIP. Когда какой-либо proxy-сервер занят, он может не прореагировать на сообщение INVITE. Станция-отправитель, не получив ответного сообщения, выполнит повторную передачу. В обычных условиях это не составит проблемы, поскольку оба сообщения будут приняты и обработаны одним и тем же proxy-сервером. Но если средство балансировки нагрузки незнакомо с протоколом SIP, приглашения INVITE могут попасть на два разных proxy-сервера. Каждый из них обработает приглашение и направит его конечному пользователю, в результате чего клиент будет вынужден делать выбор между двумя потоками и понапрасну расходовать сетевые ресурсы. Когда в секунду передается несколько десятков сообщений, ничего страшного не произойдет; но стоит выйти на уровень тысяч сообщений в секунду, то, как считает Нил Дисон, старший системный архитектор компании Ubiquity, все может «просто развалиться».
Достигаемая в результате создания пулов proxy-серверов избыточность, очевидно, может быть использована для повышения надежности. Опираясь на записи DNS SRV со списками всех серверов, пользователи могут в случае сбоя переключаться на резервные proxy-серверы. Cisco заявляет, что использует специальную методику «обслуживания пула» для синхронизации реестра и таблицы маршрутизации во всех proxy-серверах, входящих в пул. Поэтому если какой-то агент UA зарегистрирован только на одном proxy-сервере, он все равно сможет посылать и принимать вызовы через все proxy-серверы, поскольку остальные члены пула будут знать об этой регистрации.
Остается выяснить, как же proxy-сервер ведет себя в нестандартных ситуациях. Например, все продукты, кроме proxy-сервера Nortel, поддерживают ретрансляцию сообщений о регистрации, что позволяет proxy-серверам передавать неправильно доставленные сообщения о регистрации на нужный сервер, обходясь таким образом без повторной передачи. Аналогичным образом все продукты, за исключением серверов Cisco, могут выявлять факты слияния запросов; без этого ветвление привело бы к беспрестанным ожиданиям и снижению эффективности.
БЕЗОПАСНОСТЬ
Если обработка сотен вызовов в секунду не вызывает у proxy-серверов SIP особых трудностей, то преодоление барьеров в виде средств защиты остается серьезной проблемой. Межсетевые экраны и средства NAT осложняют поддержку SIP, — особенно это касается настольных межсетевых экранов. Но даже если эти задачи будут успешно решены, провайдеры Internet должны обратить внимание на то, как на proxy-серверах реализована поддержка функций шифрования и безопасности в целях защиты передаваемых через Internet данных.
Обычно при работе с протоколом, использующим определенные порты TCP/IP (таков, например, протокол FTP), администраторы сетей могут обеспечить безопасность связи, разрешая прохождение трафика только через конкретный порт. Но и тогда поток трафика должен завершаться на определенном адресе внутри сети предприятия.
Технология SIP задействует протокол транспортировки в режиме реального времени (Real-Time Transport Protocol, RTP), который может выбирать порт из такого огромного числа вариантов (от 10 025 до 65 000), что ограничить трафик становится нелегко. Не имея стандартного решения, производители proxy-серверов вынуждены обращаться к специфическим методам, сужая спектр допустимых решений NAT и защиты с помощью экранов.
Один из таких подходов заключается в обеспечении тесного взаимодействия proxy-сервера с межсетевым экраном. Правда, производители экранов по вполне понятным причинам не испытывают особого желания раскрывать посторонним компаниям всю подноготную своих систем. Так, Cisco привязывает свой proxy-сервер к своим же межсетевым экранам, работающим на платформах PIX и IOS.
Что же касается взаимодействия межсетевых экранов и proxy-серверов разных производителей, то здесь выбор гораздо более ограничен. В качестве примера можно назвать Aravox — одну из немногих компаний, которая разработала собственные протоколы, позволяющие общаться с proxy-серверами, — в данном случае с серверами DynamicSoft.
Возможно и другое решение: установка внутреннего proxy-сервера. Вместо того чтобы направлять входящий трафик SIP клиенту, а исходящий — межсетевому экрану, данные передаются на доверенный proxy-сервер SIP, поддерживающий более ограниченный диапазон портов. Именно на proxy-сервер возлагаются обязанности по переводу сеансов с одного порта на другой для ретрансляции в сеть. Все провайдеры поддерживают функцию записи маршрута пакета (record route) — низкоуровневую команду SIP, необходимую при использовании данного подхода.
Однако, возможно, серьезные осложнения могут возникнуть из-за быстрого роста рынка персональных экранов. Многие из них распространяются бесплатно или по очень низкой цене. Надежды на то, что их производители будут вкладывать средства в разработку API-интерфейса для взаимодействия с SIP, «довольно призрачные», считает Нил Дисон из компании Ubiquity.
В технологии NAT есть и другое уязвимое место: при передаче пакета в Internet меняется адрес отправителя. В связи с этим можно предложить, например, организовать постоянный канал связи, идущий от внешнего proxy-сервера через межсетевой экран в корпоративную сеть. Проблема в том, что межсетевые экраны, как правило, закрывают сеансы UDP. Конечно, можно использовать TCP, но сеансы TCP очень активно потребляют ресурсы памяти. И главное, многие стеки TCP/IP поддерживают всего лишь 2000 портов, и даже Solaris, претендуя на лидерство по числу портов, не рекомендует, по словам Дисона, использовать их более 10 000. Вместе с тем, TCP поддерживают все разработчики proxy-серверов (за исключением Cisco).
Еще один важный момент, связанный с безопасностью, — предлагаемый уровень аутентификации. Все продукты используют аутентификацию по протоколу HTTP по принципу дайджеста; Nortel и DynamicSoft допускают также базовую аутентификацию HTTP в своих устройствах. Дайджест обеспечивает максимальный уровень безопасности за счет стандартного механизма проверки «запрос-ответ». Базовая аутентификация предполагает передачу пароля открытым текстом и, по мнению Дисона, вряд ли будет использоваться при предоставлении услуг телекоммуникационными операторами. Впрочем, Барух Штернман, вице-президент Deltathree по вопросам исследований и разработок, не столь категоричен: «SMTP отправляет пароли открытым текстом, и это не мешает его широкому применению».
В чем Штернман уверен, так это в важности протокола защиты на транспортном уровне (Transport Layer Security, TLS), преемника протокола SSL и, в определенной степени, спецификации IPSec. «Для нас эти вещи имеют огромное значение, — поясняет он. — Мы собираемся внедрить в своей сети центры сертификации (Certificate Authority, CA), чтобы можно было проверить, являются ли станции теми, за кого они себя выдают». Nortel, Cisco и 3Com не поддерживают TLS. Nortel предлагает средства аутентификации и шифрования, работающие по алгоритму PGP (Pretty Good Privacy).
ИТОГ
Масштабируемость, надежность и безопасность — ключевые факторы, без которых невозможно успешное развертывание сети. Удовлетворяют ли proxy-серверы SIP этим критериям? В какой-то степени да, но все же SIP еще довольно «юная» технология и не успела обзавестись строгими стандартами. Совместимость proxy-серверов различных производителей в основном обеспечивается, но она еще далека от эталонной совместимости Ethernet. И главное — вопросы взаимодействия с существующими средствами защиты данных все еще недостаточно проработаны.
Провайдеры, исследующие возможности протокола SIP и proxy-серверов SIP, должны быть готовы импровизировать и идти на компромиссы; это не самая выигрышная стартовая позиция для протокола, который, как предполагается, должен лечь в основу завтрашней телефонной сети. И все-таки это лучшее, чего можно ожидать в условиях любой революции в сфере высоких технологий.
Дэвид Гринфилд — автор многочисленных технических статей. С ним можно связаться по адресу: dgreenfi@cmp.com.