Применение имитационного моделирования к разработке программных средств для построения, анализа и оптимизации характеристик, управления трафиком компьютерных сетей с технологией MPLS
Автор: Кухарев С.А., Кухарева О.
Источник: Четвертая всероссийская научно-практическая конференция Имитационное моделирование. Теория и практика
(ИММОД-2009). Санкт-Петербург, 21–23 октября 2009 г., с. 276-278 http://simulation.su/...
При проектировании компьютерных сетей с технологией MPLS [1] (multiprotocol label switching – многопротокольной коммутации по меткам) мы сталкиваемся с рядом проблем: определение типов и параметров сетевого оборудования, которое бы обеспечило потребности пользователей при передаче трафика,выбор архитектуры сети по критерию стоимости оборудования. Важным является определение загруженности отдельных узлов или каналов связи сети при заданных ее параметрах, а также исследование поведения трафика разных классов [2].
В современной компьютерной сети с технологией MPLS одновременно передается информация разных типов (видео- и аудиоинформация, сжатая видео- и аудиоинформация, а также данные, менее чувствительные к задержкам) с разными показателями качества обслуживания, на ее работу существенно влияют методы управления трафиком. Для создания модели сети (в том числе задания ее топологии,характеристик составляющих сети), а также для моделирования ее работы, анализа и оптимизации ее характеристик, управления трафиком предлагается один из мощнейших инструментов исследования сложных систем – имитационное моделирование [3].
Рассматривается задача создания программного комплекса,предназначенного для имитации работы сетей с технологией MPLS, в частности, для исследования загруженности сетевых элементов (выявление узких
мест в сети), анализа и оптимизации характеристик сетей (средней задержки, вариации задержки, процента отброшенных пакетов), а также исследования поведения трафика разных классов с целью обеспечения заданного качества обслуживания.
Входными данными является модель компьютерной сети с технологиейMPLS, которая состоит из узлов LSR (label switching router – маршрутизаторов коммутации по меткам) и каналов связи соответствующей пропускной способности. В модель включена возможность задания разных категорий сервиса для трафика. Средствами данного программного комплекса для каждого узла, канала связи и для сети в целом задаются свои параметры. Также задается плановая нагрузка на сеть, то есть события, которые гарантированно должны происходить в сети, и динамическая (внеплановая, возможная) нагрузка на сеть.
Имеется возможность задания плана эксперимента, а именно: задается длительность эксперимента, количество тактов имитации в единицу времени (целое число), из общего перечня событий для конкретной модели выбираются события,которые будут участвовать в данном эксперименте.
Далее после задания плана эксперимента запускается процесс имитации.
На предварительном этапе работы программы в случае наличия в расписании событий случайных величин производится генерирование случайных чисел согласно заданному закону распределения. При имитации работы сети используется метод задания времени при помощи фиксированных интервалов времени (механизм фиксированных приращений временных интервалов), то есть отсчет времени ведется через заблаговременно определенные временные интервалы постоянной длины [3]. Все события, которые имеют место в течение этого промежутка времени, считаем такими, что произошли одновременно. Таким образом, с точки зрения процесса имитации события, соответствующие определенному промежутку времени, начинаются от его начала, не зависимо от того, в какой момент времени они происходят на самом деле.
В течение времени моделирования выполняется обработка пакетов. Под обработкой понимается процедура, проверяющая пакет по критерию возможности операции пересылки и выполняющая непосредственно процесс пересылки. Перед проведением обработки пакеты сортируются по определенным критериям,определяющим порядок их дальнейшей обработки. Далее идет обработка первого пакета в очереди, который может быть обработан, потом выполняется новая сортировка для получения нового первого
пакета. Эта процедура выполняется до тех пор, пока будет существовать первый пакет, который может быть обработан.
Во время имитации организовывается цикл с несколькими вложениями(по времени, по такту, по пакетам, которые находятся в очереди пакетов для возможной обработки). Рассмотрим отдельную итерацию [4].
Шаг 1. В начале цикла для параметров элементов модели устанавливаются начальные значения для текущего такта.
Шаг 2. До начала передачи через сеть MPLS пакетов трафика любого вида маршрутизаторы LSR устанавливают соответствие между метками и FEC (forwarding equivalence class – классом эквивалентности при пересылке) в своих таблицах.
Шаг 3. При получении данных о привязке меток к FEC каждый маршрутизатор LSR создает запись в таблице LIB (label information base – информационной базе меток). При любом новом согласовании привязки меток к FEC записи в таблице обновляются. Таблицы меток, согласно которым каждый пакет направляется по соответствующему LSP (label switched path – коммутируемому по меткам тракту), всегда должны быть заданы до того, как пакет начнет свой путь по сети.
Шаг 4. Тракты LSP создаются в направлении, обратном созданию записей в таблицах LIB. Каждый LSR получает метку от нижестоящего маршрутизатора. LSP создается путем последовательной маршрутизации по участкам.
Шаг 5. Сеть наполняется пакетами. В соответствии с расписанием событий происходит генерирование пакетов,которые должны быть переданы в сеть на текущем такте.
Шаг 6. Входной маршрутизатор, определив, какому FEC принадлежит принятый им извне пакет, использует таблицу LIB, чтоб отыскать нужную привязку FEC-метка
, и инкапсулирует эту метку способом, соответствующим технологии на уровне 2.
Шаг 7. Для всех существующих пакетов состояние активности переводится в TRUE (состояние активности говорит о том, что данный пакет еще может быть обработан в течение текущего такта).
Шаг 8. Пакеты сортируются в порядке их обработки в зависимости от накопленной задержки. Результатом сортировки является очередь пакетов для обработки. После обработки каждого пакета выполняется повторная сортировка. Таким образом, работа всегда выполняется с пакетом, стоящим первым в очереди. Шаг 8 проводим до тех пор, пока существует хоть один активный пакет, которые можно обработать. Если пакет далее не может быть обработан в течение текущего такта, его состояние активности переводится в FALSE. Получив пакет, маршрутизатор LSR извлекает из него метку и использует ее как индекс в своей таблице пересылки.
Шаг 9. Удаляем из очереди откинутые (DROPED), доставленные (DELIVERED) пакеты и те, состояние которых ENABLED=FALSE. Далее переходим на следующую итерацию. Каждая итерация соответствует отдельному такту конкретного времени
В имитационном алгоритме реализованы такие технологии обеспечения качества обслуживания, как формирование трафика, контроль за установлением соединения, резервирование ресурсов сети, организация и обслуживание очередей.
После окончания процесса имитации пользователь может просмотреть ее результаты, как в табличном виде, так и в виде графиков. Программный комплекс написан на языке программирования PHP и использует систему управления базами данных MySQL, но допускается работа и с другими СУБД (Oracle). Программа создана для работы в Internet, имеет удобный Web-интерфейс, то есть пользователям достаточно иметь доступ к этой глобальной сети и нет необходимости в специальном программном обеспечении на стороне клиента.
Процесс имитации работы сети происходит на сервере, там хранится также модель и результаты работы программы, поэтому пользователю также не нужен мощный компьютер для работы с программой. Программный комплекс рассчитан на корректную работу со всеми распространенными средствами для просмотра web-страниц, в частности, такими, как Internet Explorer, Mozilla Firefox, Opera, Maxthon, Safary. Кроме того, реализован механизм для авторизации пользователей, а также система прав доступа к данным. Преимуществом данного программного комплекса является также возможность задания типов, моделей и характеристик сетевых устройств не только вручную, что для больших сетей требует много времени, но и путем выбора необходимой модели коммутатора или маршрутизатора из списка. База данных сетевых устройств может пополняться пользователями.
Таким образом, с помощью описанного программного комплекса можно задавать топологию сети, настраивать ее составляющие, проводить имитацию работы сетей с технологией MPLS и анализировать результаты работы, используя наглядные материалы. Созданный программный комплекс является удобным средством для проектировщиков компьютерных сетей с технологией MPLS.
Список литературы
- Гольдштейн А. Б. Технология и протоколы MPLS / А. Б. Гольдштейн, Б. С. Гольдшейн // СПб.:БХВ Санкт-Петербург, 2005. 304 с.
- Олвейн В. Структура и реализация современной технологии MPLS. : Пер. с англ. М. / В . Олвейн // Издательский дом
Вильямс
, 2004. 480 с. - Шеннон Р. Имитационное моделирование систем / Р.Шеннон // М.: Мир, 1978. 422 с.
- Зайченко О. Ю. Імітаційне моделювання мереж з технологією MPLS з метою керування різнотипним трафіком / О. Ю. Зайченко, С. О. Кухарєв, О. В. Кухарєва // Вісник науково-технічного університету України
Київський політехнічний інститут
. Інформатика, управління та обчислювальна техніка. 2007. № 47. С. 153–160.