УДК 004.942
А.В. Мельников, К.А. Домбровский
ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ ИМИТАЦИОННАЯ МОДЕЛЬ МУЛЬТИСЕРВИСНОЙ IP-СЕТИ
Акцентируется актуальная проблема моделирования новых протоколов и алгоритмов связи в современных сетевых симуляторах. Делается вывод о том, что архитектура большинства данных продуктов является недостаточно гибкой и не точно соответствует предметной области. Это приводит к зависимости между разработчиками, так как исследователь вынужден при внедрении программного модуля вновь разработанного протокола изменять код прочих модулей, тем самым явно или неявно меняя существующую архитектуру имитационной модели. В качестве решения указанных проблем предлагается объектно-ориентированная имитационная модель мультисервисной сети. Рассматривается логическая структура модели, ее функциональная составляющая, а также программная реализация в популярной среде имитационного моделирования AnyLogic. Доказывается адекватность разработанной модели с использованием построенного в рамках работы стенда натурного моделирования.
Введение
Характерной тенденцией современного этапа развития компьютерных сетей является принципиальное изменение структуры передаваемого ими трафика /1/. Причиной тому является бурный рост разработок новых Интернет-приложений, изменение пропорций между уже существующими и вновь создаваемыми сетевыми услугами, а также конвергенция телекоммуникационных систем с сетью Интернет. Анализ статистики агрегированного трафика большинства сетей доступа в Интернет, а также корпоративных сетей крупных предприятий явно показывает высокую долю в нем аудио- и видеопотоков данных [1]. Таким образом, можно определенно утверждать, что трафик сетей доступа в Интернет, а также сетей крупных предприятий, стал мультимедийным, если под этим термином понимать относительно равномерное распределение долей аудио-, видео- и других типов потоков данных.
При этом постоянно разрабатываются и внедряются новые алгоритмы, протоколы и технологии, которые в определенной степени улучшают качество передачи трафика реального времени в IP-сетях. Следствием новых разработок и внедрений является существенное усложнение архитектуры сетей TCP/IP, которые теперь можно характеризовать не просто как сети передачи данных, а как мультисервисные, делая в данном определении акцент на разнообразность сетевых приложений.
В связи с этим применение аппарата аналитического моделирования для исследования вновь создаваемых алгоритмов и протоколов становится достаточно сложным, а зачастую и невозможным [2]. Альтернативным подходом являются имитационные модели компьютерных сетей, которые могут быть сколь угодно близки к моделируемой системе. Основной вклад в проблематику разработки имитационных моделей мультисервисных IP-сетей внесли ученые Шульцрин, Флойд, Саннек и Краукрофт. Среди отечественных центров, в первую очередь,
следует отметить Санкт-Петербургскую научную школу (Г ольдштейн), а также ряд исследовательских институтов РАН.
При этом в большинстве существующих сетевых симуляторов создание и внедрение модуля вновь разрабатываемого протокола затрагивает если не всю, то большую часть архитектуры имитационной модели сети, из-за необходимости модификации других модулей. Таким образом, возникает зависимость между разработчиками, что нежелательно.
Более того, существует проблема обработки данных, получаемых на выходе работы модели. Зачастую они представляют собой трассировочный дамп, отражающий историю прохождения пакетов по сети, и в общем случае для его анализа необходимо создание дополнительной программы.
Ярким примером наличия указанных проблем является безусловный лидер среди симуляторов с открытым кодом network simulator-2 (ns-2) [3]. Большинство результатов в научных публикациях, полученных в процессе исследований сетей связи, апробируются с привлечением именно этого инструмента. При этом, как показывает анализ почтовой переписки пользователей данного симулятора [4], большинство проблем связано именно с программной реализацией новых алгоритмов и
протоколов сетей связи в рамках пакета ш-2. Следовательно, актуальной является задача применения концепции объектно-ориентированного проектирования и анализа для построения имитационной модели мультисервисной сети.
Node
isRouter : bool throughput : int
Network
з o:
Protocol
#ifaceUp() : bool #ifaceDown() : bool #processing() : Message
ProtocolStack
{incomplete}
Application
<i
HTTP
FTP
VoIP
Transport
<1
RTP
і ♦ О
UDP
incomplete}
TCP/IP
НІНІ
TCP
Network
ICMP
incomplete}
IP
FT
RoutingTable RoutingAlg
DataLink Ethernet
<1
Queue
#length : int
Link
-delay : double +capacity : int -transfer mode : int
2 «Ц2
Connector 2' Segment
-transmit() : bool
HTTPmess
FTPmess
VoIPmess
RTPpacket
UDPpacket
<>
TCPpacket
ICMPpacket
IPdatagram
NIC 0
Physical EthernetFrame
-type : int -port : Link
<1 і *
+receive() : bool
CALL
+params : Object
{>
Message
#Data : String #protocol : int
2
Р и с. 1. UML-диаграмма логической структуры имитационной модели мультисервисной сети
Объектно-ориентированная имитационная модель мультисервисной IP-сети
В рамках подхода объектно-ориентированного анализа и проектирования имитационная модель мультисервисной сети представляет собой модель сложной системы и состоит из следующих компонент:
- логическая структура мультисервисной сети, включающая в себя модель сетевой топологии, узла и линии связи;
- функциональная составляющая концептуальной модели, которая представлена моделью сетевой нагрузки, генерирующей сетевой трафик;
- физическая модель сети, являющаяся реализацией разработанной имитационной модели в рамках выбранного программного пакета.
Логическая структура объектно-ориентированной имитационной модели сети с использованием нотации унифицированного языка моделирования UML (Unified Modeling Language) показана на рис. 1. Сетевой узел (класс Node) полностью представим моделью стека сетевых протоколов (класс ProtocolStack). Семиуровневая иерархия эталонной модели ISO/OSI нашла отражение в абстрактных классах Physical, DataLink, Network, Transport и Application. Последние три уровня модели признанно считаются избыточными и представлены классом Application. Далее указываются классы основных протоколов стека TCP/IP, относящиеся к тому или иному уровню. Объединение протоколов в стек указывается через отношение агрегации к классу TCP/IP, который, в свою очередь, является дочерним по отношению к классу ProtocolStack. Каждый протокол имеет собствен -ный формат сообщения. Все сообщения - это дочерние классы по отношению к абстрактному классу Message, который является составляющей класса CALL. Данный класс представляет собой вызов, который производит протокол для осуществления вертикального взаимодействия в рамках стека.
Взаимосвязь узла и линии связи указана через отношение ассоциации между классом сетевого интерфейса NIC и классом интерфейса линии связи Connector. Сама линия связи представлена классом Link.
Проведенный авторами данной работы анализ показывает, что типовые сетевые топологии не позволяют учесть существенных свойств Интернет-сетей. Поэтому для имитационной модели предложено расширение модели «узкое горло» - модель «многоканальность», которая показана на рис. 2.
Условно схема разделена на четыре области: сеть клиента, сеть Интернет-провайдера, сеть национального провайдера и магистральная сеть. Авторами данной работы был проведен анализ сетей современных Интернет-провайдеров на основе общедоступной информации [5]. В итоге для каждой из областей определены усредненные характеристики линий связи (табл. 1).
В имитационной модели для генерации потока пакетов используются три типа источников трафика: VoIP, HTTP и FTP, которые представляют собой функциональную компоненту концеп -туальной модели. Можно с полной уверенностью утверждать, что для моделирования трафика реального времени достаточно источников IP-телефонии, так как весь данный тип трафика работает через протокольную триаду RTP/UDP/IP и имеет одинаковый профиль нагрузки на сеть [6]. HTTP- и FTP-источники трафика были выбраны как наиболее популярные на сегодняшний день неинтерактивные сервисы.
Т а б л и ц а 1
Параметры топологической модели «многоканальность»
Область Параметр линии связи Значение по умолчанию
Сеть клиента Задержка 1 мс
Пропускная способность 1 Гбит/с
Сеть Интернет-провайдера Задержка 5 мс
Пропускная способность 10 Мбит/с
Сеть национального провайдера Задержка 10 мс
Пропускная способность 50 Мбит/с
Магистраль Задержка 50 мс
Пропускная способность 500 Мбит/с
VoIP
Web
TCP"' Источники ■
трафика Узль| «друзки
£
А*
С?
с?
Метрики: пропускная способность, стоимость передачи трафика
Глобальный
Интернет
(магистраль)
Р и
с. 2. Модель сетевой топологии «многоканальность»
Модель источника VoIP трафика можно разбить на три подмодели: модель голосового источника, модель выбора голосового кодека, модель потока звонков [У].
Поведение голосового источника традиционно описывается моделью Брэди [8]. Природа любого разговора имеет характер периодического чередования циклов речи и пауз между произносимыми звуками, словами или фразами, поэтому при генерации голосовых пакетов эти циклы также присутствуют. При этом ключевыми элементами модели разговора человека являются активная речь (ОК-период), паузы (ОРР-период) и законы распределения длительности этих периодов. До настоящего момента было проведено и опубликовано множество работ, авторы которых пытались на основе большого количества статистических данных установить адекватные вероятностные законы распределения ОК- и ОРР-периодов. Результаты последних исследований [7]
показывают, что ON/OFF-периоды распределены согласно законам Парето и Вейбулла. Авторами работы классическая модель Брэди была расширена путем введения третьего состояния - времен -ного интервала между двумя звонками пользователя, состояние AIT (Average InterCall Time). В модели источника VoIP-трафика используется кодек сжатия голоса G.729 Annex B. В модели потока звонков определяются законы распределения времени между двумя звонками с одного источника и длительности самого звонка. Модель источника трафика IP-телефонии представлена на рис. 3. Параметры модели приведены в табл. 2.
Т а б л и ц а 2
Параметры имитационной модели трафика VoIP
Параметр модели Функция параметра Значения
Время О№периода, Тзр Распределение Парето -( ) a * ba f (Х) = Xa+1 a = 2,114; b = 0,211
Среднее значение, сек 0,4011
Отклонение, сек 0,3637
Время ОРР-периода, Тёар Распределение Вейбулла f (x) = * ( £ a) a ^ a J x > 0, a > 0, b > 0
Среднее значение, сек 0,5775
Отклонение, сек 1,1774
Длительность разговора, ТИ Распределение Экспоненциальное r , 4 ) ae~ax , x > 0, a > 0 f (x) = 1 [ 0 , x < 0 a = 0,0029
Среднее значение, сек 345,4
Интервал между звонками, Та Распределение Экспоненциальное a = 0,275
Среднее значение, сек 3,64
Кодек Тип G.729 Annex B
Длина пакета, байт 20
Межпакетный интервал, Т1, мс 10
Для определения и описания структурных параметров модели используется абстракция web-сеанса, которая включает в себя понятия страницы и объекта. Данная абстракция была предложена в SURGE-модели (Scalable URL Reference Generator) [9]. В рамках данной модели процесс генерации web-трафика рассматривается как бесконечный цикл запросов web-страниц пользователем через определенный интервал времени (рис. 4).
Активный OFF-период
Главный объект OFF Вложенный объект OFF Вложенный объект OFF
i i ON-период передачи web-страницы j Неактивный ПРР.ПОПКЛЛ
пользователем
web-страницы
Получение
пользователем
web-страницы
Р и с. 4. ON/OFF SURGE-модель генерации web-трафика
■ ■--► Время
пользователем
следующей
web-страницы
К особенности данной модели следует отнести два ОРР-периода «негенерации» трафика в сеансе. Неактивный ОРР-период представляет собой время, которое пользователь тратит на просмотр текущей шеЪ-страницы. В общем случае шеЪ-страница представляет собой совокупность нескольких объектов: текст, графика и т.д. Таким образом, запрос пользователя к одной шеЪ-странице зачастую приводит к передаче множества файлов с шеЪ-сервера. Детали передачи компонент шеЪ-страницы зависят от используемого браузера и версии протокола НТТР. НТТР 0.9/1.0 использует отдельное ТСР-соединение для передачи каждой компоненты шеЪ-страницы. Напротив, НТТР 1.1 использует единственное ТСР-соединение для передачи всей шеЪ-страницы. Таким образом, активный ОРР-период представляет собой время на разборку браузером шеЪ-страницы и подготовку нового ТСР-соединения для запроса шеЪ-компонент. В рамках разработанной имитационной модели используется протокол НТТР 1.1. Количественные и временные характеристики шеЪ-сеанса, так же как и в случае с голосовым трафиком, определяются с помощью статистических вероятностных распределений. В данной работе значения статистических параметров модели шеЪ-трафика взяты из работы [10] (табл. 3).
Т а б л и ц а 3
Параметры имитационной модели тееЪ-трафика
Параметр модели Функция параметра Значение
Время на просмотр пользователем шеЪ-страницы, неактивный ОРР-период Распределение Парето второго типа „ ) а *Ьа ? (х) = а+1 (х + Ь)а+1 а=2; Ь=5
Среднее значение, сек. 10
Активный ОРР-период Распределение Парето второго типа а=1,5; Ь=0,167
Среднее значение, сек. 0,5
Количество объектов шеЪ-страницы Распределение Парето второго типа а=1,5; Ь=1
Среднее значение 3
Размер объекта Распределение Парето второго типа а=1,2; Ь=2
Среднее значение, Кб 12
Т а б л и ц а 4
Параметры имитационной модели йр-трафика
Параметр модели Функция параметра Значение
Время между сеансами Распределение Экспоненциальное а = 0,006
Среднее значение, сек 180
Количество файлов в сеансе Значение 1
Размер файла Распределение Логнормальное -(1п х-ц)2 /(х) - , е 25 , 8^12л х х > 0 8 = 0,35; ц=14,45
Среднее значение, Мб 2
Отклонение, Мб 0,722
РТР-трафик не является основным в мультисервисной сети, но он обеспечивает большую нагрузку на канал, так как формирует постоянный неинтерактивный поток. Для определения и описания структурных параметров модели используется абстракция йр-сеанса, которая включает в
себя понятие файла. Количественные и временные характеристики сеанса, так же как и в случае с голосовым и web-трафиком, определяются с помощью статистических вероятностных распределений и взяты из спецификации, предложенной институтом IEEE в рамках стандарта IEEE 8G2.2G [11] (табл. 4).
Физическая модель сети является реализацией разработанной имитационной модели в рамках выбранного программного пакета AnyLogic [12].
Структура классов и схема их взаимодействия в программно реализованной имитационной модели мультисервисной сети соответствует логической структуре модели на рис. 1. Следует отметить, что представление логической структуры класса в рамках пакета AnyLogic отличается от нотации, принятой в UML. Графическое представление класса сетевого узла Node приведено на рис. 5.
Адекватность разработанной модели
Реализованная модель мультисервисной сети требует оценки ее адекватности реальному поведению сетевых потоков данных. Для решения подобных задач обычно используются различные статистические и экспертные методики [13]. Имитационная модель в общем случае является просто преобразователем входных переменных в выходные. Один из наиболее очевидных подходов к проверке точности модели состоит в сравнении выходов модели и реальной системы при одинаковых (если это возможно) входах. Используя соответствующий критерий для двух выборок, можно проверить статистические гипотезы о том, что выборки выходов системы и модели являются выборками из различных совокупностей или что они «практически» принадлежат одной генеральной совокупности.
В рамках задачи определения адекватности имитационной модели был создан программноаппаратный макет (рис. 6). Потоки HTTP-, FTP- и VoIP-пакетов эмулируются генератором трафика «Distributed Internet Traffic Generator» [14].
Р и с. 5. Графическое представление класса сетевого узла Node в среде имитационного моделирования AnyLogic
Р и с. б. Архитектура стенда натурного моделирования
С использованием критерия Вилкоксона [13] был произведен сравнительный анализ выборок, полученных в ходе натурного и имитационного эксперимента. Результаты расчетов приведены в табл. 5 и свидетельствуют об адекватности разработанной имитационной модели.
Т а б л и ц а 5
Результаты обработки экспериментальных выборок
Нижнее критическое значение Статистика Вилкоксона для выборок Верхнее критическое значение
31223,55 задержки пакетов VoIP 33755,45
32933
джиттера пакетов VoIP
33531
процента потерь пакетов VoIP
33275
Заключение
Авторами разработана объектно-ориентированная имитационная модель мультисервисной IP-сети. Логическая структура мультисервисной сети включает в себя модель сетевой топологии, узла и линии связи и представлена с использованием нотации UML. Была предложена новая модель сетевой топологии - «многоканальность», которая, как показал анализ сетей Интернет-провайдеров, является наиболее актуальной при моделировании современных сетей передачи данных. Функциональная составляющая концептуальной модели мультисервисной сети представлена моделью сетевой нагрузки, генерирующей сетевой трафик. Физическая компонента модели муль-тисервисной сети является программной реализацией разработанной имитационной модели в рамках пакета AnyLogic. Разработанная объектно-ориентированная имитационная модель мультисер-висной IP-сети предоставляет исследователю возможность добавлять собственные и заменять существующие классы сетевых объектов, не меняя при этом концептуальную структуру модели. Таким образом, достигается независимость между разработчиками. Доказана адекватность разработанной объектно-ориентированной имитационной модели мультисервисной сети на основе характеристик трафика, полученных с использованием натурного стенда измерений характеристик качества обслуживания мультимедийного трафика.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. QUASIMODO, P9G6/D2 Report, 2GG1. [http://www.eurescom.de].
2. Hsiung H., Fischer M. J. An Approach to IP Telephony Performance Measurement and Modeling in Government Environments. Mitretek Systems, Inc. USA, 1999.
3. Network simulator. [http://www.isi.edu/nsnam/ns].
4. NS-2 Mailing List Archive. [http://www.isi.edu/nsnam/ns/mail].
5. Каталог провайдеров России. [http://www.providerz.ru].
6. Schulzrinne H., Rosenberg J. Internet Telephony, Architecture and Protocols: an IETF Perspective // Computer Networks and ISDN Systems, 1999. Vol. 31/3. P. 237-255.
7. BiernackiA. Statistical analysis of VoIP streams . 7th Conference „Internet - Wroclaw 2GG5”, Wroclaw, 2GG5.
8. Brady P.T. A Model for Generating On-Off Speech Patterns in Two-Way Conversation // Bell Systems Technical Journal. 19б9. P. 2445-2472,
9. Barford P., Crovella M. Generating representative web workloads for network and server performance evaluation // In Proceedings of the ACM SIGMETRICS, Madison WI, 1998.
1G. Markovski V. Simulation and Analysis of Loss in IP Networks // Engineering Science, Simon Fraser Univserity, 2GGG.
11. IEEE P8G2.2G-PD. Traffic models for IEEE 8G2.2G MBWA System Simulation. Institute of Electrical and Electronics Engineers, 2GG3.
12. Руководство пользователя AnyLogic. XJ Technologies Company Ltd., 2GG5.
13. Шеннон Р. Дж. Имитационное моделирование систем - искусство и наука. М.: Мир, 1978.
14. Distributed Internet Traffic Generator. [http://www.grid.unina.it/software/ITG/].
Статья поступила в редакцию 26 марта 2007 г.