Имитационная модель коммутатора

В.А. Гулиус
Харьковский Национальный университет радиоэлектроники
пр. Ленина, 14, г. Харьков, 61166, gulius@mail.ru

С момента появления коммутатора, предложенного компанией Калпана в 1990 году, прошло не так уж много времени, но это коммуникационное устройство в настоящее время нашло широкое применение в сетях различного назначения. Объективная необходимость в создании коммутаторов была вызвана тем, что в конце прошлого столетия появились высокопроизводительные персональные компьютеры, нашедшие широкое применение в компьютерных сетях в качестве серверов и рабочих станций. Применение высокоскоростных компьютеров в сетях позволило значительно повысить скорость передачи данных по сети. Для передачи высокоскоростного трафика между отдельными сегментами сети и нашли применение коммутаторы. На рис. 1 приведена функциональная схема пакетного коммутатора.

Packet Switch

Функциональная схема пакетного коммутатора

Рисунок 1 – Функциональная схема пакетного коммутатора [1]

Современные способы построения коммутаторов основаны на мультипроцессорном варианте, когда каждый интерфейс оснащен встроенным микропроцессором для обработки пакетов. Кроме того, для координации работы периферийных микропроцессоров применяется центральный микропроцессор. Для передачи пакетов между портами коммутатора применяется коммутационная матрица. Для 4-х портов матрица может обеспечить одновременно 4 внутренних канала при полудуплексном режиме работы портов и 8 – при дуплексном. Основной особенностью пакетных коммутаторов является наличие внутренней буферной памяти для временного хранения пакетов. Поэтому каждый пакет последовательно бит за битом помещается во входной буфер. Учитывая такую особенность пакетных коммутаторов, считают, что сети с коммутацией пакетов используют технику сохранения с продвижением (store-and-forward).

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

При выполнении исследований в качестве базовой была выбрана модель Packet Switch, приведенная в среде MatLab+SimEvents. После внесения дополнительных блоков, необходимых для автоматизации процесса исследования, схема модели коммутатора приобрела вид, показанный на рис. 2.

Схема модели пакетного коммутатора
 

Рисунок 2 – Схема модели пакетного коммутатора

На схеме показаны три рабочие станции Subsystem, Subsystem1 и Subsystem2, которые выполняют функции генераторов пакетов. С выхода каждой рабочей станции пакеты поступают во входные буферы коммутатора, представленные на схеме в виде блоков FIFO Queue, FIFO Queue1 и FIFO Queue2. Трехпортовый пакетный коммутатор находится в центре схемы в виде совокупности двух блоков Path Combiner и Output Switch. Функция объединителя пути (Path Combiner) состоит в выборе пакетов из входных очередей и продвижении их на вход бока Output Switch по мере завершения обслуживания предыдущих пакетов. К трем выходным портам коммутатора подсоединены три приемника пакетов Single Server, Single Server1 и Single Server2. Таким образом, в рассматриваемом примере коммутатор выполняет следующие функции:

Генерирование пакетов выполняется тремя источниками Subsystem, Subsystem1 и Subsystem2. Схема одной подсистемы генерирования пакетов (рис. 3) включает 4 функциональных блока:

Модель рабочей станции

Рисунок 3 – Модель рабочей станции

На рис. 4, 5 и 6 представлены временные диаграммы, иллюстрирующие процедуру генерирования пакетов. При этом были установлены такие начальные значения параметров:

####

Рисунок 4 – Межкадровые интервалы формирования пакетов

####

Рисунок 5 – Длина пакета

####

Рисунок 6 – Адрес приемника

Блок Set Attribute (Свойства Набора) присоединяет все данные к каждому пакету. Выход A блока Set Attribute соединен с блоком Goto, передающим данные в окно Workspace и на систему вычисления суммарного количества сформированных пакетов на выходах трех рабочих станций (рис. 7).

Хранение пакетов во входных буферах коммутатора. С выхода каждого блока Set Attribute пакеты поступают во входные буферы коммутатора, в качестве которых применены FIFO Queue блоки (рис. 7). Блок Path Combiner выполняет процедуру мультиплексирования n × 1, подсоединяя три буфера к выходному коммутатору.

В том случае, если два или более пакетов с одинаковым адресом приемника поступили одновременно на вход блока Path Combiner, разрешение конфликтной ситуации выполняется случайным образом путем установки параметра порядка выбора в диалоговом окне этого блока в состояние Randomize.

####

Рисунок 7 – Входные и выходные буферы коммутатора

К трем выходным портам коммутатора присоединены приемники пакетов Single Server, Single Server1 и Single Server2. В соответствии с адресом, указанным в поле Адрес назначения, пакеты поступают для обработки в серверы.

Таблица 1 – Полезная пропускная способность коммутатора, Мбит/с
Размер поля данных
пакета, байт
Емкость буфера, пакет
1 2 3 4 5
100 135.69 141.78 144.63 146.08 146.89
300 225.38 235.74 240.36 244.41 246.03
500 246.62 257.45 263.56 266.77 269.00
700 249.65 261.06 266.95 271.29 273.19
900 253.38 265.31 271.01 275.34 277.14
1100 257.57 269.97 274.72 279.02 281.12
1300 258.71 268.89 275.88 278.71 281.64
1500 263.34 276.72 280.69 284.87 286.36

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

Формат кадра сети Fast Ethernet

Рисунок 8 – Формат кадра сети Fast Ethernet [1]

Служебные данные в пакете составляют 28 байт. Время передачи пакета, поле данных которого равно 100 байт, составляет 10.23 мкс. Прибавив межкадровый интервал в 0.96 мкс, получаем, что период следования кадров с размером поля данных 100 байт составляет 11.19 мкс. Таким образом, максимально возможная пропускная способность сегмента Fast Ethernet для кадров с полем данных 100 байт составляет 89366 пакет/с. Аналогичные расчеты были выполнены для пакетов, размер поля данных которых составлял 300:200:1500 байт. Результаты расчетов представлены в колонке 2 таблицы 1.

Таблица 2 – Исходные данные модели коммутатора
Размер поля
данных, байт
Пропускная
способность, пакет/с
Время передачи
пакета, мкс
timespan
1 2 3 4
100 89366 7-16 914720
300 36550 16-32 1066820
500 23063 32-48 1158390
700 16846 48-64 1173660
900 13270 64-80 1188000
1100 10946 80-96 1204800
1300 9314 96-112 1204350
1500 8106 112-123 1208220

Экспериментальным путем определено необходимое число итераций (испытаний) для каждого типа пакетов, что позволило использовать функцию timespan для автоматического определения момента завершения симуляции (колонка 4 таблицы 1). С этой целью модель коммутатора была дополнена подсистемой вычисления общего количества пакетов, сформированных на выходах трех рабочих станций (рис. 9). Эти данные суммируются в блоке Discrete Event Subsystem и поступают в окно Workspace.

####

Рисунок 9 – Подсистема вычисления общего количества сформированных пакетов

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

На рис. 10 представлены результаты моделирования пакетного коммутатора, отображающие процедуру обработки и фильтрации пакетов.

####

Рисунок 10 – Количество рабочих и отфильтрованных пакетов на выходных портах коммутатора

Влияние размера пакетов и емкости входного буфера на полезную пропускную способность коммутатора. Размер поля данных пакета будет изменяться в пределах 100:200:1500, в то время как емкость буферной памяти на входных портах коммутатора будет принимать значения 1:1:5. Результаты моделирования приведены на рис. 11 и в таблице 2.

Зависимость полезной пропускной способности коммутатора от размера пакета и емкости входного буфера

Рисунок 11 – Зависимость полезной пропускной способности коммутатора от размера пакета и емкости входного буфера

Таблица 3 – Полезная пропускная способность коммутатора, Мбит/с
Размер пакета,
байт
Емкость буфера, пакет
1 2 3 4 5
100 135.69 141.78 144.63 146.08 146.89
300 225.38 235.74 240.36 244.41 246.03
500 246.62 257.45 263.56 266.77 269.00
700 249.65 261.06 266.95 271.29 273.19
900 253.38 265.31 271.01 275.34 277.14
1100 257.57 269.97 274.72 279.02 281.12
1300 258.71 268.89 275.88 278.71 281.64
1500 263.34 276.72 280.69 284.87 286.36

К выходным портам коммутатора подсоединены три приемника пакетов Single Server, Single Server1 и Single Server2. На рис. 12 приведены диаграммы загрузки каждого приемника пакетов.

####
 

Рисунок 12 – Загрузка серверов, подключенных к выходным портам коммутатора

Выводы

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

Перечень ссылок

  1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Учебник для вузов. 3-е изд. – СПб.: Питер – 2006, – 958 с.: ил.

Список статей автора

  1. Гулиус В.А. Влияние дисциплины обслуживания заявок на производительность коммутатора. Представлены результаты исследований аналитических моделей и даны рекомендации по выбору дисциплины обслуживания заявок (пакетов LIFO) в буфере коммутатора, позволяющие снизить задержки, повысить полезную пропускную способность и обеспечить требуемое качество обслуживания (Quality of Service, QoS).
  2. Гулиус В.А. Исследование динамических характеристик пакетного коммутатора. В статье описано исследование, цель которого состояла в определении средних значений задержек продвижения пакетов в коммутаторе (в зависимости от размера пакета и емкости входного буфера), и в выявлении влияния дисциплины обслуживания заявок FIFO и LIFO на задержки.
  3. Гулиус В.А. Имитационная модель коммутатора. Цель данной работы – исследование характеристик коммутатора, и, в первую очередь, его производительности (в среде MatLab+SimEvents).
  4. Гулиус В.А. Интеллектуальная модель системы массового обслуживания с очередью типа D/D/1 в среде SimEvents (MATLab/SimuLink).
  5. Гулиус В.А. Влияние коллизий на производительность Ethernet. В статье выполнено исследование модели сети Ethernet в среде Simulink. Цель исследования – определение влияния коллизий на полезную пропускную способность.