Закрыть

Форма обратной связи

Отправить
mashtab

/812/309-03-21

МЕТОДОЛОГИЯ РЕАЛИЗАЦИИ ИМИТАЦИОННОЙ МОДЕЛИ АДАПТИВНОЙ МУЛЬТИСЕРВИСНОЙ СЕТИ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ

12.11.2012 /Статьи

В статье излагаются подходы к построению масштабируемой имитационной модели мультисервисной защищенной сети с коммутацией пакетов. Подробно описывается структура модели криптомаршрутизатора, реализация различных дисциплин обслуживания пакетов, схема алгоритма моделирования.

The article outlines approaches toward construction of a scalable imitation model of a protected multi-service packet-switching network. Described here in detail are the crypto router model structure, the implementation of different packet servicing disciplines and the modeling algorithm scheme.

Ключевые слова: масштабируемая имитационная модель, телекоммуникационная сеть с коммутацией пакетов, криптомаршрутизатор.

Keywords: scalable imitation model, packet-switching telecommunication network, crypto router.

 

Задача создания масштабируемой имитационной модели закрытой телекоммуникационной сети изменяемой топологии является весьма актуальной. Сетевыми элементами могут быть:

маршрутизаторы с функциями туннелирования и организации приоритетных очередей;

криптомаршрутизаторы, которые в дополнение к функциям маршрутизатора позволяют шифровать весь проходящий в заданном направлении трафик;

конечные узлы, генерирующие трафик с заданными параметрами и принимающие адресованные им потоки.

В статье предлагаются принципы построения имитационной модели закрытой телекоммуникационной сети, позволяющей на стадии разработки достаточно просто оценить ее основные характеристики.

 

Структура имитационной модели.

Моделируемая система представляет собой закрытую телекоммуникационную сети, конечные узлы которой генерируют и принимают трафик. Топология сети может меняться произвольно, однако в качестве ретрансляционных узлов могут выступать только маршрутизаторы и криптомаршрутизаторы.

Криптомаршрутизатор представляет собой три связанных между собой устройства: шифратор и два маршрутизатора, один из которых является терминальным, а второй – сетевым. Оба вида маршрутизаторов могут осуществлять туннелирование проходящего через них трафика. Оба процесса (шифрация и туннелирование) сопровождаются увеличением размера передаваемых пакетов и внесением временной задержки в их продвижение.

На каждом из портов машрутизаторов осуществляется контроль размера пакетов. При превышении заданного значения MTU пакет фрагментируется и только после этого отправляется в канал.

Еще одна функция маршрутизатора – это предоставление разных уровней качества обслуживания разноприоритетным потокам. В качестве дисциплины обслуживания очередей могут применяться методы PQ, CQ и MWFQ.

Применению каждой из дисциплин обслуживания предшествует классификация поступающих пакетов, при которой пакет помещается в один из  накопителей. Каждый пакет характеризуется размером: целым числом байт Ai,k, где i – номер накопителя, в который попал пакет,k  – порядковый номер пакета в i -м накопителе. Кроме того, каждый накопитель характеризуется целым числом Bi, смысл которого зависит от дисциплины обслуживания. Выбор на передачу очередного пакета происходит при завершении передачи предыдущего одним из следующих способов.

1. При использовании PQ на передачу выбираются пакеты из непустого накопителя с наибольшим числом Bi - приоритета накопителя. Такая дисциплина называется обслуживанием с относительными приоритетами, при котором поступивший на обработку низкоприоритетный пакет не будет прерван пришедшим высокоприоритетным пакетом.

2. В случае CQ очереди опрашиваются циклически, а Bi определяет суммарный размер пакетов, которые должны быть выбраны из i-го накопителя, прежде начнут выбираться заявки из следующего. Если очередь опустошилась ранее достижения Bi, то сразу же осуществляется переход к опросу следующего накопителя.

3. В случае МWFQ каждому приходящему пакету присваивается число вида Ci,k=Ai,k·Bi (если очередь i пуста), либо Ci,k=Ci,k-1+Ai,k·Bi  (если очередь i  непуста). На обслуживание выбирается заявка с наименьшим числом Ci,k. В классической WFQ пакеты размещаются по очередям в соответствии со значением поля TOS заголовка IP, а веса Bi определяются этим значением. В модифицированной MFWQ пакеты можно размещать по очередям более гибко, задавая принадлежность той или иной очереди набором фильтров, включающем помимо поля TOS проверку IP-адресов источника и назначения; а веса Bi при MWFQ могут задаваться каждой из очередей без привязки к значению поля TOS.

При высокой интенсивности поступления каждого класса пакетов CQ позволяет распределить пропускную способность канала передачи между классами пакетов пропорционально числам Bi (если время передачи пакетов по каналу связи в среднем одинаково для каждого класса пакетов). При этом i -му классу дается гарантия, что его доля составит минимум

 

При высокой нагрузке каждого класса пакетов WFQ работает похожим на CQ образом, распределяя пропускную способность канала связи обратно пропорционально Bi. Однако если пакеты какого-либо класса приходят редко, WFQ дает им преимущество в обслуживании, т.к. для них значение Ci,k потенциально меньше, ибо они чаще попадают в пустой накопитель своего класса.

Кроме того, маршрутизатор обладает функциями брандмауэра, пропуская только те классов пакетов, которые разрешены его настройками.

 

Допущения и упрощения.

При создании моделей неизбежно возникает вопрос о ее адекватности [1]. Важно, чтобы принятые допущения позволяли с заданной точностью оценивать требуемые характеристики системы.

В результате анализа обработки пакетов криптомаршрутизатором были приняты следующие допущения:

1. Проходящий через криптомаршрутизаторы трафик взаимно независим. В частности, это допущение может негативно сказаться при оценке характеристики передачи одиночных TCP-потоков, в которых по определению встречные потоки имеют обратную связь.

2. Ядро маршрутизаторов и шифратора обрабатывают пакеты по одному, что заставляет входящие пакеты ожидать начала своего обслуживания в буфере. Это допущение может оказаться неверным для узлов, имеющих схемотехническую возможность обработки нескольких пакетов одновременно.

3. Вместо нескольких терминалов, подключенных к портам маршрутизатора и генерирующих трафик, используется только по одному виртуальному терминалу, подключенному к каждому порту. Такой виртуальный терминал генерирует произвольное число потоков данных с произвольными параметрами, имитируя собой наличие множества узлов.

4. Подключения между всеми элементами модели реализуются по протоколу Point-to-Point (на 2-м уровне OSI-модели) и по протоколу IPv4 (на 3-м уровне OSI-модели) без учета расширенных форматов их заголовков. Таким образом, P2P всегда равен 2 байтам, а заголовок IPv4 равен 20 байтам.

5. Искажения при передаче пакетов моделируются в упрощенном виде. Для определения того, испорчен пакет или нет, не рассчитывается CRC. Искажения пакетов имитируются путем отбрасывания (потери) с заданной интенсивностью части пакетов при попадании их в порт маршрутизатора. Если вести расчет CRC, время моделирования существенно увеличивается, что не повлияет на точность моделирования.

6. Операции по шифрованию и туннелированию моделируются задержкой пакета на заданное время и изменением размера каждого пакета на заданное число байт.

7. Внешняя нагрузка служебных потоков (ospf-маршрутизация, icmp) не моделируется. Эффект от ее влияния может быть достигнут, если интерпретировать один из создаваемых потоков в качестве служебного.

Концептуальная модель сети.

Концептуальная модель телекоммуникационной сети представляет собой совокупность маршрутизаторов того или иного вида с подключенными к ним узлами-генераторами. На рис. 1 представлена концептуальная схема отдельного элемента модели, включающего только маршрутизатор и генераторы. Все прочие элементы сети (кроме криптомаршрутизаторов) выглядят аналогично, а связи между ними, задающие топологию сети, могут быть произвольными.

Рис. 1

Концептуальная модель маршрутизатора

Опишем обозначения, принятые на рис. 1. Посредством k портов с названиями «Порт i» к описанному «Маршрутизатору 0» может быть подключено k терминальных узлов-генераторов с именами «Терминальный узел i». На каждом из k терминальных узлов может быть установлено произвольное число генераторов трафика «Терминальный генератор i, j», где i= 1,2..k, а j изменяется от 1 до заданного на данном узле количества генераторов. Например, на терминальном узле 1 установлено s терминальных генераторов, а на терминальном узле 2 – q генераторов. Посредством m портов к описанному «Маршрутизатору 0» может быть подключено m маршрутизаторов с именами «Маршрутизатор i», где i= k+1, k+2,.. k+m. При этом все прочие маршрутизаторы в сети будут иметь в точности такую же структуру, как «Маршрутизатор 0».

Каждый из терминальных генераторов порождает потоки с заданными параметрами: адрес источника, адрес назначения, поле TOS, интенсивность потока, – которые не зависят от реальных IP-адресов, заданных на портах. Однако если адрес назначения пакета, пришедшего в какой-либо маршрутизатор, не подходит ни под одну из записей в таблице маршрутизации этого маршрутизатора, то такой пакет будет отброшен. Каждый из генераторов задает пакетам TTL=3.

Попадающие на вход портов пакеты первым делом заносятся в буферную память ядра маршрутизатора. Если в ней не остается места, они идут по ветке Х2 и отбрасываются из-за переполнения буфера. В буфере ядра реализуется дисциплина обслуживания FIFO, т.к. на момент поступления в него еще неизвестен класс пакета. После временной задержки на классификацию в соответствующем блоке пакет задерживается еще на время для фильтрации и может пойти по ветке Х1, что означает, что он не прошел контроль фильтрации (не попал в «белый  список») и должен быть отброшен. Если пакет попал в «белый список», он идет на следующий блок для выполнения операции по маршрутизации и туннелированию, которые задерживают его еще на некоторое время в буфере ядра. После осуществления маршрутизации и выбора порта следования может оказаться, что размер пакета превышает настроенный для данного порта MTU. В этом случае (если настройками запрещена фрагментация) пакет идет по ветке Х4 и отбрасывается.

Пакеты, благополучно прошедшие ядро, заносятся в одну из приоритетных очередей порта, размер которых одинаков и задается пользователем модели групповым образом для всего маршрутизатора. Количество приоритетных очередей равно количеству классов QoS, заданных пользователем модели. Разные маршрутизаторы могут иметь разные типы QoS и разное количество приоритетных очередей.

Может оказаться, что нужная пакету приоритетная очередь уже заполнена. Тогда он идет по ветке Х3 и отбрасывается в результате переполнения. На терминальных узлах и маршрутизаторах кроме заданного количества приложений, осуществляющих генерирование трафика, установлено также приложение, инициирующее сбор статистической информации по времени их задержки в маршрутизаторе.

Отдельного упоминания стоит реализация криптомаршрутизаторов в модели. Было решено рассматривать их как комбинацию двух маршрутизаторов, соединенных через два порта, один из которых объявляется особым и называется шифрующим портом. Такой порт шифрует все исходящие пакеты и пытается дешифровать все входящие пакеты. Такой порт обладает собственной дополнительной буферной памятью для выполнения шифрации. Таким образом, хотя при этом в сети явным образом не присутствует отдельный объект «криптомаршрутизатор», но фактически осуществляются все операции, которые протекали бы при наличии такого объекта. Проиллюстрируем (рис. 2) порядок действий маршрутизатора, на котором один из портов назначен шифрующим.

Рис. 2

Процессы внутри маршрутизатора с шифрующим портом

Маршрутизатор с шифрующим портом действует отлично от обычного маршрутизатора, только если возникает одно из событий, изображенных на рис. 2 овалами. Сплошной стрелкой указан путь движения пакета, если он поступил на обычный порт, но отправить его в транспортную сеть нужно через шифрующий порт. Такой пакет попадет сначала в буфер ядра (БЯ) для выполнения с ним обычных действий, которые выполняет маршрутизатор. Затем этот пакет идет в буфер шифрации/дешифрации (БШД), чтобы после своей шифрации быть отправленным на выходной порт (ВП). Пунктирной стрелкой показан путь передвижения пакета, который поступил из транспортной сети на шифрующий порт. Такой пакет сразу попадает в БШД для дешифрации, затем идет в БЯ для выполнения обычных действий. После этого он помещается в выходной порт.

Выходные данные модели 

Выходные данные модели следующие:

список  и величины задержек прохождения пакетов через каждый из маршрутизаторов для заданного типа пакетов (класс пакетов определяется указанием IP-адреса источника, IP-адреса назначения и поля TOS/DSCP);

среднюю задержку прохождения пакетов через каждый маршрутизатор и дисперсию этих задержек;

пропускную способность для каждого порта каждого маршрутизатора;

среднее заполнение буферов маршрутизаторов и шифраторов;

процент потерь пакетов (по IP-адресу и полю TOS/DSCP) для каждого порта каждого маршрутизатора с указанием причин: превышение MTU, переполнение, запрет фрагментации, отсутствие маршрута.

Схема алгоритма моделирования.

В имитационной модели принята событийная схема продвижения времени [2]. Перед началом работы на модельную временную ось наносятся моменты предполагаемого возникновения событий (приход пакетов, обработки их в узлах криптомаршрутизатора и т.д.), а затем программа-планировщик начинает последовательно «скакать» по временной оси по нанесенным событийным меткам. В результате удается экономить вычислительные ресурсы, не обсчитывая (т.е. пропуская) те периоды времени, когда в модели ничего не происходит. Схема алгоритма моделирования представлена на рис. 3.

На этой схеме пунктиром обозначены те действия или элементы, которые нарушают пошаговый принцип описания алгоритмов, но вносят ясность в суть происходящего. Например, в начале работы модели требуется нанести временные метки, соответствующие будущим моментам прихода пакетов. Этот факт отображен пунктирной стрелкой 1. Аналогично стрелка 2 помогает понять, что переход к следующему событию (например, отправка пакета в канал связи) осуществляется не в результате завершения предыдущего действия, а в результате срабатывания планировщика событий. Стрелка 3 показывает, что некоторые события, происходящие в маршрутизаторе (например, окончание обслуживания пакета в буфере порта) могут порождать нанесение новых временных меток на модельную ось (например, планирование момента прихода вышедшего из буфера пакета на другой конец линии связи).

 

Рис. 3

Схема алгоритма моделирования

Построение топологии связей узлов сети в модели 

Чтобы указать моделирующей программе на связь между парой портов неких двух маршрутизаторов сети, необходимо так задать параметры этих портов, чтобы конфигурации их подсетей совпадали. Например, можно порту одного маршрутизатора задать адрес 192.168.1.3 с маской подсети /16, а порту второго маршрутизатора, который требуется связать с первым можно задать адрес 192.168.14.200 с маской подсети /16. В этом случае моделирующая программа, создавая модель сети поймет, что данные порты объединены линией связи.

При таком подходе к организации топологии сети возникают закономерные вопросы: как задать время задержки пакета при передаче по этой линии связи, как указать интенсивность искажений пакетов при передаче по этой линии? Данный вопрос актуален, т.к. в конфигурационном файле параметры задаются независимо для каждого порта, а не для канала связи. Это означает, что для каждого канала связи будет указано два в общем случае несовпадающих значения пропускной способности, два значения времени задержки пакета и два значения параметра “интенсивность искажений пакетов”. Для устранения неопределенности во входных данных приняты следующие соглашения, делающие процесс задания топологии сети однозначным:

1) из двух возможных значений пропускной способности для канала связи в модели используется наименьшее;

2) из двух значений времени задержки пакета при передаче по каналу связи используется наименьшее;

3) значение “интенсивность искажений пакетов” определяет интенсивность ошибок во входящем на данный порт потоке пакетов (т.е. на другой стороне канала связи может использовать другое значение “интенсивность искажений пакетов”);

4) порты, которые связывают маршрутизатор с терминальным узлом, не должны быть шифрующими;

5) если какие-либо три или более портов в модели принадлежат одной подсети, модель не начнет работу и прекратится с сообщением о неправильной конфигурации.

Изложенные подходы к созданию имитационной модели телекоммуникационной сети с коммутацией пакетов позволит не только улучшить характеристики сетей, но и сократить расходы на оснащение и эксплуатацию сети за счет:

снижения числа каналов связи (интеграция видов связи, передача информации различного уровня конфиденциальности по единому каналу и идеология закрытия информации в канале, позволяющая обеспечить групповое его использование);

уменьшения номенклатуры оборудования связи и защиты информации (унификация программно-аппаратных платформ в соответствии с международными стандартами, интеграция видов связи с реализацией механизмов обеспечения качества обслуживания);

снижение численности персонала, занятого эксплуатацией телекоммуникационной сети (автоматизация процессов управления, установка необслуживаемого оборудования);

введение принципа оплаты за трафик вместо принципа оплаты аренды канала и др.

 

Литература 

 

1. Бусленко Р. С. Моделирование сложных систем. М.: Наука, 1986. 399 с.

2. Карпов Ю. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. СПб: БХВ-Петербург, 2005. 400 с.