Моделирование работы коммутатора в полнодуплексном режиме

УДК 681.3.06

МОДЕЛИРОВАНИЕ РАБОТЫ КОММУТАТОРА В ПОЛНОДУПЛЕКСНОМ РЕЖИМЕ

© 2002 А. П. Шибанов Рязанская государственная радиотехническая академия

Рассматривается применение системы имитационного моделирования корпоративных компьютерных сетей при анализе работы коммутатора локальной сети ЕШете1 Дается краткое описание структуры и основных функциональных возможностей системы моделирования. Приводятся модель коммутатора при объеме трафика от клиентских компьютеров, превышающем протокольный максимум одного из выходных портов коммутатора, и модель с регулированием потока кадров, поступающего от клиентских компьютеров.

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

- стала возможной эффективная диагностика линий связи;

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

- введение приоритетной обработки улучшило качество передачи кадров, имеющих приоритет;

- резко повысилась скорость работы сети;

- увеличился диаметр сети за счет введения полнодуплексного режима работы коммутаторов.

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

- потеря кадров в коммутаторе из-за превышения протокольного максимума выходных портов коммутатора, обусловленного ограничениями стандарта CSMA/CD (carrier-sense-multiply-access with collision detection);

- “грубое“ регулирование потока кадров на больших скоростях работы, которые характерны для сетей Gigabit Ethernet, 10 Gigabit Ethernet, что может привести к при-

остановке потока кадров и переполнению внутреннего буфера у соседнего коммутатора.

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

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

К порту 3 коммутатора в соответствии с методом доступа к общей разделяемой среде СБМА/СБ подключен сервер, к которому обращаются компьютеры, подключенные к портам 1, 2 в полнодуплексном режиме. Вместе они создают трафик больший, чем может обработать порт 3, что неизбежно приведет к росту очереди к нему. При любом разумном размере буфера выходного порта он бы-

I

Рис. 1. Переполнение буфера порта при несбалансированности трафика

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

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

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

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

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

Процессно-ориентированная система имитации реализует стандартные функции, связанные с генерацией и уничтожением заявок, имитацией работы очередей, сбором статистической информации о работе модели и т. д. Система имитации телекоммуникационных функций содержит средства генерации трафика различного профиля, моделирования процессов маршрутизации, сетей Ethernet, Fast Ethernet, Gigabit Ethernet и т.д. Моделирование полудуплексного режима работы сетей Ethernet ведется на основе дискретно-событийного подхода.

Нижний уровень иерархии представлен системой моделирования стохастического поведения алгоритмов и программ на основе графо-аналитического метода GERT [2]. Закон распределения времени работы технической системы или программы, найденный с использованием метода GERT, записывается в файлы на внешних носителях информации и используется на более высоком уровне иерархии для моделирования задержек в модели.

Пользовательский интерфейс системы моделирования обеспечивает построение изображений структурных элементов и связей между ними, редактирование выведенно-

Графический интерфейс

Ядро > системы ч

-I к __

ориентированная система имитации

ЗЕ

телекоммуникационных

функций

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

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

Система моделирования реализована на платформе Intel Pentium на основе среды программирования Borland Delphi 5 (и языке Object Pascal) и ОС Microsoft Windows 95/98.

Описание модели. Используется ком -мутатор, к входным портам 1 и 2 которого подключены клиентские компьютеры и сервер, подключенный к порту З (рис. 1).

Кадры, поступающие на входной порт, обрабатываются в соответствии со следующим алгоритмом. Процессор порта EPP (Ethernet Packet Processor) выполняет коммутацию “на лету“ (“on-the-fly“). При этом выполняются следующие действия: анализ первых байт кадра, содержащих заголовок; поиск адреса назначения в адресной таблице коммутатора; коммутация матрицы (если доступ к нужному выходному порту получен); передача байт кадра процессору выходного порта через коммутационную матрицу; получение доступа к среде в соответствии с алгоритмом CSMA/CD процессором выходного порта; передача байт кадра процессором выходного порта в сеть.

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

начинают просто теряться. В стандарте ІЕЕЕ 803.3х определена процедура управления потоком с использованием команд “Приостановить передачу“ и “Возобновить переда-чу“ (данные команды реализуются на уровне кодов 4Б/5Б). Эта процедура может быть использована для управления потоком кадров от клиентских компьютеров. После того, как создалась опасность потери кадров на выходном порту, к которому подключен сервер, коммутатор находит в таблице коммутации запись, содержащую МАС-адрес компьютера, генерирующего слишком интенсивный трафик, и номер его входного порта. После этого коммутатор выдает на данный порт команду “Приостановить передачу“. Поток кадров с данного входного порта временно прекращается, выходная очередь коммутатора начинает уменьшаться, и все поступающие в буфер кадры обрабатываются.

Модель коммутатора без управления потоком кадров от клиентских компьютеров изображена на рис. 3.

Генератор потока 01 имитирует поток от входного порта 1. Начиная с нулевого момента времени, генератор вырабатывает 100 кадров единичной длины, интервалы следования между которыми являются экспоненциальными с параметром Х = 0,02. Генератор потока 02 имитирует поток от входного порта 2. Начиная с нулевого момента времени, генератор 02 вырабатывает 50 кадров единичной длины с экспоненциальными интервалами следования с параметром X = 0,01. По дугам Ь1 и Ь2 кадры передаются без задержки соответственно в очереди Q1 и Q2,

моделирующие работу входных буферов, емкостью 100 кадров каждая. Кадры в очередях обрабатываются в порядке поступления (дисциплина обслуживания FIFO). Дуги W1 и W2 имитируют процесс нахождения адреса выходного порта, обращение к коммутационной матрице и получение доступа к выходному порту. Данные дуги характеризуются экспоненциальной задержкой с параметром X = 0,05 . Параметры дуг выбраны с учетом того, что коммутатор является неблокирующим. Очередь Q3 и дуга W3 имитируют работу выходного порта коммутатора. Максимальная емкость выходного буфера равна 25 кадров. Дисциплина обслуживания такая же, что и у очередей Q1 и Q2. Задержка прохождения кадров по дуге W3 равна 75 единицам времени.

При превышении значения максимальной величины очереди (в данном случае очереди Q3) кадры в очередь не попадают, а “ от-водятся“ по дуге L3 на выход модели к терминатору T1. Терминатор предназначен для уничтожения поступающих в него кадров и проверки условий окончания моделирования

- по числу уничтоженных кадров или по времени моделирования.

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

Когда число кадров в буфере превышает 25, выходной порт начинает терять кадры (рис. 5).

На рис. 6 изображена модель коммутатора с регулированием потока кадров, поступающих от клиентских компьютеров, посредством команд “Приостановить передачу“ и “Возобновить передачу“. Для выходного порта 3 вводится порог регулирования потока кадров (в рассматриваемой модели его значение равно 15). Достижение порогового значения числа кадров, поступивших в порт 3, говорит о возникновении опасности переполнения его буфера. Команда “Приостановить передачу“ должна быть выдана с достаточным упреждением во времени, так как прежде чем скажется ее действие, может произойти переполнение очереди выходного порта 3 кадрами, продолжающими поступать из входных портов.

Селектор Б6 модели принимает кадры, поступающие по дугам W3 и W4, и по дуге Ь15 передает их без задержки на вход очере-

Рис. 4. Диаграмма состояния очереди выходного порта для модели без регулирования потока кадров

Рис. 5. Диаграмма потерь кадров в выходном порту для модели без регулирования потока

кадров от клиентских компьютеров

ди 03. Одновременно он выдает копии кадров на вход очереди 04 по дуге Ь14. Очередь 03, как и в предыдущей модели, может принимать без потерь до 25 кадров. Функцию имитации команды “Приостановить переда-чу“ выполняет схема, состоящая из вспомогательной очереди 04 с такой же дисципли-

ной обслуживания, что и у очереди 03, и дуга W6 с такой же задержкой, как и у дуги W5 (емкость очереди 04 меньше, чем емкость очереди 03 и равна пороговому значению в 15 кадров). Если пороговое значение не достигнуто, то очередь 04 функционирует точно так же, как и очередь 03, не оказывая ни-

какого воздействия на селектор Б1. При превышении порогового значения кадры, поступающие на вход очереди Q4, по дуге Ь11 “от-водятся“ на вход селектора Б1.

При поступлении кадра на вход селектора Б1 он одновременно выдает копии кадра на все свои выходы. Ограничивается поток от обоих клиентских компьютеров, поэтому в модели используются две схемы управления потоками - для генераторов 01 и 02.

Схема ограничения потока генератора 01 состоит из селекторов Б2 и Б3; дуг Ь3, Ь4, Ь5, Ь6, не задерживающих кадры; дуги '1 с фиксированной задержкой (в данной модели установлена задержка в 1000 единиц). При поступлении кадра на вход селектора Б2 он проходит на выход селектора, по дуге Ь3 поступает на управляющий вход генератора 01 и переводит его в неактивное состояние (поток кадров с выхода генератора 01 прекращается). Одновременно по дуге Ь5 другая копия кадра поступает на управляющий вход самого селектора Б2 и также переводит его в неактивное состояние. Тем самым блокируется его вход, и поступающие на селектор кадры не оказывают на него никакого воздей-

ствия. После задержки, задаваемой дугой ' 1, селектор Б3 порождает на своем выходе одновременно два кадра, которые поступают на управляющие входы генератора 01 и селектора Б2, приводя их вновь в активное состояние. Это эквивалентно действию команды “Возобновить передачу“.

Аналогичная схема, состоящая из селекторов Б4, Б5 и дуг Ь7, Ь8, Ь9, Ь10, '2, управляет генератором 02.

Результаты моделирования представлены на рис. 7.

За время моделирования число кадров в очереди Q3 не превышало предельного значения в 25 единиц, а среднее число вырабатываемых генераторами кадров существенно снизилось по сравнению с моделью коммутатора без регулирования потока кадров. С уменьшением общего числа кадров, поступающих в выходной буфер, заметно снижается и число кадров, поступающих на вход селектора Б1 модели. Всего за время моделирования на этот вход поступило 8 кадров.

Изменяя параметры задержки для дуг '1 и (или) '2, можно снижать или увеличивать активность генераторов, добиваясь сбалансированности всей системы.

О 1000 2000 3000 4000 5000 6000 7000 3000 9000

Рис. 7. Диаграмма состояния очереди выходного порта для коммутатора с регулированием потока кадров от клиентских компьютеров

В коммутаторе может быть реализован алгоритм независимого управления каждым клиентским компьютером. Самый простой способ модернизации модели - изменение режима работы селектора Б1. Для этого достаточно во входных спецификациях блока для параметра “Процедура обслуживания“ установить значение “Вероятностный выбор“ и задать соответствующие вероятности выбора дуг, соединяющих выходы селектора с входами схем управления генераторами. Степень снижения активности каждого из генераторов регулируется заданием значений параметров дуг, определяющих задержки в схемах управления генераторами (в данной модели это дуги W1 и W2).

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

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

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

В блоке-очереди реализованы процедуры обслуживания по приоритету: “первым вошел - первым вышел”; “последним вошел -первым вышел”.

Блок-селектор предназначен для орга-

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

Блок-переключатель выполняет функции: поочередного включения управляемых блоков с отключением предыдущего управляемого блока; последовательного включения (или выключения) управляемых блоков.

Блок-конъюнкция выполняет логические преобразования с множеством кадров, поступающих на разные входы блока.

Блок изменения приоритетов изменяет приоритет кадра на заранее заданную величину.

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

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

Блок-аккумулятор накапливает определенное количество кадров. После этого он освобождается - выдает на выход все накопленное множество кадров в режиме, аналогичном режиму выдачи кадров блоком-генератором заявок.

Блок-конвертор предназначен для моделирования функции фрагментации кадров при передаче пакета через две сети, у кото -рых максимальные длины кадров не совпадают.

Блок-фильтр используется для моделирования процесса передачи аудио- и видеоинформации с заданными параметрами качества QoS.

Система моделирования постоянно дополняется новыми функциональными блоками.

Вестник Самарского государственного аэрокосмического университета, № 1, 2002 Список литературы

1. Олифер В. Г., Олифер Н. А. Компьютерные сети, Принципы, технологии, протоколы. СПб: “Питер“, 2000.

2. Корячко В. П., Шибанов А. П., Шибанов В. А. Численный метод нахождения закона распределения выходных величин ОБЯТ-сети // Информационные технологии. 2001, № 7. С. 16 - 21.

SIMULATION OF OPERATION OF THE COMMUTATOR IN A DUPLEX MODE

© 2002 A. P. Shibanov

Ryazan State Radio Engineering Academy

The application of the system of modeling of corporate computer networks is considered at an operational analysis of the commutator of a local network Ethernet. A brief description of the structure and main functionalities of the system of simulation are given. Reduced are a model of the commutator at size of the traffic from customer computers exceeding a legal maximum one from output ports of the commutator, and model with regulation of stream of frames going from customer computers.