Вычисление задержки передачи для узла VPN с использованием программных пакетов Network Calculus
Рассматриваются задачи оптимального распределения ресурсов и анализа характеристик качества обслуживания QoS виртуальных частных сетей (VPN), реализуемых на базе мультисервисной пакетной сети оператора связи. Представлены базовые принципы математического аппарата теории сетевого анализа Network Calculus (NC). Показаны основные достоинства теории NC по сравнению с теорией массового обслуживания и моделями трафика в сетях на основе самоподобных процессов. Рассматривается возможность применения NC для анализа характеристик качества обслуживания на этапе планирования VPN. Представлен обзор программных пакетов на основе NC для математического и графического моделирования сетей связи: COINC, DEBORAH, RTC, CyNC, PEGASE, NC-Maude. Рассмотрены достоинства и недостатки пакетов при решении различных задач моделирования. Показана возможность применения рассмотренных программных пакетов для моделирования и расчета характеристик функционирования узлов сети на этапе планирования VPN.
Ключевые слова: виртуальные частные сети VPN, характеристики качества обслуживания QoS, теория сетевого анализа Network Calculus, программные пакетыi.
Лысиков А.А., Росляков А.В.,
МТУСИ
Введение
Виртуальные частные сети (VPN) являются одной из востребованных услуг в современных мультисервисных сетях связи на основе пакетной коммутации по протоколу IP, например, в сетях NGN [1].
При предоставлении услуги VPN провайдером, прежде всего, должны быть строго соблюдены установленные в соглашении о гарантированном уровне сервиса SLA такие параметры качества обслуживания QoS, как задержка, джиттер, потери пакетов, а также гарантированная полоса пропускания. Поэтому на этапе планирования VPN необходимо определить сквозные характеристики QoS из конца в конец на основе моделей работы отдельных узлов сети, которые будут использованы при конфигурировании топологии VPN. Виртуальная сеть представляет собой набор фиксированных маршрутов передачи трафика конечных пользователей, проходящих через определенные узлы сети с различным размером буфера, различными дисциплинами обслуживания и вносящими различную по величине задержку при обслуживании мультисервисного многокомпонентного трафика. Это делает анализ сквозных характеристик таких маршрутов VPN достаточно сложным и затруднительным. Задача усложняется еще и тем, что через узлы, выбранные для конфигурирования планируемой VPN, как правило, уже проходят маршруты как ранее сконфигурированных VPN соединений,
так и других не-VPN соединений (например, интернет-соединений), трафик которых будет использовать часть ресурсов сетевых узлов, и, следовательно, будет являться конкурирующим для трафика данной VPN. В то же время знание загрузки узлов для возможных маршрутов новой VPN позволит оптимизировать распределение нагрузки между узлами для более эффективного использования ресурсов мультисервисной сети оператора.
В связи со сложным характером трафика, большим разнообразием политик и механизмов обслуживания трафика в сетевых узлах, а также значительными размерами конфигурируемых VPN вычислить для отдельных маршрутов точные значения параметров QoS из конца в конец и входящих в них узлов с использованием классической теории массового обслуживания (ТМО) или математического аппарата моделей трафика на основе самоподобных процессов (СПП) затруднительно по ряду причин. ТМО позволяет моделировать работу узлов сети и определять точные значения QoS (такие как, дисперсия, задержки, длина очереди, время ожидания заявки в очереди и т.д.), но с рядом допущений о поступающем потоке и дисциплине обслуживания. Анализ трафика на основе самоподобных процессов учитывает долговременную зависимость в мультисервисном трафике, а, следовательно, более точно учитывает его характер. Однако использование такого подхода не позволяет моделировать работу самих сетевых узлов, а, следовательно, определять характеристики их функционирования. Учитывая нормы QoS, приведенные в рекомендациях ведущих международных организаций по стандартизации в области телекоммуника-
ций, таких, как ITU-T (например, G. 1010, Y 1541) или 3GPP (например, TS 23.203), можно говорить о том, что в современных сложных IP-сетях важнее определить не точные, а граничные значения характеристик QoS. ТМО и СПП не позволяют этого сделать.
В решении этой проблемы весьма эффективной показала себя теория сетевого анализа Network Calculus (NC). В ряде работ отечественных и зарубежных авторов, например [2, 3], показано использование математического аппарата теории NC для определения граничных значений характеристик качества обслуживания (задержки и длины очереди) отдельного узла сети, а также сквозных характеристик сложных сетей.
1. Теория сетевого анализа (Network Calculus) и ее применение к анализу VPN
Теория NC была создана в 1990-х годах профессором Калифорнийского университета Рене Крузом [5] и в дальнейшем развивалась по двум направлениям: детерминированное (Deterministic Network Calculus, DNC) и стохастическое (Stochastic Network Calculus, SNC). NC базируется на основных положениях идем-потентной алгебры (тропической математике), в частности на математическом аппарате (max, +) и (min, +) - алгебр и позволяет моделировать работу как одного узла, так и всей сети в целом. В основе NC лежат следующие кривые (функции): поступления (с помощью нее моделируется поступающий в узел поток пакетов), обслуживания (моделирует работу узла сети при обслуживании поступающих пакетов) и выходного потока (моделирует поток обслуженных пакетов на выходе узла). Кривые поступления,
обслуживания и выходного потока можно отобразить графически в виде функций от времени : функция поступления a(t) (которая ограничивает поток пакетов A(t), поступающий на вход системы обслуживания), функция обслуживания P(t) и функция выходного потока D(t) (рис. 1 ). Зная эти функции можно определить задержку передачи пакетов и загрузку узла сети. Максимальная задержка передачи пакетов d(o,P) через узел сети определяется как горизонтальное расстояние между функцией поступления и функцией обслуживания, которое может быть представлено аналитически как:
d (t) < (а, в).
Максимальная загрузка (или длина очереди) узла сети определяется как вертикальное расстояние между функцией поступления и функцией обслуживания Ь(о,Р) (см. рис. 1), либо аналитически:
Ь(а,р)=sup{a(t)-p(t)}. t>0
Для определения функции выходного потока узла сети производится (min,+) де-конволю-ция (т.е. обратная свертка) функции поступления и функции обслуживания:
D(t) <a(t)0p(t).
Подробно принципы теории NC изложены в [6]. Теория NC является эффективным инструментом для определения граничных значений качества обслуживания трафика в VPN, что показано в [4]. Граничные значения, полученные с использованием теории NC, показывают, что задержка передачи пакетов и загрузка узла (либо сквозные значения данных параметров) не превысят некоторого максимального значения, а гарантированная полоса пропускания в узле для потоков планируемой VPN (или пропускная способность возможных маршрутов) не будет ниже некоторого минимального значения.
Благодаря свойству конкатенации можно вычислить сквозные характеристики маршрута передачи трафика в VPN, состоящего из не-
Рис. 1. Базовые кривые (функции) теории Network Calculus
скольких узлов. Например, функция обслуживания последовательной цепочки из n-узлов P(t) будет определяться как (тт,+)-свертка функций обслуживания отдельных узлов:
pit) = pl(t) ®p2(t) ®...®pi(t) ®...®pn(t).
2. Программные пакеты Network Calculus
В настоящее время имеется ряд коммерческих или свободно распространяемых программных пакетов на основе NC, которые позволяют производить как математическое, так и комплексное графическое моделирование отдельных сетевых узлов и сложных сетей связи. Все пакеты имеют свои особенности и адаптированы под различные программные среды, вследствие чего имеют достоинства и недостатки при применении их для решения различных задач моделирования.
2.1. COINC
Пакет COINC (Computational Issues on Network Calculus) разработан в институте INRIA (Франция). Представляет собой набор инструментов на языке C++ для интеграции в окружение Scilab, позволяющих работать с основными операциями NC, такими как сумма, разность, (min, +)-свертка и обратная свертка функций, суб-аддитивным замыканием, кусочно-линейными функциями с конечным множеством сегментов. Позволяет записать до 4000 строк кода на C++ и до 1000 строк комментариев преимущественно на французском языке. Полную информацию о пакете можно найти на официальном сайте разработчиков [7].
2.2. DEBORAH
Пакет DEBORAH (Delay Bound Rating Algorithm) разработан группой исследователей в Пизанском университете (Италия) и основан на методологии LUDB [8], разработанной той же группой, суть которой заключается в вычислении границ задержки для исследуемого потока трафика, проходящего через последовательность узлов, с учетом различных комбинаций пересечения с маршрутом VPN конкурирующих потоков. DEBORAH позволяет вычислять верхнюю границу задержки в сети с политикой обработки очереди FIFO в узле, с кривой поступления, характеризующей формирователь трафика "маркерное ведро" и кривой обслуживания "скорость-запаздывание", характеризующей дисциплину обслуживания узла сети. Он также позволяет решать некоторые задачи кусочно-линейного программирования. Пакет позволяет создать до 6000 строк кода на C++ и около 1500 строк комментариев. DEBORAH распространяется по лицензии GNU GPL и его можно скачать через интернет [9].
2.3. DISCO
Пакет DISCO Network Calculator разработан исследовательской группой DISCO в лаборатории Distributed Computer Systems Laboratory технического университета Кайзерслаутерна (Германия). Как представлено на официальном сайте проекта [10], DISCO представляет собой библиотеку сетевого анализа Network Calculus на языке Java, включающую в себя набор кусочно-линейных кривых и (min,+)-алгебраичес-кие операции над ними. Код программы открыт, может быть запущен с помощью прикладного интерфейса программирования API. DISCO позволяет создавать различные кривые поступления и обслуживания, а так же сетевые топологии, вычислять задержку используя аппарат DNC и SNC. Он позволяет изменять вид не строго возрастающих кусочно-линейных кривых, состоящих из конечного множества сегментов, чем уступает возможностям пакета COINC. DISCO позволяет создавать до 5000 строк кода на Java и 500 строк комментариев.
24. RTC
Пакет RTC (Real-Time Calculus Toolbox) разработан в лаборатории Computer Engineering and Networks Laboratory (Швейцария). Написан на языке Java и представляет собой инструмент для окружения MATLAB. По своим возможностям RTC соответствует пакету COINC: он позволяет работать с кусочными аффинными псевдопериодическими функциями. Поддерживает все основные операции (min,+) и (max,+) алгебр, вычисляет верхние и нижние границы задержки и загрузки узлов. Позволяет анализировать системы: с дисциплинами формирования очереди FIFO, EDF (Earliest Deadline First); формирователями трафика Greedy Shaper, Pay Bursts Only Once; системы с варьируемой обратной связью, системы с циклической зависимостью. RTC позволяет создавать до 4000 строк кода на языке MATLAB и 3500 строк комментариев. Пакет доступен для скачивания в [11].
2.5. CyNC
Пакет CyNC разработан в Ольборгском университете (Дания). Инструмент представляет собой библиотеку для среды MATLAB/Simulink и позволяет наглядно описать систему и затем анализировать ее. В основе программы лежат методы DNC. Основные элементы пакета - сетевые/обслуживающие компоненты, соединяемые ресурсными элементами. В зависимости от конкретных характеристик того или иного элемента, он может быть выходным или промежуточным ресурсным элементом. Пакет CyNC располагает объекта-
ми для моделирования, разделенными на логические группы - генераторы1, сетевые элементы1, вспомогательные элементы! и дисплеи. Содержит генераторы рабочих и ресурсных потоков, в качестве исходных данных принимается числовой массив. Вспомогательные утилиты1 включают в себя блоки пакетирования, агрегации, свертки функции обслуживания и расчёта загрузки узла и задержки передачи пакетов. Пакет позволяет моделировать работу сетевых узлов с дисциплинами обработки очереди: FIFO, EDF, алгоритм Round-robin, приоритетная очередь. CyNC позволяет записать до 800 строк кода на языке MATLAB и 26 строк комментариев. Пакет доступен на сайте разработчиков [12].
2.6. PEGASE
PEGASE — это проект компании Real Time-at-Woik (Франция), разработанный для аэрокосмических и промышленных сетей связи. Пакет состоит из нескольких блоков: библиотека (min, +) вычислений, база NC, сетевой редактор и др. Библиотека (min, +) вычислений реализована на языке Java и является бесплатной для академического использования. Этот модуль подобен COINC. Остальные модули являются коммерческими. PEGASE прежде всего предназначен для промышленных инженерных расчётов. Подробную информацию о проекте можно найти в [13].
2.7. NC-Maude
Пакет NC-Maude разработан во Французском центре аэрокосмических исследований (ONERA). Основан на (min, +)-алгебре. В отличие от COINC работает с простейшими, наиболее часто используемыми функциями, а также реализует некоторые элементы выпуклого анализа. Пакет использует различные типы функций: не строго возрастающие, звездообразные, выпуклые, вогнутые и т.д. Строго соответствует математическому аппарату теории NC (в отличие от RTC). NC-Maude позволяет вводить данные и выводить результат вычислений в виде обыкновенных и десятичных дробей, что в свою очередь позволяет производить более точные вычисления. Включает в себя модулы (тт,+)-алгебры1 на Java и базовый модуль NC,
написанный на специально разработанном языке с синтаксисом, максимально приближенным к теории NC за счет возможности описания дополнительных функций. Пакет ориентирован в основном на математиков. NC-Maude позволяет написать до 4000 строк кода и 1400 строк комментариев. Распространяется по лицензии CeCILL, совместимой с GNU GPL. Подробную информацию о пакете можно получить на официальном сайте разработчика [14].
Выводы
Проведенный анализ показал, что часть пакетов, такие как RTC, COINC и DISCO, являются универсальными и ориентированы как на инженеров, так и на математиков, имеют весь набор необходимых функций и операций теории NC. Другие пакеты являются специализированными, такие как CyNC, предназначенный для анализа систем с обратной связью и циклическими зависимостями, и PEGASE, предназначенный для анализа промышленных сетей. Все пакеты написаны на популярных языках программирования, поэтому какой пакет выбрать, зависит от предпочтений самого исследователя и решаемых им задач. Отдельно стоит отметить пакет NC-Maude, предназначенный исключительно для математиков и написанный на специальном языке, максимально приближенным к теории NC. Он предназначен для исследования и развития математического аппарата NC. Пакет DEBORAH рассчитан только на определение границ задержки, специально разработан под алгоритмы методологии LUDB, производит анализ только систем обслуживания с определенными свойствами (очередь FIFO, формирователь "маркерное ведро").
Литература
1. Росляков A.B. Виртуальные частные сети. Основы построения и применения. — M.: Эко-Трендз, 2006. — 304 с.
2. Милов Д.С. Методы идемпотентной алгебры и анализа при исследовании сетей с очередями: Дис. ... кан. физ.- мат. наук/ СПб. гос. ун-т. — М., 2000. — 100 с.
3. Firoiu V., Le Boudec J.-Y, Towsley D, Zhang Z. L. Theories and Models for Internet Quality of Service / Proceedings of the IEEE, 2000. — V 90. — Pp.1565-1591.
4. Росляков А.В., Лысиков АА. Применение теории стохастических сетевых исчислений к анализу характеристик VPN // T-Comm: Телекоммуникации и транспорт, 2013. — №7. — С.106-108.
5. Cruz R. L. A calculus for network delay/ Part I, II // IEEE Trans. Information Theory, 1991. — V 37(1). — Pp. 114-141.
6. Le Boudec J.-Y, Thiran P Network Calculus. A Theory of Deterministic Queuing Systems for the Internet. Online Version of the Book Springer Verlag, 2012. — Pp.263.
7. Computational Issues in Network Calculus [Электронный ресурс]. Режим доступа: http://perso.bre-tagne.ens-cachan.fr/~bouillar/coinc, свободный. — Загл. с экрана.
8. Lenzini L., Mingozzi E., Stea G. A Methodology for Computing End-to-end Delay Bounds in FIFO-multiplexing Tandems // Elsevier Performance Evaluation, 2008. — V 65. — Pp. 922-943.
9. Deborah [Электронный ресурс]. Режим доступа: http://cng 1 .iet.unipi.it/wiki/index.php/Deborah, свободный. — Загл. с экрана.
10. Stochastic Network Calculator [Электронный ресурс]. Режим доступа: http://disco.informatik.uni-kl.de/index.php/pro|ects/disco-snc, свободный. — Загл. с экрана.
11. Modular Performance Analysis with Real-Time Calculus [Электронный ресурс]. Режим доступа: http://www.mpa.ethz.ch/Rtctoolbox/Overview, свободный. — Загл. с экрана.
12. Aalborg University, Department of Control Engineering [Электронный ресурс]. Режим доступа: http://www.control.aau.dk/~henrik/CyNC, свободный. — Загл. с экрана.
13. PEGASE [Электронный ресурс]. Режим доступа: http://sites.onera.fr/pegase, свободный. — Загл. с экрана.
14. ONERA. Marc Boyer [Электронный ресурс]. Режим доступа: http://www.onera.fr/staff/marc-boyer/tools.php, свободный. — Загл. с экрана.
Calculation of delay for VPN node using the network calculus software packages Lysikov AA, Roslyakov A.V., MTUCI, Moscow
Abstract
We consider the problem of optimal allocation of resources and evaluation of the QoS in a Virtual Private Network (VPN), implemented on the basis of multiservice packet network operator. Presents the basic provisions of Network Calculus (NC). The basic theory of NC-esteem compared with the theory of queuing and traffic analysis in networks based on self-similar processes in the application to the analysis of the characteristics of QoS in communication networks. Offered the possibility of applying NC to analyze the characteristics of service quality in the planning stage VPN. Presents an overview of software packages based on NC for mathematical and graphical modeling networks, such as: COINC, DEBORAH, RTC, CyNC, PEGASE, NC-Maude. The advantages and disadvantages of each software package when applying for a variety of modeling tasks. Offered the opportunity to use software packages considered simulation and operation characteristics of nodes in the planning phase networks VPN.
Keywords: virtual private networks VPN, quality of service QoS, Network Calculus, software packages.
References
1. Roslyakov A.V. Virtual Private Networks. Fundamentals of building and primeneniya. Moscow Eco-Trendz, 2006 304 p.
2. Milov D.S. Methods idempotent algebra and analysis in the study of queuing networks: Dis. ... Kan. Phys.-Math. Science / St. Petersburg. State. Univ. Moscow, 2000. 100 p.
3. Firoiu V., Le BoudecJ.-Y, Towsley D., Zhang Z. L. Theories and Models lor Internet Quality of Service / Proceedings of the IEEE, 2000. V 90. Pp.1565-1591.
4. Roslyakov A.V, Lysikov AA Application of the theory of stochastic network calculus to the analysis of the characteristics of VPN / T-Comm. 2013. No7. Pp. 106-108.
5. Cruz R. L. A calculus for network delay/ Part I, II / IEEE Trans. Information Theory, 1991. V! 37(1). Pp. 114-141.
6. Le Boudec J.-Y, Thiran P Network Calculus. A Theory of Deterministic Queuing Systems for the Internet. Online Version of the Book Springer Verlag, 2012. Pp.263.
7. Computational Issues in Network Calculus [Электронный ресурс]. Режим доступа: http://perso.bretagne.ens-cachan.fr/~bouillar/coinc.
8. Lenzini L., Mingozzi E, Stea G. A Methodology for Computing End-to-end Delay Bounds in FIFO-multiplexing Tandems / Elsevier Performance Evaluation, 2008. V 65. Pp. 922-943.
9. Deborah [Электронный ресурс]. Режим доступа: http://cng1.iet.unipi.it/wiki/index.php/Deborah, свободный.
10. Stochastic Network Calculator [Электронный ресурс]. Режим доступа: http://disco.informatik.uni-kl.de/index.php/proiects/disco-snc.
11. Modular Performance Analysis with Real-Time Calculus [Электронный ресурс]. Режим доступа: hlp://www.mpa.elhz.ch/Rtctoolbox/Overview
12. Aalborg University, Department of Control Engineering [Электронный ресурс]. Режим доступа: http://www.control.aau.dk/~henrik/CyNC.
13. PEGASE [Электронный ресурс]. Режим доступа: http://sites.onera.fr/pegase.
14. ONERA. Marc Boyer [Электронный ресурс]. Режим доступа: http://www.onera.fr/staff/marc-boyer/tools.php.