Научная статья на тему 'Подход к созданию имитационных моделей компьютерных сетей'

Подход к созданию имитационных моделей компьютерных сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
491
86
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Данилюк Юрий Сергеевич, Попов Федор Алексеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

An approach to creation of computer networks simulations

The article reviews questions connected with creation of simulations of modern local area networks and corporate networks based on Ethernet switches, whose in most part defines such network characteristics as performance, overload handling capability and fault tolerance.

Текст научной работы на тему «Подход к созданию имитационных моделей компьютерных сетей»

УДК 681.3.06

Ю.С. Данилюк, Ф.А. Попов

Подход к созданию имитационных

моделей компьютерных сетей

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

Разработанная для этих целей среда имитационного моделирования вычислительных сетей позволяет детально исследовать процессы, протекающие в компьютерных сетях при их создании и последующей эксплуатации [1]. Для построения моделей в данной среде предусмотрено наличие связанных групп объектов, представляющих те или иные элементы реальной сети. Имитация процессов обмена информацией между объектами модели осуществляется путем последовательной обработки событий, каждое из которых отражает проявление тех или иных процессов в элементах исследуемой сети. Обработка события производится методами

объекта, который непосредственно затрагивается событием и может приводить к порождению новых событий или изменению свойств взаимосвязанных с ним объектов. События в рамках среды моделирования реализуются с помощью механизма сообщений, которыми обмениваются объекты модели. В процессе обработки сообщений происходит изменение состояния объекта и расчет показателей, характеризующих его работу. Рисунок 1 иллюстрирует работу модели сети по доставке сообщения, состоящей из двух ЭВМ, объединенных коммутатором. В настоящее время в среде моделирования предусмотрено семь классов объектов:

- сетевое ПО - имитируют работу прикладного программного обеспечения на нескольких ЭВМ;

- ЭВМ - имитируют работу ЭВМ и некоторых элементов операционной системы;

- стеки протоколов - отражают работу некоторых элементов реализации стека протоколов TCP/IP в операционной системе;

Рис. 1. Иллюстрация работы модели сети ЭВМ

Коммутатор

1 і і Зі і £>2 г ^3 , гй4

Среда передачи данных 1 Среда передачи данных 2

Ч 22 і [ 23 г4

*1 ^2 ц и 1

Сообщения (события):

Б] - начало кадра; Бз - конец кадра; Бз - начало кадра; 84 — конец кадра. Рис. 2. Иллюстрация работы модели коммутатора

- сетевые интерфейсы - имитируют работу сетевых интерфейсов ЭВМ и системного ПО, обслуживающего интерфейс (драйверов);

- интерфейсы среды - имитируют работу приемо-передающей части сетевого оборудования;

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

- коммутаторы пакетов Ethernet - моделируют работу сетевых коммутаторов.

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

Модели коммутаторов сетей ЕЬНетиеЬ. Одной из основных характеристик вычислительных сетей является их производительность, зависящая в основном от используемых сетевых коммутаторов. Работа модели коммутатора в рамках рассматриваемой методики проиллюстрирована на рисунке 2, где по оси времени отложена последовательность сообщений (событий) {я.}, вызывающих изменения состояния модели г. в момент времени 1. Промежутки времени 1 и 1 отражают время передачи кадра в средах передачи данных 1 и 2 соответственно, а промежуток времени 3 -задержку коммутации пакета т

При этом модель коммутатора должна адекватно воспроизводить задержки коммутации, потери пакетов, управление интерфейсами, приоритеты трафика и другие эффекты, связанные с передачей информации, присущие моделируемому коммутатору [2].

Процесс создания модели коммутатора состоит из четырех этапов:

- построение тестовой ЛВС;

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

- определение значений параметров разработанного алгоритма модели;

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

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

Разработка алгоритма работы модели.

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

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

Коммутатор P=F,(),t=F2()

Sl , S2

Среда передачи данных 1 Среда передачи данных 2

1 t, ! t2

V j t

Сообщения (события): в) - конец кадра; вт - начало кадра.

Условия коммутации: Р - вероятность потери пакета. Т - задержка.

Рис. 3. Иллюстрация работы алгоритма первого вида

Работа алгоритма эмулирующего процессы, протекающие в моделируемых устройствах, проиллюстрирована на рисунке 4. В данном примере модель коммутатора реализуется набором нескольких объектов, эмулирующих работу блоков моделируемого устройства. Потери пакетов в такой модели будут определяться функционированием объекта «буфер», а задержка коммутации - функционированием объектов «управляющее устройство» и «порт» и по формуле:

т = т . + т ,

min w

где Tmin - минимальная задержка коммутации, Tw - задержка, связанная с передачей объектом «порт» уже находящихся в буфере пакетов.

К достоинствам алгоритмов первого вида следует отнести их высокую вычислительную

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

Алгоритмы, основанные на методах эмуляции, позволяют создавать модели сложных

Рис. 4. Иллюстрация работы алгоритма второго вида

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

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

Определение значений параметров алгоритма модели. После выбора, адаптации или синтеза алгоритма в тестовой ЛВС выполняется серия экспериментов, направленных на определение его параметров путем статистической обработки результатов передачи через исследуемый коммутатор потоков пакетов с заданными свойствами. Генерацию исходящих и регистрацию входящих потоков пакетов выполняет тестовое программное обеспечение, в функции которого также входит настройка параметров сетевых интерфейсов; заполнение адресной таблицы коммутатора; отслеживание и управление состоянием сетевых интерфейсов в процессе испытания (контроль механизмов управления потоком); синхронизация времени на ЭВМ, участвующих в испытании; сбор результатов испытаний и перевод их в единую систему координат времени.

Рассмотрим приемы определения параметров на примере модели эмуляции неуправляемого неблокирующего коммутатора, построенного на основе архитектуры с разделяемой буферной памятью. Рисунке 5 иллюстрирует определение минимальной задержки коммутации, в котором производятся измерения времени, затрачиваемого на передачу пакета в сети из двух ЭВМ. Измерения осуществляются по схеме сети с коммутатором (схема 1) и схеме с непосредственным соединением (схема 2). В приведенном рисунке t и t2 обознача-

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

п I Т = — +

УЬ V ,

где п - число бит в передаваемом кадре; I -длина кабеля; Уь - номинальная битовая скорость интерфейса среды; Ус - скорость распространения сигнала в физической среде.

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

t\ — 2Ti — 2t9 — tj + 2t

2~l2'

2

гду tj и t2 - время обращения пакета в схемах

1 и 2 соответственно; Т1, Т2 и Т3 будут определяться по формуле т = nVb + Тср, где n — число бит в передаваемом пакете, Vb — номинальная битовая скорость сетевого интерфейса, тср — задержка распространения сигнала в среде.

На рисунке 6 продемонстрирован прием определения параметров буферной памяти — суммарного объема и организации (структуры). В данном примере два потока пакетов фиксированного размера от ЭВМ1 и ЭВМ2, обозначенные на рисунке как ^ и Х2 с интенсивностями I1 и I2 соответственно, направляются через коммутатор к ЭВМ3, образуя результирующий поток с интенсивностью I3. Суть приема заключается в том, что, когда суммарная интенсивность потоков ^ и Х2 превысит максимальную интенсивность I для

v max

Рис. 5. Определение минимальной задержки коммутации

Коммутатор

*1 1 Ь ' , *3

ЭВМ 1 ЭВМ 2 ЭВМ 3

Рис. 6. Определение параметров буферной памяти

порта коммутатора, интенсивность потока Х3 будет равна I , что приведет к заполнению буферной памяти коммутатора с интенсивностью I = 11 + I - !тах. Когда буферная память будет заполнена, в потоке возникнут потери пакетов. Таким образом, момент времени, в который будет зафиксирована потеря первого пакета, будет зависеть от интенсивностей потоков и объема буферной памяти. Если потоки Х1 и V запускать одновременно, выбрав

11 и 12 равными I , и маркировать в этих потоках пакеты, то количество пакетов, умещающихся в буфере, будет определяться как:

Ы = Ы1 + Ы2 - 1 б 2 ’ где Ы1 и. - число пакетов потоков и %2

соответственно, принятых ЭВМ3 до регистрации первой потери пакета в потоке Ху

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

Проверка адекватности и уточнение полученной модели. Для этой цели в тестовой ЛВС подготавливаются и проводятся измерения, в рамках которых через коммутатор передаются и регистрируются некоторые последовательности пакетов. Затем проводится

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

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

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

Также определенный интерес могут представлять различные реализации показателя:

т(г) -т(г)

где т(г) и т(г) г = (1,2,к,Ы) - векторы задер-

жек, образуемые одинаковыми выборками значений из массивов т[г,п,т,я] и т[г, п, т, я] соответственно.

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

интерес имеет функция £т(г), представляющая изменения показателя точности модели во времени. Перед вычислением данного показателя в большинстве случаев потребуется заменить все бесконечные значения массивов т[,п, т, я] и

т[ п т я], соответствующие наблюдаемым потерям пакетов, на одинаковые (большие) конечные величины.

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

Для оценки адекватности полученной модели, помимо эвристического подхода, связанного со сравнением полученных реализаций

т[п ,т,.?] и Т[п т , можно использовать методы, основанные на статистическом подходе,

=

г =1

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

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

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

Литература

1. Данилюк Ю.С., Попов Ф.А., Максимов А.В. Моделирование локальных вычислительных сетей // Известия АГУ. 2002. №1.

2. Советов Б.Я., Яковлев С.А. Моделирование систем. М., 2001. №1.

3. Жожикашвили А.В., Вишневский В.М. Сети массового обслуживания. Теория и применение к сетям ЭВМ. М., 1988.

i Надоели баннеры? Вы всегда можете отключить рекламу.