Архітектура системи на базі протоколу SІP

У деякому змісті прабатьком протоколу SІP є протокол переносу гіпертексту - HTTP (Hypertext Transfer Protocol, RFC 2068). Протокол SІP успадкував від нього синтаксис і архітектуру " клієнт-сервер", яку ілюструє рисунок 9.

Рисунок 9 - Архітектура " клієнт-сервер"

Клієнт видає запити, у яких указує, що він бажає одержати від сервера. Сервер ухвалює запит, обробляє його і видає відповідь, яка може містити повідомлення про успішне виконання запиту, повідомлення про помилку або інформацію, запитану клієнтом.

Керування процесом обслуговування виклику розподілене між різними елементами мережі SІP. Основним функціональними елементами, що реалізують функції керування з'єднанням, є термінал. Інші елементи мережі відповідають за маршрутизацію викликів, а в деяких випадках надають додаткові послуги.

У випадку, коли клієнт і сервер взаємодіють безпосередньо з користувачем (тобто реалізовані в закінченому устаткуванні користувача), вони називаються, відповідно, клієнтом агента користувача - User Agent Clіent (UAC) - і сервером агента користувача - User Agent Server (UAS).

Слід особливо зазначити, що сервер UAS і клієнт UAC можуть (але не зобов'язані) безпосередньо взаємодіяти з користувачем, а інші клієнти й сервери SІP цього робити не можуть. Якщо в обладнанні присутні й сервер UAS, і клієнт UAC, то воно називається агентом користувача - User Agent (UA), а по своїй суті являє собою термінальне встаткування SІP.

Крім терміналів визначено два основні типи мережних елементів SІP: проксі- сервер (proxy server) і сервер переадресації (redіrect server).

Прокси-Сервер (від англійського proxy - представник) представляє інтереси користувача в мережі. Він ухвалює запити, обробляє їх і, залежно від типу запиту, виконує певні дії. Це може бути пошук і виклик користувача, маршрутизація запиту, надання послуг і т.д. Проксі-сервер складається із клієнтської й серверної частин, тому може ухвалювати виклики, ініціювати власні запити й повертати відповіді. Проксі-сервер може бути фізично сполучений із сервером визначення місця розташування (у цьому випадку він називається regіstrar) або існувати окремо від цього сервера, але мати можливість взаємодіяти з ним по протоколах LDAP (RFC 1777), rwhoіs (RFC 2167) і по будь-яких інших протоколах.

Передбачено два типи проксі-серверів - зі збереженням станів (stateful) і без збереження станів (stateless).

Сервер першого типу зберігає в пам'яті вхідний запит, який являється причиною генерації одного або декількох вихідних запитів. Ці вихідні запити сервер також запам'ятовує. Усі запити зберігаються в пам'яті сервера тільки до закінчення транзакції, тобто до одержання відповідей на запити.

Сервер першого типу дозволяє надати більшу кількість послуг, але працює повільніше, чим сервер другого типу. Він може застосовуватися для обслуговування невеликої кількості клієнтів, наприклад, у локальній мережі.Проксі-сервер повинен зберігати інформацію про стани, якщо він:

- використовує протокол TCP для передачі сигнальної інформації;

- працює в режимі багатоадресового розсилання сигнальної інформації;

- розмножує запити.

Останній випадок має місце, коли проксі-сервер веде пошук викликуваного користувача відразу в декількох напрямках, тобто один запит, який прийшов до проксі- серверу, розмножується й передається одночасно по всіх цих напрямках.

Сервер без збереження станів просто ретранслює запити й відповіді, які отримує. Він працює швидше, чим сервер першого типу, тому що ресурс процесора не витрачається на запам'ятовування станів, внаслідок чого сервер цього типу може обслужити більшу кількість користувачів. Недоліком такого сервера є те, що на його базі можна реалізувати лише найбільш прості послуги. Втім, проксі-сервер може функціонувати як сервер зі збереженням станів для одних користувачів і як сервер без збереження станів - для інших.

Сервер переадресації призначений для визначення поточногї адреси викликуваного користувача. Користувач, що робить виклик передає до сервера повідомлення з відомою йому адресою викликуваного користувача, а сервер забезпечує переадресацію виклику на поточну адресу цього користувача. Для реалізації цієї функції сервер переадресації повинен взаємодіяти із сервером визначення місця розташування.

Сервер переадресації не термінує виклики як сервер RAS і не ініціює власні запити як проксі-сервер. Він тільки повідомляє адресу або викликуваного користувача, або проксі-сервера. По цій адресі ініціатор запиту передає новий запит. Сервер переадресації не містить клієнтську частину програмного забезпечення.

Але користувачеві не обов'язково зв'язуватися з яким-небудь Sіp-Сервером. Він може сам викликати іншого користувача за умови, що знає його поточну адресу.

Сервер визначення місця розташування користувачів. Користувач може переміщатися в межах мережі, тому необхідний механізм визначення його місця розташування в теперішній момент часу. Наприклад, співробітник підприємства їде у відрядження, і всі виклики, адресовані йому, повинні бути спрямовані в інше місто на його тимчасове місце роботи. Про те, де він перебуває, користувач інформує спеціальний сервер за допомогою повідомлення REGІSTER. Можливі два режими реєстрації: користувач може повідомити свою нову адресу один раз, а може реєструватися періодично через певні проміжки часу. Перший спосіб підходить для випадку, коли термінал, доступний користувачеві, включений постійно, і його не переміщають по мережі, а другий - якщо термінал часто переміщається або вимикається.

Для зберігання поточної адреси користувача служить сервер визначення місця розташування користувачів, що представляє собою базу даних адресної інформації. Крім постійної адреси користувача, у цій базі даних може зберігатися один або кілька поточних адрес.

Цей сервер може бути сполучений із проксі-сервером (у такому випадку він називається regіstrar) або бути реалізований окремо від проксі-сервера, але мати можливість зв'язуватися з ним.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: