Порівняльний аналіз протоколів Н.323 і SIP
Технологія VoIP >> Розділ 7. Протокол ініціювання сеансів зв'язку - SIP
[ << 7.6 Алгоритми встановлення з'єднання ]
7.8 Порівняльний аналіз протоколів Н.323 і SIP
Перш ніж розпочати порівняння функціональних можливостей протоколів SIP і Н.323, нагадаємо, що протокол SIP значно молодший за свого суперника, і досвід його використання в мережах зв'язку непорівнянний з досвідом використання протоколу Н.323. Існує ще один момент, на який слід звернути увагу. Інтенсивне впровадження технології передачі мовної інформації по IP-мереж зажадало постійного нарощування функціональних можливостей як протоколу Н.323 (до цього часу затверджена вже третя версія протоколу), так і протоколу SIP (затверджена друга версія протоколу). Цей процес призводить до того, що достоїнства одного з протоколів переймають іншим.
І останнє. Обидва протоколу є результатом розв'язання одних і тих же завдань фахівцями ITU-T і комітету IETF. Природно, що рішення ITU-T виявилося ближче до традиційних телефонних мереж, а рішення комітету IETF базується на принципах, що становлять основу мережі Internet.
Перейдемо безпосередньо до порівняння протоколів, яке будемо проводити за кількома критеріями.
Додаткові послуги. Набір послуг, що надаються обома протоколами, приблизно однаковий.
Додаткові послуги, що надаються протоколом Н.323, стандартизовані в серії рекомендацій ITU-T H.450.X. Протоколом SIP правила надання додаткових послуг не визначені, що є його серйозним недоліком, тому що викликає проблеми при організації взаємодії обладнання різних фірм-виробників. Деякі фахівці пропонують вирішення названих проблем, але ці рішення поки не стандартизовані.
Приклади послуг, що надаються обома протоколами:
• Переклад з'єднання в режим утримання (Call hold);
• Перемикання зв'язку (Call Transfer);
• Переадресація (Call Forwarding);
• Повідомлення про новий виклик під час зв'язку (Call Waiting);
• Конференція.
Розглянемо останню послугу кілька більш докладно. Протокол SIP передбачає три способи організації конференції: з використанням пристрою управління конференціями MCU, режиму під LGPL і з'єднань учасників один з одним. В останніх двох випадках функції управління конференціями можуть бути розподілені між терміналами, тобто центральний контролер конференцій не потрібен. Це дозволяє організовувати конференції з практично необмеженою кількістю учасників.
Рекомендація Н.323 передбачає ті ж три способи, але управління конференцією у всіх випадках проводиться централізовано контролером конференцій МС (Multipoint Controller), який обробляє всі сигнальні повідомлення. Тому для організації конференції, по-перше, необхідна наявність контролера МС у одного з терміналів, по-друге, учасник з активним контролером МС не може вийти з конференції / Крім того, при великому числі учасників конференції МС може стати «вузьким місцем». Правда, в третій версії рекомендації ITU-T Н.323 прийнято положення про каскадному з'єднанні контролерів, однак виробники цю версію в своєму обладнанні поки не реалізували. Перевагою протоколу Н.323 в частині організації конференцій є більш потужні засоби контролю конференцій.
Протокол SIP початку орієнтований на використання в IP-мережах з підтримкою режиму під LGPL інформації (прикладом може бути мережу Mbone, що має тисячі постійних користувачів). Цей механізм використовується в протоколі SIP не тільки для доставки мовної інформації (як у протоколі Н.323), але і для перенесення сигнальних повідомлень. Наприклад, в режимі під LGPL може передаватися повідомлення INVITE, що полегшує визначення місця розташування користувача і є дуже зручним для центрів обслуговування викликів (Call-center) при організації групових оповіщень.
У той же час, протокол Н.323 надає більше можливостей управління послугами, як у частині аутентифікації та обліку, так і в частині контролю використання мережевих ресурсів. Можливості протоколу SIP у цій частині біднішими, і вибір оператором цього протоколу може служити ознакою того, що для оператора важливіше технічна інтеграція послуг, ніж можливості управління послугами.
Протокол SIP передбачає можливість організації зв'язку третьою стороною (third-party call control). Ця функція дозволяє реалізувати такі послуги, як набір номера секретарем для менеджера та супровід виклику оператором центру обслуговування викликів. Подібні послуги передбачені і протоколом Н.323, але реалізація їх трохи складніше.
У протоколі SIP є можливість вказувати пріоритети в обслуговуванні викликів, оскільки в багатьох країнах існують вимоги надавати переваги деяким користувачам. У протоколі Н.323 такої можливості немає. Крім того, користувач SIP-мережі може реєструвати декілька своїх адрес і вказувати пріоритетність кожного з них.
Персональна мобільність користувачів. Протокол SIP має гарний набір засобів підтримки персональної мобільності користувачів, до числа яких входить переадресація виклику до нового місця розташування користувача, одночасний пошук по нескільком напрямами (з виявленням зациклення маршрутів) і т.д. У протоколі SIP це організується шляхом реєстрації на сервері визначення місця розташування, взаємодія з яким може підтримуватися будь-яким протоколом. Персональна мобільність підтримується і протоколом Н.323, але менш гнучко. Так, наприклад, одночасний пошук користувача по декількох напрямках обмежений тем. що воротар, отримавши запит визначення місця розташування користувача LRQ, не транслює його до інших придверничі.
Розширюваність протоколу. Необхідною і важливою в умовах еволюціонує ринку є можливість введення нових версій протоколів та забезпечення сумісності різних версій одного протоколу. Розширюваність (extensibility) протоколу забезпечується:
- Узгодженням параметрів;
- Стандартизацією кодеків;
- Модульність архітектури.
Протокол SIP досить просто забезпечує сумісність різних версій. Поля, які не зрозумілі обладнанню, просто ігноруються. Це зменшує складність протоколу, а також полегшує обробку повідомлень та впровадження нових послуг. Клієнт може запросити будь-яку послугу за допомогою заголовка Require. Сервер, що отримав запит з таким заголовком, перевіряє, чи підтримує він цю послугу, і якщо не підтримує, то повідомляє про це у своїй відповіді, що містить список підтримуваних послуг.
У разі необхідності, в організації IANA (Internet Assigned Numbers Authority) можуть бути зареєстровані нові заголовки. Для реєстрації в IANA відправляється запит з ім'ям заголовка і його призначенням. Назва заголовка вибирається таким чином, щоб воно говорило про його призначення. Зазначеним чином розробник може впроваджувати нові послуги.
Для забезпечення сумісності версій протоколу SIP визначено шість основних видів запитів і 6 класів відповідей на запити. Так як визначальної в кодах відповідей є перша цифра, те обладнання може вказувати і інтерпретувати тільки її. а інші цифри коду тільки доповнюють зміст і їх аналіз не є обов'язковим.
Пізніші версії протоколу Н.323 повинні підтримувати більш ранні версії. Але можлива ситуація, коли виробники підтримують тільки одну версію, щоб зменшити розмір повідомлень і полегшити їх декодування.
Нові функціональні можливості вводяться в протокол Н.323 за допомогою поля NonStandardParameter. Воно містить код виробника і, слідом за ним, код послуги, який дійсний тільки для цього виробника. Це дозволяє виробникові розширювати послуги, але пов'язане з деякими обмеженнями. По-перше, неможливо вимагати від викликається сторони інформацію про підтримувані нею послугах, по-друге, неможливо додати нове значення вже існуючого параметра. Існують також проблеми, пов'язані із забезпеченням взаємодії устаткування різних виробників.
На розширення можливостей протоколу, як і на сумісність обладнання, його реалізує, робить вплив і набір кодеків, підтримуваний протоколом. У протоколі SIP для передачі інформації про функціональні можливості терміналу використовується протокол SDP. Якщо виробник підтримує якийсь особливий алгоритм кодування, то цей алгоритм просто реєструється в організації IANA, неодноразово згадуваної в цій главі.
У протоколі Н.323 всі кодеки повинні бути стандартизовані. Тому програми з нестандартними алгоритмами кодування можуть зіткнутися з проблемами при реалізації їх на базі протоколу Н.323.
Протокол SIP складається з набору закінчених компонентів (модулів), які можуть замінюватися в залежності від вимог і можуть працювати незалежно один від одного. Цей набір включає в себе модулі підтримки сигналізації для базового з'єднання, для реєстрації та для визначення місця розташування користувача, які не залежать від модулів підтримки якості обслуговування (QoS). роботи з директоріями, опису сеансів зв'язку, розгортання послуг (service discovery) та управління конфігурацією.
Архітектура протоколу Н.323 монолітна і являє собою інтегрований набір протоколів для одного застосування. Протокол складається з трьох основних складових, і для створення нової послуги може знадобитися модифікація кожної з цих складових.
Масштабованість мережі (scalablllty). Сервер SIP, за замовчуванням, не зберігає відомостей про поточні сеанси зв'язку і тому може обробити більше викликів, ніж воротар Н.323, який зберігає ці відомості (statefull). Разом з тим, відсутність таких відомостей, на думку деяких фахівців, може викликати труднощі при організації взаємодії мережі IP-телефонії з ТМЗК.
Необхідно також мати на увазі зонову архітектуру мережі Н.323, що дозволяє забезпечити розширюваність мережі шляхом збільшення кількості зон.
Час встановлення з'єднання. Наступною істотною характеристикою протоколів є час, що потрібно, щоб встановити з'єднання. У запиті INVITE протоколу SIP міститься вся необхідна для встановлення з'єднання інформація, включаючи опис функціональних можливостей терміналу. Таким чином, у протоколі SIP для встановлення з'єднання потрібна одна транзакція, а в протоколі Н.323 необхідно проводити обмін повідомленнями кілька разів. З цих причин витрати часу на встановлення з'єднання в протоколі SIP значно менше затрат часу в протоколі Н.323. Правда, при використанні інкапсуляції повідомлень Н.245 в повідомлення Н.225 або процедури Fast Connect час встановлення з'єднання значно зменшується.
Крім того, на час встановлення з'єднання впливає також і нижележащий транспортний протокол, який переносить сигнальну інформацію.
Ранні версії протоколу Н.323 передбачали використання для перенесення сигнальних повідомлень Н.225 і Н.245 тільки протокол TCP, і лише третя версія протоколу передбачає можливість використання протоколу UDP. Протоколом SIP використання протоколів TCP і UDP передбачалося з самого початку.
Оцінка часу встановлення з'єднання проводиться в умовних одиницях - RTT (round trip time) - і становить для протоколу SIP 1,5 2,5 RTT, а для протоколу Н .323 6-7 RTT
Адресація. До числа системних характеристик, безсумнівно, і передбачена протоколами адресація. Використання URL є сильною стороною протоколу SIP і дозволяє легко інтегрувати його в існуючу систему DNS-серверів і впроваджувати в устаткування, що працює в IP-мережах. Користувач отримує можливість переправляти виклики на Web-сторінки або використовувати електронну пошту. Адресою в SIP може також служити телефонний номер з адресою використовуваного шлюзу.
У протоколі Н.323 використовуються транспортні адреси і alias-адреси. У якості останнього може використовуватися телефонний номер, ім'я користувача або адресу електронної пошти. Для перетворення alias-адреси в транспортний адресу обов'язково участь воротаря.
Складність протоколу. Протокол Н.323, безсумнівно, складніше протоколу SIP. Загальний обсяг специфікацій протоколу Н.323 становить приблизно 700 сторінок. Обсяг специфікацій протоколу SIP становить 150 сторінок. Протокол Н.323 використовує велику кількість інформаційних полів в повідомленнях (до 100), при декількох десятках таких же полів в протоколі SIP. При цьому для організації базового з'єднання в протоколі SIP досить використовувати всього три типи запитів (INVITE, BYE і АСК) і кілька полів (Те, From, Call-ID, CSeq).
Протокол SIP використовує текстовий формат повідомлень, подібно протоколу HTTP. Це полегшує синтаксичний аналіз і генерацію коду, дозволяє реалізувати протокол на базі будь-якої мови програмування, полегшує експлуатаційне управління, дає можливість ручного введення деяких полів, полегшує аналіз повідомлень. Назва заголовків SIP-повідомлень ясно вказує їх призначення.
Протокол Н.323 використовує двійкове представлення своїх повідомлень на базі мови ASN.1, тому їх безпосереднє читання важко. Для кодування і декодування повідомлень необхідно використовувати компілятор ASN. 1. Але, в той же час, обробка повідомлень, представлених в двійковому вигляді, виробляється швидше.
Досить складним є взаємодія протоколу Н.323 з міжмережевим екраном (firewall). Крім того, в протоколі Н.323 існує дублювання функцій. Так, наприклад, обидва протоколи Н.245 і RTCP мають засоби управління конференцією і здійснення зворотного зв'язку.
Висновки. На основі проведеного вище порівняння можна зробити висновок про те, що протокол SIP більше підходить для використання Internet-постачальниками, оскільки вони розглядають послуги IP-телефонії лише як частина набору своїх послуг.
Оператори телефонного зв'язку, для яких послуги Internet не є першорядними, швидше за все, будуть орієнтуватися на протокол Н.323, оскільки мережа, побудована на базі рекомендації Н.323, представляється їм добре знайомої мережею ISDN, накладеної на IP-мережу.
Не варто також забувати, що до теперішнього часу багато фірм-виробники і постачальники послуг вже вклали значні кошти в обладнання Н.323, яке успішно функціонує в мережах.
Таким чином, відповідь на питання, який з протоколів краще використовувати, буде залежати від цілей бізнесу та необхідних функціональних можливостей. Швидше за все, ці варіанти не слід розглядати як конкуруючі, а як призначені для різних областей ринку послуг, оскільки вони можуть працювати паралельно і взаємодіяти через спеціальний шлюз. Проілюструємо це твердження таким прикладом. В даний час ринок послуг все більше націлюється на послуги з доплатою за додаткові можливості (value added), і простота їх надання дає реальні переваги. Так, використання SIP в будь-якому приватному домені дає можливість більш гнучкого надання послуг, а наявність засобів, що забезпечують перехід від протокола SIP до протоколу Н.323, гарантує взаємодія з областями, які використовують інші рішення. У таблиці 7.6 наведено варіант можливого обміну повідомленнями.
Таблиця 7.6 Алгоритм встановлення з'єднання з участю шлюзу H.323/SIP
Якщо протягом розмовної фази обладнанню Н.323 необхідно відкрити нові логічні канали, шлюз передає нове повідомлення INVITE терміналу SIP, як це показано у таблиці 7.7.
Таблиця 7.7 Відкриття нових логічних каналів
--Козінцев Олексій 36 гр. 16:46, 29 листопада 2010 (EET)