ИССЛЕДОВАНИЕ ДИНАМИЧЕСКИХ ХАРАКТЕРИСТИК ПАКЕТНОГО КОММУТАТОРА

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

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

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

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

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

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

Современные способы построения пакетных коммутаторов основаны на многопроцессорном подходе, когда каждый интерфейс имеет свой встроенный процессор для обработки пакетов.

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

Цели исследования:

Для выполнения исследования по первому пункту целей была выбрана модель коммутатора A packet switch (рис. 1), приведенная в среде MatLab+SimEvents. Эта модель была дополнена рядом блоков Start timer и Read timer, с помощью которых появилась возможность измерять задержки продвижения пакетов с момента поступления их во входной буфер до появления этих пакетов в выходном порту коммутатора. Проведение исследований выполнялось с помощью разработанной программы, позволившей в автоматическом режиме задавать как параметры поступающих на вход коммутатора пакетов, так и построить графики, отражающие результаты моделирования.

####
 

Рисунок 1 – Модель коммутатора c дисциплиной обслуживания пакетов FIFO

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

Аналогичный набор блоков применен и в остальных двух каналах.

В нижней части рис. 1 представлены блоки, обеспечивающие визуализацию процесса моделирования и формирование численных значений результатов моделирования в окне Workspace (рис. 2).

####

Рисунок 2 – Блок вывода результатов моделирования

На схеме коммутатор представлен двумя блоками: блок Path Combiner выполняет функции коммутационной матрицы, а блок Output Switch направляет пакеты, адресованные серверам, которые подключены к его выходным портам. К выходу сервера первого канала был подсоединен блок Read Timer 3, фиксирующий суммарное время пребывания пакетов в коммутаторе.

Первое исследование задержек в коммутаторе выполнялось с использованием дисциплины обслуживания FIFO применительно к сети Fast Ethernet. Весь диапазон размеров пакетов был разделен на 8 частей 100:200:1500. Для каждого поддиапазона были вычислены минимальное и максимальное время передачи пакета, которые программно загружались в блоки параметров Length, входящих в подсистемы формирования пакетов Subsystem. Для блоков Start Timer и Read Timer первого канала был выбран тэг Т. Результаты моделирования представлены в таблицах 1, 2 и на рисунках 3 и 4. Временные параметры во всех таблицах измерялись в наносекундах.

Таблица 1 – Среднее время пребывания пакетов во входном буфере коммутатора ( FIFO)
Размер пакета (байт) 100 300 500 700 900 1100 1300 1500
Емкость буфера (пакет)  
1 9.79 19.52 32.42 45.13 57.04 70.55 82.93 97.68
5 51.64 101.57 173.51 235.37 308.25 378.13 461.89 535.22
10 117.35 229.0 379.20 527.32 695.22 842.34 996.33 1111.26
15 185.36 362.67 564.25 838.45 1040.24 1362.70 1555.60 1779.52
20 261.24 517.53 861.25 1165.58 1476.73 1941.74 2176.68 2491.63

На основании результатов моделирования, приведенных в таблице 1, был построен 3-D граф (рис. 3).

####

Рисунок 3 – Влияние размеров пакетов и емкости входного буфера на время пребывания пактов во входном порту коммутатора

Таблица 2 – Суммарное время пребывания пакетов в коммутаторе с дисциплиной обслуживания FIFO
Размер пакета (байт) 100 300 500 700 900 1100 1300 1500
Емкость буфера (пакет)  
1 21.61 42.97 71.38 100.21 127.00 157.61 188.52 221.30
5 63.37 125.57 211.96 286.79 380.42 464.07 566.51 671.87
10 129.54 254.19 416.97 584.48 766.21 939.92 1116.64 1228.24
15 196.93 386.81 607.30 896.78 1103.03 1443.85 1657.95 1907.03
20 273.58 543.45 896.26 1227.71 1566.83 2030.22 2295.22 2644.75

####

Рисунок 4 – Влияние размера пакета и емкости входного буфера на время пребывания пакетов в коммутаторе

Следующее исследование выполнялось с дисциплиной обслуживания пакетов LIFO, когда обслуживание предоставляется последнему из поступивших пакетов. Отметим, что момент поступления нового пакета никоим образом не зависит от длины очереди, которую он застает при поступлении в буфер и может быть тотчас принят обслуживающим прибором. Задержка может быть вызвана только пакетом, который находится в обслуживающем приборе [1].

Для исследования влияния дисциплины обслуживания LIFO на задержки пакетов в коммутаторе в модель (рис. 1) были внесены незначительные изменения. В каждом входном порту коммутатора были применены буферы с дисциплиной обслуживания LIFO (последним пришел – первым обслужен). После внесенных изменений модель коммутатора приняла вид, представленный на рис. 5.

####
 

Рисунок 5 – Модель коммутатора с дисциплиной обслуживания LIFO

При исследовании модели коммутатора (рис. 5) процедуры формирования пакетов были аналогичны тем, что были применены для модели с дисциплиной обслуживания FIFO. Результаты моделирования приведены в таблицах 3 и 4 на рисунках 6 и 7.

Таблица 3 – Время пребывания пакетов во входном буфере коммутатора (LIFO)
Размер пакета (байт) 100 300 500 700 900 1100 1300 1500
Емкость буфера (пакет)  
1 6.57 6.53 6.55 6.55 6.55 6.55 6.55 6.55
5 30.65 30.71 30.70 30.81 30.79 30.80 30.79 30.79
10 65.15 64.91 65.03 64.93 64.88 64.80 64.93 64.96
15 104.41 104.28 104.22 104.21 104.37 104.24 104.23 104.33
20 145.40 147.16 147.67 147.09 146.46 147.17 147.55 146.72

На основании результатов, представленных в таблице 3, был сгенерирован 3-D граф, показывающий задержку пакетов в буфере коммутатора с использованием дисциплины обслуживания LIFO (рис 6).

####

Рисунок 6 – Задержка пакетов в буфере коммутатора при дисциплине обслуживания LIFO

Общее время пребывания пакетов в коммутаторе в зависимости от размера пакета и емкости буфера приведены в таблице 4.

Таблица 4 – Суммарное время пребывания пакетов в коммутаторе (LIFO)
Размер пакета (байт) 100 300 500 700 900 1100 1300 1500
Емкость буфера (пакет)  
1 14.49 14.47 14.49 14.48 14.48 14.47 14.47 14.48
5 38.68 38.40 38,50 39.09 39.02 39,03 39.00 39.04
10 73.55 73.39 73.70 73.41 73.39 73.29 73.42 73.45
15 114.46 112.30 112.42 112.79 112.71 112.42 112.65 112.84
20 150.62 153.19 152.34 151.98 151.49 153.59 154.00 151.63

На основании данных, приведенных в таблице 4, был построен 3-D граф (рис. 7).

####

Рисунок 7 – Суммарная задержка продвижения пакетов в коммутаторе с дисциплиной обслуживания LIFO

Для оценки влияния дисциплины обслуживания FIFO и LIFO на время пребывания пакетов в коммутаторе была построена столбиковая диаграмма (рис. 8). В качестве параметров этой диаграммы были выбраны данные из 8-х столбцов таблиц 2 и 4, которые показывают время пребывания пакетов максимальной длины в коммутаторе с дисциплиной обслуживания LIFO и FIFO.

####

Рисунок 8 – Сравнительная оценка задержек продвижения пакетов в коммутаторе с дисциплинами обслуживания LIFO и FIFO

Выводы

В процессе проведенных исследований получены следующие основные результаты:

Литература

  1. Л. Клейнрок. Вычислительные системы с очередями. Перевод с английского под редакцией д-ра техн. наук Б.С. Цыбакова. Изд-во “Мир”, Москва 1979.

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

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