ИНФОРМАТИКА_
УДК 681.3.06
Ю.С. Данилюк, Ф.А. Попов, А.В. Максимов Моделирование локальных вычислительных сетей
В настоящее время, существуют два основных подхода к моделированию вычислительных сетей: аналитическое моделирование с использованием элементов теории массового обслуживания и имитационное моделирование. Выбор имитационной модели обусловлен необходимостью детального моделирования протекающих в вычислительной сети процессов, не имеющих эффективного выражения в аналитической форме [1]. Основой для предлагаемой методики построения моделей локальных вычислительных сетей (ЛВС) было выбрано имитационное моделирование. К основным достоинствам этого способа, положенного в основу разработанной методики, можно отнести возможность детального исследования процессов, протекающих в вычислительных сетях, и представляющих наибольший интерес с точки зрения оптимизации действующих и проектируемых вычислительных сетей [2]. К таким процессам можно отнести: взаимодействие сетевых прикладных программ, работу сетевых протоколов и коммуникационного оборудования. Полученная в результате моделирования информация о функционировании элементов вычислительной сети используется при проведении анализа и решении задачи оптимизации.
Суть разработанной методики моделирования работы ЛВС заключается в построении модели компьютерной сети из набора объектов, представляющих те или иные ее элементы и проведения имитационного моделирования процессов обмена информацией между в объектами, моделирующих работу сетевого программного обеспечения (ПО). Построение модели осуществляется путем установления связей между объектами и определением начальных состояний объектов. В процессе разработки системы моделирования, создано семь классов объектов модели:
1. Имитатор сетевого ПО - имитирует работу прикладного ПО на двух условных узлах сети. Объекты данного класса являются инициаторами ими-
тируемых процессов в сети. Данные объекты связываются с двумя и более (в зависимости от конфигурации) связанными парами объектов класса «протокол IP» и «ЭВМ», отражающими в модели работу реальных ЭВМ и сетевых операционных систем. При работе данный объект имитирует установление связи и передачу информации через сеть, взаимодействуя с объектом «протокол IP». Объект «ЭВМ» используется для имитации задержек в работе реального ПО, связанных с выполнением программы и сопутствующих операций (обслуживание операционной системой) в ЭВМ.
2. ЭВМ - имитирует работу ЭВМ и некоторых элементов операционной системы. Задачей объектов этого класса является внесение задержек в работу обслуживаемых объектов, таких как «имитатор сетевого ПО», «протокол IP» и «сетевой интерфейс».
3. Протокол IP - отражает работу некоторых элементов реализации стека протоколов TCP/IP в операционной системе. Объект связывается с объектами классов «имитатор сетевого ПО» и «сетевой интерфейс». Данный объект реализует в модели работу упрощенной реализации протоколов IP, UDP и TCP.
4. Сетевой интерфейс - имитирует работу сетевых интерфейсов ЭВМ и системного ПО, обслуживающего интерфейс (драйвер). При построении модели связывается с двумя объектами -«интерфейс среды» и «протокол IP».
5. Интерфейс среды - имитирует работу приемо-передающей части сетевого оборудования. Объект связывается с объектом класса «среда передачи данных» и объектом класса «сетевой интерфейс» или «коммутатор пакетов Ethernet». Реализует в модели работу протоколов физического уровня моде-
Моделирование локальных вычислительных сетей
ли ISO/OSI.
6. Среда передачи данных - связывается с двумя или более объектами класса «интерфейс среды» и имитирует работу реальной физической среды передачи данных.
7. Коммутатор пакетов Ethernet - имитирует работу коммутатора пакетов Ethernet. Данный объект связывается с некоторым числом объектов класса «интерфейс среды» и в процессе моделирования осуществляет коммутацию пакетов между интерфейсами.
Группы связанных объектов в рамках построенной модели отражают те или иные элементы реальных сетей. Например, группа связанных объектов «имитатор сетевого ПО», «ЭВМ», «протокол IP», «сетевой интерфейс», «интерфейс среды» может отражать в модели некоторую ПЭВМ оснащенную платой сетевого интерфейса с выполняющимся на ней прикладным программным обеспечением.
Имитация процессов обмена информацией между объектами моделируемой сети осуществляется путем последовательной обработки событий объектами модели. Каждое событие отражает течение тех или иных процессов в элементах моделируемой сети. Обработка события объектом может приводить к порождению новых событий или из-
менению свойств объектов. Рисунок иллюстрирует работу модели, состоящей из двух ЭВМ объединенных в сеть, по доставке сообщения.
Объекты модели описаны набором классов языка программирования С++. Построение модели заключается в написании процедуры, производящей следующие действия: создание объектов на основе описанных классов; установку связей между объектами; и задание начальных условий моделирования.
При выполнении программы моделирования производится вызов процедуры, создающей модель и передача управления основному программному модулю. Задачей основного программного модуля является циклическое выполнение следующих операций:
- выбор события с минимальным временем обработки;
- корректировка глобальной переменной времени;
- обработка события с помощью методов объекта, которому адресовано выбранное на первом шаге событие.
Расчет значений показателей, характеризующих работу объектов, производится при обработке объектами соответствующих сообщений.