Модель локального механизма контроля перегрузок SIP-сервера*
Протокол инициирования сеансов связи (SIP - Session Initiation Protocol) является основным протоколом установления соединений в сетях связи следующих поколений. Задача разработки эффективного механизма контроля перегрузок SIP-серверов стала на сегодняшний день одной из основных задач в сетях, функционирующих по протоколу SIP. Перегрузка сервера возникает в случае нехватки ресурсов для обработки всех поступающих на него сообщений протокола SIP (сигнальных сообщений) и может привести не только к отказу установления соединений через данный сервер, но и к дальнейшему распространению перегрузки на другие элементы сети, и даже к коллапсу сети. Встроенный в протокол механизм контроля перегрузок в сетях SIP-серверов, так называемый "механизм 503", имеет ряд недостатков. В статье исследован механизм, позволяющий осуществлять локальное управление поступающей на сервер нагрузкой, согласно которому приём сигнальных сообщений осуществляется с некоторой вероятностью, зависящей от загруженности процессора. Кроме того, построена упрощенная математическая модель процесса функционирования SIP-сервера в виде узла BCMP-сети и получены вероятностно-временные характеристики модели.
Ключевые слова: БР-сервер, механизм контроля перегрузок, ВСМР-сеть, локальный механизм контроля, за-груженность процессора Б1Р-сервера.
Самуйлов К.Е.,
заведующий кафедрой систем телекоммуникаций РУДН, [email protected]
Зарипова Э.Р.,
Старший преподаватель кафедры систем телекоммуникаций РУДН, [email protected]
Введение
С ростом популярности 1Р-услуг (IP-телефония, видеоконференции) увеличивается объем сигнальной информации, пересылаемой в сети SIP-серверов [1]. Основную сигнальную нагрузку, которую обрабатывает SIP-сервер, составляют сообщения, связанные с установлением и завершением соединения. Для каждого соединения эта процедура начинается с отправки сообщения-запроса Invite, в ответ на которое будут обслужены шесть non-invite сообщений. Функционирование сервера в режиме перегрузки приводит к сбросу части сигнальных сообщений, в результате чего сервер не успевает обслужить все сообщения, необходимые для успешного завершения процедуры установления одного соединения, что приводит к повторным запросам, увеличению времени установления соединения и, как следствие, снижению качества обслуживания. Существующие механизмы контроля перегрузок SIP-серверов не являются эффективными [2] и в настоящее время в качестве решений предлагаются различные алгоритмы, которые позволяют балансировать нагрузку, направляемую на SIP-серверы. Различают локальное, межузловое, сквозное управление [3, 4]. В данной статье исследуется локальное управление перегрузками, которое является наиболее простым в реализации. Алгоритмы, исследуемые в настоящий момент для локального управления перегрузками, можно разделить на две группы по предложенным в различных публикациях решениям.
1) В [4-6] исследуются модели функционирования SIP-сервера с использованием порогового управления. В
этих моделях предлагается различать Invite и non-invite сообщения, причем последним предоставлять приоритет в обслуживании.
2) В [7-8] предложено принимать поступающие сообщения с некоторой вероятностью, значение которой может регулироваться в зависимости от загруженности процессора SIP-сервера.
В данной статье, во-первых, исследована модель локального контроля перегрузок SIP-сервера, основанная на измерении загруженности его процессора. Во-вторых, для расчета вероятности р приема сигнальных сообщений построена упрощенная математическая модель е виде BCMP-сети, состоящей из одного узла [9].
Процедура контроля загруженности процессора
Введем определение загруженности процессора сервера [8]. Пусть за время Т обнаружено N(T) интервалов времени T¡ занятости сервера, / = Т).
На этих интервалах сервер обрабатывает сигнальные сообщения. Тогда загруженность U процессора сервера оценивается по формуле:
Оценка загруженности сервера может происходить, например, ежесекундно [6]. Вычисляя загруженность сервера, и, корректируя поток сообщений, поступающих на сервер, можно поддерживать его загруженность на желаемом уровне, избегая тем самым перегрузок.
Обозначим Ак интервал наблюдения за загруженностью процессора сервера, к > О. В [8] определена процедура контроля загруженности процессора, основанная на данных измерения значения загруженности ик на
интервале Ак с целью вычисления вероятности рк+1 приема сигнальных сообщений на следующем интервале Дд+1, к > 0. Процедура реализуется при заданных значениях параметров ртш, Фтах, £/тах , р() — 1 и состо-
ит из следующих шагов. * Работа выполнена при поддержке РФФИ (гранты 10-07-00487-а, 12-07-00108).
Шаг 1. Измерение загруженности процессора Vк на интервале.
Шаг 2. Вычисление коэффициента фк на интервале
Ак по формуле фк = min
t/n
Ut
'\Фт
Шаг 3. Расчет значения вероятности р^+\ приема
сообщений на интервале Д^.+| по формуле
pmin, если ркфк < ртЫ, рк+]=<1, если ркфк > 1,
ркфк, если ртт<ркфк<\.
Здесь коэффициент фк определяет, во сколько раз
нужно изменить вероятность приема сообщений рк на
интервале Ак с целью получения вероятности приема
рк+1 на интервале д^+|. В следующем разделе статьи
предложена упрощенная математическая модель, которая позволяет производить оценку загруженности процессора сервера при известной постоянной интенсивности поступающего на сервер потока сообщений.
Упрощенная математическая модель сервера
Ниже строится упрощенная модель SIP-сервера, на который извне поступает один поток сигнальных сообщений. Процесс обработки сервером поступающих сигнальных сообщений предусматривает возможность отказа в обслуживании в случае перегрузки процессора сервера, для чего вводится вероятность р приема сигнального сообщения. На первом этапе обслуживания сервер определяет, отклонить поступившее сигнальное сообщение или отправить его с вероятностью р на дальнейшее обслуживание. На втором этапе обслуживания для принятых в систему сообщений происходит генерация ответа. При этом затраты ресурсов сервера на отклонение сигнальных сообщений соизмеримы с затратами на обслуживание этих сообщений.
На рис. 1 схематично изображена упрощенная модель SIP-сервера. На систему с интенсивностью Л поступает пуассоновский поток заявок типа 1 (1-заявок). После окончания обслуживания на приборе 1-заявка либо покидает систему с вероятностью 1 — р , либо превращается в 2-заявку и возвращается в систему в конец очереди с вероятностью р, причем 2-заявка после окончания обслуживания покидает систему. Заявки обоих типов обслуживаются в порядке общей очереди по экспоненциальному закону с параметром Ц .
Функционирование системы на рис. 1 описывается марковским процессом X(f) = j(n,(/),n,(/)):/>o} наД
пространством состояний X =< (nt,n2 ) :w, > 0, пг > О},
где П: - число / -заявок в системе, / = 1,2.
1-заявки
2-заявки
О
\р
'-г
2-заявки
Рис. 1. Упрощенная модель SIP-сервера
Обозначим через Р(П^,П2) стационарную вероятность нахождения в системе пх заявок первого типа и П-, заявок второго типа, (п], Я-,) £ X . Пусть /5(/?) -вероятность того, что в системе находится п заявок, п = п{+п2 п > 0 . Используя теорему ВСМР и следствия из этой теоремы [9, 10], можно показать, что эти вероятности определяются следующим образом:
р(п„пг) = {\-р(\ + р))рпр^^—г («,,«2)еХ ,(1)
/7| . *
Р(п) = (\-р(\ + р))р"(\ + р)", п> 0. (2)
Теперь загруженность процессора сервера можно рассчитать по формуле
и = \-Р(0) = р(\ + р). (3)
Заметим, что в исследуемом случае, когда все заявки обслуживаются одинаково, возникает ограничение
р(\ + р)<\ на существование вероятностей в
формулах (1) и (2).
Среднее число заявок в очереди и в системе можно найти по формулам
рЧ'+р)2
N -
\-р(\ + р)' Р(' + Р) \-р(\ + р) '
(4)
(5)
а временные характеристики, такие как среднее время ожидания начала обслуживания и среднее время пребывания заявки в системе (среднее время обработки сообщения сервером), имеют вид
,2 /л
- g P2('+PÏ
w = -=- = -
я л{\-р(\+р))'
р{'+р)
(6)
(7)
Л Л(\-р(\ + р))'
На рис. 2 показана зависимость среднего времени обработки сообщения сервером от вероятности р приема сообщений. Анализ показывает, что при значениях параметров системы, свидетельствующих о скорой перегрузке, резко возрастает время обработки сообщения сервером. При небольших значениях предложенной нагрузки р и вероятности приема сообщения р загруженность процессора и минимальна, что соответствует физическому смыслу формулы (3).
Заключение
В статье построена упрощенная математическая модель локального управления поступающей на сервер сигнальной нагрузкой. На основании текущей загруженности процессора сервера определяется доля р сообщений, которую сервер сможет успешно обслужить, избегая перегрузок. Для исследования упрощенной модели и получения формул для стационарных вероятностей ее состояний была применена теорема ВСМР и проведен численный анализ вероятностно-временных характеристик модели.
Отметим, что при локальном механизме контроля перегрузок SIP-сервера отклонённые сервером в режиме перегрузки сообщения сбрасываются, а при межузловом механизме контроля перегрузок для каждого отклонённого сервером в режиме перегрузки сообщения на вышележащий сервер отправляется уведомление о невозможности обслужить сообщение. Очевидно, что меж-узловой механизм контроля перегрузок позволяет более эффективно разгрузить сервер, поскольку при сбросе сервером сообщения без уведомления вышележащего сервера, на последнем применение различных таймеров приводит к множественным ретрансляциям сброшенных сообщений на нижележащий сервер, находящийся в режиме перегрузки, что усугубляет ситуацию.
= » 0.008
If ,& i % î 0.006
s S'
Î. к
p=0,l ----------------
p=0.2 -------- -------
p=0,3 ----------------
p=0,4-----------------
p=0,5-----------------
0.002
“ 'C
У
ers
0.2 0.4 0.6 0.8
Вероятность р приема чаявки в систему
Рис. 2. Среднее время обработки сигнального сообщения сервером
Дальнейшие исследования механизмов управления поступающей на сервер сигнальной нагрузкой будут-направлены на построение математических моделей, учитывающих приоритезацию сообщений. Большинство
известных механизмов как локального, так и межузло-вого управления поступающей на сервер нагрузкой различают Invite и non-invite сообщения, причем последним предоставляется приоритет в обслуживании, поскольку обслуживание non-invite сообщений приводит к успешному завершению процедуры установления соединения.
Литература
1. Rosenberg .1. et.el.: «SIP; Session Initiation Protocol», RFC 3261, www.ietf.org/rfc/rfc326l.txt, June 2002.
2. Rosenberg .1. et.el.: «Requirements for Management of Overload in the Session Initiation Protocol», RFC 5390, http://www.rfc-editor.org/rfc/rfc5390.txt, December 2008.
3. Hilt V., Noel E., Shen C., Abdelal A.: Design Consider-
ations for Session Initiation Protocol (SIP) Overload Control, RFC 6357, http://www.rfc-editor.org/rfe/rfc6357.txt,.August 2011.
Абаев П.О., Гайдамака Ю.В., Самуилов К.Е. Гистерезисное управление сигнальной нагрузкой в сети SIP-серверов // Вестник РУДН. Серия «Математика. Информатика. Физика». -2011. - №4. - С.54-71.
4. Hilt V., Widjaja I. Controlling Overload in Networks of SIP Servers // IEEE International Conference on Network Protocols. - 2008. - P.83-93.
5. Ohta М., Overload Protection in a SIP Signaling Network , International Conference on Internet Surveillance and Protection, 2006, P.l 1.
6. Hilt V., Widjaja I. Controlling Overload in Networks of SIP Servers // IEEE International Conference on Network Protocols. - 2008. - P.83-93.
7. Shen C., Schulzrinnc H„ Nahum E. Session Initiation Protocol (SIP) Server Overload Control: Design and Evaluation // Lecture Notes in Computer Science. - Springer, 2008. - Vol. 5310. -P. 149-173.
8. Baskett F., Chandy К. М., Muntz R. R„ Palacios F. G.
Open, Closed, and Mixed Networks of Queues with Different Classes of Customers // Journal of the ACM. -Vol. 22. - No 2. - 1975. -P.248-260.
9. Вишневский B.M. Теоретические основы проектирования компьютерных сетей. — М.: Техносфера, 2003. — 512 с.
Modelling local overload control mechanism of SIP server Samouylov Konstantin E., head of telecommunication systems department of PFUR, [email protected].
Zaripova Elvira R., Senior Lecturer of Telecommunication Systems Department at PFUR, [email protected].
Abstract: The Session Initiation Protocol (SIP) is a widely used protocol for creating, modifying and terminating multimedia sessions in modern Next Generation Networks. Nowadays, IP-based networks suffer from overloading and effective overload control mechanisms for SIP servers are needed. Overload occurs when SIP servers have insufficient resources to process all incoming signaling messages. The overload condition may spread throughout the network and lead to the whole service failure. The current SIP overload control mechanism (so called "503 mechanism") is unable to prevent congestion. In this paper a new local overload control mechanism is offered, according to which receiving server accepts SIP-signaling messages with a certain probability depending on processor occupancy. We propose a simple model describing SIP-server as a single node of BCMP network.
Keywords: SIP server, overload control mechanism, BCMP network, local control, SIP server processor.