Разработка моделей функционирования SIP сервера в условиях перегрузки
,
Российский университет дружбы народов,
*****@***pfu. edu. ru, *****@***com
В работе рассмотрены два пороговых алгоритма контроля перегрузки SIP сервера, которые применяются для поддержания приемлемых значений показателей качества обслуживания. Построены модели функционирования SIP сервера в виде однолинейной СМО с двумя входящими потоками и различными дисциплинами облуживания. Предложен алгоритм для расчета основных вероятностно-временных характеристик системы.
Ключевые слова – Session Initiation Protocol (SIP), алгоритм контроля перегрузки, пропускная способность.
2. Введение
Протокол инициирования сеансов связи (Session Initiation Protocol, SIP) является основным сигнальным протоколом в сетях следующего поколения (Next Generation Network, NGN). В последнее время внедрения протокола становятся более масштабными и число пользователей услуг, предоставляемых на базе SIP, продолжает расти.
Несмотря на популярность и увеличение количества внедрений в промышленной эксплуатации механизм управления перегрузками в протоколе SIP малоизучен. Хотя протокол SIP и обладает базовым механизмом управления перегрузками, но на практике этот алгоритм оказался малоэффективным и в большинстве случаев не способным предотвратить перегрузку SIP серверов. Перегрузка на SIP серверах возникает, если интенсивность поступления сообщений превышает возможности по обработке сообщений. При повышении нагрузки производительность сервера существенно падает. Кроме этого SIP сервер генерирует внутренние сообщения, например, для повторной передачи сообщения, если не был получен ответ на предыдущее сообщение за требуемое время. Это приводит к тому, что перегрузка сервера может возникнуть и в случае, когда интенсивность поступления сообщений меньше, чем скорость обработки сообщений. Таким образом, перегрузка на одном сервере может повлечь за собой перегрузки на соседних серверах и привести к перегрузке всей сети.
3. Базовый механизм контроля перегрузки
На рис.1 представлена типовая сетевая архитектура сети SIP. Перед установлением сессии между вызывающей стороной (пользователь А) и вызываемой стороной (пользователь В) агенты пользователей UAc (User Agent client) и UAs (User Agent server) обмениваются информацией, необходимой для установления сессии посредством SIP сигнализации, которая осуществляется отправкой запросов и ответов через прокси-серверы SIP.

Рис. 1. Архитектура SIP сети
Протокол SIP предусматривает базовый механизм управления перегрузками, который использует код ошибки 503 (Service Unavailable) [1]. В случае если SIP сервер не может обработать запрос из-за временной перегрузки, то он отклоняет запрос с кодом ошибки 503. Отправителю, получившему такое сообщение, не следует перенаправлять сообщение далее вверх по цепочке, уведомляя о перегрузке на одном из ниже лежащих узлов, до тех пор, пока он не сможет определить, что получатель будет отвечать на каждое его сообщение сообщением 503. Отправитель должен повторить отправку сообщения получателю или направить на другой сервер. Перегруженный сервер также может добавить Retry-after заголовок в SIP сообщение об ошибке, указав время в секундах, в течение которого сервер не хочет получать каких либо сообщений от отправителя. Отправитель, прекращает отправку сообщений на этот период времени, сообщения направляются на альтернативные сервера, а отправка сообщений на сервер, сообщивший о перегрузке, возобновляется по истечении интервала времени указанного в заголовке.
4. Алгоритмы контроля перегрузки
В докладе рассматривается два алгоритма контроля перегрузки: алгоритм, предложенный в [2, 3], который основывается на анализе состояния длины очереди системы, и второй, являющийся модификацией первого. Рассмотрим механизм работы сервера на основе первого алгоритма. На сервер с БП размером R поступают сообщения двух типов: INVITE и не-INVITE. Все поступающие в систему сообщения обрабатываются в соответствии с дисциплиной обслуживания FIFO. В качестве критерия определения состояния сервера выберем два пороговых значения наполнения очереди: верхний порог
и нижний
,
. Обозначим
количество сообщений в очереди. Если в очереди находится более
заявок, то прокси-сервер SIP переходит в состояние перегрузки и включается механизм управления очередью: все вновь поступающие сообщения отклоняются, сервер возвращает сообщения 503 и продолжает обрабатывать находящиеся в очереди сообщения. В последствии, как только число сообщений снизится и будет заключено в интервале
, сервер продолжит отклонять INVITE заявки, возвращая сообщение 503, а не-INVITE сообщения будет принимать к обслуживанию и ставить в очередь. Когда число заявок в буфере станет меньше
, сервер считает перегрузку ликвидированной и механизм управления очередью отключается, сервер приступает принимать все поступающие сообщения.
Поскольку на обработку INVITE сообщений требуется от 4 до 12 раз больше времени, чем на обработку не-INVITE сообщений [2, 3], то в качестве модификации первого алгоритма предлагается изменить дисциплину обслуживания заявок сервером в состоянии перегрузки на обслуживание с относительным приоритетом, причем приоритет не-INVITE заявок выше, чем у INVITE, и возвращать сервер к традиционному обслуживанию в соответствии с дисциплиной FIFO, как было предусмотрено в первом алгоритме, когда перегрузка будет ликвидирована.
5. Построение модели
Функционирование сервера описывается в виде однолинейной системы массового обслуживания с буфером конечной емкости
, изображенной на рис. 2. На систему поступает два пуассоновских потока заявок: 1-заявки (сообщения INVITE) с интенсивностью
и 2-заявки (сообщения не-INVITE) с интенсивностью
. Заявки ставятся в очередь или отклоняются в соответствии с описанным алгоритмом контроля перегрузки. Заявки из очереди поступают на обслуживание в соответствии с дисциплиной FIFO. Время обслуживания распределено экспоненциально с параметром
,
в соответствии с типами заявок, когда сервер функционирует в нормальном режиме и с параметрами
,
в режиме перегрузки.

Рис. 2. Схема системы массового обслуживания (алгоритм 1)
На рис. 3 изображена схема системы массового обслуживания, соответствующая функционированию сервера в режиме перегрузки по второму алгоритму. В соответствии с алгоритмом в режиме перегрузки на обслуживание поступают сперва все не-INVITE сообщения, а затем сообщения INVITE.

Рис. 3. Схема системы массового обслуживания (алгоритм 2)
В докладе предложен алгоритм расчета основных вероятностно-временных характеристик каждой модели и проведен сравнительный анализ по различным показателям, таким как пропускная способность системы и среднее время пребывания заявки в системе [4].
Литература
1. Rosenberg J., Schulzrinne H., Camarillo G. SIP: Session Initiation protocol // IETF RFC 3261, 2002.
2. Ohta M. Overload Protection in SIP Signaling Network // ICISP’06, International Conference on Internet Surveillance and Protection, 2006.
3. Garroppo R., Giordano S., Spagna S. Queuing strategies for local overload control in SIP server // IEEE Global Telecommunications Conference, 2009.
4. Лекции по математической теории телетрафика. ‑М.: Изд-во РУДН, 2004.
Queuing System for Performance Evaluation of Overload Control in SIP Servers
P. Abaev, G. Bolotova
Department of Telecommunication Systems, Peoples’ Friendship University of Russia,
*****@***pfu. edu. ru, *****@***com
We introduce threshold overload control algorithm for SIP servers to protect from performance degradation. Mathematical models and performance evaluation algorithm were proposed.
Key words – Session Initiation Protocol (SIP), overload control, throughput.


