close

Вход

Забыли?

вход по аккаунту

?

KutuzovTatarnikova

код для вставкиСкачать
Министерство образования и науки российской федерации
Федеральное государственное автономное
образовательное учреждение высшего образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
О. И. Кутузов, Т. М. Татарникова
Инфокоммуникационные сети.
Моделирование и оценка
вероятностно-временных
характеристик
Монография
Санкт-Петербург
2015
УДК 004.7:519.2
ББК 32.973.202+22.17
К95
Рецензенты:
доктор технических наук, профессор А. А. Сикарев;
доктор военных наук, профессор И. М. Левкин
Утверждено
редакционно-издательским советом университета
в качестве монографии
Кутузов, О. И.
К95 Инфокоммуникационные сети. Моделирование и оценка вероятностно-временных характеристик: монография / О. И. Кутузов, Т. М. Татарникова. – СПб.: ГУАП, 2015. – 382 с.
ISBN 978-5-8088-1063-1
Рассмотрены принципы, модели и протоколы построения инфокоммуникационных сетей. Приводятся математические схемы и алгоритмы, связанные с имитационным моделированием инфокоммуникационных сетей. Особое внимание уделено ускоренному имитационному моделированию сетей
с использованием аналитико-статистических методов, теоретической основой
которых являются методы расслоенной выборки, равновзвешенного моделирования, элементы теории экстремальных статистик. Предложены подходы
к решению задач, связанных с оценкой надежностных и временных характеристик сетей. Представлен материал, связанный с расчетом буферной емкости
коммутирующих устройств в условиях самоподобного (фрактального) трафика.
Книга предназначена для использования при изучении дисциплин «Моделирование систем», «Сети ЗВМ и телекоммуникации», «Имитационное моделирование распределенных автоматизированных систем». направления подготовки «Инфокоммуникационные технологии и системы связи» и смежные
направления.
УДК 004.7:519.2
ББК 32.973.202+22.17
ISBN 978-5-8088-1063-1
© О. И. Кутузов, Т. М. Татарникова, 2015
© Санкт-Петербургский государственный
университет аэрокосмического
приборостроения, 2015
Предисловие
В начале текущего столетия в массовом обиходе появилась аббревиатура ИКТ – информационно-коммуникационные технологии. Это понятие объединяет две составляющие: информационные
технологии и телекоммуникационные технологии, которые обеспечивают создание информационных сетей различного назначения:
частных, корпоративных, ведомственных, глобальных.
Если информационную технологию можно определить как совокупность методов и средств получения, обработки, представления информации, осуществляемых в интересах пользователей, то
под телекоммуникационными технологиями понимают средства,
создающие инфраструктуру, или, другими словами, системно-технический базис для той или иной прикладной функциональности.
Это и глобальная телекоммуникационная сеть (транспортная среда,
абонентский доступ), это и сетевое оборудование (локальные сети,
маршрутизаторы, серверы). Все виды обеспечения (программное,
информационное, организационное) подчас относят к инфокоммуникационной составляющей, которая реализуется в виде инфокоммуникационных сетей.
С функциональной точки зрения инфокоммуникационная сеть –
это среда, обеспечивающая передачу информации между различными приложениями, используемыми в системе корпорации. В узком
смысле сеть – программно-аппаратный комплекс, организующий
надежную и быструю доставку сообщений между взаимодействующими приложениями. Сеть является универсальной транспортной
платформой, которая берет на себя выполнение рутинных коммуникационных задач.
Специфической особенностью создания корпоративных сетей
является стремление сохранить имеющийся ресурс, провести масштабирование и с помощью опорной сети объединить разрозненные
локальные сети, службы, рабочие группы, отдельные производства,
офисы в единую интегрированную сеть.
3
Все это в определенной степени предопределяет состав и геометрию корпоративной сети.
В том же случае, когда опорная сеть создается самостоятельно,
география ее предопределена структурой корпорации, но остальные задачи, связанные с оценкой эффективности сети, приходится
решать в полной мере и оценивать производительность, связность и
другие вероятностно-временные характеристики (ВВХ) проектных
вариантов.
Решение этих задач требует соответствующих методов и средств
(моделей, расчетных методик). Формирование требований и выбор
принципиальных решений должны осуществляться на этапе структурно-функционального анализа, который выполняется на базе математических моделей с привлечением компьютерных средств.
В качестве математической базы анализа мультипроцессорных
систем и сетей используются сети массового обслуживания – СеМО.
Наиболее разработана теория экспоненциальных СеМО и практические формы их расчета.
Экспоненциальность, однако, довольно сильное ограничение.
При использовании этого математического аппарата не всегда удается получить аналитические модели для решения широкого круга
задач исследования систем сложной структуры и большой размерности, поэтому для анализа используют и алгоритмические методы, реализуемые с помощью имитационных моделей.
Технология моделирования сложных технических систем,
к классу которых относятся и инфокоммуникационные сети, опирается на имитационное машинное моделирование, в основе которого лежит метод статистических испытаний (метод Монте-Карло).
Известный недостаток этого универсального метода заключается
в его медленной сходимости.
Применение комбинированных аналитико-статистических методов позволяет существенно ускорить численный расчет и анализ
характеристик сетей методом машинной имитации.
В данной монографии авторы сделали акцент на модельной и алгоритмической составляющей при изложении вопросов, связанных
с имитационным моделированием.
Монография включает три главы. Первая глава играет роль введения. В ней рассмотрены принципы, модели и протоколы построения инфокоммуникационных сетей. При изложении содержания
главы использовано пособие О. И. Кутузова [13]. Однако по сравнению с пособием в содержание главы добавлен материал по защите
информации в сетях.
4
Во второй главе рассматриваются математические схемы и алгоритмы, связанные с имитационным моделированием (ИМ) инфокоммуникационных сетей. Материал главы ориентирован на
поддержку дискретно-событийного и мультиагентного подходов.
В основу материала положено содержание пособия [14], которое дополнено изложением некоторых методов ускорения имитационного
моделирования, используемых для реализации аналитико-статистического подхода применительно к анализу моделей инфокоммуникационных сетей.
В третьей главе представлен материал по ускоренному имитационному моделированию сетей с использованием аналитико-статистических методов. Теоретической основой методов являются
методы расслоенной выборки, равновзвешенного моделирования,
элементы теории экстремальных статистик. Специфика заключается в интерпретации и развитии названных методов применительно к имитационному моделированию телекоммуникационных сетей. Предложены подходы к решению задач, связанных с оценкой
надежностных и временных характеристик сетей. Частично материал был опубликован в работах [15,16]. Однако в данном варианте материал расширен и систематизирован, на конкретном примере показана эффективность равновзвешенного расслоенного моделирования. С учетом того, что буферизация рассматривается как
стратегия, обеспечивающая ресурсами, в главе представлен материал, связанный с расчетом буферной емкости коммутирующих
устройств в условиях самоподобного (фрактального) трафика.
В приложениях приведены методика расчета вероятности потерь
в КБ, реализующая метод экстремальных статистик (приложение
1), замечания к определению периодов регенерации, по которым
определяются максимальные значения очередей (приложение 2),
описание программы, реализующей ускоренный метод расчета буферной емкости, и примеры его применения (приложение 3).
5
Глава 1
Модели и протоколы взаимодействия
в инфокоммуникационных сетях
1.1. Принципы построения телекоммуникационных сетей
На этапах проектирования и эксплуатации сетей широко используют функциональное и логическое моделирование.
Под функциональной моделью понимают конечное множество
взаимосвязанных функций, выполняемых системой, которые можно представить в виде определенной логической структуры. В свою
очередь логическая структура реализуется аппаратными и программными модулями, которые определяют физическую структуру системы. Между логической и физической структурами системы
и/или отдельного ее элемента нет взаимно однозначного соответствия. Заданная логическая структура может быть в общем случае
реализована различными физическими структурами.
Рассмотрим эти понятия применительно к информационной сети.
1.1.1. Функциональная модель
телекоммуникационной сети
Информационная сеть (ИС) – это сложная техническая система, состоящая из территориально распределенных информационных узлов (подсистем обработки информации) и каналов передачи
информации, соединяющих данные узлы. В роли элементов ИС выступают информационные и прикладные процессы.
Информационные процессы (ИП)представляют собой совокупность взаимосвязанных процессов поиска, кодирования информации, ее ввода/вывода, обработки, хранения и передачи.
Прикладные процессы (ПП) – это ИП в оконечных системах (узлах), выполняющие обработку информации для конкретной услуги связи или приложения. Так, пользователь, организуя запрос на
предоставление той или иной услуги, активизирует в своей оконечной системе некоторый прикладной процесс.
Обобщенно функциональную архитектуру ИС можно представить в виде трехуровневой концептуальной модели (рис. 1.1) [33]:
– первый уровень (внутренний) описывает функции и правила
взаимосвязи при передаче различных видов информации между
территориально удаленными абонентскими системами через физические каналы связи (передачи) и реализуется транспортной
сетью;
6
– второй уровень (промежуточный) описывает функции и правила обмена информацией в интересах взаимосвязи прикладных
процессов различных абонентских систем и реализуется телекоммуникационной сетью (ТКС), которая представляет собой единую
инфраструктуру для обмена различными видами информации в интересах пользователей ИС;
– третий уровень (внешний) образуется совокупностью прикладных процессов, размещенных в территориально удаленных
абонентских системах.
Абонентские системы (терминалы, локальные сети) являются
потребителями информации и выполняют обработку ее содержания. Третий уровень, дополняя первый и второй указанными функциями обработки информации, образует внешний облик информационной сети.
Кроме того, в реальности между транспортной сетью и абонентскими системами могут существовать достаточно большие расстояния, преодоление которых является функцией сетей абонентского
доступа (САД). Данные сети можно рассматривать как дополнение
к транспортной сети или как ее составную часть (в последнем случае
в составе транспортной сети различают магистральную сеть и САД).
Абонентская
система
ПП
Информационная сеть
(третий уровень)
Телекоммуникационная
сеть
(второй уровень)
Абонентская
система
ПП
Транспортная сеть
(первый уровень)
Сеть каналов связи
(передачи)
ПП
Абонентская
система
ПП
Абонентская
система
Рис. 1.1. Концептуальная модель информационной сети
7
Ядром представленной модели является ТКС, обеспечивающая взаимодействие удаленных процессов, которая лежит в основе функционирования ИС. Каждый компьютер в сети работает под
управлением своей локальной операционной системы (ОС). Такая
ОС отличается от операционной системы автономного компьютера наличием дополнительных сетевых средств (программной поддержкой для сетевых интерфейсных устройств и доступа к удаленным ресурсам).
Во многих случаях информация между удаленными процессами
в сети передается не напрямую, а через ряд процессов-посредников
на промежуточных узлах информационной сети, которые не являются компьютерами отправителя и получателя. Эти узлы работают под управлением собственных операционных систем, но и при
отсутствии процессов-посредников удаленные процесс-отправитель
и процесс-получатель часто функционируют под управлением различных ОС.
Процесс – это динамический объект, реализующий целенаправленный акт обработки данных. В информационных сетях объектом может быть прикладной процесс, пользователь, клиент, сервер,
функциональный блок (устройство либо программа, выполняющая
определенную часть задачи), операционная система, абонентская
система и т. д.
Процесс, как любой динамический объект, протекает во времени и состоит из этапов инициализации, выполнения и завершения.
При этом он может быть инициирован пользователем, системой или
другим процессом. Ввод и вывод данных, необходимых процессу,
производятся в форме сообщений.
Сообщение – данные, имеющие законченное смысловое значение.
Взаимодействие удаленных процессов сводится к обмену сообщениями. Промежуток времени, в течение которого взаимодействуют процессы, называется сеансом (сессией).
Адресация в сети. При организации взаимодействия удаленных процессов участники этого взаимодействия должны иметь уникальные адреса в рамках всей сети. Практически каждое сообщение, передаваемое по сети, должно быть снабжено адресами получателя и отправителя.
Полный сетевой адрес процесса или промежуточного объекта
для хранения данных складывается из двух частей: адреса узла,
на котором находится процесс (удаленного адреса), и адреса самого процесса на этом узле (локального адреса). Уникальность полного
адреса будет обеспечиваться уникальностью удаленного адреса для
8
каждого узла в сети и уникальностью локальных адресов процессов
на узле.
Локальная адресация. Понятие порта. При удаленной связи для
локальной адресации процессов и промежуточных узлов организуется новое специальное адресное пространство.
Каждый процесс, участвующий в сетевом взаимодействии, после инициализации закрепляет за собой один или несколько адресов в этом адресном пространстве, каждому промежуточному процессу при его создании присваивается свой адрес из этого адресного
пространства.
Подобные адреса получили название портов. Порт – это логические (программно-организованные) точки, через которые производится ввод сообщений в процесс и их вывод из него.
Таким образом, процесс как объект представляется совокупностью
портов, через которые он взаимодействует с другими процессами.
При получении данных от удаленного процесса операционная
система «смотрит», на какой порт они были отправлены, и определяет процесс, который заявил этот порт в качестве своего адреса,
или объект, которому присвоен данный адрес, и доставляет полученную информацию адресату.
Полные адреса. Понятие сокета (socket). Полный адрес удаленного процесса или промежуточного узла определяется парой
адресов: «числовой адрес компьютера в сети, порт». Подобная пара получила наименование сокета (socket – «гнездо»), а сам способ их использования называется организацией связи с помощью
сокетов.
В случае непрямой адресации с использованием промежуточных
объектов сами эти объекты также принято называть сокетами. Поскольку разные протоколы транспортного уровня требуют разных
адресных пространств портов, то для каждой пары надо указывать,
какой транспортный протокол она использует, т. е. тип сокетов.
Удаленная адресация и разрешение адресов. Инициатором связи процессов друг с другом всегда является человек, так как он легче воспринимает символьную информацию, поэтому каждый компьютер в сети получает символьное имя и числовой адрес, так как
оперирует числами. В связи с этим возникает проблема отображения пространства символьных имен сетевых узлов в пространство
их числовых адресов, получившая наименование проблемы разрешения адресов. Чтобы установить связь между двумя идентификаторами одного и того же узла (именем и числовым адресом), используется система доменных имен (Domain Name System, DNS).
9
DNS– это распределенная база данных имен и адресов, а также
протокол, устанавливающий соответствие между символьными и
числовыми адресами.
Проблемы маршрутизации в сетях. Одна из отличительных особенностей взаимодействия удаленных процессов состоит в использовании в большинстве случаев процессов-посредников, расположенных на узлах, не являющихся оконечными узлами для отправителя и получателя.
Возникают вопросы: как организовать работу операционных систем на этих узлах – участниках связи для определения маршрута
передачи данных; по какой из нескольких линий связи нужно отправить сообщение? Для решения этих проблем применяются протоколы одношаговой маршрутизации.
При одношаговой маршрутизации каждый узел сети, принимающий участие в передаче данных, самостоятельно определяет,
какому следующему узлу, находящемуся в зоне прямого доступа,
они должны быть отправлены. Решение принимается на основании
анализа адреса получателя, содержащегося в сообщении. Полный
маршрут передачи данных складывается из одношаговых решений,
принятых узлами сети.
Для работы алгоритмов одношаговой маршрутизации на каждом узле сети, имеющем возможность передавать информацию более чем одному узлу, обычно строится специальная таблица маршрутов.
В простейшем случае каждая запись такой таблицы содержит:
адрес узла получателя; адрес узла сети, напрямую подсоединенного к данному, на который следует отправить сообщение, предназначенное для этого получателя; указание линии связи, по которой
должно быть отправлено сообщение.
По способам формирования и использования таблиц маршрутизации одношаговую маршрутизацию можно разделить на два класса:
– фиксированная маршрутизация;
– динамическая и адаптивная маршрутизация.
При фиксированной маршрутизации все записи в таблице являются статическими. Маршрут выбирают так, чтобы минимизировать полное время доставки данных. Преимуществом этой стратегии является простота реализации. Однако при отказе узлов или
линий связи выбранного маршрута данные не будут доставлены, даже если существует другой физический путь для их передачи.
Более гибкими являются алгоритмы динамической и адаптивной маршрутизации, которые умеют обновлять таблицы маршру10
тизации. Обновление происходит на основе обработки служебной
информации, приходящей от других узлов сети, основная функция
которых состоит в определении маршрута следования информации
по сети в соответствии с определенным протоколом. Данная функция называется маршрутизацией, а узел, выполняющий эту функцию, – маршрутизатором.
Алгоритмы динамической и адаптивной маршрутизации принято делить на два вида: сетевые протоколы, реализующие продвижение пакетов через сеть; протоколы маршрутизации, собирающие
информацию о расстояниях между узлами сети, на основе которой
рассчитываются или корректируются таблицы маршрутизации.
Основная задача компьютерной сети – обеспечение надежного
взаимодействия прикладных процессов. Для решения этой задачи
были предложены так называемые многоуровневые модели, описывающие функционирование сети.В такой модели за каждым уровнем закрепляется фиксированная часть функций и присваивается
определенное название, отражающее его назначение. Уровни подстраховывают и проверяют работу друг друга.
Для того чтобы удаленные процессы могли обмениваться данными,
необходимо, чтобы сетевые части операционных систем руководствовались определенными соглашениями, или, как принято говорить,
поддерживали определенные протоколы. Именно наличие протоколов позволяет организовать взаимодействие удаленных процессов.
Для этого необходимо учитывать, с какими сетями имеем дело.
Деление сетей на локальные, глобальные и муниципальные обычно связано не столько с местоположением и принадлежностью вычислительных систем, соединенных сетью, сколько с различными
используемыми протоколами и методами передачи данных.
При многоуровневом («слоеном») подходе построения сетевых
средств каждый уровень может взаимодействовать только со своими прямыми соседями, руководствуясь четко закрепленными соглашениями (вертикальными протоколами), которые принято называть интерфейсами.
Логический интерфейс является емким понятием, охватывающим как набор правил поведения взаимодействующих элементов,
так и формат представления обмениваемой информации. Под форматом понимается совокупность позиций для элементов данных, наделенная структурой.
Самым нижним уровнем в слоеных ИС является уровень, на котором реализуется реальная физическая связь между двумя узлами
сети. Для обеспечения обмена физическими сигналами между дву11
мя различными системами необходимо, чтобы эти системы поддерживали определенный протокол физического взаимодействия –
горизонтальный.
На самом верхнем уровне находятся пользовательские процессы, которые инициируют обмен данными. Количество и функции
промежуточных уровней варьируются от одной системы к другой.
На каждом уровне взаимодействия исходные данные «обрастают» дополнительной служебной информацией. Соответствующие получатели должны уметь понимать ее, для чего одинаковым уровням
в различных системах необходимо следовать специальным соглашениям – поддерживать определенные горизонтальные протоколы.
В ИКС одинаковые уровни, лежащие выше физического, виртуально обмениваются данными посредством горизонтальных протоколов. Наличие такой виртуальной связи означает, что уровень N
компьютера 2 должен получить ту же самую информацию, которая
была отправлена уровнем N компьютера 1. Хотя в реальности эта
информация должна была сначала дойти сверху вниз до уровня 1
компьютера 1, затем быть передана уровню 1 компьютера 2 и только после этого доставлена снизу вверх уровню N этого компьютера.
Формальный перечень правил, определяющих последовательность и формат сообщений, которыми обмениваются сетевые компоненты различных вычислительных систем, лежащие на одном
уровне, называют сетевым протоколом.
Всю совокупность вертикальных и горизонтальных протоколов
(интерфейсов и сетевых протоколов), достаточную для организации
взаимодействия удаленных процессов, принято называть семейством протоколов или стеком протоколов.
Сети, построенные на основе разных стеков протоколов, могут
быть объединены между собой с использованием трансляторов из
одного стека протоколов в другой, причем на различных уровнях
слоеной модели.
Связь с установлением логического соединения и без него. В основе всех средств связи между удаленными процессами лежит передача сообщений. Применяются две модели передачи: потоковая
и отдельными сообщениями. Реализация происходит на основе протоколов транспортного уровня.
Транспортные протоколы взаимодействия удаленных процессов, которые предназначены для обмена отдельными сообщениями,
получили наименование протоколов без установления логического
соединения или протоколов обмена дейтаграммами. С точки зрения операционных систем все дейтаграммы– это независимые про12
токольные единицы, не имеющие ничего общего с другими дейтаграммами, которыми обмениваются эти же процессы.
С точки зрения процессов, обменивающихся информацией, дейтаграммы могут быть связаны по содержанию друг с другом. Однако выполнение функций по установлению и поддержанию семантической связи между дейтаграммами относится не к сетевой операционной системе, а к самим пользовательским взаимодействующим
процессам (уровням, которые находятся выше транспортного в модели взаимодействия).
Транспортные протоколы, которые поддерживают потоковую
модель, получили наименование протоколов, требующих установления логического соединения. В их основе лежит передача данных
с помощью пакетов информации. Операционные системы сами «нарезают» эти пакеты из передаваемого потока данных, организовывают правильную последовательность их получения и снова объединяют полученные пакеты в поток. Эти протоколы должны обеспечивать надежную связь.
Эталоном многоуровневой схемы построения сетевых средств
связи считается семиуровневая модель открытого взаимодействия
систем (Open System Interconnection, OSI), предложенная Международной организацией Стандартов (International Standard Organization, ISO) и получившая сокращенное наименование OSI/ISO
(в русской транскрипции – ЭМ ВОС) [23].
Проблемы логической организации передачи информации между удаленными процессами относятся в основном к канальному,
сетевому и транспортному уровням эталонной модели и соответственно решаются на уровне канальных, сетевых и транспортных
протоколов. Проблемы физической передачи решаются на физическом уровне.
Наиболее распространенные семейства протоколов лишь до некоторой степени согласуются с эталонной моделью. Действительно,
на сегодняшний день наблюдается тенденция ко всеобщему переходу на протокол TCP/IP, и абсолютное большинство VPN-решений
поддерживает именно его. Адресация в нем чаще всего выбирается
в соответствии со стандартом RFC5735, из диапазона приватных сетей TCP/IP. Ценность предложенной эталонной модели заключается в том, что она показывает направление, в котором должны двигаться разработчики новых ИС. Модель и технология TCP/IP будет
рассмотрена в следующей главе.
Таким образом, многоуровневая модель сети, семейство сетевых
протоколов и интерфейсов, двухуровневая адресация, разрешение
13
имен, протоколы маршрутизации, применение дейтаграмм или потока данных при их передаче – те составляющие функциональной
структуры ИС, которые обеспечивают удаленное взаимодействие
процессов.
Объединение функций в логические модули осуществляется
обычно в соответствии с уровнями эталонной модели. Для реализации логических модулей используются технические и программные средства. Множество взаимосвязанных аппаратных и программных модулей, реализующих заданную логическую структуру, называют физической структурой сети.
1.1.2. Коммуникационное оборудование сетей
передачи данных
В сетях с небольшим (10–30) количеством компьютеров используется одна из типовых топологий – общая шина, кольцо, звезда
или полносвязная сеть. Все они обладают свойством однородности.
Однородность структуры упрощает процедуру наращивания числа
компьютеров, облегчает обслуживание и эксплуатацию сети.
При построении корпоративных сетей использование типовых
структур порождает различные ограничения, к которым относятся
ограничения:
– на длину связи между узлами;
– количество узлов в сети;
– интенсивность трафика, порождаемого узлами сети.
Для снятия этих ограничений используются специальные методы структуризации сети и специальное структурообразующее
оборудование: повторители, концентраторы, мосты, коммутаторы,
маршрутизаторы, шлюзы. Оборудование такого рода называют коммуникационным, имея в виду, что с его помощью отдельные сегменты сети взаимодействуют между собой.
Под физической структуризацией понимается конфигурация
связей, образованных отдельными частями кабеля, а под логической – конфигурация информационных потоков между компьютерами сети. Физическая и логическая топологии могут совпадать,
а могут и не совпадать [35].
Физическая структуризация сети
На уровне самого общего представления физическая структура
информационной сети состоит из совокупности узлов и объединяющих их средств соединений.
14
Физические средства соединений – совокупность физической
среды, аппаратных и программных средств, обеспечивающая передачу сигналов между узлами. Ее основой является используемая
физическая среда: витая пара, коаксиальный и оптический кабели,
эфир.
Узел сети (node)– устройство, соединенное с другими устройствами как часть информационной сети. Узлы сети бывают двух типов:
оконечный, расположенный в конце только одной ветви; промежуточный (ретрансляционный), расположенный на концах более чем
одной ветви.
В оконечных узлах размещаются оконечные системы информационной сети: отдельные компьютеры, терминальные системы, абонентские пункты и системы, информационные банки и мэйнфреймы, которые являются поставщиками основных информационных
и вычислительных ресурсов сети, узлы доступа (access nodes), серверы доступа.
Первое устройство, которое входит в состав аппаратного обеспечения,–сетевой адаптер (network adapter). Существуют и другие его
названия, например, сетевая карта (network card), карта сетевого
интерфейса (Network Interface Card, NIC). Работа сетевой карты заключается в физическом подключении компьютера к сети, для того чтобы компьютер за счет получения и передачи данных мог участвовать в сетевом взаимодействии. Сетевая карта должна соответствовать сетевой среде (network medium), к которой подключен
компьютер.
Применение ретрансляционных узлов обеспечивает сегментацию локальных сетей и интеграцию разнородных сетей в единую
интерсеть, т. е. физическую структуризацию сети (рис. 1.2).
Простейшее из коммуникационных устройств – повторитель
(repeater) – используется для физического соединения сегментов
кабеля локальной сети с целью увеличения общей длины сети. Повторитель передает сигналы, приходящие из одного сегмента сети
в другие ее сегменты (рис. 1.3), и позволяет преодолеть ограничения
на длину линий связи за счет улучшения качества передаваемого
сигнала (восстановления его мощности и амплитуды, улучшения
фронтов).
На физическом уровне пакет представляет собой цепь импульсов, распространяющихся по кабелю. За счет частичного отражения от точек подключения и поглощения в среде импульсы в пакете «расплываются» и искажаются (ухудшается отношение сигнал/
шум), что является одной из причин ограничения длин кабельных
15
г)
д)
B
G
WAN
б)
WAN
...
...
LAN
H
r
R
S
е)
Сегменты
в)
а)
...
H
B
Token Ring
Ehternet
Рис. 1.2. Физическая структура и элементы интерсети:
r – повторитель (Repeater); H – концентратор (Hub); B – мост (Bridge);
S – коммутатор (Switch); R – маршрутизатор (Router);
G – шлюз (Gateway); а–д – сегменты (подробнее см. с. 116)
...
Сегмент 1
...
Повторитель
Сегмент 2
r
Передаваемые данные
Ретранслируемые данные
Рис. 1.3. Усиление и ретрансляция сигналов повторителем
сегментов. Для преодоления этих ограничений и вводятся сетевые
повторители.
Повторитель принимает сигналы из одного сегмента кабеля и побитно синхронно повторяет их в другом сегменте, улучшая форму
и мощность импульсов. Редактирование или анализ поступающих
данных не производятся. Задержка сигнала повторителем не должна превышать 7,5 тактов (750 нс для Ethernet).
Многопортовый повторитель называют концентратором (hub).
Концентраторы образуют из отдельных физических отрезков кабе16
ля общую среду передачи данных – логический сегмент. В концентраторе пакет, пришедший на любой порт, будет ретранслирован на
каждый компьютер сети. Проблема заключается в том, что любой
компьютер может начать передачу в любое время. И когда разные
компьютеры, подключенные к хабу, начинают передачу с небольшим сдвигом во времени, то сигналы, переносящие пакеты «сталкиваются» в общей физической среде и уничтожаются. Данный эффект получил название коллизии (collision). Для разрешения коллизий компьютеры через некоторое время должны заново передать
уничтоженные пакеты.
Повторители и концентраторы работают на физическом уровне
эталонной модели.
По мере увеличения числа компьютеров, подключенных к концентратору, увеличивается и число коллизий, а по мере увеличения их
количества снижается сетевая эффективность. Именно по этой причине мосты и коммутаторы практически полностью вытеснили хабы.
Логическая структуризация сети
Распространение трафика только в пределах некоторого сегмента сети называется локализацией трафика. Логическая структуризация сети – это процесс разбиения сети на сегменты с локализованным трафиком. Для этого используются мосты, коммутаторы,
маршрутизаторы и шлюзы.
Мост (bridge) – устройство, которое обеспечивает взаимосвязь
двух (реже нескольких) локальных сетей или сегментов сети посредством передачи трафика из одной сети в другую или из одного сегмента сети в другой, применяя промежуточную буферизацию
(рис. 1.4).
Мост по адресу источника составляет списки рабочих станций
(РС) сети (сегмента) и формирует маршрутную таблицу. Она содержит для каждого MAC-адреса соответствующий номер порта моста,
к которому подключены РС сети (сегмента). Мост выступает по отношению к каждой из сетей (сегментов) как конечный узел: принимает кадр, буферизует его, по полю адреса приемника проверяет
список. Если приемник и источник находятся в одной сети (сегменте), мост такой кадр уничтожает, если адресуемый узел принадлежит другой сети (сегменту), передает его адресату.
Для передачи кадра в другую сеть мост должен получить доступ
к ее разделяемой среде передачи данных в соответствии с теми же
правилами, что и обычный узел.
17
12
24
17
11
...
18
...
Мост
Сегмент 1
Маршрутная
таблица
15
Сегмент 2
Порт 1
Порт 2
МАС-адрес
24
17
11
15
12
18
Порт
1
1
2
2
1
2
Рис. 1.4. Мост как коммуникационное устройство канального уровня
Мост изолирует трафик одного сегмента от трафика другого сегмента, выполняя функцию фильтрации кадров. Логическая структуризация сети с помощью мостов позволяет снижать коэффициент
загрузки сегментов сети.
Мосты обеспечивают выполнение функций канального уровня
модели OSI путем поддержки протоколов этого уровня.
Мост не только снижает нагрузку в объединенной сети, но и
уменьшает возможности несанкционированного доступа (изолирует сегменты). Он может задерживать кадры и терять их. Задержка
обусловлена записью в буфер и обработкой кадра (анализом адресов
и их сопоставлением с таблицей), а также тем, что обработкой кадров управляет один процессор.
Производительность моста должна превышать среднюю интенсивность межсегментного трафика. Буферная емкость моста рассчитывается исходя из пиковой нагрузки.
Сетевой коммутатор (switch) – устройство, предназначенное
для соединения нескольких узлов в пределах одного или нескольких сегментов сети и/или нескольких сетей. Коммутатор работает
на канальном уровне модели OSI. Характерный пример применения коммутаторов для структуризации локальной вычислительной
сети представлен на рис. 1.5.
Коммутаторы были разработаны с использованием технологии
моста. Разница между мостом и коммутатором состоит в том, что
мост в каждый момент времени может осуществлять передачу кадров только между одной парой портов, а коммутатор одновременно
поддерживает потоки данных между всеми своими портами. Дру18
Аппарат
директора
Отдел
кадров
Подсеть 1
Подсеть 2
Отдел маркетинга
Бухгалтерия
Отдел
АСУ
СУБД,
файловый Web,
Mail
сервер
Услуги
глобальной
сети
Коммутатор
Коммутатор
Отдел кадров
Подсеть 3
Склад
Межсетевой
экран
Отдел
снабжения
Рис. 1.5. Схема локальной вычислительной сети организации
гими словами, мост передает кадры последовательно, а коммутатор – параллельно.
Коммутатор – мультипроцессорная система. В каждом порту
коммутатора свой процессор и буферная память для временного
хранения пакетов.
В ассоциативной памяти коммутатора хранится таблица соответствий между MAC-адресом узла и портом коммутатора. При
включении коммутатора эта таблица пустая. Она строится автоматически в первые секунды работы коммутатора следующим образом: данные, поступающие на какой-либо порт, передаются на все
остальные порты, что позволяет определить MAC-адрес рабочей
станции отправителя и занести его в таблицу. Такая функция инициализации коммутатора получила название режима обучения.
Впоследствии, если на один из портов коммутатора поступит
кадр, предназначенный для узла, MAC-адрес которого уже есть
в таблице, то этот кадр будет передан только через порт, указанный
в таблице. Если MAC-адрес узла-получателя не ассоциирован с каким-либо портом коммутатора, то кадр будет отправлен на все порты за исключением того, с которого он был получен. Со временем
коммутатор строит таблицу для всех активных MAC-адресов, в результате чего трафик локализуется.
Коммутаторы характеризует малая задержка и высокая скорость пересылки между портами.
19
Существуют три архитектурных решения аппаратной реализации коммутаторов, различающиеся способами комплексирования
его функциональных модулей. Это коммутаторы на основе матрицы, общей шины и с общей памятью.
Коммутаторы на основе матрицы обеспечивают самый быстрый способ взаимодействия входных портов с выходными. Построение таких коммутаторов осуществляется на основе двоичных коммутационных элементов с двумя входами и двумя выходами.
Пример реализации коммутационной матрицы для восьми портов дан на рис. 1.6. Во входном порту по адресу назначения, записанному в служебной части информационного кадра, на основании
просмотра адресной таблицы определяется номер выходного порта.
Эта информация добавляется к байтам исходного кадра в виде специального ярлыка – тега (tag). Для данного примера тег представляет собой 3-разрядное двоичное число, соответствующее номеру
выходного порта.
Матрица состоит из трех каскадов двоичных переключателей
(коммутационных элементов), которые соединяют свой вход с одним из двух выходов в зависимости от значения бита тега.
Коммутационный элемент КЭ может работать в одном из двух
режимов: «транзит» или «кросс» (рис. 1.7).
Переключатели первого каскада управляются первым битом тега, второго – вторым, а третьего – третьим. Известным недостатком
Тег
Тег
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Порт 1
Порт N
Рис. 1.6. Вариант реализации коммутационной матрицы
0
1
а)
0
1
0
1
б)
0
1
Рис. 1.7. Режимы работы коммутационного элемента:
а – «транзит»; б – «кросс»
20
этой технологии является отсутствие буферизации данных внутри коммутационной матрицы. Если составной канал невозможно
построить из-за занятости выходного порта или промежуточного
КЭ, то данные должны накапливаться в буферных запоминающих
устройствах БЗУ порта коммутатора.
Коммутаторы на базе общей шины для связи входных портов
с выходными применяют высокоскоростную шину, используемую
в режиме разделения времени. В этой архитектуре шина (моноканал)
пассивна, а активную роль выполняют специализированные процессоры портов. Пример такой архитектуры приведен на рис. 1.8.
Кадр передается по шине в псевдопараллельном режиме небольшими частями (по несколько байт). Размер такой ячейки данных
определяется производителем коммутатора.
Во входном порту формируется тег, в котором указывается номер
порта назначения и который добавляется к информационной ячейке, переносимой по шине. Каждый выходной порт содержит фильтр
тегов, который выбирает только те теги, которые предназначены
данному порту.
Шина не может осуществлять промежуточную буферизацию.
Однако, поскольку доступ портов к шине осуществляется циклически, задержка при доступе накапливается за счет промежутков
ожидания между частями транспортируемого по шине пакета. Для
того чтобы шина не была узким местом коммутатора, ее производительность должна быть в несколько раз выше скорости поступления
данных на входные порты.
Порт 1 (вход)
Арбитраж
шины
Тег
Порт 2 (выход)
Порт 2 (вход)
Арбитраж
шины
Тег
...
...
Порт N (вход)
Тег
Порт 1 (выход)
Фильтр
тегов
Арбитраж
шины
Фильтр
тегов
...
Порт N (выход)
Фильтр
тегов
Рис. 1.8. Структура коммутатора на базе общей шины
21
Коммутатор с общей разделяемой памятью. В коммутационной схеме с общей разделяемой памятью входные и выходные порты
коммутатора соединены между собой не через шину, а через общую
память. Пример такой архитектуры приведен на рис. 1.9.
Входные порты (точнее – специализированные процессоры этих
портов) соединяются с переключаемым входом разделяемой памяти, а выходные – с переключаемым выходом этой памяти. Переключением входа и выхода разделяемой памяти управляет менеджер
очередей. Он организует в разделяемой памяти несколько очередей
данных, по одной для каждого выходного порта.
Входные порты передают менеджеру запросы на запись данных
в очередь того порта, который соответствует адресу назначения пакета. Менеджер по очереди подключает вход памяти к одному из
входных портов, и тот переписывает данные в очередь соответствующего выходного порта. По мере заполнения очередей менеджер
производит последовательное подключение выхода разделяемой
памяти к выходным портам, и данные из очереди переписываются
в выходной буфер соответствующего порта. К недостаткам коммутаторов этого типа относят их сложность и высокую стоимость.
Функциональные возможности коммутаторов постоянно расширяются. Так, все большее распространение в сети приобретают коммутаторы Ethernet, поддерживающие функции маршрутизации.
Они выполняют маршрутизацию на аппаратной базе. Однако сложные правила фильтрации и маршрутизации трафика остаются за
магистральными маршрутизаторами.
Порт1 (вход)
Адрес
назначения
Менеджер
очередей
Порт 2 (выход)
Порт 2 (вход)
Адрес
назначения
..
.
Порт S (вход)
Порт 1 (выход)
..
.
..
.
Порт S (выход)
Адрес
назначения
Рис. 1.9. Структура коммутатора на базе общей памяти
22
В мультисервисных сетях связи применяются программные
коммутаторы. Ядром таких сетей являются опорные IP-сети, поддерживающие интеграцию услуг передачи речи, данных и мультимедиа. Программный коммутатор (Soft Switch) позволяет отделить
функции управления соединениями от функций коммутации и реализовать принцип конвергенции услуг электросвязи.
Важной функцией современных корпоративных коммутаторов
является классификация поступающего трафика в соответствии
с функциями 3-го и 4-го уровней модели OSI. Реализация этой функции делает коммутатор интеллектуальным устройством, позволяющим различать уже не только отдельные IP-пакеты, но и различные
типы вышестоящих протоколов (например, HTTP, FTP, SMTP) благодаря анализу заголовков ТСР-пакетов.
Использование функций четвертого уровня позволяет обеспечить качество обслуживания трафика критически важных приложений. Например, современные коммутаторы способны блокировать трафик потокового видео или аудио для обеспечения своевременной доставки электронной почты.
Таким образом, коммутаторы становятся основным типом сетевых устройств на 1–3-м уровнях ЭМ ВОС, заменяя концентраторы,
мосты и маршрутизаторы в ЛВС.
Маршрутизаторы (routers) (рис. 1.10) образуют логические
сегменты посредством явной адресации, поскольку используют не
плоские аппаратные, а составные числовые адреса. В этих адресах
имеется поле номера сети, так что все компьютеры, у которых значение этого поля одинаково, принадлежат к одному сегменту, называемому в данном случае подсетью.
Маршрутизатор позволяет организовывать в сети избыточные
связи. Он «видит» всю картину связей подсетей друг с другом, на
основе чего составляет маршрутную таблицу и может выбрать наиболее подходящий маршрут при наличии нескольких альтернативных.
Таблица маршрутов в общем случае содержит следующие колонки:
– пункт назначения (Destination) – определяет IP-адрес сети назначения;
– маска сети (Subnet Mask) – задает количество лидирующих бит
в IP-адресе, которые определяют адрес сети;
– пункт пересылки (Next Hop) – задает IP-адрес интерфейса следующего маршрутизатора, на который следует направить поступивший пакет;
23
РС2
РС1
РС3
РС4
LAN 2
R2
R3
R1
РС6
РС5
WAN 4
LAN 1
R4
РС1
РС2
РС4
R5
РС3
РС5
LAN 3
R6
R7
WAN 5
LAN 6
Рис. 1.10. Структура интерсети, построенной на основе
маршрутизаторов: R1, R2, ..., R7 – маршрутизаторы; LAN1, LAN2, LAN3,
WAN4, WAN5, LAN6 – уникальные номера сетей в едином формате;
РС1, РС2, ... – локальные номера узлов (рабочих станций)
– интерфейс (Interface) – задает собственный выходной порт
маршрутизатора, на который следует направить поступивший
пакет;
– метрика (metric) – задает предпочтение в выборе альтернативных маршрутов. Маршруты с меньшей метрикой более предпочтительны.
Маршрутизаторы не только объединяют сети, но и надежно защищают их друг от друга – маршрутизатор отказывается передавать «неправильный» пакет дальше, изолируя дефектный узел от
остальной сети.
Маршрутизатор предоставляет администратору удобные средства фильтрации потока сообщений за счет того, что сам распознает
многие поля служебной информации в пакете и позволяет их именовать понятным администратору образом.
Чтобы составить карту связей в сети, маршрутизаторы обмениваются специальными служебными сообщениями.
Функции маршрутизатора могут быть разбиты на три группы
в соответствии с уровнями модели OSI: уровень интерфейсов, уровень
сетевого протокола, уровень протоколов маршрутизации (рис. 1.11).
24
Создание и ведение таблиц маршрутизации
Анализ и модификация
сетевого заголовка
Фильтрация пакетов
Определение
маршрута
по таблице
маршрутизации
Отбрасывание
у кадра заголовка
канального уровня
и передача пакета
сетевому уровню
Передача уровню
интерфейсов пакета,
адреса следующего
маршрутизатора,
номера выходного порта
Преобразование
сетевого адреса
следующего
маршрутизатора
в локальный адрес
Удаление плохих пакетов
Ведение очередей
пакетов
Прием и распределение данных по портам
Порт 1
Порт 2
Порт 3
Порт 4
10 Base-T
10 Base-T
UTP
V. 35
Ethernet
Ethernet
Token Ring
X.25
ISDN
Рис. 1.11. Функциональная модель маршрутизатора
Уровень интерфейсов. С каждым интерфейсом связан определенный протокол канального уровня (Ehternet, Token Ring,X.25
и др.). Интерфейс выполняет функции физического и канального
уровней, а также извлекает и передает поля данных кадра верхнему уровню – модулю сетевого протокола, если контрольная сумма
корректна.
Каждый порт маршрутизатора имеет МАС-адрес той подсети, которая подключена к данному порту и по которой транспортируются
кадры к следующему маршрутизатору или оконечной абонентской
системе.
Уровень сетевого протокола производит анализ полей заголовка, проверки (контрольной суммы, времени пребывания пакета
в сети), фильтрацию трафика, буферизацию. Основная функция –
определение маршрута пакета. По номеру сети, извлеченному из
заголовка пакета, модуль сетевого протокола находит в таблице
маршрутизации строку, содержащую сетевой адрес следующего
маршрутизатора (узла коммутации) и номер выходного порта.
25
Для установления соответствия между сетевыми и локальными
адресами используется протокол разрешения адресов ARP (Adress
Resolution Protocol).
Таблица соответствия локальных адресов сетевым строится отдельно для каждого сетевого интерфейса. С сетевого уровня пакет
передается вниз канальному уровню.
Уровень протоколов маршрутизации. Построением и поддержанием таблицы маршрутизации занимаются протоколы маршрутизации, такие как RIP, OSPF, ICMP. Они обеспечивают обмен
между маршрутизаторами информацией о топологии сети, анализ
этих сведений, определение наилучших маршрутов. Результаты заносятся в таблицы маршрутизации.
Различают три класса маршрутизаторов: магистральные, региональные, офисные. Как было отмечено ранее, все региональные
и офисные маршрутизаторы практически заменяются быстродействующими управляемыми коммутаторами.
Шлюзы работают на самом высоком уровне стека протоколов и
поддерживают взаимодействие систем и сетей, которые используют
несовместимые протоколы. Шлюзы обеспечивают соединение и необходимые преобразования в терминах, как аппаратуры, так и программного обеспечения.
Сетевой шлюз – это точка сети, которая служит выходом в другую сеть. Например сервер, контролирующий трафик между локальной сетью компании и сетью Интернет, – это сетевой шлюз. Сетевой шлюз часто объединен с маршрутизатором, который управляет распределением и конвертацией пакетов в сети.
Основная задача маршрутизатора/шлюза – конвертировать протокол между сетями. Сетевой шлюз/маршрутизатор должен понимать все протоколы, используемые в объединенной сети.
В каждой из сетей, образующих интерсеть, сохраняются присущие им принципы адресации узлов и протоколы обмена информацией, поэтому маршрутизаторы могут объединять не только локальные сети с различной технологией, но и локальные сети с глобальными сетями. Эти особенности делают шлюз/маршрутизатор
сложным интеллектуальным устройством, построенным на базе нескольких мощных процессоров (рис. 1.12). Такой специализированный мультипроцессор работает, как правило, под управлением специализированной операционной системы.
Когда пакет прибывает на маршрутизатор/шлюз, в порту отрезаются заголовки и концевики кадров и остаются только поля данных, которые и передаются в общее поле памяти шлюза/маршру26
Процессор ... Процессор
Порт 1 (вход)
Управление
тегами
Схема коммутации
Управление
буферами
Порт 1 (выход)
Порт 2 (выход)
Порт 2 (вход)
...
...
Порт S (выход)
Порт S (вход)
...
Секции памяти
Рис. 1.12. Архитектура шлюза/маршрутизатора
Сетевые устройства
Уровни модели OSI
Шлюз
Прикладной
7
Представительный
6
6
Сеансовый
5
5
Транспортный
4
Сетевой
3
3
Канальный
2
2
2
Физический
1
1
1
7
Маршрутизатор
Повторитель
1
1
4
3
3
2
2
2
1
1
1
Физический
сегмент
Логический сегмент
Сети (подсети) интерсети
Рис. 1.13. Соответствие функций
коммуникационного оборудования модели OSI
27
тизатора. Далее анализируется заголовок пакета и в соответствии
с записанным в нем заданием строится алгоритм (цепочка команд)
обработки пакета протокольными процессами. В маршрутизаторе/
шлюзе одновременно выполняется несколько заданий, так как протоколы могут иметь свои копии по уровням ЭМ ВОС и общая память
разделена на секции. Это обеспечивает параллельную обработку пакетов в маршрутизаторе/щлюзе.
Сетевой шлюз может принять пакет, сформатированный под
один протокол, например Apple Talk) и конвертировать его в пакет
другого протокола (например TCP/IP, перед отправкой в другой сегмент сети – другую сеть). Сетевые шлюзы работают медленнее, чем
сетевые коммутаторы.
На рис. 1.13 представлено распределение рассмотренного коммуникационного оборудования по уровням модели OSI.
В крупных сетях сервер, работающий как сетевой шлюз, обычно
интегрирован с прокси-сервером и межсетевым экраном.
Примерами межсистемных продуктов являются пакеты электронной почты. Они позволяют обмениваться почтовыми файлами
пользователей в самых различных системах (домашних, офисных).
Сетевым оборудованием обычно используется DHCP-протокол
(Dynamic Host Configuration Protocol). Это протокол, который позволяет получить различные данные, необходимые клиенту для работы с протоколом IP. С использованием DHCP-протокола добавление новых устройств и сетей становится простым и почти автоматическим.
Туннелирование протоколов как средство объединения сетей
По определению туннелирование (tunneling), или инкапсуляция (encapsulation),применяется, когда две сети с одной транспортной технологией необходимо соединить через сеть, использующую
другую транспортную технологию. Промежуточная сеть используется только как транзитная транспортная система [35].
Пограничные маршрутизаторы, которые подключают объединяемые сети к транзитной, упаковывают пакеты транспортного
протокола объединяемых сетей в пакеты транспортного протокола
транзитной сети.
Инкапсуляция может быть использована для транспортных протоколов любого уровня. Для согласования сетей на сетевом уровне могут быть применены многопротокольные маршрутизаторы,
а также программные и аппаратные шлюзы.
28
29
TCP
X.25
LAP-B
X.25_R1
4
3
2
IP_R1
IP
PPP
R1
Х.25_2S1
PPP IP TCP X25
Сеть TCP/IP
(транзитная)
X25_2S1
IP_R2
TCP
IP
PPP
4
3
2
X25_2S2
Сеть Х.25
(сопрягаемая)
Адрес сети:
Х.25_2
X.25
LAP-B
R2
Рис. 1.14. Соединение сетей X.25 через транзитную сеть TCP/IP методом инкапсуляции
Таблица ARP маршрутизации R1
X.25_2
IP _R2
X.25_3
IP_R3
…
...
X.25_1U1
Х.25_1
Сеть Х.25
(сопрягаемая)
Адрес сети :
Рассмотрим пример инкапсуляции на сетевом уровне. Пусть двум
сетям Х.25 нужно связаться между собой через сеть TCP/IP (рис. 1.14).
В таких случаях сетевой протокол транзитной сети считается протоколом более низкого уровня, чем сетевой протокол объединяемых
сетей. Поэтому пакеты сопрягаемых сетей Х.25 инкапсулируются
в пакеты TCP транспортного уровня транзитной TCP/IP сети пограничным маршрутизатором R1 и переносятся в пакетах TCP по транзитной сети до следующего пограничного маршрутизатора R2. Для
переноса по TCP/IP сети пакеты TCP в соответствии с технологией
этой сети помещаются в пакеты IP, которые инкапсулируются в кадры протокола канального уровня, например РРР. Маршрутизатор
R2 извлекает пакет Х.25 из пакета TCP и, предварительно установив
виртуальное соединение с узлом назначения по адресу Х.25_2S1, отправляет его по соответствующему виртуальному соединению.
Реализация метода требует процедур нахождения адреса пограничного маршрутизатора R2 в транзитной TCP/IP сети по адресу сети назначения Х.25. Такие процедуры называют протоколами разрешения адресов – Address Resolution Protocol, ARP. Протокол ARP
оперирует ARP-таблицей (см. рис.1.14.), которая для каждого адреса сети назначения Х.25 содержит соответствующий IP-адрес пограничного маршрутизатора, через который можно найти эту сеть.
Наибольшей гибкостью при инкапсуляции своих пакетов в пакеты других сетевых протоколов обладает протокол IP. Для него
разработано семейство протоколов ARP, каждый из которых предназначен для выполнения процедуры инкапсуляции пакетов IP
в определенный протокол: Ethernet, Х.25, Frame Relay, ATM и т. п.
Туннели могут быть проложены и через несколько последовательно соединенных подсетей. Для этого используется ориентированное на соединение сцепление виртуальных каналов (ВК) подсетей (рис. 1.15).
Соединение с узлом удаленной сети при использовании способа
сцепленных виртуальных каналов устанавливается следующим образом: маршрутизатор, к которому подключен узел-отправитель,
определяет, является ли адресат удаленным, и при подтверждении
создает виртуальный канал к ближайшему маршрутизатору из сети адресата. Затем строится виртуальный канал от этого маршрутизатора к внешнему шлюзу (многопротокольному маршрутизатору).
Шлюз запоминает существование созданного виртуального канала
в своих таблицах и строит новый виртуальный канал к маршрутизатору следующей подсети. Процесс продолжается до тех пор, пока
не будет достигнут узел-получатель.
30
Шлюз
(многопротокольный
машрутизатор)
Узел 1
Сеть ATM
Сеть SNA
Маршрутизатор
Сеть Х.25
Сеть OSI
Сквозные
сцепленные
виртуальные каналы
Узел 2
Рис. 1.15. Объединение сетей
с помощью сцепленных виртуальных каналов
Коммутация с использованием техники виртуальных каналов
Наряду с маршрутизаторами и шлюзами для организации виртуальных каналов на сетевом уровне широко используются коммутаторы (узлы коммутации – УК). При этом при прокладке маршрута
для виртуализации проложенного соединения таблицы маршрутизации заменяются таблицами коммутации. Рассмотрим применение виртуальных каналов в сети.
Смысл создания ВК заключается в следующем. Маршрутизация
пакетов между УК сети на основе таблиц маршрутизации происходит только один раз при создании коммутируемого ВК. Для установления виртуального соединения посылается запрос – специальный пакет Call Request, содержащий сетевые адреса источника
и получателя. Адреса конечных узлов в глобальных сетях имеют
длину 14, 15 десятичных цифр (до 8 байт) в служебном поле пакета. При прохождении Call Request через УК резервируются и затем фиксируются номера входящего и исходящего портов в каждом
УК, между которыми будет коммутироваться поток передаваемых
данных между взаимодействующими оконечными устройствами
в установленном виртуальном соединении. Номер ВК составляет
12 бит (4 бита – номер группы, 8 бит – номер канала в группе). В результате после установления виртуального соединения пакеты не
несут длинных адресов, и работа сети маршрутизации пакетов ускоряется за счет двух факторов: продвижения пакетов (принимается
31
2
Узел А
1
ВК2
2
ВК3
iMac
DA=5813760ВК4
DA = 5813765
VCI = 4
УК B
Адрес
Порт
5813761 2
5813763 3
5813765 4
...
...
1
УК B
4
УК D 3
ВК8
Узел F
ВК6
4
2
1 УК
E
ВК9
ВК10
ВК11
ВК5
3
2
3
4
iMac
DA=5813765
3
1 УК C
4
Маршрутная таблица УК C
Адрес
Порт
5813761 1
5813763 1
5813765 2
...
...
Таблица маршрутизации порта 1B
ВК-вход ВК-выход Порт
10
4
1
9
8
3
Таблица маршрутизации порта 1C
ВК-вход ВК-выход Порт
5
10
1
Таблица маршрутизации порта 4 D
ВК-вход ВК-выход Порт
5
6
3
Таблица маршрутизации порта 2 E
ВК-вход ВК-выход Порт
6
11
3
Маршрутная таблица УК D
Адрес
Порт
5813761 4
5813763 3
5813765 ...
3
...
...
Маршрутная таблица УК E
Адрес
Порт
5813761 4
5813763 4
5813765 3
...
...
Таблица маршрутизации порта 4 B
ВК-вход ВК-выход Порт
3
2
2
4
10
4
Таблица маршрутизации порта 2C
ВК-вход ВК-выход Порт
10
5
2
Таблица маршрутизации порта 3D
ВК-вход ВК-выход Порт
6
5
4
Таблица маршрутизации порта 3E
ВК-вход ВК-выход Порт
11
6
2
Рис. 1.16. Установка виртуального канала между оконечными
устройствами: А и F; УКB, УКC, УКD, УКE – коммутаторы УК,
i = 1, 2, 3, 4 – номера портов
быстрее из-за меньшего размера таблицы коммутации) и уменьшения доли служебной информации.
Режим продвижения пакетов на основе готовой таблицы коммутации портов называют не маршрутизацией, а коммутацией. Таблица маршрутизации в оконечных узлах состоит из записей глобального адреса DА и номера порта, на который нужно переслать пакет
из узла коммутации, к которому имеет доступ данное оконечное
устройство. Адрес следующего коммутатора (узла коммутации) не
32
нужен, так как связи между коммутаторами типа «точка–точка»,
а множественных связей между коммутаторами нет.
Пусть конечный узел с адресом 5813760 начинает устанавливать
виртуальное соединение с узлом 5813765 и посылает запрос на установление соединения Call Request. Установление требуемого соединения и формирование коммутационных таблиц на каждом УК,
входящем в данный ВК, показаны на рис. 1.16.
Техника ВК позволяет реализовать два режима продвижения
пакетов: стандартный режим маршрутизации пакета на основании
адреса назначения и режим коммутации пакетов на основании номера ВК. Эти режимы применяются поэтапно, причем первый этап
состоит в маршрутизации всего одного пакета – запроса на установление соединения.При использовании виртуальных каналов очень
эффективно передаются через сеть долговременные потоки, но для
кратковременных этот режим не очень подходит, так как на установление соединения уходит значительное время.
1.1.3.Многоуровневый подход
к построению архитектуры сети
Рассмотренная взаимосвязь между удаленными процессами может быть представлена в виде последовательности разнообразных
и, как правило, многократных функциональных преобразований
информационных сообщений в различных сетевых элементах из одной цифровой формы в другую и из одного вида физических (электрических) сигналов в другие.
Эта задача чрезвычайно сложна. Ее решение оказывается возможным лишь после предварительного разбиения требуемых функций на отдельные подфункции и создания их спецификаций и
принципов их согласованного взаимодействия. Результатом такого
разбиения стали многоуровневые модели, описывающие функционирование сети.
Основу многоуровневого подхода к построению ИС составляют
четыре элемента (рис. 1.17) [33].
Компоненты прикладных процессов, называемые прикладными логическими объектами, реализуют процессы взаимосвязи открытых систем по устанавливаемым соединениям через среду ВОС.
В целом же большое многообразие и сложность функций взаимосвязи привели к необходимости их иерархического разделения на
группы (слои, уровни) в рамках открытой системы и создания многоуровневой архитектуры телекоммуникационных сетей.
33
1. Прикладные процессы
и прикладные логические объекты
Информационная
сеть
2. Открытые
системы
Телекоммуникационная
сеть
B
А
3. Соединения
4. Физическая среда
Транспортная сеть
Рис. 1.17. Основные элементы многоуровневой модели
и их соотношение с архитектурой ИС
Понятие открытости систем означает взаимное признание и поддержку соответствующих стандартов взаимосвязи и не связано с их
конкретной реализацией и используемыми техническими (программными) средствами.
Для различных телекоммуникационных сетей, создававшихся
в разное время различными производителями, группирование указанных функциональных преобразований неодинаково. Отличается также количество этапов и функций процесса взаимосвязи, зачастую объединяемых в рамках той или иной функциональной архитектуры ИС (ТКС) в отдельные уровни или слои.
Формальной процедуры выбора числа уровней не существует.
Выбор производится эмпирическим путем на основе анализа различных вариантов организации, опыта разработки и эксплуатации
ранее созданных сетей.
За каждым уровнем закрепляется фиксированная часть функций. Многоуровневая организация управления процессами в сети
порождает необходимость модифицировать на каждом уровне передаваемые сообщения применительно к функциям, реализуемым на
этом уровне.
Данные, передаваемые в форме сообщения, снабжаются заголовком (З) и концевиком (К),в которых содержится информация, необходимая для обработки сообщения на соответствующем уровне:
указатели типа сообщения, адреса отправителя, получателя, канала, порта и т. д. (рис. 1.18).
34
Пакет 3-го уровня
З3
Данные
К3
Пакет 2-го уровня
З2 З3
Данные
К3 К2
Данные 2
Пакет 1-го уровня
З1 З2 З3
Данные
К3 К2 К1
Данные 3
Рис. 1.18. Вложенность протокольных блоков данных различных уровней
Средства управления нижнего уровня оперируют с данными,
указанными в обрамлении, как с данными на конверте. При передаче на вышестоящий уровень сообщение освобождается от конверта,
в результате чего на следующем уровне обрабатывается очередной
конверт. Таким образом, каждый уровень управления оперирует не
с самими сообщениями, а только с конвертами, в которые упакованы сообщения, поэтому состав сообщений, формируемых на верхних уровнях, никак не влияет на функционирование нижних уровней управления передачей.
Гибкость организации и простота реализации сетей достигается,
в частности, за счет того, что обмен сообщениями (данными) допускается только между процессами одного уровня. Это означает, что
прикладной процесс может взаимодействовать только с прикладным процессом, а процессы управления передачей сообщений на
уровнях 1, 2, ... – только с процессами одноименных уровней. Эта
схема взаимодействия процессов, как и процедура обрамления сообщений, – необходимое условие логической независимости уровней организации сети.
Процедура взаимодействия процессов на основе обмена сообщениями (данными) определяется протоколом. В разделе 1.1 уже давалось определение протокола, как набора правил и соглашений для
передачи и приема сообщений между уровнями.
Поскольку процессы выполняются в различных территориально удаленных системах, им присущи взаимная неопределенность
состояния, связанная с отсутствием у каждого из них полной информации о состоянии другого процесса; отсутствие однозначной зависимости между событиями и действиями, выполняемыми при их
наступлении. По этой причине может немотивированно измениться
35
состояние любого из процессов: пользователь может прекратить работу, прикладная программа перейти в состояние ожидания или завершиться из-за особой ситуации, возникшей при ее выполнении, и
т. п. Нет полной гарантии доставки сообщений. Сообщение может
не достичь адресата, в результате чего процесс, пославший сообщение, может не получить необходимой ему ответной реакции. Эти
факторы существенно увеличивают сложность протоколов.
При описании протокола принято выделять его логическую и
процедурную характеристики.
Логическая характеристика протокола – структура (формат)
и содержание (семантика) сообщений, которые задаются перечислением типов сообщений и их смысла.
Правила выполнения действий, предписанных протоколом взаимодействия, называются процедурной характеристикой протокола.
Таким образом, логика организации компьютерной сети в наибольшей степени определяется протоколами, устанавливающими
как тип и структуру сообщений, так и процедуры их обработки –
реакцию на входящие сообщения и генерацию собственных сообщений.
Число уровней управления и типы используемых протоколов
определяют архитектуру сети.
В настоящее время существует ряд различных архитектур сетей,
ставших международными открытыми (общепринятыми) стандартами. Примером наиболее известной и детально проработанной архитектуры является упомянутая ранее семиуровневая эталонная
модель взаимосвязи открытых систем (ЭМВОС), предложенная
Международной организацией стандартов (МОС/ISO – International
Standards Organization).
1.1.4. Уровневая организация ЭМ ВОС
Представленная в ЭМВОС архитектура сети ориентирована на
описание реализации только функций взаимосвязи при взаимодействии информационных процессов, выполняющих обработку информации в территориально распределенных узлах ИС.
Под ВОС понимается совокупность взаимодействующих реальных открытых систем вместе с физической средой, предназначенной для передачи информации между ними [23]. В качестве физической среды для ВОС обычно выступают цифровые каналы передачи
различной физической природы (проводные и беспроводные).
36
Протокол 7-го уровня
Уровень 7
(прикладной)
7
Интерфейс
Уровень 6
(представительный)
Интерфейс
Уровень 5
(сеансовый)
Интерфейс
Уровень 4
(транспортный)
Интерфейс (сегменты,
дейтаграммы)
Уровень 3
(сетевой)
Интерфейс
(пакеты)
Уровень 2
(канальный)
Протокол 6-го уровня
7 6
Протокол 5-го уровня
7 6 5
Протокол 4-го уровня
7 6 5 4
Протокол 3-го уровня
7 6 5 4 3
Протокол 2-го уровня
2 7 6 5 4 3 2
Интерфейс
(кадры/пакеты)
Уровень 1
(физический)
Протокол 1-го уровня
2 7 6 5 4 3 2 1
Сетевой элемент (узел)
Уровень 7
(прикладной)
Интерфейс
Уровень 6
(представительный)
Интерфейс
Уровень 5
(сеансовый)
Интерфейс
Уровень 4
(транспортный)
Интерфейс (сегменты,
дейтаграммы)
Уровень 3
(сетевой)
Интерфейс
(пакеты)
Уровень 2
(канальный)
Интерфейс
(кадры/пакеты)
Уровень 1
(физический)
Сетезависимые протоколы
Сетевой элемент (узел)
Сетенезависимые протоколы
Модель, приведенная на рис. 1.19 отражает взаимодействие двух
автономных систем, в каждой из которых прямоугольниками обозначены программные и аппаратные модули, реализующие определенные функции обработки и передачи данных. Модули распределены по уровням 1–7. Уровень 1 является нижним и уровень 7 –
верхним (названия уровней приведены в прямоугольниках).
Модуль уровня N физически взаимодействует только с модулями соседних уровней (N + 1) и (N – 1). Модуль уровня 1 взаимодей-
Канал связи
Рис. 1.19. Модель взаимодействия открытых систем (OSI)
37
ствует с передающей средой, которая может рассматриваться как
объект уровня 0. Прикладные процессы принято относить к высшему уровню иерархии, в данном случае – к уровню 7.
Физически связь между процессами обеспечивается передающей средой. Взаимодействие прикладных процессов с ней организуется с использованием шести промежуточных уровней управления 1–6, которые удобно рассматривать, начиная с нижнего.
Такая многоуровневая организация обеспечивает независимость
управления на уровне N от порядка функционирования нижних
и верхних уровней. В частности, управление каналом (уровень 2)
происходит независимо от физических аспектов функционирования канала связи, которые учитываются только на уровне 1. Управление сетью (уровень 3) базируется на использовании надежных каналов передачи данных и не зависит от способов, применяемых для
обеспечения надежности на уровне 2.
Управление сетью реализует специфичные процессы передачи
данных по сети, но транспортный уровень взаимодействует с сетью
передачи данных как единой системой, обеспечивающей доставку
сообщений абонентам сети.
В результате прикладной процесс создается только для выполнения определенной функции обработки данных без учета структуры
сети, типа каналов связи, способа выбора маршрутов и т. д. Этим
обеспечивается открытость и гибкость системы.
Сказанное проиллюстрировано рис. 1.19, на котором представлено взаимодействие приложений (процессов) конечных пользователей, реализуемых в двух различных системах (компьютерах) А и В.
Процессы А и В опираются на службу взаимодействия, которая
для них является целостной системой, наделенной необходимыми
функциями. Взаимодействие между процессами организуется средствами прикладного, представительного уровней и уровня управления сеансами (уровень 5), которые работают на основе транспортного канала, обеспечивающего передачу сообщений в течение сеанса. Транспортный канал, создаваемый на уровне 4, включает в себя
сеть передачи данных, организующую связи, т. е. требуемые каналы между любыми заданными абонентами сети.
Модель OSI определяет функции уровней следующим образом.
Уровень 1 – физический имеет дело с передачей битов по физическим каналам. К этому уровню имеют отношение характеристики физических сред передачи данных, на нем определяются характеристики электрических сигналов, стандартизуются типы разъемов и назначение каждого контакта.
38
Функции физического уровня реализуются во всех устройствах,
подключенных к сети. Повторители и концентраторы – это то оборудование, которое работает только на физическом уровне. Со стороны компьютера функции физического уровня выполняются сетевым адаптером.
Уровень 2 – канальный обеспечивает проверку доступности среды передачи, реализацию механизмов обнаружения и коррекции
ошибок. На канальном уровне биты группируются в наборы, называемые кадрами (frame).
Протоколы канального уровня используются компьютерами,
мостами, коммутаторами и маршрутизаторами. В компьютерах
функции канального уровня реализуются усилиями сетевых адаптеров и их драйверов.
Уровень 3 – сетевой несет ответственность за доставку данных от
узла-отправителя к узлу-получателю. На этом уровне осуществляется выбор маршрутов следования пакетов данных, частично решаются вопросы адресации, стыковки сетей, а также управления скоростью передачи информации для предотвращения перегрузок в сети.
Сообщения сетевого уровня принято называть пакетами (packet).
Сети соединяются между собой маршрутизаторами.
Уровень 4 – транспортный регламентирует передачу данных
между удаленными процессами. Обеспечивает доставку информации вышележащим уровням с необходимой степенью надежности.
Наряду с сетевым уровнем может управлять скоростью передачи
данных и частично решать проблемы адресации.
Уровень 5 – сеансовый координирует (синхронизирует) взаимодействие связывающихся процессов. Средства синхронизации позволяют создавать контрольные точки при передаче больших объемов
информации. В случае сбоя в работе сети передачу данных можно
возобновить с последней контрольной точки, а не начинать заново.
Уровень 6 – уровень представления данных отвечает за форму
представления данных, перекодирует текстовую и графическую
информацию из одного формата в другой, обеспечивает ее сжатие
и распаковку, шифрование и декодирование.
Уровень 7 – прикладной служит для организации интерфейса между пользователем и сетью. На этом уровне реализуются такие сервисы,
как удаленная передача данных, удаленный терминальный доступ,
почтовая служба и работа во «всемирной паутине» (web-браузеры).
Функции всех уровней модели OSI/RM могут быть отнесены
к одной из двух групп: зависящие и независящие от конкретной
технической реализации сети.
39
Три нижних уровня – физический, канальный и сетевой – являются сетезависимыми. Протоколы этих уровней тесно связаны
с технической реализацией сети и используемым коммуникационным оборудованием.
Три верхних уровня – прикладной, представительный и сеансовый – ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не
влияют изменения топологии сети, а также замена оборудования
или переход на другую технологию сети.
Транспортный уровень является промежуточным, он скрывает
все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, не зависящие от технических
средств непосредственной транспортировки сообщений.
Для реализации функций управления передачей данных используются и технические и программные средства. Как правило,
уровни 1 и 2 реализуются в основном техническими средствами: на
уровне 1 применяются электронные схемы; на уровне 2 – программируемые контроллеры; на уровнях 3–6-программные средства, образующие сетевое программное обеспечение компьютера.
Взаимодействие между уровнями одной системы производится на
основе соглашения – интерфейса, определяющего структуру данных
и способ (алгоритм) обмена данными между соседними уровнями.
Уровни управления 1 и 2 связываются между собой и с уровнем 3
посредством схемных интерфейсов – интерфейсных шин. Порядок
взаимодействия между уровнями управления, реализуемыми с помощью программных средств, определяется программными интерфейсами.
Управление логическими объектами одинаковых уровней разных систем осуществляется в соответствии с горизонтальными протоколами. Различают следующие виды протоколов:
– ориентированные и неориентированные на соединение. Первые устанавливают соединение между приложениями до передачи
данных; вторые – не устанавливают прямого сетевого соединения;
– надежные и ненадежные. Надежный протокол гарантирует
доставку данных; ненадежный – нет;
– потоковые и дейтаграммные. Потоковый протокол рассматривает данные как непрерывный последовательный поток; дейтаграммный – в виде одиночных самостоятельных блоков.
Надо отметить, что к приведенной эталонной модели большинство практиков относится без излишнего пиетета. Эта модель не
предвосхитила появления различных семейств протоколов, таких
40
как, например, семейство протоколов TCP/IP, а наоборот, была создана под их влиянием. Ее не следует рассматривать как готовый оптимальный чертеж для создания любого сетевого средства связи.
Наличие некоторой функции на определенном уровне не гарантирует, что это ее наилучшее место; некоторые функции (например,
коррекция ошибок) дублируются на нескольких уровнях, да и само деление на семь уровней носит отчасти произвольный характер.
Хотя, в конце концов, были созданы работающие реализации этой
модели, наиболее распространенные семейства протоколов лишь
до некоторой степени согласуются с ней. Как отмечено в книге [33],
эталонная модель больше подходит для реализации телефонных,
а не вычислительных сетей. Однако ее ценность заключается в том,
что она показывает направление, в котором должны двигаться разработчики новых вычислительных сетей.
1.2. Архитектура и технологии построения сетей TCP/IP
С точки зрения описания сети как транспортного средства можно достаточно наглядно представить сеть пятиуровневой системой
протоколов.
Совокупность уровней, не относящихся непосредственно к процессам передачи сообщений по сети и образующих область обработки данных, условно объединяют и называют верхним уровнем.
Протокол «процесс –процесс» верхнего уровня устанавливает связь
между процессами пользователя и обеспечивает управление доставкой сообщений по видам связи.
Подходу к описанию сети как транспортного средства полностью
соответствует концепция сетей TCP/IP. Причина, по которой TCP/
IP стал популярным, заключается в том, что данный стек протоколов позволяет самостоятельным сетям подключаться к Internet или
объединяться для создания корпоративных интрасетей. Модель
TCP/IP отличается от OSI количеством уровней [23]:
OSI
TCP/IP
Прикладной ................... Прикладной
Представительный........... Не присутствует
Сеансовый..................... Не присутствует
Транспортный................. Транспортный
Сетевой......................... Межсетевой
Канальный.................... От узла к сети
Физический...................
41
Модель OSI на сетевом уровне поддерживает возможности использования связи с установлением соединения и без него, на транспортном уровне – только на основе установления соединения. Модель TCP/IP на сетевом уровне использует связи без установления
соединения, на транспортном – в обоих режимах, предоставляя
пользователю выбор.
В уровневой модели TCP/IP не описывается, что располагается
ниже межсетевого уровня. Сообщается только, что узел соединяется с сетью при помощи какого-нибудь протокола, позволяющего
ему посылать по сети IP-пакеты. Таким протоколом обычно является протокол канального уровня, использующий услуги физического уровня.
1.2.1. Концептуальная модель сети ТСР/IP
TCP/IP – это промышленный стандарт стека протоколов, используемый в глобальных и локальных сетях. Аббревиатура TCP/
IP включает обозначение двух базовых протоколов, на основе которых строится сеть: TCP (Transmission Control Protocol) – протокол
управления передачей и IP (Internet Protocol) – межсетевой протокол. В целом же стек протоколов TCP/IP включает протоколы четырех уровней: прикладного, транспортного, сетевого и уровня доступа, или уровня сетевых интерфейсов, что по сути является канальным и физическим уровнями. Данный стек используется в качестве
транспортной среды между узлами коммутации, такими как шлюзы и маршрутизаторы, и другими сетями или выделенными каналами. Стек TCP/IP является самым популярным средством организации ассоциативных (объединенных, составных) сетей (рис. 1.20).
Основными элементами сети TCP/IP являются оконечные устройства (компьютеры) и узлы коммутации, а также связывающие
их каналы физической среды передачи.
Узлы коммутации представляют собой маршрутизаторы IPпакетов, а в роли физической среды обычно выступают различные
сети, построенные на других сетевых технологиях LAN или WAN.
В протокольных блоках данных ПБД) таких сетей от уровня звена
данных и выше инкапсулируются IP-пакеты для передачи от одного маршрутизатора к другому (или от оконечного устройства к ближайшему маршрутизатору). Для соединения маршрутизаторов
между собой и с оконечными устройствами используются также
выделенные (или коммутируемые) цифровые каналы в сочетании
с вспомогательными протоколами пакетной передачи данных типа
«точка–точка», в ПБД которых можно инкапсулировать IP-пакеты.
42
43
Сеть 1
Сетевой
интерфейс
Уровень сетевых
интерфейсов
IP-уровень
межсетевого
взаимодействия
TCP-транспортный
уровень
Прикладной
уровень
Х
Y
Оконечный узел А
IP- уровень
межсетевого
взаимодействия
Уровень сетевых
интерфейсов
TCP-транспортный
уровень
Прикладной
уровень
X
Y
Сеть 3
Сетевой
интерфейс
Рис. 1.20. Концептуальная модель TCP/IP
Сеть 2
Сетевой
интерфейс
Уровень
сетевых
интерфейсов
IP
IP
Уровень
сетевых
интерфейсов
Маршрутизатор F
TCP-соединение
(логический
канал)
Маршрутизатор J
Порт
Приложение
Оконечный узел B
В сети Internet, например, различают не только отдельные сети, но и более крупные объединения – автономные системы.Автономная система – это совокупность сетей под единым административным управлением, обеспечивающим общую для всех входящих
в автономную систему маршрутизаторов политику маршрутизации. Internet представляет собой объединение равноправных автономных систем с произвольной топологиейсвязей.
Вся эта конструкция объединяется благодаря протоколу сетевого уровня IР (Internet Protocol). Его работа заключается в транспортировке дейтаграмм от отправителя к получателю независимо от
того, находятся эти узлы в одной и той же сети или нет.
Транспортный уровень берет сегмент из потока данных и разбивает его на дейтаграммы. Теоретически размер каждой дейтаграммы может достигать 64 кбайт, однако на практике они обычно не более 1500 байт (укладываются в один кадр Ethernet). Каждая дейтаграмма пересылается по Internet, возможно разбиваясь при этом на
более мелкие фрагменты, собираемые сетевым уровнем получателя
в исходную дейтаграмму. Затем эта дейтаграмма передается транспортному уровню, вставляющему ее во входной поток получающего процесса. На пути следования дейтаграммы может оказаться несколько промежуточных сетей.
Протокол TCP отслеживает передаваемые блоки данных. У каждого хоста должен быть уникальный глобальный адрес (межсетевой). У каждого процесса узла должен быть уникальный адрес в пределах данного узла. Эти адреса называют портами. Порт – это идентификатор соединения процесса с каналом связи. Совокупность номеров сети, узла и порта в узле называется гнездом. Такая адресация
позволяет Т-протоколу (ТСР) доставить данные нужному процессу.
Узел А передает сообщение протоколу ТСР с указанием переслать его узлу В (см. рис. 1.20).
Протокол TCP ориентирован на виртуальное соединение – некий логический канал связи между двумя оконечными устройствами сети. Это соединение идентифицируется специальным числовым
кодом, присваиваемым коммутаторами, участвующими в процессе
установления соединения. Более детально на понятии «виртуальный канал» остановимся далее.
Протокол TCP использует для транспортировки IP-дейтаграммы
(уровень 3), которые пересылаются посредством протокольных
кадров второго уровня. Между двумя партнерами может быть прямое соединение, а может располагаться большое число сетевых узлов второго и третьего уровней.
44
Протоколу IP не нужно знать адрес (номер) порта В. Он передает
сообщение уровню доступа к сети 1 (например, логическому уровню
Ethernet) с указанием переслать его маршрутизатору J. Управляющая информация передается вместе с данными в заголовках протокольного блока.
Заголовок сегмента ТСР содержит номер порта приемника, номер сегмента, контрольную сумму. Заголовок дейтаграммы IP хранит адрес хоста получателя. Заголовок уровня доступа содержит
информацию, необходимую для передачи пакета по подсети (в данном примере адрес маршрутизатора J, запрос характеристик).
На маршрутизаторе J заголовок пакета удаляется, изучается IPзаголовок. IP-модуль маршрутизатора направляет дейтаграмму по
подсетям 2, 3 и маршрутизатору F к узлу В. Для этого в маршрутизаторах к дейтаграмме добавляется заголовок доступа к сети. На
узле В происходит обратный процесс.
Блок данных на каждом протокольном уровне называют протокольным модулем данных (Protocol Data Unit, PDU).
Протоколы, такие как TCP и IP, задают правила для передачи
сообщений, описывают детали форматов сообщений и указывают,
как обрабатывать ошибки. Самое важное то, что они позволяют рассматривать стандарты взаимодействия вне зависимости от того, на
оборудовании какого производителя они реализуются.
1.2.2. Стек протоколов TCP/IP
Стек протоколов TCP/IP включает транспортные протоколы
TCP/IP, протоколы сбора маршрутной информации RIP и OSPF,
протоколы управления сетью ICMP и ARP, прикладные протоколы
HTTP, FTP, Telnet, SNMP, SMTP, TFTP, NSP [2,3].
Рассмотрим более подробно основные протоколы стека TCP/IP на
каждом из четырех уровней: прикладном, транспортном, сетевом
и уровне доступа.
Прикладной уровень
Прикладной уровень (уровень приложений – application layer)
объединяет службы, предоставляющие телекоммуникационные
услуги различным пользовательским приложениям. Протоколы
прикладного уровня ориентированы на конкретные службы. Они
определяют как процедуры по организации взаимодействия кон45
кретного типа между прикладными процессами, так и форму представления информации при таком взаимодействии.
Протоколы ТСР и IР являются основой Internet. С точки зрения
пользователя, Internet TCP/IP – это набор прикладных программ,
использующих сеть для выполнения полезных коммуникационных
задач. Эти программы имеют свои собственные протоколы обмена
информацией, например HTTP для WWW, FTP (передача файлов),
SMTP (электронная почта), SSH (безопасное соединение с удаленной машиной), DNS (преобразование символьных имен в IP-адреса)
и многое другое.
В основном эти протоколы работают поверх TCP или UDP. Перед
тем как обменяться информацией, клиент и сервер должны сначала
установить соединение TCP/IP. Чтобы отличать протоколы, приложения используют для каждого из них уникальные номера. Общие
протоколы, такие как FTP и HTTP, используют общеизвестные номера портов. Стандартным значением для порта HTTP является 80,
хотя сервер и клиент могут работать и по другому номеру. Наиболее
известные протоколы Web и Internet используют следующие номера портов:
File Transfer Protocol (FTP) ....................
TELNET Protocol................................
Simple Mail Transfer Protocol (SMTP) ........
Trivial File Transfer Protocol...................
Gopher Protocol.................................
Finger Protocol..................................
HTTP Protocol...................................
21
23
25
69
70
79
80
Эти порты определены Агентством по выделению имен и уникальных параметров протоколов (IANA).Все порты с номером менее 1024 называются привилегированными и только их используют
в качестве стандартных. Невозможно создать свой порт с номером,
меньшим 1024.
Приведем краткое описание основных протоколов семейства
TCP/IP с расшифровкой аббревиатур:
– ARP (Address Resolution Protocol – протокол определения
адресов) конвертирует 32-разрядные IP-адреса в физические адреса вычислительной сети, например в 48-разрядные адреса Ethernet;
– FTP (File Transfer Protocol – протокол передачи файлов) позволяет передавать файлы с одного компьютера на другой с использованием TCP-соединений. В родственном ему, но менее распростра46
ненном протоколе передачи файлов Trivial File Transfer Protocol
(TFTP) для пересылки файлов применяется UDP, а не TCP;
– ICMP (Internet Control Message Protocol – протокол управляющих сообщений Internet) позволяет IP-маршрутизаторам посылать
сообщения об ошибках и управляющую информацию другим IPмаршрутизаторам и главным компьютерам сети. ICMP-сообщения
«путешествуют» в виде полей данных IP-дейтаграмм и обязательно
должны реализовываться во всех вариантах IP;
– IGMP (Internet Group Management Protocol –протокол управления группами Internet) позволяет IP-дейтаграммам распространяться в циркулярном режиме (multicast) среди компьютеров, которые принадлежат к соответствующим группам;
– IP (Internet Protocol – протокол Internet) низкоуровневый протокол, направляющий пакеты данных по отдельным сетям, связанным вместе маршрутизаторами для формирования Internet или интрасети. Данные «путешествуют» в форме пакетов, называемых IPдейтаграммами;
– RARP (Reverse Address Resolution Protocol– протокол обратного преобразования адресов) преобразует физические сетевые адреса
в IP-адреса;
– SMTP (Simple Mail Transfer Protocol– простой протокол обмена электронной почтой) определяет формат сообщений, которые
SMTP-клиент, работающий на одном компьютере, может использовать для пересылки электронной почты на SMTP-сервер, запущенный на другом компьютере.
– TCP (Transmission Control Protocol – протокол управления
передачей) ориентирован на работу с подключениями и передает
данные в виде потоков байтов. Данные пересылаются пакетами –
TCP-сегментами, которые состоят из заголовков TCP и данных.
TCP –«надежный» протокол, потому что в нем используются контрольные суммы для проверки целостности данных и отправка подтверждений, чтобы гарантировать, что переданные данные приняты без искажений;
– UDP (User Datagram Protocol – протокол пользовательских
дейтаграмм) не зависит от подключений, передает данные пакетами, называемыми UDP-дейтаграммами. UDP – «ненадежный» протокол, поскольку отправитель не получает информацию, показывающую, была ли в действительности доставлена дейтаграмма;
– Telnet (tele – далеко, net – сеть) – протокол удаленного доступа, обеспечивающий побайтный обмен информацией между терминалами и внутрисетевыми элементами (узлами, компьютерами,
47
хостами). Передача осуществляется с использованием протокола
TCP. Работа с протоколом на компьютере напоминает работу с программой Hyper Terminal в ОС Windows;
– NFS (Network File System) – сетевая файловая система использует транспортные услуги UDP и позволяет монтировать в единое
целое файловые системы нескольких машин с ОС UNIX. Бездисковые рабочие станции получают доступ к дискам файл-сервера так,
как будто это их локальные диски;
– SNMP (Simple Network Management Protocol – простой протокол управления сетью) использует транспортные услуги UDP, позволяет управляющим станциям собирать информацию о положении дел в сети Internet. Протокол определяет формат данных, их
обработка и интерпретация остаются на усмотрение управляющих
станций или менеджера сети;
– HTTP (Hyper Text Transport Protocol – протокол передачи
гипертекстовой информации) – основа формирования всемирной
информационной службы– WWW (World Wide Web). Использует
транспортные услуги TCP;
– RTP (Real-time Transport Protocol– протокол передачи данных
в реальном времени) разработан для обеспечения передачи аудиои видеосигналов по сети Internet с ограниченной допустимой задержкой (IP-телефония). Использует транспортные услуги UDP.
Тесно связан с еще одним протоколом прикладного уровня – RTCP
(Real-time Transport Control Protocol – протокол управления передачей в реальном времени). С его помощью прикладные программы
могут приспосабливаться к изменению нагрузки на сеть. Например,
в случае перегрузки, получив сигнал RTCP, алгоритм кодирования
речи может увеличить сжатие (снизив качество).
Транспортный уровень
Транспортный уровень обеспечивает обмен сообщениями между
прикладными процессами. Идентификация процесса получателя
осуществляется по адресу, состоящему из двух частей: IP-адреса,
идентифицирующего оконечное устройство, и номера порта, идентифицирующего прикладной процесс. В данном случае порт – это
не физический разъем или канальный вход/выход, а условный номер прикладного процесса или службы прикладного уровня.
На транспортном уровне стека TCP/IP поддерживаются два режима: с установлением соединения при использовании протокола
TCP и без него при применении протокола UDP (рис. 1.21).
48
Соответствие уровней стека
протоколов TCP/IP модели OSI/RM
FTP Telnet SMTP
SNMP NSP
TFTP
NSP
Прикладной
уровень
UDP
TCP
HTTP FTP Telnet
SNMP SMTP
7-й, 6-й уровни
TCP
5-й, 4-й уровни
TFTP
NSP
UDP
IP
IP ICMP RIP OSPF ARP
3-й уровень
Линейные
протоколы
(сетевые
интерфейсы)
Ethernet, Token Ring, FDDI,
X.25, ATM, Fast Ethernet,
Gigabit Ethernet,
Fiber Cannel
2-й, 1-й уровни
В сеть
(кадр, фрейм)
Рис. 1.21. Уровни стека протоколов TCP/IP
Протокол TCP реализован только на оконечных системах. Он
обеспечивает надежную доставку блоков данных с помощью установления между источником и адресатом логического (виртуального) канала.
Установление логического соединения позволяет нумеровать сегменты, подтверждать их прием квитанциями, в случае потери организовывать повторные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню сегменты в том порядке,
в котором они были отправлены. Протокол TCP дает возможность
объектам одного ранга на компьютере-отправителе и компьютереполучателе поддерживать обмен данными в дуплексном режиме.
Протокол TCP предоставляет полноценную транспортную службу, которая обеспечивает обмен потоками данных. При этом он не накладывает ограничений на состав потока, освобождая прикладной
процесс от функции структурирования данных. Передача данных по
протоколу TCP аналогична их записи в неструктурированный файл.
49
Целостность потока данных обеспечивается квитированием, при
этом для управления потоком используется механизм окна. Управление шириной окна позволяет защищать от перегрузок как промежуточные узлы сети, так и буферную память, принимающую данные. Первую задачу решают маршрутизаторы, направляя протоколам оконечных узлов требования об уменьшении размера окна.
Вторая задача решается непосредственно протоколом TCP, который
декларирует выбранную ширину окна, используя при необходимости и нулевую ширину, т. е. запрещая передачу.
Форматы ПБД транспортного и сетевого уровней TCP/IP показаны на рис. 1.22.
Сегмент TCP состоит из полей заголовка и данных. Длина информационного поля данных сегмента может меняться в широких
пределах с учетом двух ограничений. Во-первых, каждый сегмент,
включая его заголовок и заголовок IP-пакета, не должен превышать
65535 = (216 – 1) байт. Во-вторых, в каждой сети есть соответствующая используемым ПБД максимальная единица передачи (MTU –
Maximum Transfer Unit), в которую должен помещаться сегмент
(вместе с заголовком IP-пакета). Впрочем, если сегмент (пакет)
проходит через последовательность сетей и попадает в сеть, MTUединица которой оказывается меньше него, то пограничный маршрутизатор фрагментирует такой сегмент на несколько частей. Сегменты могут и не содержать поля данных при передаче квитанций
и управляющих сообщений.
Формат заголовка сегмента приведен на рис. 1.23. В заголовке
сегмента 11 полей и 6 служебных бит.
Поток данных ...
Сегмент TCP/IP
Заг
(дейтаграмма UDP)
Заг – Заголовок
>20 байт
Данные
216 – 1 = 65535 байт
IP-пакет
Заг
Франменты
IP-пакетов
Заг
Заг
Заг
Рис. 1.22. Формат протокольных блоков данных TCP/IP
50
0
15 16
Номер порта отправителя
31
Номер порта отправителя
Номер последнего переданного байта
Номер первого ожидаемого на приеме байта
Длина
UA PR S F
Резерв
заголовка
RC S S Y I
(6 бит)
(4 бита)
G KH TNN
Ширина скользящего окна
Контрольная сумма
Указатель на срочные данные
Дополнительная информация
Выравнивание
Рис. 1.23. Формат заголовка сегмента TCP
Поля «номер порта отправителя» и «номер порта получателя» (по
16 бит каждое) идентифицируют службы прикладного уровня или
прикладные процессы отправителя и получателя.
Поля «номер последнего переданного байта» и «номер первого ожидаемого на приеме байта» (по 32 бит каждое) используются
для управления потоком данных. Нумеруются не ПБД (сегменты),
а байты в сегменте, причем цикл нумерации составляет 232 байт =
= 4 гигабайта, т. е. он вполне может применяться не для относительной нумерации (по кругу), а для абсолютной (например для последовательной нумерации байт в передаваемых файлах).
Поле «Длина заголовка» (4 бита) определяет длину заголовка сегмента TCP, измеренную в 32-битовых блоках (словах, соответствующих типовой адресуемой единице в 32-разрядных компьютерах).
Длина заголовка не фиксирована, она зависит от числа бит в поле «Дополнительная информация», которое округляется с помощью пустого поля «Выравнивание» в большую сторону до кратной
32 битам величины. Минимальный размер заголовка при отсутствии дополнительной информации – 20 байт. Максимальный размер, который можно записать в поле из 4 бит, составляет 32 (24 – 1) =
= 480 бит = 60 байт.
Следующие 6 бит зарезервированы для последующего использования.
Далее следуют 6 служебных бит (1-битных флагов). Активному
состоянию служебных бит соответствует значение 1. Флаги используются в качестве:
– указателя наличия срочных данных в сегменте – URG;
51
– ACK – указателя наличия осмысленных данных в поле «Номер
первого ожидаемого на приеме байта» (квитанция на ранее принятые данные). При ACK = 0 указанное поле игнорируется;
– PSH – указателя получателю, чтобы он доставил данные
в сегменте сразу прикладному процессу, а не хранил его в буфере;
– RST – указателя запроса на сброс и переустановку соединения
(из-за сбоя хоста или другой тупиковой ситуации);
– SYN – признака служебных сегментов Connection Request –
запрос соединения (при ACK = 1) и Connection Accepted – согласие
на соединение (при ACK = 0);
– FIN – признак того, что у отправителя нет больше данных для
передачи. Используется для разрыва соединения.
У сегментов с битами FIN и SYN есть порядковые номера, что гарантирует правильный порядок их выполнения.
Поле «Ширина скользящего окна» (16 бит) используется для
управления потоком данных в виртуальном соединении и сообщает,
сколько байт может быть послано после получившего подтверждение байта. Нулевое значение данного поля является командой приостановки передачи (что напоминает служебный кадр RNR в протоколе HDLC). Командой продолжения передачи служит ненулевое
значение поля «Ширина скользящего окна» при таком же значении поля ««Номер первого ожидаемого на приеме байта», как у команды приостановки передачи (служебный кадр RR в протоколе
HDLC).
Поле «Контрольная сумма» (16 бит) содержит проверочную последовательность, позволяющую обнаруживать ошибки в сегменте.
Заполняется и проверяется данное поле без использования циклического кодирования. Алгоритм вычисления просто складывает все
шестнадцатеричные слова в дополнительном до 1 коде, затем рассчитывает дополнение для всей суммы. Получатель считает контрольную сумму всего сегмента, включая поле «Контрольная сумма», результат должен быть равен нулю.
Поле «Указатель на срочные данные» содержит смещение в байтах от текущего порядкового номера байта до места расположения
срочных данных. Поле проверяется в случае, когда флаг URG установлен в единицу. Так в протоколе TCP/IP реализуются прерывающие сообщения прикладного уровня.
Использование скользящего окна протоколом TCP сочетается
с процедурой выборочного повтора, аналогичной процедуре РОС –
АП, поддерживаемой стандартом HDLC.
52
В целом протокол TCP поддерживает множество процедур, обеспечивающих эффективное управление TCP-соединением, передачей данных, борьбой с перегрузками, таймерами.
Модели реализации протокола TCP. Протокол ТСР функционирует нормально при выполнении ряда условий:
1. Вероятность ошибки доставки невелика, и потеря пакета вероятнее всего происходит из-за переполнения буфера. Если потеря
пакета из-за его искажения существенна, уместно поискать оптимальное значение MTU.
2. Время доставки достаточно стабильно. Для его оценки можно использовать простые линейные аппроксимации и модель виртуального канала. Смена порядка прихода пакетов маловероятна.
3. Сеть имеет фиксированную полосу пропускания и не допускает скачкообразных вариаций.
4. Буферы сетевых устройств используют схему «первым вошел –
первым вышел» (FIFO). Предполагается, что размер этих буферов
соответствует произведению RTT×B, где B – полоса пропускания;
RTT – время, затрачиваемое на транспортировку сегмента от отправителя к получателю и движение отклика от получателя к отправителю. Если это условие нарушено, пропускная способность неизбежно понизится и будет определяться размером буфера, а не полосой
пропускания канала.
5. Чтобы минимизировать влияние избыточности, связанной
с заголовком (20 байт IP +20 байт ТСР + МАС-заголовок), используемое поле данных должно иметь большой объем. Для узкополосных
каналов, где MTU мало, нарушение данного требования делает канал низкоэффективным. По этой причине выявление допустимого
MTU в начале сессии должно приветствоваться.
6. Взаимодействие с другими ТСР-сессиями не должно быть разрушительным, приводящим к резкому снижению эффективности
виртуального канала.
В настоящее время предложено и опробовано несколько разновидностей протокола TCP.
Анализируя различные модели работы протокола ТСР, следует учитывать, что в сети Internet могут встречаться участки с разными протоколами L2 (Ethernet, ATM, SDH, Frame Relay, PPP
и т. д.). Эти технологии имеют разные алгоритмы обработки ситуаций перегрузки (или не имеют их вовсе), а отправитель и получатель, как правило, не имеют данных о том, какие протоколы второго уровня реализуют виртуальное соединение четвертого
уровня.
53
Модификации (модели) протокола ТСР связаны с алгоритмами
регулирования размера окна в зависимости от частоты перегрузки времени «обращения» сегмента данных (TCP-Reno, TCP Vegas,
TCP-Tahoe, TCP Westwood, модель TCP Hybla, модель BICTCP, модель CUBICTCP, TCP-Illinois, TCP-Veno).
Протокол UDP (User Datagram Protocol) предназначен для передачи дейтаграмм на уровне абонент – абонент без установления соединения, ориентирован на транзакции, не гарантирует доставку
пакета или отсутствие его дубликата.
Прикладные программы через протокол UDP получают доступ
к сетевому уровню почти без обработки на транспортном уровне.
Многие приложения «клиент – сервер», чтобы обменяться одним
запросом и ответом, предпочитают не устанавливать соединения,
а пользоваться протоколом UDP (см. протоколы прикладного уровня, применяющие транспортные услуги UDP).
Как и сегмент TCP, дейтаграмма UDP состоит из заголовка и блока данных. Длина информационного поля данных дейтаграммы,
как и сегмента, может достигать 65535 байт. А заголовок дейтаграммы намного проще, чем заголовок сегмента, и включает всего
четыре 16-битных поля (рис. 1.24).
Поля заголовка «Номер порта отправителя» и «Номер порта получателя» (по 16 бит каждое) так же, как аналогичные поля в заголовке сегмента, идентифицируют службы прикладного уровня или
прикладные процессы отправителя и получателя.
Поле «Длина дейтаграммы» включает суммарный размер 8-байтового заголовка и поля данных дейтаграммы.
Поле «Контрольная сумма» вычисляется и проверяется таким
же способом, как и в сегменте TCP. Контрольная сумма может не
рассчитываться, тогда это поле содержит нули.
Протокол UDP самостоятельно не может управлять потоком,
следить за порядком следования дейтаграмм и переспрашивать искаженные или потерянные дейтаграммы (хотя обнаруживать искажения может).
0
15 16
31
Номер порта отправителя
Номер порта отправителя
Длина дейтаграммы
Контрольная сумма
Рис. 1.24. Формат заголовка дейтаграммы UDP
54
Таким образом, основные функции протокола UDP – мультиплексирование и демультиплексирование (распределение по портам) потока дейтаграмм между приложениями. Кроме того, использование контрольной суммы позволяет контролировать достоверность данных.
Наряду с протоколом TCP существует транспортный протокол
SCTP (Stream Control Transmission Protocol) – «протокол передачи
с управлением потоком». Протокол SCTP работает аналогично TCP
или UDP, но имеет несколько отличий, таких как многопоточность,
защита от SYN-flood атак, синхронное соединение между двумя
хостами по двум и более независимым физическим каналам.
Термин «многопоточность» (multi-streaming) обозначает способность SCTP параллельно передавать данные по нескольким независимым потокам сообщений. Для такой параллельной передачи можно использовать связку из нескольких TCP-соединений.
Если TCP достигает правильного порядка байт в потоке, назначая каждой отосланной единице порядковый номер, то SCTP присваивает различные порядковые номера сообщениям, посылаемым
в конкретном потоке. Это разрешает независимое упорядочивание
сообщений по разным потокам. Многопоточность является опцией
в SCTP. В зависимости от желаний пользовательского приложения
сообщения могут быть обработаны не в порядке их отправления,
а в порядке их поступления.
Протокол SCTP описан в рекомендации RFC 4960.
Сетевой уровень
Сетевой уровень (чаще называемый межсетевым или уровнем
межсетевого взаимодействия) является основой архитектуры TCP/
IP. Именно он обеспечивает перемещение пакетов от одних оконечных устройств к другим через маршрутизаторы в пределах всей сети.
Основной протокол сетевого уровня – Internet protocol (IP) –
межсетевой протокол, в связи с чем сети TCP/IP часто именуют
IP‑сетями.
Протокол IP обеспечивает только маршрутизацию и доставку
пакетов данных и полностью освобожден от задач обеспечения надежности. Функции транспортного и сетевого уровней четко разделены, что исключает их дублирование.
Протокол IP реализуется программным обеспечением оконечных устройств пользователей и маршрутизаторов и не зависит от
характеристик WAN и LAN, связывающих пользователей сети.
55
Важной особенностью протокола IP является его способность
выполнять динамическую фрагментацию пакетов при передаче их
между сетями с различными максимально допустимыми значениями поля данных кадров (пакетов) MTU. Свойство фрагментации во
многом способствовало тому, что протокол IP смог стать основным
в сложных составных сетях.
Существует прямая связь между функциональной сложностью
протокола и сложностью заголовков пакетов, которые такой протокол используют. Это объясняется тем, что основные служебные
данные содержатся в полях заголовка пакетов. На основании этих
данных модули, реализующие данный протокол на разных сетевых устройствах, выполняют то или иное действие. Поэтому очень
полезно изучить назначение каждого поля заголовка IP-пакета
(рис. 1.25), что дает не только формальные знания о структуре пакета, но и объясняет все основные режимы работы протокола по обработке и передаче IP-дейтаграмм.
Поле «Номер версии» (Version) указывает версию протокола IP.
Сейчас повсеместно используется версия 4 (IPv4), постепенно совершается переход на версию 6 (IPv6).
Длина заголовка является переменной величиной, для указания
которой выделено поле «Длина заголовка» (IHL). Значение длины
заголовка измеряется в 32-битовых словах. Минимальная (обычная) длина заголовка 20 байт (пять 32-битовых слов). При увеличении объема служебной информации эта длина может быть боль0
D,N,R
15 16
31
Номер
Длина
Приоритет Критерий Резерв
версии заголовка
(3 бита)
(3 бита) (2 бита)
(4 бита ) (4 бита)
Идентификатор фрагмента
(16 бит)
Время жизни
(8 бит )
Протокол верхнего
уровня (8 бит )
Общая длина пакета
(16 бит)
Флаги
(3 бита )
T
D
Смещение фрагмента
(13 бит)
M
Контрольная сумма (16 бит)
IP-адрес отправителя (32 бита )
IP-адрес получателя (32 бита )
Опции
Выравнивание
Рис. 1.25. Формат заголовка пакета IP
56
ше за счет использования дополнительных байт в поле «Опции»
(Options). Наибольший заголовок занимает 60 октетов.
Поле «Приоритет» (Precedence) задает приоритетность пакета.
Приоритет может иметь значения от самого низкого – 0 (нормальный пакет) до самого высокого – 7 (пакет управляющей информации). Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь.
Поле «Критерий» задает критерий выбора маршрута. Выбор осуществляется между тремя альтернативами, каждой из которых соответствует свой 1-битный флаг: с малой задержкой – бит D (delay),
с высокой достоверностью – бит Т (true) и с высокой пропускной
способностью – бит R (rate).
Поля «Приоритет» и «Критерий» вместе с полем «Резерв» (из 2 бит)
часто объединяют в одно поле, называемое «Тип сервиса» (Type of
Service) длиной 1 байт.
Поле «Общая длина пакета» (Total Length of Packets) содержит
длину всей дейтаграммы, включая заголовок и поле данных. Максимальная длина пакета ограничена разрядностью поля и составляет 65 535 байт. В настоящее время этот предел достаточен, однако
с появлением гигабитных сетей могут понадобиться дейтаграммы
большего размера.
Поле «Идентификатор фрагмента» (Identification) позволяет
хосту определить, какой дейтаграмме принадлежат принятые им
фрагменты. Все фрагменты одного пакета содержат одно и тоже значение этого поля.
Поле «Флаги» (Flags) содержит признаки, связанные с фрагментацией. Установленный бит D (Do not Fragment) запрещает маршрутизатору фрагментировать данный пакет, а установленный бит M
(More Fragments) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Еще 1 бит поля зарезервирован.
Поле «Смещение фрагмента» (Fragment Offset) указывает положение фрагмента в исходной дейтаграмме. Длина всех фрагментов,
кроме длины последнего, должна быть кратна 8.Максимальное количество фрагментов в дейтаграмме равно 8192, что покрывает максимальную длину дейтаграммы 65 535 байт.
Поле «Время жизни» (Time to Live) содержит предельный срок,
в течение которого пакет может перемещаться по сети. Время жизни этого пакета измеряется в секундах и задается источником передачи. На маршрутизаторах и в других узлах сети по истечении
57
каждой секунды из текущего времени жизни вычитается единица; она вычитается и в том случае, когда время задержки меньше
секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за 1 с, то время жизни можно считать
равным максимальному числу узлов, которые разрешено пройти
такому пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет
получателя, этот пакет будет уничтожен.
Поле «Протокол верхнего уровня» (Protocol) указывает, какому протоколу верхнего уровня (или своего же сетевого) принадлежит информация, размещенная в поле данных пакета (например,
это могут быть сегменты протокола TCP, дейтаграммы UDP, пакеты
ICMP или OSPF).
Поле «Контрольная сумма» (Header Checksum) рассчитывается
только по заголовку пакета. Поскольку некоторые поля заголовка
меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. Она подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При вычислении контрольной суммы значение самого поля «Контрольная
сумма» устанавливается на нуль. Если контрольная сумма неверна,
то пакет будет отброшен, как только ошибка будет обнаружена.
Поля «IP-адрес отправителя» (Source IP Address) и «IP-адрес получателя» (Destination IP Address) задают адресную информацию,
необходимую для маршрутизации пакетов (номера сети и узла).
Поле «Опции» (IP Options) является необязательным и используется обычно только при отладке сети. Оно состоит из нескольких
подполей. В них можно указывать точный маршрут прохождения
маршрутизаторов, регистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности, а также временные отметки.
Поле «Выравнивание» (Padding) используется для дополнения
поля «Опции» (нулями) до значения, кратного 32 битам.
Адресация в IP-сетях. В стеке TCP/IP используются три типа адресов: физический –MAC-адрес; сетевой –IP-адрес; символьный – DNS-имя.
Физические или МАС-адреса предназначены для сети небольшого или среднего размера, они не имеют иерархической структуры. Такой адрес обычно используется только аппаратурой, поэтому его стараются сделать по возможности компактным и записывают в виде двоичного или шестнадцатеричного значения, например
58
0081005е24а8. Аппаратные адреса либо встраиваются в аппаратуру
компанией-изготовителем, либо генерируются автоматически при
каждом новом запуске оборудования, причем уникальность адреса в пределах сети обеспечивается оборудованием. Использование
физических адресов связано с известным недостатком: при замене
аппаратуры, например сетевого адаптера, изменяется и адрес компьютера.
МАС-адрес имеет размер 6 байтов: старшие 3 байта – идентификатор фирмы-производителя, младшие 3 байта уникальны и назначаются самим производителем.
Символьные адреса, или DNS-имена, предназначены для запоминания людьми и поэтому обычно несут смысловую нагрузку. Символьные адреса легко использовать как в небольших, так и в крупных сетях. Для работы в больших сетях символьное имя может
иметь сложную иерархическую структуру.
Числовые составные адреса (IP-адреса). Символьные имена
удобны для людей, но из-за переменного формата и потенциально
большой длины их передача по сети не очень экономична, поэтому
в больших сетях в качестве адресов узлов используют числовые составные адреса фиксированного формата.
Символьные и числовые адреса относятся к классу логических
адресов.
Сетевой IP-адрес. Длина адреса IP (32 бита, IPv4) разделена на
две части. Первая обозначает адрес сети, вторая – адрес узла (хоста). Такое деление позволяет передавать сообщения между сетями
только на основании номера сети, а номер узла используется после
доставки сообщения в нужную сеть.
Номер узла назначается администратором независимо от локального адреса узла. IP-адрес характеризует не отдельный компьютер
или маршрутизатор, а одно сетевое соединение (конечный узел может входить в несколько IP-сетевых связей).
Сети IP могут также быть разделены на более мелкие единицы,
называемые подсетями (subnets). Подсети обеспечивают дополнительную гибкость для администратора сети. Число битов, занимаемых для адреса подсети, является переменной величиной.
Адреса IP записываются в формате десятичного числа с проставленными точками, например 192.228.17.57. Адресация IP обеспечивает 5 различных классов сети (табл. 1.1). Самые крайние левые
биты обозначают класс сети. Наиболее распространены классы A,
B и C. Классы D и E обычно не используются конечными пользователями.
59
Большие сети применяют адреса класса А, средние – класса В,
малого размера – класса С.
Особые IP-адреса. В TCP/IP существуют ограничения при назначении IP-адресов. Номера сетей и номера узлов не могут состоять
из одних двоичных нулей или единиц. Отсюда следует, что максимальное количество узлов для сетей каждого класса должно быть
уменьшено на два. Например, в адресах класса С под номер узла отводится 8 бит, которые позволяют задать 256 номеров от 0 до 255.
Однако в действительности максимальное число узлов в сети класса
С не может превышать 254, так как адреса 0 и 255 запрещены для
адресации сетевых интерфейсов. Из этих же соображений следует,
что конечный узел не может иметь адрес типа 98.255.255.255, по-
Таблица 1.1
Класс
Первые
биты
IP-адреса
A
0
Наименьший
номер сети
0.0.0.0
Наибольший
номер сети
Максимальное
Максичисло узлов
мальное
число сетей в каждой сети
127.0.0.0
27–2
224–2
216–2
B
10
128.0.0.0
191.255.0.0
214–2
C
110
192.0.0.0
223.255.255.0
221–2
28–2
D
1110
224.0.0.0
239.255.255.255
–
–
E
1111
240.0.0.0
247.255.255.255
–
–
1 00000000000000000000000000000000
2 00000000
Узел
3 11111111111111111111111111111111
4
5
Сеть
127
1111111111111111
Что угодно
Рис. 1.26. Специальные IP-адреса
60
скольку номер узла в этом адресе класса А состоит из одних двоичных единиц.
В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов. На рис. 1.26 показаны существующие в IPv4
специальные IP-адреса.
IP-адрес 0.0.0.0 (1-й формат адреса) обозначает адрес узла, который сгенерировал этот пакет; такой режим используется узлом
при загрузке и в некоторых сообщениях ICMP. IP-адреса с нулевым
номером сети обозначают текущую сеть. Эти адреса позволяют одним узлам обращаться к другим собственной сети, не зная ее номера, но при этом должны знать ее класс и количество используемых
нулей (2-й формат адреса). Адрес, состоящий только из единиц (3й формат адреса), обеспечивает широкое вещание в пределах текущей (обычно локальной) сети. Если в поле номера узла назначения
стоят только единицы (4-й формат адреса), то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети.
Наконец, все адреса типа 127.xx.yy.zz (5-й формат адреса) зарезервированы для тестирования сетевого программного обеспечения
методом обратной передачи. Когда программа посылает данные по
IP-адресу 127.xx.yy.zz, то данные не передаются в сеть, а возвращаются модулям верхнего уровня того же компьютера как только что
принятые. Маршрут перемещения данных образует «петлю», поэтому этот адрес называется адресом обратной петли (loopback).
Кроме того, в каждом классе имеется диапазон сетевых адресов
для частного использования, которые в публичных сетях отсутствуют. Они применяются для построения локальных либо корпоративных сетей. В классе А – это сеть 10.0.0.0, в классе В – диапазон сетей
от 172.16.0.0 до 172.31.0.0, в классе С – диапазон сетей от 192.168.0.0.
до 192.168.256.256.
Основное назначение адресов класса D – распространение информации по схеме «один ко многим» для групповой рассылки в Интернет аудио- и видеоинформации. Адреса класса Е зарезервированы
для будущих применений.
Номер сети принято обозначать с помощью маски. Маска – это
число, которое используется вместе с IP-адресом: двоичная запись
маски содержит единицы в тех разрядах, которые должны в IPадресе интерпретироваться как номер сети. Для классов сетей маски имеют следующий вид:
класс А – 11111111.00000000.00000000.00000000 (256.0.0.0);
класс В – 11111111.11111111.00000000.00000000 (256.2556.0.);
класс С – 11111111.11111111.11111111.00000000 2556.2556.2556.0).
61
Создание подсетей обеспечивается переназначением части битов узла в качестве битов сети. Процесс заимствования части битов
всегда начинается с крайнего левого бита.
Поступивший в маршрутизатор IP-адрес в двоичном коде складывается поразрядно с маской с помощью логической операции:
«И»: 0 + 0 = 0, 0 + 1 = 0, 1 + 0 = 0, 1 + 1 = 1.
(1.1)
Результат сложения, т. е. получившийся адрес сети, сравнивается с IP-адресом первой строки таблицы маршрутизации. При совпадении адресов поступивший пакет направляется на соответствующий интерфейс. В случае несовпадения сравнение выполняется
с последующими строками маршрутной таблицы. Если совпадения
нет, то дейтаграмма отбрасывается, а с учетом функции машрутизатора правильно говорить «фильтруется».
Рассмотрим примеры работы маршрутизатора в качестве межсетевого узла. Пусть имеется глобальная сеть с 150 узлами в трех
сетях (в разных городах), соединенных маршрутизатором TCP/IP.
У каждой из этих трех сетей 50 узлов. Выделяем сеть класса C 192.168.123.0. Это значит, что адреса с 192.168.123.1 по
192.168.123.254 можно использовать для этих 150 узлов.
Два адреса в данном примере: 192.168.123.0 и 192.168.123.255 –
использовать нельзя, поскольку двоичные адреса с составляющей
узла из одних единиц и нулей недопустимы (см. п. 2 и 3). Следует просто запомнить, что первый и последний адреса в любой сети
и подсети не могут быть присвоены отдельному узлу.
Теперь осталось дать IP-адреса 254 узлам. Это несложно, если
все 150 компьютеров являются частью одной сети. Однако в данном примере 150 компьютеров работают в трех отдельных физических сетях. Разбиваем сеть на подсети. С помощью маски «одалживаем» несколько разрядов, обычно применяемых для задания
адреса узла, и используем их для составляющей сети в адресе. Маска подсети 256.256.256.192 позволяет создать четыре сети с 62 узлами в каждой. Это возможно, поскольку в двоичном обозначении 256.256.256.192 – то же самое, что и 1111111.11111111.1111111.
11000000. Первые две цифры последнего октета становятся адресами сети, поэтому появляются дополнительные сети 00000000 (0),
01000000 (64), 10000000 (128) и 11000000 (192). В этих четырех сетях
последние 6 двоичных цифр можно использовать в качестве адресов
узлов. Эти четыре сети будут иметь следующие действующие адреса
узлов: 192.168.123.1–62; 192.168.123.65–126; 192.168.123.129–190;
192.168.123.193–254.
62
Не забываем, что двоичные адреса узлов с одними только единицами и нулями недействительны, поэтому нельзя использовать
адреса со следующими числами в последнем октете: 0, 63, 64, 127,
128, 191, 192 или 256.
Рассмотрим еще один пример работы маршрутизатора, сопрягающего разные сети внутри корпоративной.
Пусть, например, администратор получил адрес сети 135.38.0.0
(адрес класса В, маска сети 255.255.0.0). В этой сети по 16 битов выделено на адреса сети и узла. Администратору необходимо 8000 узлов, на это нужно выделить только 13 битов на адреса узлов
(213 = 8192), следовательно, оставшиеся 16 – 13 = 3 бита адреса узла можно переназначить как адрес сети. Тогда маска образованной подсети в двоичном коде будет иметь вид 11111111.11111111.
11100000.00000000, или 255.255.224.0 (жирным шрифтом выделены заимствованные биты адреса узлов класса В). В результате такого деления получим адреса подсетей (табл. 1.2).
Две полученные подсети (135.38.0.0 и 135.38.224.0) использовать
нельзя, так как сетевой адрес первой подсети совпадает с адресом
исходной классической сети класса В, а адрес широковещательной
рассылки внутри второй подсети – с адресом широковещательТаблица 1.2
Номер сети
Число узлов в подсети
10000111 00100110 00000000 00000000
135. 38. 0. 0
8190
10000111 00100110 00100000 00000000
135. 38. 32. 0
8190
10000111 00100110 01000000 00000000
135. 38. 64. 0
8190
10000111 00100110 01100000 00000000
135. 38. 96. 0
8190
10000111 00100110 10000000 00000000
135. 38. 128. 0
8190
10000111 00100110 10100000 00000000
135. 38. 160. 0
8190
10000111 00100110 11000000 00000000
135. 38. 192. 0
8190
10000111 00100110 11100000 00000000
135. 38. 224. 0
8190
63
ной рассылки исходной классической сети класса В. Теперь одну из оставшихся шести подсетей (например подсеть 135.38.32.0)
(рис. 1.27) администратор использует для своих нужд, а оставшиеся
пять сетей может отдать другому администратору.
Для обслуживания подсети 135.38.32.0 маршрутизатор R использует таблицу маршрутов (табл. 1.3).
Для определения дальнейшего маршрута следования поступившего пакета маршрутизатор производит следующие операции:
1. Поступивший IP-адрес в двоичном коде с помощью логической
операции (1.1) складывается поразрядно с маской сети первой строки таблицы маршрутизации.
2. Полученный в результате сложения адрес сети сравнивается
с IP-адресом пункта назначения первой строки. При их совпадении
поступивший пакет направляется на интерфейс S1.
3. В случае несовпадения те же операции проделываются с последующими строками маршрутной таблицы, если они имеются.
4. Все поступившие пакты из подсети 135.38.32.0 направляются
по умолчанию на интерфейс S2.
Таблица 1.3
Пункт назначения
(Destination)
Маска сети
(Subnet Mask)
Пункт
пересылки
(Next Hop)
Интерфейс
(Interface)
Метрика
(Metric)
135.38.32.0
255.255.224.0
0.0.0.2
S1
1
Default
255.255.0.0
0.0.203.0
S2
20
В другие подсети:
135.38.64.0,
135.38.96.0.
…… ..
Подсеть
135.38.32.0
S1
R
S2
Internet
Рис. 1.27. Архитектура местоположения подсети 135.38.32.0
64
Например, пусть из публичной сети поступили следующие
пакеты с IP-адресами назначения: 135.38.16.15, 135.38.56.211,
135.38.92.10. Определим, на какие интерфейсы они будут направлены.
Для определения номера адресуемой сети складываем по правилу (1.1) IP-адрес назначения первого пакета с маской сети. Получаем:
IP = 135.38.16.15 → 10000111. 00100110. 00010000. 00001111
Mask = 255.255.224.0 → 11111111. 11111111. 11100000. 00000000
––––––––––––––––––––––––––––––––––––––
Destination = 10000111. 00100110. 00000000. 000000002 →
135. 38.0.0.
Такой записи в таблице маршрутизации нет и пакет уничтожается.
Для второго пакета
IP = 135.38.56.211 → 10000111. 00100110. 00111000. 11010011
Mask = 255.255.224.0 → 11111111. 11111111. 11100000. 00000000
––––––––––––––––––––––––––––––––––––––
Destination = 10000111. 00100110. 00100000. 000000002 →
135.38.32.0.
Пакет будет направлен на интерфейс S1.
Для третьего пакета
IP = 135.38.92.10 → 10000111. 00100110. 01011100. 00001010
Mask = 255.255.224.0 → 11111111. 11111111. 11100000. 00000000
––––––––––––––––––––––––––––––––––––––
Destination = 10000111. 00100110. 01000000. 000000002 →
135.38.64.0.
Такой записи в таблице маршрутизации нет, пакет уничтожается.
Адреса версии IPv6,имеющие 7 байт на адрес, назначаются отдельным интерфейсам узлов, а не самим узлам. У одного интерфейса может быть несколько уникальных адресов для целевых передач.
Более длинные межсетевые адреса позволяют объединять адреса по
сетевым иерархиям, поставщикам услуг, географическому расположению, корпорациям. Такая кластеризация таблицы маршрутизации ускоряет процедуру поиска в таблице.
В терминологии TCP/IP под физическим адресом понимается такой тип адреса, который предназначен для доставки данных в пределах подсети. Если подсеть является локальной, то используется
МАС-адрес: сетевые адаптеры, интерфейсы маршрутизаторов. Этот
адрес уникальный, он назначается производителем и имеет длину,
равную 6 байтам. Бывают исключения: некоторые компьютеры
65
в локальной сети могут иметь несколько локальных адресов даже при одном адаптере. Однако протокол IP может работать и над
протоколами более высокого уровня, например над IPX или Х.25.
В этом случае локальными адресами для протокола IP соответственно будут адреса IPX и Х.25.
Глобальные порты маршрутизаторов, предназначенные для соединений «точка–точка», не имеют локальных адресов.
Символьные доменные адреса строятся по иерархическому принципу: простое имя конечного узла, имя группы узлов, т. е. организации, имя более крупной группы (поддомена), …, имя домена, объединяющего организации по географическому принципу: ru – Россия, vk – Великобритания, su – США.
Пример символьного имени: cityline.spb.ru.
Иерархия доменных имен аналогична иерархии имен файлов,
принятой во многих популярных файловых системах. В отличие
от имен файлов, при записи которых сначала указывается самая
старшая составляющая, затем составляющая более низкого уровня
и т. д., запись доменного имени начинается с самой младшей составляющей, а заканчивается самой старшей. Составные части доменного имени отделяются друг от друга точкой. Например, в имени
partnering.microsoft.com составляющая partnering является именем одного из компьютеров в домене microsoft.com.
Разделение имени на части позволяет разделить административную ответственность за назначение уникальных имен между различными людьми или организациями в пределах своего уровня
иерархии. Разделение административной ответственности решает
проблему образования уникальных имен без взаимных консультаций между организациями, отвечающими за имена одного уровня
иерархии. Очевидно, что должна существовать одна организация,
отвечающая за назначение имен верхнего уровня иерархии.
Компьютеры входят в домен в соответствии со своими составными именами, но при этом они могут иметь различные IP-адреса, принадлежащие разным сетям и подсетям. Например, в домен mgu.ru
могут входить узлы с адресами 132.13.34.15, 201.22.100.33, 14.0.0.6.
Доменная система имен реализована в сети Internet, но может
работать и как автономная система имен в крупной корпоративной
сети, не связанной с Internet, но работа которой организована в соответствии со стеком протоколов TCP/IP.
В Internet корневой домен управляется центром InterNIC. Домены верхнего уровня назначаются для каждой страны, а также
на основе организаций. Имена этих доменов должны следовать меж66
дународному стандарту ISO 3166. Для обозначения стран используются трех- и двубуквенные аббревиатуры, так называемые географические домены.
Между доменным именем и IP-адресом узла нет никакого алгоритмического соответствия, поэтому необходимо использовать некоторые дополнительные таблицы или службы, чтобы узел сети однозначно определялся как по доменному имени, так и по IP-адресу.
В сетях TCP/IP применяется специальная распределенная служба
доменных имен DNS (Domain Name System), которая устанавливает адреса на основании создаваемых администраторами сети таблиц соответствия, поэтому доменные имена также называют DNSименами.
Отображение IP-адресов в MAC-адреса. Для этих целей используется ARP-протокол (Address Resolution Protocol) разрешения
адреса. Для каждой сети, подключенной к сетевому адаптеру компьютера или порту маршрутизатора, строится отдельная таблица.
Формируется ARP-обращение, в котором указывается IP-адрес
узла назначения с требованием определить его МАС-адрес. Работа протокола ARP начинается с просмотра ARP-таблицы, каждая
строка которой содержит соответствие между IP-адресом и МАСадресом (табл. 1.4). Для выполнения этих функций обычно выделяется специальный маршрутизатор, который ведет ARP-таблицу для
всех маршрутизаторов и узлов глобальной сети.
Реверсивный ARP-протокол (Reverse ARP – RARP) решает обратную задачу – нахождение IP-адреса по известному локальному
адресу. Этот протокол используется при старте бездисковых станций, имеющих адрес своего сетевого адаптера, но не знающих в начальный момент своего IP-адреса.
Динамическая настройка IP-адресов. Для динамической настройки IP-адреса и всех его параметров может использоваться протокол DHCP (Dynamic Host Configuration Protocol). DHCP – это сетевой протокол динамической настройки узла. Он позволяет выдавать компьютерам одного сегмента широкого вешания IP-адреса
из некоторого указанного диапазона. Кроме адреса клиент DHCP
получает от сервера маску сети, адрес или адреса маршрутизатоТаблица 1.4
IP-адрес
МАС-адрес
Тип записи
194.86.136.75
008048ЕВ7ЕG0
Динамический
194.86.60.21
008048ЕВ7567
Статический
67
ров, адреса DNS-серверов. Протокол DHCP использует широковещательную рассылку поверх протокола UDP для обмена данными
между клиентом и сервером.
Сервер может привязать выдаваемый IP-адрес к MAC-адресу
клиента, а клиент – попросить у сервера некоторый конкретный IP,
например полученный при последнем сеансе.
Трансляция сетевых адресов и портов. Трансляция сетевых
адресов (Network Address Translation – NAT) позволяет изолировать внутреннюю локальную сеть от внешнего мира и обойти недостаток сетевых адресов протокола IPv4. В протоколе IPv6 данная
проблема отсутствует, однако, пока что сети IPv4 очень широко используются. Более точно данная трансляция называется трансляцией сетевых адресов и портов (NAPT), поскольку затрагивает не
только адреса, но и порты протоколов TCP/UDP.
Трансляция представляет собой отображение пары «адрес во
внутренней сети – порт» в пару «внешний адрес маршрутизатора –
порт». Отображение задается маршрутизатором в момент, например, обнаружения соединения, исходящего из локальной сети.
Фрагментация пакетов. Все сети накладывают ограничения на
размер своих пакетов. Они обусловлены различными предпосылками, среди которых следующие:
1) аппаратные (например, размер кадра Ethernet);
2) операционная система (например, все буферы имеют размер
512 байт);
3) протоколы (например, количество бит в поле длины пакета);
4) соответствие международному или национальному стандарту;
5) желание снизить количество пакетов, пересылаемых повторно
из-за ошибок передачи;
6) желание предотвратить ситуацию, когда один пакет слишком
долгое время занимает канал.
Результатом действия всех этих факторов является то, что разработчики не могут выбирать максимальный размер пакета по своему
усмотрению. Максимальный размер поля полезной нагрузки варьируется от 48 байт (АТМ-ячейки) до 65 515 байт (IР-пакеты), хотя на
более высоких уровнях он часто бывает больше.
Возникает проблема, когда большой пакет хочет пройти по сети,
в которой максимальный размер пакетов слишком мал. Единственное решение заключается в разрешении шлюзам разбивать пакеты
на фрагменты и посылать каждый фрагмент в виде отдельного межсетевого пакета. Однако возникает проблема восстановления пакета из фрагментов.
68
69
Пакет
б)
Пакет
а)
G2
G3
Шлюз G3 снова
фрагментирует
пакет
G3
G4
G4
Шлюз G4 опять
восстанавливает
пакет из фрагментов
Фрагменты не собираются до
тех пор, пока они не доходят до
узла - получателя
Шлюз G2
восстанавливает
пакет из фрагментов
G2
Рис. 1.28. Фрагментация: а – прозрачная; б – непрозрачная
Шлюз G1
фрагментирует
пакет
G1
Шлюз G1
фрагментирует
пакет
G1
Для ее решения применяются две альтернативные стратегии
(рис. 1.28). Первая заключается в добавлении в «мелкопакетную»
сеть шлюзов (специализированных маршрутизаторов), предоставляющих интерфейсы другим сетям. Когда на такой шлюз приходит
пакет слишком большого размера, он разбивается на фрагменты
(рис. 1.28, а). Каждый фрагмент адресуется одному и тому же выходному шлюзу, восстанавливающему пакет из этих фрагментов.
Прохождение данных через сеть с меньшими размерами пакетов
остается прозрачным для узлов.
Другая стратегия фрагментации состоит в отказе от восстановления пакета из фрагментов на промежуточных маршрутизаторах.
Как только пакет оказывается разбитым на отдельные фрагменты,
с каждым фрагментом обращаются как с отдельным пакетом. Все
фрагменты проходят через один или несколько выходных шлюзов
(рис. 1.28, б). Задача восстановления оригинального пакета возложена на получающий узел. В соответствии с данной стратегией работает протокол IР.
Каждый фрагмент должен иметь заголовок. Фрагменты пакета
нумеруются таким образом, чтобы можно было восстановить исходный поток данных. Так, например, заголовок межсетевого пакета
включает два поля: порядковый номер исходного пакета и порядковый номер фрагмента.
Уровень доступа (уровень сетевых интерфейсов)
В модели TCP/IP ниже межсетевого уровня располагается уровень сетевых интерфейсов, через которые реализуется доступ к сетям
путем образования логических соединений для взаимодействия удаленных процессов. Интерфейс выполняет функции физического и
канального уровней как для локальных, так и для глобальных сетей
(Ehternet, Token Ring, FDDI, Fast Ethernet, X.25, Frame Relay и др.),
и соответствует уровню звена данных эталонной модели OSI/RM.
Основное назначение уровня доступа к сетям (сетевого интерфейса) – обеспечение независимости функционирования протоколов
TCP/IP от среды передачи.
В функции уровня доступа к сетям или к среде передачи входит
формирование кадров или фрагментов пакетов, имеющих формат,
структура которого зависит от характеристик сетей передачи данных или выделенных каналов.
Для WAN типично использование физической среды, поделенной на отдельные каналы. При этом сеть имеет вид попарно связан70
ных сетевых элементов – узлов коммутации и абонентских систем.
Для организации такого взаимодействия применяются вспомогательные протоколы пакетной передачи данных типа «точка–точка».
PPP (Point-to-Point Protocol) – протокол «точка–точка», разработанный как часть стека TCP/IP для передачи кадров информации
по последовательным глобальным каналам связи. При его разработке за основу был взят формат кадров протокола HDLC и дополнен
необходимыми полями. Поля протокола PPP вложены в поле данных кадра HDLC, в кадры Frame Relay и других протоколов глобальных сетей.
Протокол РРР основан на четырех принципах: переговорном
принятии параметров соединения, многопротокольной поддержке,
расширяемости протокола, независимости от глобальных служб.
Одним из важных параметров РРР-соединения является режим
аутентификации. Для целей аутентификации РРР предлагает по
умолчанию протокол РАР (Password Authentication Protocol), передающий пароль по линии связи в открытом виде, или протокол
CHAP (Challenge Handshake Authentication Protocol), не передающий пароль по линии связи и поэтому обеспечивающий большую
безопасность сети.
Протокол РРР функционально связан со многими протоколами
сетевого уровня, такими как IP, Novell IPX, Apple Talk, DECnet, XNS,
Banyan VINES и OSI, и протоколами уровня звена данных LAN.
В РРР используется только один тип кадра HDLC – ненумерованный информационный. Для исправления очень редких ошибок,
возникающих в канале, необходимы протоколы верхних уровней:
TCP, SPX, NetBUEl, NCP и т. п.
Протокол PPP применяется, например, в сетях Fibre Channel
(FC), которые являются основой построения сетей хранения данных.
Fibre Channel включает конечные узлы – системы хранения данных и набор коммуникационных элементов – FC-коммутаторов, называемый каркасом или FС-fabric (рис. 1.29).
Элементы соединены двухточечными линиями между портами
индивидуальных узлов и коммутаторов (протокол РРР). Вся маршрутизация кадров между узлами осуществляется каркасом. Каркас может буферировать кадры, что позволяет узлам общаться на
разных скоростях передачи данных. Технологии, носители данных
и скорости ПД, могут комбинироваться, формируя оптимальную
конфигурацию данного сайта. На рис. 1.30 показан пример применения сети Fibre Channel в качестве сети хранения данных SAN
(Storage Area Network).
71
Системы
хранения данных
7U
7U
Коммутирующий
каркас
Fibre Channel
10 U
10 U
12 U
Рис. 1.29. Сеть Fibre Cannel
Fibre Channel все чаще применяется в качестве опорной телекоммуникационной сети. Пятый уровень протоколов Fibre Channel
определяет отображение различных канальных и сетевых протоколов на протоколы Fibre Channel, включая IEEE802, ATM, IP и интерфейс SCSI.
Поскольку сеть Fibre Channel основана на коммутирующей сети,
то не возникает вопроса доступа к несущей. Сеть легко масштабируется.
Для LAN сеть имеет вид связанных через общую физическую
среду всех абонентских систем по принципу «точка–многоточка»,
а соединение отдельных пар систем осуществляется в соответствии
с дополнительными протоколами уровня звена данных, регулирующими поочередное использование общей среды передачи всеми абонентскими системами.
Принцип «точка–многоточка» означает в данном случае, что
«один передает – все принимают», но если информация предназначена кому-то одному, то только он ее и воспринимает, а остальные
игнорируют. Носителем адресных признаков источника и получателя в LAN являются специальные адресные поля кадров, которые
не используются в WAN.
Технологии локальных сетей специфицированы стандартами
IEEE 802.х, которые охватывают только физический и канальный
уровни модели OSI/RM.
72
Соединение
с кластерами
высокопроизводительных
рабочих станций
Присоединение
локальных и глобальных
сетей к магистрали
Глобальная
сеть
АТМ
Коммутирующий
каркас Fibre Channel
Соединение
мэйнфреймов
друг с другом
Выделение высокоскоростных
каналов серверным фермам
Кластеризация
дисковых ферм
Рис. 1.30. Пять вариантов применения сети Fibre Channel
Для каждого стандарта спецификации физического уровня
определяют среду передачи данных (коаксиальный или оптоволоконный кабели, витая пара), ее параметры, а также методы кодирования информации для передачи по данной среде. Физическая среда используется компьютерами в режиме разделения времени.
При организации взаимодействия узлов в локальных сетях основная роль отводится протоколу канального уровня. Канальный
уровень локальной сети разделен на два подуровня:
– управления доступом к среде (Media Access Control, MAC);
– логической передачи данных (Logical Link Control, LLC).
Протоколы уровней MAC и LLC взаимно независимы – каждый
протокол MAC-уровня может применяться с любым типом протокола LLC-уровня и наоборот.
Уровень LLC организует передачу кадров данных между узлами
с различной степенью надежности, а также реализует функции интерфейса с прилегающим к нему сетевым уровнем. Через этот уро73
вень сетевой протокол запрашивает от уровня звена данных необходимую ему транспортную операцию с нужным качеством.
Протокол LLC передает свои кадры либо дейтаграммным способом, либо с помощью процедур с установлением соединения и восстановлением кадров. Он помещает пакет сетевого уровня (например, пакет IP, IPX) в поле «Data» своего кадра, который дополняется необходимыми служебными полями (рис. 1.31):
– DSAP (Destination Service Access Point) – адрес точки входа
службы назначения;
– SSAP (Sourse Service Access Point) – адрес точки входа службы
источника;
– Control – управляющее поле.
Поля DSAP и SSAP позволяют указать, какой сервис верхнего уровня пересылает данные с помощью этого кадра. Программному обеспечению узлов сети при получении кадров канального
уровня необходимо распознать, какой протокол вложил свой пакет в поле данных поступившего кадра, для того, чтобы передать
извлеченный из кадра пакет нужному протоколу для последующей
обработки.
Поле управления (один байт) используется для обозначения типа кадра данных (информационного, управляющего или ненумерованного). Кроме этого, в этом поле указываются порядковые номера
отправленных и успешно принятых кадров, если подуровень LLC
работает по процедуре LLC2 с установлением соединения. Формат
поля управления полностью совпадает с форматом поля управления
кадра LAP-B.
Кадр LLC обрамляется двумя однобайтовыми полями «Флаг»,
имеющими значение 01111110. Флаги используются на MAC-уровне
для определения границ блока. Формат кадров LLC, за исключением поля адреса точки входа сервиса источника, соответствует формату кадра протокола HDLC.
Через межуровневый интерфейс протокол LLC передает свой
кадр вместе с адресной информацией об узле назначения соответствующему протоколу уровня MAC, который упаковывает кадр
LLC в свой кадр. Например, для стандарта IEEE 802.3 (Ethernet)
формат кадра МАС-уровня показан на рис. 1.32.
Флаг (01111110) DSAP SSAP Control
Data
Флаг (01111110)
Рис. 1.31. Структура LLC-кадра стандарта 802.2
74
DSAP SSAP Control
Физический уровень
Преамбула ОНК
Байты 7
1
Data
Уровень МАС
Адрес
Адрес
Длина
получателя отправителя
6
6
2
Данные
подуровня З КПК
LLC
≥0
≥0
4
Рис. 1.32. Формат кадра Ethernet
Поля имеют следующее назначение:
– преамбула – синхронизирующая последовательность 01010101…;
– ОНК – ограничитель начала кадра (последовательность битов
10101011);
– адрес получателя – уникальный, групповой, широковещательный;
– адрес отправителя идентифицирует станцию, посылающую
кадр;
– длина – переменный размер поля «… LLC» 46–1500 байт;
– З – заполнитель (байты, добавляемые чтобы гарантировать
длину кадра, достаточную для обнаружения коллизий);
– КПК – контрольная последовательность кадра – 32-разрядный
циклический код, в котором учитываются все поля, кроме преамбулы, ограничителя начала кадра и самого поля КПК;
– адресные поля DSAP и SSAP позволяют указать, какая служба
верхнего уровня пересылает данные с помощью этого кадра;
– управляющее поле Control служит для реализации используемой в LAN-версии высокоуровневого протокола управления звеном
данных HDLC (High-level Data Link Control), являющегося стандартом ISO.
Стандарт HDLC представляет собой обобщение нескольких близких стандартов LAPx (Link Access Protocol), характерных для различных технологий: LAPB в сетях Х.25; LAPF во Frame Relay; LAPD
в ISDN; LAPM в сетях абонентского доступа на основе модемов.
В соответствии со стандартом 802.2 уровень управления логическим каналом LLC предоставляет верхним уровням следующие
процедуры:
LLC1 – без установления соединения и подтверждения;
LLC2 – с установлением соединения и подтверждением;
LLC3 – без установления соединения, но с подтверждением.
75
Этот набор процедур является общим для всех методов доступа
к среде, определенных стандартами 802.3–802.5, а также стандартами FDDI.
Процедура LLC1 дает пользователю средства для передачи данных с минимумом издержек. Это – дейтаграммный режим работы.
Обычно он используется, когда такие функции, как восстановление данных после ошибок и упорядочивание данных, выполняются
протоколами вышележащих уровней.
Процедура LLC2 во многом аналогична протоколам семейства
HDLC (LAPB, LAPD, LAPM) и работает в режиме скользящего
окна.
Процедура LLC3 предусмотрена для случаев, когда временные
издержки установления логического соединения перед отправкой
данных неприемлемы, а подтверждение о корректности приема переданных данных необходимо.
В подуровне LLC используются все три типа кадров протокола
HDLC: информационные (information), управляющие или супервизорные (supervisory) и ненумерованные (unnumbered).
Таким образом, применение того или иного вида стандарта LAPx
зависит от того, через какую локальнуюили глобальную (региональную) сеть проходит физическая составляющая логического канала взаимодействия между удаленными процессами.
Обычно появляющиеся новые технологии локальных или глобальных сетей быстро включаются в стек TCP/IP за счет разработки соответствующего RFC (Requests for Comments), определяющего
метод инкапсуляции пакетов IP в ее кадры.
Поскольку соединения «точка–точка» и «точка–многоточка» соответствуют уровню звена данных и используют типы кадров и процедуры протокола HDLC, целесообразно остановиться на их краткой характеристике.
1.2.3. Звено передачи данных
Задача коммуникационной сети – установить звено данных и
обеспечить управление им при обмене информацией между абонентами сети.Под «звеном данных» в ТКС понимается участок сети между двумя соседними узлами коммутации (УК) или между
абонентской системой и ближайшим узлом коммутации, выполняющим одновременно роль узла доступа (УД). Существуют два
типа звеньев данных: дву- и многопунктовые. В многопунктовом
звене данных к одной точке канала связи может быть подключено
несколько ЭВМ или терминалов. Типы названных соединений отно76
сятся к элементам физического уровня. Функциональная структура звена данных представлена на рис. 1.33.
На уровне звена данных формируются ПБД, именуемые кадрами.
Протокол уровня звена данных должен обеспечивать:
– надежный способ определения границ отдельных кадров, поскольку в общем случае в сетях с коммутацией пакетов (КП) кадры
передаются асинхронно.
– обнаружение ошибок в принятом кадре. Для этого используются методы избыточного кодирования, требующие передачи в составе кадра служебной информации.
Источник данных
Получатель данных
Пользователь – источник
данных (пакетов)
Пользователь– получатель
данных (пакетов)
Согласующий
накопитель
Процедура управления
потоком данных
Согласующий
накопитель
Нумерация, хранение и
выбор пакетов, подлежащих передаче и контролируемых передающей станцией при их пересылке по
каналу
Процедура управления
передачи пакетов
Формирование содержательной области кадра
(СО) – служебные поля и
данные
Процедура формирования
(разделения) адресной,
информационной и управляющей областей кадра
Выделение из СО кадра
управляющей информации
и пакетов с приписанными
им номерами
Формирование контрольной последовательности
кадра CRC
Процедура кодирования
декодирования помехоустойчивого (n, m)-кода
Декодирование принимаемых комбинаций длины n
Отображение содерж ательной области и CRC
в канальный кадр (КК)
Обрамление КК флагами
Процедура
вставки/исключения
двоичных
символов 0 (битстаффинг)
Синхронизация канальных
кадров
Формирование очереди
из пронумерованных
пакетов в соответствии
со значениями их
номеров
Выделение из КК комбинации длины n (содержательной области CRC)
Выделение флагов и
указание границ КК
ДК
Рис. 1.33. Принятая ISO (МОС) стандартная структура PGL
77
При обнаружении ошибок в принятом кадре он стирается и может быть запрошен для передачи заново с помощью специального
кадра-квитанции, в роли которого выступают специальные служебные кадры с отсутствующим информационным полем или «попутные» встречные информационные кадры с дополнительным служебным полем для квитанции.
Повторная передача с использованием квитанции относится
к классу протоколов с решающей обратной связью (РОС).
Существуют три основных варианта РОС: с ожиданием (РОСОЖ); повторной передачей последовательности (РОС-ПП); адресным переспросом (РОС-АП).
Реализации РОС отличаются объемом дополнительной служебной информации в кадре, временем ожидания повторной передачи
и расходом буферной памяти.
В качестве отличительных признаков отдельных кадров может
использоваться их циклическая нумерация по модулю M (modМ),
где M, как правило, равно 8 или 128.
Наличие нумерации кадров позволяет при любом варианте РОС
использовать квитанции в виде номера очередного ожидаемого
кадра.
При этом допускается передавать кадры с номерами, превышающими номер в последней квитанции, но не более некоторого количества, соответствующего размеру так называемого «окна».
Длина информационной части кадра и размер окна являются
основными управляемыми количественными параметрами протоколов уровня звена данных. Для выявления аварийных ситуаций
потери квитанций может также задаваться тайм-аут, после истечения которого автоматически принимается решение о повторной
передаче.
1.2.4. Протокол канального уровня HDLC
HDLC (High Level Link Control) – протокол высокоуровнего
управления каналом передачи данных – является базовым стандартом и для построения других протоколов канального уровня (SDLC,
LAP, LAPB, LAPD, LAPX и LLC). Он реализует механизм управления потоком посредством непрерывного ARQ (скользящего окна)
и имеет необязательные возможности (опции), поддерживающие
полудуплексную и полнодуплексную передачи, одноточечную и
многоточечную конфигурации, а также коммутируемые и некоммутируемые каналы.
78
Существует три типа станций HDLC:
– первичная (ведущая), управляющая звеном передачи данных
(каналом);
– вторичная (ведомая), работающая как зависимая по отношению к первичной станции (ведущей);
– комбинированная, сочетающая в себе одновременно функции
первичной и вторичной станций.
Применяется два основных способа конфигурирования канала
для обеспечения совместимости взаимодействия между станциями:
– несбалансированная конфигурация (UN – Unbalanced Normal),
обеспечивающая работу одной первичной станции и одной или
большего числа вторичных;
– сбалансированная конфигурация (BA – Balanced Asynchronous),
состоящая из двух комбинированных станций, которые имеют равный статус в канале и могут не санкционированно посылать друг
другу трафик. Каждая станция несет одинаковую ответственность
за управление каналом.
Формат кадра HDLC. Кадр – протокольный блок данных для передачи на канальном уровне (рис. 1.34). Все кадры должны начинаться и заканчиваться полями флага «01111110».
Управление потоком в HDLC осуществляется с помощью передающих и принимающих окон. Окно обеспечивает буферное пространство и правила нумерации (сообщений). Передающий узел поддерживает порядковый номер N (S) следующего по очереди I-кадра,
который должен быть передан. Принимающий узел поддерживает
номер N(R), который, как ожидается, является порядковым номером следующего I-кадра.
Управляющее
поле
Флаг Адрес
1
2
3
4
N(S)
0
5
Информационное
поле
6
7
8
CRC
Флаг
Разряды
P/F
N(R)
I-формат
1
0
S-коды
P/F
N(R)
S-формат
1
1
U- коды
P/F
U- коды
U-формат
Рис. 1.34. Формат кадра и управляющего поля HDLC
79
Адресное поле определяет первичную или вторичную станцию,
участвующую в передаче конкретного кадра. Каждой станции
присваивается уникальный адрес. В несбалансированной системе адресные поля в командах и ответах содержат адрес вторичной
станции. В сбалансированных конфигурациях командный кадр содержит адрес получателя, а кадр ответа – адрес передающей станции (рис. 1.35).
В табл. 1.5 представлены команды и ответы, используемые в случае сбалансированной и несбалансированной конфигураций канала.
SNRM и SABM являются командами установки режима. HDLC
требует, чтобы была установлена сбалансированная или несбалансированная конфигурация.
Таблица 1.5
Несбалансированная (UN)
Сбалансированная (UB)
Конфигурация канала
Первичная
Вторичная
Первичная
Станция А
Вторичная
Станция В
Команда
Ответ
Команда
Ответ
–
REJ
–
REJ
–
RR
–
RR
–
RNR
–
RNR
SNRM
UA
SABM
UA
DISC
DM
DISC
DM
–
FRMR
–
FRMR
а) Первичная
Вторичная
станция B
станция A
Команда (адрес В)
Ответ (адрес В)
б) Комбинированая
станция A
Команда (адрес В)
Несбалансированная
конфигурация
Комбинированная
станция B
Сбалансированная
конфигурация
Рис. 1.35. Несбалансированная (а) и сбалансированная (б) конфигурации
80
Управляющее поле HDLC задает тип команды или ответа, а также порядковые номера, используемые для отчетности о прохождении данных в канале между первичной и вторичной станциями.
Формат и содержание управляющего поля определяют кадры трех
упомянутых ранее типов: информационные (I), супервизорные (S)
и ненумерованные (U).
Информационный формат используется для передачи данных
конечных пользователей между двумя станциями. Супервизорный
формат выполняет управляющие функции: подтверждение (квитирование) кадров, запросы на повторную передачу кадров и ее временную задержку. Ненумерованный формат также используется
для целей управления: инициализации или разъединения, тестирования, сброса и идентификации станции и т. д.
Бит P/F, или бит опроса/окончания, принимается во внимание
только тогда, когда он установлен в единицу. Он называется битом
P, когда используется первичной станцией, и битом F, когда вторичной. Первичная станция использует бит P для опроса статуса вторичной станции. Так, P = 1 как бы говорит: «ответьте мне, потому
что я хочу знать ваш статус». Вторичная станция отвечает на бит P
кадром данных или кадром состояния с битом F. Бит F может также означать окончание передачи вторичной станцией.
Информационное поле содержит действительные данные пользователя. Оно имеется только в кадре информационного формата. Кадры UI – «ненумерованная информация» и FRMR – «неприем кадра» ненумерованного формата имеют информационное
поле.
Поле CRC (контрольная последовательность кадра) используется для обнаружения ошибок передачи между двумя станциями.
Кодонезависимость и синхронизация HDLC. HDLC является кодопрозрачным протоколом. Предусмотрена процедура bit staffing.
Протоколу безразлично, какие кодовые комбинации находятся
в потоке данных. Единственное, что требуется, – это поддерживать уникальность флагов. В HDLC используется также два других
сигнала: сигнал аварийного завершения, состоящий из последовательности единиц, число которых не меньше семи и не больше четырнадцати; состояние покоя, которое представляется последовательностью пятнадцати или большего числа единиц. Межкадровое
временное заполнение сопровождается передачей между кадрами
непрерывной последовательности флагов.
Управляющие (супервизорные) кадры предназначены для передачи команд и ответов: RR – приемник готов (Receiver Ready);
81
REJ – отказ (Reject, REJ); RNR – приемник не готов (Receiver Not
Ready). Супервизорные кадры не содержат информационного поля, их назначение состоит в выполнении таких функций, как подтверждение (квитирование), опрос, временная задержка передачи
данных, запрос на повторную передачу искаженных информационных кадров, начиная с номера N(R) (см. рис. 1.34). Супервизорный
формат может быть использован и для подтверждения приема кадров от передающей станции.
Функции команд/ответов для ненумерованного формата:
– SNRM (Set Normal Response Mode – установить режим нормального ответа) переводит вторичную станцию в NRM (режим
нормального ответа). NRM предотвращает посылку вторичной станцией несанкционированных (unsolicited) кадров. Это означает, что
первичная станция управляет всем потоком сообщений в канале;
– UA (Unnumbered Acknowledgement – ненумерованное подтверждение) служит для подтверждения установления или разрыва соединения.
– DISC (Disconnect – сброс соединения) осуществляет запрос на
разрыв соединения;
– DM (отклик на кадр DISC) указывает на разрыв соединения.
– SABM (Set Asynchronous Balanced Mode) устанавливает асинхронный сбалансированный режим, который используют комбинированные станции. Этот режим обеспечивает двусторонний обмен
потоками данных между станциями и является основным (рабочим) и наиболее часто используемым на практике.
– FRMR (Frame Rejekt – неприем кадра) используется для сообщения об ошибочной ситуации, которая не может быть устранена
повторением кадра (искажение формата кадра).
Системные параметры Т1, N2, N1, K и рекомендации по их установке.
Таймер Т1 запускается с момента передачи каждого кадра и используется для инициирования повторной передачи в случае его
переполнения. Период таймера Т1 должен быть больше, чем максимальное время между передачей кадра и приемом подтверждения.
Счетчик N2 используется для определения максимального числа повторных передач, выполняемых по переполнении таймера Т1.
Счетчик N1 определяет максимальную длину информационных полей (битов в I-кадре).
Размер окна K – максимальное число переданных, но не подтвержденных I-кадров. Оно не должно быть более 7.
82
Параметры Т1, N2, N1 и K подлежат согласованию с администрацией на некоторый период времени.
Семейство HDLC-протоколов канального уровня продолжает
развиваться и расширяться. Однако акцент на обеспечение безошибочной передачи ослабляется по мере использования высокоскоростных каналов связи и использования методов коррекции ошибок.
1.3. Угрозы безопасности компьютерным сетям
и технологии их защиты
1.3.1. Жизненный цикл сетевой атаки
Вопросы сетевой безопасности и раннего обнаружения атак становятся все более насущными как для частных пользователей и
корпоративных сетей, так и для средних и крупных операторов связи. Сетевые атаки приобретают массовый характер. Известны случаи вывода из строя крупных всемирных порталов, банков, оборонных ведомств [37].
Атака– это совокупность действий злоумышленника, приводящих к нарушению информационной безопасности компьютерной
сети (КС). Результатом успешно реализованной атаки может стать,
например, несанкционированный доступ нарушителя к информации, хранящейся в КС, потеря работоспособности системы или
искажение содержимого (данных) КС. В качестве потенциальных
целей могут рассматриваться серверы, рабочие станции пользователей или коммуникационное оборудование сети. В общем случае
любая атака может быть разделена на четыре стадии (рис. 1.36).
Рекогносцировка. На этой стадии нарушитель старается получить как можно больше информации об объекте атаки, чтобы на
ее основе спланировать дальнейшие этапы вторжения. Примерами такой информации являются тип и версия операционной системы, установленной на серверах, список пользователей, зарегистрированных в системе, сведения об используемом прикладном программном обеспечении (ПО) и др.
Вторжение. На этом этапе нарушитель получает несанкционированный доступ к ресурсам тех серверов, на которые совершается
атака.
Атакующее воздействие. На данной стадии реализуются те цели, ради которых и предпринималась атака, например нарушение
работоспособности системы, кража конфиденциальной информации, удаление или модификация данных и др. При этом атакующий
83
часто выполняет операции, направленные на удаление следов его
присутствия в КС.
Развитие атаки. Когда злоумышленник стремиться расширить
объекты атаки, чтобы продолжить несанкционированные действия
на других составляющих КС.
Рассмотрим конкретные примеры, демонстрирующие, как могут
реализовываться эти стадии. На этапе рекогносцировки действия
нарушителя могут быть нацелены на получение информации:
– о структуре и топологии компьютерной сети. Для получения
данных этого типа нарушитель может воспользоваться стандартными утилитами типа traceroute, входящими в состав практически любой операционной системы (ОС), которые позволяют сформировать список IP-адресов транзитных маршрутизаторов вплоть до
объекта нападения. Информацию о структуре КС злоумышленник
может получить и путем обращения к DNS-серверу;
– о типе ОС. Один из наиболее распространенных методов определения типа ОС основан на том факте, что различные системы поразному реализуют правила взаимодействия с сетевыми протоколами: при одних и тех же сетевых запросах разные ОС отправляют
в ответ отличные друг от друга данные, используя которые, можно
с большой долей вероятности определить характеристики атакуемой ОС и даже тип аппаратной платформы;
– о типе прикладных сервисов. Эти знания нарушитель может
получить путем сканирования открытых портов и анализа заголовков ответов, полученных от этих служб;
– о зарегистрированных пользователях. Данные этого типа злоумышленник может извлечь из базы данных SNMP MIB, установленной на рабочих станциях и серверах компьютерной сети.
Стадия
рекогносцировки
Стадия вторжения
в систему
Информационная
система
Стадия дальнейшего
развития атаки
Стадия атакующего
воздействия на систему
Рис. 1.36. Жизненный цикл типовой атаки
84
Когда необходимая информация собрана, атака вступает в стадию вторжения. Любое вторжение основано на наличии в компьютерной сети уязвимостей, и использование хотя бы одной из них открывает злоумышленнику вход в систему.
Примеры уязвимостей: ошибки при конфигурировании сетевых
служб компьютерной сети и ошибки в программном обеспечении,
использование «слабых» и «нестойких» паролей, отсутствие необходимых средств защиты. Результат: нарушитель получает несанкционированный доступ к ресурсам атакованного узла, что позволяет
ему перейти к следующей стадии информационной атаки.
На стадии атакующего воздействия нарушитель выполняет те
действия, которые позволяют ему осуществить цель атаки, например извлечь из базы данных атакованного сервера конфиденциальную информацию.
После атакующего воздействия нарушитель может перевести
атаку в фазу ее дальнейшего развития. Для этого в систему обычно несанкционированно внедряется программа, с помощью которой
можно организовать атаку на другие узлы КС. После установки такой программы опять начинается первый этап атаки – сбор информации о следующей цели.
В основном атаки имеют распределенный массовый характер,
когда к информационному узлу сети обращаются одновременно десятки тысяч (и более) зараженных компьютеров. Узел не справляется с таким количеством одновременных запросов и выходит из
строя, прекращая выполнять свои основные функции. Данный вид
атаки является самым популярным и именуется «Отказ в обслуживании» или DoS-атакой (Denied of Service attack). По статистике, 90% всех отказов атакуемых узлов были инициированы именно
DoS-атаками.
Другим неприятным моментом DoS-атаки является огромное количество входящего сетевого трафика, который зачастую оплачивается, что влечет большие расходы компании, подвергшейся атаке.
1.3.2 Классификация угроз безопасности функционирования
корпоративных сетей
Общая классификация типов угроз, которым подвергается компьютерная сеть, приведена на рис. 1.37.
Классификация произведена по степени риска, т. е. объему наносимого ущерба в случае успешной реализации атаки как на информацию, защищаемую в сети, так и собственно на саму сеть.
85
max
Отказ в обслуживании
Степень риска
(объем
наносимого
ущерба)
min
Попытка несанкционированного доступа
Предварительное зондирование
«Подозрительная» сетевая активность
Рис. 1.37. Классификация видов угроз безопасности
функционирования сетей
Дадим более подробную характеристику каждому классу угроз
и приведем примеры некоторых из них и их характерные признаки.
Класс угроз «Отказ в обслуживании» – это любое действие или
последовательность действий, которая приводит любую часть атакуемой системы к выходу из строя. Причиной может быть несанкционированный доступ, задержка в обслуживании и т. д. Приведем
некоторые из угроз этой группы.
Фрагментация данных. При передаче пакета данных протокола
IP по сети может осуществляться деление этого пакета на несколько
фрагментов. Впоследствии при достижении адресата пакет восстанавливается из этих фрагментов. Злоумышленник может инициировать посылку большого числа фрагментов, что приводит к переполнению программных буферов на приемной стороне и в ряде случаев к аварийному завершению системы. Данная атака эффективна
против компьютеров с операционной системой Windows. Другие варианты подобных атак используют неправильные смещения в IPфрагментах, что приводит к некорректному выделению памяти, переполнению буферов и в конечном итоге – к сбоям в работе систем.
Методы противодействия: для выявления таких атак необходимо осуществлять и анализировать сборку пакетов на «лету», а это
существенно повышает требования к аппаратному обеспечению
(производительности процессора, памяти и т. п.) и усиливает контроль информационных потоков.
Ping flooding. (от англ. ping-flood, дословно: наводнение пакетами) – тип атаки на сетевое оборудование, ставящий своей целью отказ
в обслуживании. Ключевой особенностью флуд-атак (по сравнению
86
с остальными видами) является возможность осуществления атаки
«бытовыми средствами», такими как программы и утилиты, входящие в состав домашних/офисных версий операционных систем.
Злоумышленник посылает продолжительные серии эхо-запросов по протоколу ICMP1. Атакуемая система тратит свои вычислительные ресурсы, отвечая на эти запросы. Таким образом существенно снижается производительность системы и возрастает загруженность каналов связи.
Методы противодействия: блокирование трафика с отдельных
узлов и сетей, отключение ответов на ICMP-запросы, понижение
приоритета обработки ICMP-сообщений, отбрасывание или фильтрация ICMP-трафика средствами межсетевого экрана.
Атака UDP bomb основана на передаче пакетов по протоколу
UDP, в которых содержится неправильный формат служебных полей. Некоторые версии сетевого программного обеспечения приводят
при получении подобного пакета к аварийному завершению системы.
Методы противодействия: для распознавания данной атаки необходимо анализировать форматы служебных полей.
SYN flooding – одна из разновидностей сетевых атак типа «отказ
в обслуживании», которая заключается в отправке большого количества SYN-запросов на подключение по протоколу TCP в достаточно короткий срок.
При установлении соединения по протоколу TCP приемная сторона, получив запрос на соединение (пакет с флагом SYN), посылает источнику ответ (пакет с флагами SYN и ACK) о готовности установить это соединение. При этом система размещает в своей памяти служебную запись об устанавливаемом соединении и хранит ее
до тех пор, пока источник не пришлет пакет-подтверждение либо
не истечет время ожидания данного пакета. Злоумышленник посылает большое количество запросов на установление соединения без
передачи пакетов подтверждения. Вследствие этого происходит резкое снижение производительности и при определенных обстоятельствах – аварийное завершение системы.
1 ICMP (англ. Internet Control Message Protocol) – межсетевой протокол управляющих сообщений, входящий в стек протоколов TCP/IP, в основном используется
для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например: запрашиваемая услуга недоступна, или узел
или маршрутизатор не отвечают. Сетевым администраторам предоставляют средства для тестирования достижимости узлов сети: компьютер или маршрутизатор
посылают по сети эхо-запрос, в котором указывают IP-адрес узла, достижимость
которого нужно проверить. Успешная доставка эхо-ответа означает нормальное
функционирование всей транспортной системы сети.
87
Методы противодействия: для распознавания данной атаки необходимо анализировать загрузку канала и определять причины
снижения пропускной способности.
Атака SMURF– это одна из наиболее опасных атак DoS, поскольку при ее реализации на целевые узлы осуществляется усиленное
воздействие. Эффект усиления возникает из-за рассылки направленных широковещательных ping-запросов на узлы сети, которые
должны сгенерировать ответные сообщения.
Атака SMURF заключается в передаче в сеть широковещательных запросов от имени компьютера-жертвы. В результате компьютеры, принявшие такие широковещательные пакеты, отвечают
компьютеру-жертве, что приводит к существенному снижение пропускной способности канала связи и в ряде случаев – к полной изоляции атакуемой сети.
Методы противодействия: Для распознавания данной атаки необходимо анализировать загрузку канала и определять причины
снижения пропускной способности.
Атака Land использует уязвимость реализаций стека TCP/IP
в некоторых операционных системах. Она заключается в передаче на открытый порт компьютера-жертвы TCP-пакета с установленным флагом SYN, причем исходный адрес и порт такого пакета
соответственно равны адресу и порту атакуемого компьютера. Это
приводит к тому, что компьютер-жертва пытается установить соединение сам с собой, в результате чего сильно возрастает загрузка
процессора и может произойти «зависание» или перезагрузка системы. Успешное применение такой атаки к маршрутизатору может
вывести из строя всю сеть организации.
Методы противодействия: защититься от данной атаки можно,
например, фильтруя пакеты между внутренней сетью и сетью Интернет, т. е. подавлять пакеты, пришедшие из сети Интернет, но
с исходными адресами компьютеров внутренней сети.
Атака DNS flooding направлена на серверы имен Интернет. Она
заключается в передаче большого числа DNS-запросов и приводит
к тому, что у пользователей нет возможности обращаться к серверу
имен и, следовательно, продолжить работу.
Методы противодействия: Для выявления данной атаки необходимо анализировать загрузку сервера DNS и выявлять источники
запросов.
Класс атак «Попытка несанкционированного доступа» представляет собой любое действие или последовательность действий,
приводящих к попытке чтения файлов или выполнения команд
88
в обход установленной политики безопасности. Также включает попытки злоумышленника получить привилегии больше установленных администратором системы. К этой группе угроз относятся следующие.
Переполнение буферов. Данная атака заключается в посылке на
компьютер-жертву сообщения, приводящего к переполнению буфера-приемника. Переполнение буфера возможно из-за отсутствия
проверки длины принимаемых данных в большинстве приложений. При переполнении буфера обычно происходит затирание части кода или других данных приложения, в связи с чем появляется
возможность исполнения собственного кода, подготовленного злоумышленником, на компьютере-жертве (возможно, в привилегированном режиме). Атака, связанная с переполнением буферов приложений и нацеленная на осуществление несанкционированного доступа, является одной из самых распространенных.
Методы противодействия: для выявления и противодействия
атакам такого типа необходимо осуществлять фильтрацию протоколов прикладного уровня с учетом особенностей конкретных приложений.
Атака DNS spoofing. Ее результатом является внесение навязываемого соответствия между IP адресом и доменным именем в кэшпамяти сервера DNS. В результате успешного проведения такой атаки все пользователи сервера DNS получат неверную информацию
о доменных именах и IP-адресах. Данная атака характеризуется
большим количеством DNS-пакетов с одним и тем же доменным
именем. Это связано с необходимостью подбора некоторых параметров DNS-обмена.
Методы противодействия: для выявления такой атаки необходимо анализировать содержимое DNS-трафика.
Атака IP spoofing (syslog) связана с подменой исходного IP-адреса
в сети Интернет. Действие атаки заключается в передаче на компьютер-жертву сообщения от имени другого компьютера внутренней
сети. Поскольку протокол syslog используется для ведения системных журналов путем передачи ложных сообщений на компьютержертву, можно навязать информацию или скрыть следы несанкционированного доступа.
Методы противодействия: выявление атак, связанных с подменой IP-адресов, возможно при контроле получения на одном из локальных узлов пакета с исходным адресом этого же узла или при
контроле получения на внешнем узле пакетов с IP-адресами внутренней сети.
89
Класс атак «Предварительное зондирование» – любое действие или последовательность действий по получению информации
из или о сети (например, имена и пароли пользователей), используемые в дальнейшем для осуществления неавторизованного доступа.
Сканирование Half-scan. Атака состоит в незаметном выявлении
каналов информационного воздействия на систему. Злоумышленник посылает пакеты установления соединения и при получении
ответов от системы сбрасывает соединение. При этом стандартные
средства не фиксируют попытку установления соединения, в то время как злоумышленник определяет присутствие служб на определенных портах.
Методы противодействия: для определения сканирования необходимо фиксировать попытки установления соединения.
Сканирование сети посредством DNS. Известно, что прежде чем
начинать атаку, злоумышленники осуществляют выявление целей,
т. е. компьютеров, которые будут жертвами атаки, а также тех, которые осуществляют информационный обмен с жертвами. Один из
способов выявления целей заключается в опросе сервера имен и получении от него всей имеющейся информации о домене.
Методы противодействия: для определения такого сканирования необходимо анализировать DNS-запросы, приходящие, быть
может, от разных DNS-серверов, но за определенный, фиксированный промежуток времени.
Сканирование TCP портов представляет собой известный метод
распознавания конфигурации компьютера и доступных сервисов.
Для успешного проведения атак злоумышленникам необходимо
знать, какие службы установлены на компьютере-жертве.
Методы противодействия: выявить данную атаку можно путем
полного перехвата трафика TCP и анализа номеров портов. Кроме того, существуют возможности противодействия TCP-сканированию.
Это противодействие можно осуществлять, например передавая
TCP-пакеты от имени сканируемого компьютера на компьютер злоумышленника, таким образом вводя его в заблуждение.
Сканирование UDP портов основывается на использовании протокола UDP и заключается в следующем: на сканируемый компьютер передаётся UDP пакет, адресованный к порту, который проверяется на предмет доступности. Если порт недоступен, то в ответ приходит сообщение о недоступности, в противном случае ответа нет.
Данный вид сканирования достаточно эффективен. Он позволяет за
короткое время сканировать все порты на компьютере-жертве. Кроме того, этот вид сканирования широко известен в Интернете.
90
Методы противодействия: передача сообщений о недоступности
порта на компьютер злоумышленника.
Класс атак «Подозрительная сетевая активность». Их характерной особенностью является наличие сетевого трафика, выходящего за рамки определения «стандартного» трафика. Подобная активность может указывать на подозрительные действия, осуществляемые в сети. К данной группе угроз относятся следующие.
Использование маршрутизации источника. При пересылке
пакетов IP по сети Интернет обычно используется динамическая
маршрутизация, т. е. решение о направлении дальнейшего продвижения каждого конкретного пакета по сети принимается каждым
отдельным маршрутизатором в момент получения данного пакета исходя из алгоритма маршрутизации. Однако существует и возможность указания в пакете конкретного маршрута, по которому
должен быть послан пакет. Эта возможность может быть использована злоумышленником для обхода элементов защиты (например,
межсетевого экрана) локальной сети.
Методы противодействия: Для противодействия подобной атаке
необходимо запретить маршрутизацию источника внутри локальной сети.
Дублирующий IP-адрес. Каждая система в сети Интернет характеризуется своим уникальным цифровым адресом. Если одна система (имеющая другой MAC-адрес) посылает пакет с IP-адресом, совпадающим с адресом другой, то значит, что одна из этих систем была неправильно настроена. Подобная техника может применяться
атакующей стороной для незаметной подмены работающей «доверенной» системы и осуществления атак от ее имени.
Методы противодействия: защита от данной атаки может быть
реализована путем хранения для всех активных систем пары адресов (IP и MAC) и анализа адресов в заголовках пакетов, пересылаемых по локальной сети.
1.3.3. Методы обнаружения атак
В качестве одного из базовых средств защиты сетевых информационных ресурсов сегодня выступают системы обнаружения атак
(СОА), позволяющие своевременно выявлять и блокировать атаки
нарушителей.
Процесс выявления атак (рис. 1.38) начинается со сбора данных,
необходимых для определения факта атаки на ресурсы сети. В частности, можно анализировать сведения о пакетах данных, поступающих из внешней сети в корпоративную сеть компании, произво91
Сбор исходных
данных о работе
корпоративной сети
Анализ собранных
данных
Обнаружение атаки
Реагирование на
выявленную атаку
Рис. 1.38. Схема процесса обнаружения атаки
дительности программно-аппаратных средств (вычислительной нагрузки на узлы сети, загруженность оперативной памяти, скорости
работы прикладного программного обеспечения и др.), сведения
о доступе к определенным файлам и т. д. Полезно также иметь полную информацию о регистрации пользователей при входе в корпоративную сеть.
Сбор исходной информации традиционно осуществляется с помощью специализированных датчиков СОА, размещаемых на разных элементах сети. Существуют два типа таких датчиков – сетевые
и узловые. Первые предназначены для сбора информации о пакетах
данных, передаваемых в тех сегментах сети, где они установлены.
Узловые датчики размещаются на определенных компьютерах и собирают информацию о событиях, возникающих на этих компьютерах (например, сведения о сетевом трафике, поступающем на узел,
или системных событиях, регистрируемых в журналах аудита операционной системы узла сети). При этом один узел может отслеживаться сразу несколькими узловыми датчиками, каждый из которых предназначен для сбора определенной информации.
Анализ данных, собранных сетевыми и узловыми датчиками,
проводиться СОА с использованием специальных методов выявления атак. Существуют две основных группы таких методов – сигнатурные и поведенческие.
Сигнатурные методы описывают каждую атаку в виде специальной модели или сигнатуры, в качестве которой может применяться:
– строка символов;
– семантическое выражение на специальном языке;
– формальная математическая модель.
92
Суть сигнатурного метода в следующем: в исходных данных,
собранных сетевыми и узловыми датчиками СОА, выполняется
процедура поиска сигнатуры атаки с использованием специализированной базы данных сигнатур атак. Преимуществом данных
методов является высокая точность определения факта атаки, а очевидным недостатком – невозможность обнаружения тех атак, сигнатуры которых пока не определены.
Поведенческие методы базируются не на моделях атак, а на моделях штатного процесса функционирования (поведения) сети.
Принцип работы любого из таких методов основан на обнаружении
несоответствия между текущим режимом работы сети и режимом
работы, соответствующим штатной модели данного метода. Любое
несоответствие рассматривается как атака. Преимущество методов
данного типа – возможность обнаружения новых атак без модификаций или обновлений параметров модели. К сожалению, создать
точную модель штатного режима функционирования сети очень
сложно.
Для того чтобы лучше понять специфику сигнатурного и поведенческого метода выявления атак, рассмотрим их конкретные примеры, реализованные в современных СОА.
Сигнатурные методы выявления атак
Среди этих методов наиболее распространен метод контекстного
поиска, который заключается в обнаружении в исходной информации определенного множества символов. Так, например, для выявления атаки на Web-сервер, направленной на получение несанкционированного доступа к файлу паролей, проводится поиск последовательности символов «GET */etc/passwd» в заголовке HTTP-запроса.
Для расширения функциональных возможностей контекстного поиска в некоторых случаях используются специализированные языки, описывающие сигнатуру атаки.
Использование контекстного поиска позволяет эффективно выявлять атаки на основе анализа сетевого трафика, поскольку данный метод позволяет наиболее точно задать параметры сигнатуры,
которую необходимо выявить в потоке исходных данных.
В ряде некоммерческих СОА были реализованы еще два сигнатурных метода: анализ состояний и метод, базирующийся на экспертных системах.
Метод анализа состояний основан на формировании сигнатуры
атак в виде последовательности переходов сети из одного состояния
93
в другое. По сути, каждый такой переход определяется по наступлению в корпоративной сети определенного события, а набор таких событий задается параметрами сигнатуры атаки. Как правило, сигнатуры атак, созданные на основе анализа состояний, описываются
математическими моделями, базирующимися на теории конечных
автоматов или сетей Петри. На рис. 1.39 приведена сеть Петри, описывающая сигнатуру атаки, которая выполняет подбор пароля для
получения несанкционированного доступа к ресурсам корпоративной сети. Каждый переход корпоративной сети в новое состояние
в модели сети Петри связан с попыткой ввода пользователем пароля. Если пользователь в течение 1 мин четыре раза подряд введет
неправильный пароль, то метод зафиксирует факт осуществления
атаки.
Методы выявления атак, базирующиеся на экспертных системах, позволяют описывать модели атак на естественном языке с высоким уровнем абстракции. Экспертная система – это система, которая в контексте обнаружения атак принимает решение о принадлежности того или иного события к классу атак на основании
имеющихся правил. Эти правила (rules) основаны на опыте специалистов и хранятся в специальном хранилище, которое представляет собой базу знаний. Результирующая база знаний должна описывать характерные признаки атак, которые должна обнаруживать
СОА. Исходные данные о работе корпоративной сети образуют базу
данных экспертной системы и служат основанием для принятия решений о наличии атаки.
Экспертные системы нуждаются в постоянном обновлении для
того, чтобы оставаться актуальными. Этот метод продемонстрировал, что он является сравнительно эффективным, если известны точные характеристики атаки. К достоинствам данного метода
можно отнести простоту реализации, скорость функционирования
и отсутствие ложных тревог.
Неправильный Неправильный Неправильный Неправильный
ввод пароля
ввод пароля
ввод пароля
ввод пароля
S1
t = T1
S2
S3
(T2 – Т1) < 1 мин
S4
t = T2
S5
Рис. 1.39. Сеть Петри, описывающая сигнатуру атаки по подбору пароля
94
Однако сетевые атаки постоянно изменяются, поскольку злоумышленники используют индивидуальные подходы, программное
обеспечение и аппаратные средства регулярно совершенствуются,
поэтому даже специальные постоянные обновления базы знаний
экспертной системы не способствуют точной идентификации всего диапазона атак. Таким образом, главными недостатками метода
экспертных систем являются неспособность к обнаружению неизвестных атак и тот факт, что небольшие изменения в атаке приводят к невозможности ее обнаружения.
Одной из наиболее перспективных сигнатурных групп являются
методы, основанные на биологических моделях. Для их описания
могут использоваться генетические или нейросетевые алгоритмы.
На сегодняшний день все методы, базирующиеся на биологических моделях, находятся пока в стадии исследования и коммерческого применения не имеют.
Таким образом, сигнатурный подход выявления атак (рис. 1.40)
сводится к обнаружению злоупотреблений, которые состоят в написании атак в виде шаблона (pattern) или сигнатуры (signature) и поиске данного шаблона в контролируемом пространстве. Типичными представителями, реализующими данную идею, являются антивирусные сканеры (работают с базой данных сигнатур вирусов) и
системы обнаружения сетевых атак (работают с базой данных сигнатур удаленных атак). Система, построенная данным образом, моИзменение
существующих
сигнатур
Cетевой
трафик
Добавление
новых
сигнатур
Сигнатура N
…
Сигнатура 1
Нет
Отсутствие
атаки
Соответствует
сигнатуре?
Да
Состояние
атаки
Рис. 1.40. Схема типичной системы обнаружения атак
с применением сигнатурного метода
95
жет обнаруживать все известные атаки, но она мало приспособлена
для обнаружения новых, еще неизвестных атак.
Подход, реализованный в таких СОА, очень прост и именно на
нем основаны практически все предлагаемые сегодня на рынке системы обнаружения атак. Однако администраторы сталкиваются
с проблемами при эксплуатации этих систем. Первая проблема заключается в создании механизма описания сигнатур, т. е. языка
описания атак. А вторая проблема, плавно вытекающая из первой,–
каким образом нужно записать атаку, чтобы зафиксировать все возможные ее модификации.
Обычно системы обнаружения атак задействуют в качестве источника данных журналы регистрации и сетевой трафик. Однако
наиболее часто их применяют именно для анализа трафика.
Поведенческие методы выявления атак
Как уже отмечалось, поведенческие методы применяются для
выявления атак по отклонениям от штатной работы корпоративной
сети. Среди них наиболее распространены те, которые базируются
на статистических моделях. Такие модели определяют статистические показатели, характеризующие параметры штатного поведения сети. Если с течением времени наблюдается определенное изменение данных параметров от заданных значений, то фиксируется
факт обнаружения атаки.
Как правило, в качестве таких параметров могут выступать: уровень загрузки процессора, нагрузка на каналы связи, штатное время работы пользователей, количество обращений к сетевым ресурсам и др.Все множество параметров, которые включаются в шаблон
штатного поведения сети, могут быть отнесены к следующим распространенным группам:
– числовые параметры (количество переданных данных по различным протоколам, загрузка центрального процессора, число
файлов, к которым осуществляется доступ, и т. д.);
– категориальные параметры (имена файлов, команды пользователя, открытые порты и т. д.);
– параметры активности (число обращений к файлам или соединений за единицу времени и др.).
Очень важно правильно выбрать контролируемые параметры для
системы обнаружения атак. Малое их число или неправильно отобранные параметры могут привести к тому, что модель описания поведения
субъектов системы будет неполной и многие атаки останутся за преде96
лами ее рассмотрения. С другой стороны, слишком большое число параметров мониторинга вызовет снижение производительности контролируемого узла за счет увеличенных требований к потребляемым ресурсам (оперативной и дисковой памяти, загрузке процессора и т. д.).
Примерами подобных статистических моделей могут служить
пороговая модель, модель среднего значения и среднеквадратичного отклонения или многовариационная модель.
В пороговой модели, как явствует из названия, для каждого статистического параметра определены пороговые величины. Если
наблюдаемый параметр превышает заданный порог, это событие
можно считать признаком потенциальной атаки. Например, превышение заданного количества запросов на доступ к ресурсам корпоративной сети может свидетельствовать о факте обнаружения
атаки «отказ в обслуживании». Или, например, статистический
анализ может помочь в обнаружении необычного события, заключающегося в том, что зарегистрированный пользователь, который
никогда ранее не входил в сеть в нерабочее время (например, от 18
до 8 ч следующего дня), вдруг подключился к системе в 2 ч ночи.
И хотя пороговая модель достаточно эффективна и надежна для
некоторых типов атак, широкого распространения в настоящее время она не получила из-за своих недостатков. Один из основных недостатков – трудность задания порогового значения. Слишком большое пороговое значение приведет к тому, что многие атаки не будут
обнаружены, а чересчур малое – обусловит большое число ложных
срабатываний. Выбор этих значений – очень нетривиальная задача,
которая требует глубоких знаний о работе контролируемой корпоративной сети.
Модель среднего значения и среднеквадратичного отклонения
для каждого статистического параметра на основе математического
ожидания и дисперсии определяет доверительный интервал, в пределах которого должен находиться данный параметр. Если текущее
значение параметра выходит за его границы, то фиксируется осуществление атаки. Например, если для каждого пользователя корпоративной сети определен доверительный интервал времени для
его работы в системе, то факт регистрации пользователя вне этого
интервала может рассматриваться как попытка получения несанкционированного доступа к ресурсам сети.
Многовариационная модель аналогична модели среднего значения и среднеквадратичного отклонения, но позволяет одновременно учитывать корреляцию между большим количеством статистических показателей.
97
Поведенческий метод может быть реализован также при помощи нейронных сетей и экспертных систем. В последнем случае база правил экспертной системы описывает штатное поведение корпоративной сети. Так, при помощи экспертной системы можно точно
специфицировать взаимодействие между узлами сети, которое всегда осуществляется по определенным протоколам в соответствии
с действующими стандартами. Если же в процессе обмена информацией между узлами будет выявлена неизвестная команда или
нестандартное значение одного из параметров, это может служить
признаком атаки.
Очевидно, что данная технология основана на очевидном выводе, что аномальное поведение субъекта (системы, программы, пользователя), т. е., как правило, атака или какое-нибудь враждебное
действие, часто проявляется как отклонение от нормального поведения. Примером аномального поведения может служить большое
количество соединений за короткий промежуток времени, высокая
загрузка центрального процессора и коэффициент сетевой нагрузки или использование периферийных устройств, которые обычно
не используются. И если описать профиль нормального поведения
субъекта, то любое отклонение от него можно охарактеризовать как
аномальное поведение. Однако аномальное поведение не всегда является атакой. Например, таким не является прием большого числа ответов на запрос об активности станций от системы сетевого
управления. Многие системы обнаружения атак идентифицируют
данный случай как атаку типа «отказ в обслуживании». С учетом
этого факта можно заметить, что возможны две крайности при использовании системы обнаружения аномалий (рис. 1.41):
1) обнаружение аномального поведения, которое не является
атакой, и отнесение его к классу атак (false positive);
2) пропуск атаки, которая не попадает под определение аномального повеления (false negative).
Понятно, что последний случай гораздо более опасен, чем ложное причисление аномального поведения к классу атак, поэтому
при настройке и эксплуатации систем такой категории администраторы сталкиваются с двумя задачами:
1) построение профиля субъекта – трудно формализуемая и времяемкая задача, требующая от администратора большой предварительной работы;
2) определение граничных значений характеристик поведения
субъекта для снижения вероятности появления одного из двух вышеназванных крайних случаев.
98
Обновление
профиля
Профиль N
…
Профиль 1
Журналы
регистрации
Нет
Аномальное
поведение
Генерация
нового профиля
Отклонение от
нормы?
Да
Штатное
поведение
Рис. 1.41. Схема типичной системы обнаружения аномального поведения
Обычно системы обнаружения аномальной активности используют в качестве источника данных журналы регистрации и текущую деятельность пользователя.
Данный подход получает все большее развитие в современных
системах обнаружения атак, что учитывается различными производителями систем обнаружения атак. Так, распределенные и обычные DoS-атаки (отказ в обслуживании) обнаруживаются именно
благодаря контролю за отклонениями от обычной сетевой нагрузки.
Практические аспекты выявления атак
Обнаружение атак должно осуществляться на различных уровнях сети (рис. 1.42). На самом нижнем уровне СОА должны быть
способны выявлять атаки на конкретных узлах сети – рабочих
станциях, серверах и маршрутизаторах. Следующий уровень обнаружения – сетевые сегменты, состоящие из группы узлов сети.
Обнаружение атак также возможно и в более крупных объединениях элементов сети: в локальных, территориально распределенных
и глобальных системах. При этом в зависимости от инфраструктуры защищаемой сети на разных уровнях могут использоваться разные методы выявления атак.
Рассмотрим, как могут использоваться сигнатурный и поведенческий методы для обнаружения атак на различных стадиях развития.
Следует отметить, что на стадии рекогносцировки, когда осуществляется сбор информации, эффективны лишь сигнатурные ме99
Обнаружение атак
на уровне глобальной сети
Обнаружение атак на уровне
территориально распределенной сети
Обнаружение атак на уровне локальной
вычислительной сети
Обнаружение атак на уровне сетевых сегментов
из нескольких узлов сети
Обнаружение атак на уровне отдельных узлов сети
Рис. 1.42. Многоуровневая схема обнаружения атак
в корпоративной сети
тоды выявления атак. Это связано с тем, что все операции получения необходимой нарушителю информации в большинстве случаев
не вызывают никакого отклонения от штатного режима работы сети.
Примерами признаков, характерных для этого этапа, являются формирование запроса к DNS-серверу, получение информации из базы
эталонных данных или многократные TCP-запросы на установление
соединения с различными портами и т. д. На стадии рекогносцировки могут использоваться как сетевые, так и узловые датчики.
На стадии вторжения обнаружить атаку можно при помощи и
сигнатурных и поведенческих методов. Любое вторжение характеризуется определенными признаками, которые с одной стороны
могут быть представлены в виде сигнатуры, а с другой – как некое
отклонение от штатного поведения сети. Наиболее эффективно сочетание обоих методов, при этом для получения необходимых исходных данных применимы любые (узловые или сетевые) датчики.
Эффективное выявление атак на этапах атакующего воздействия
и развития атаки возможно только при помощи поведенческих методов, поскольку действия нарушителей зависят от целей проводимой атаки и фиксированным множеством сигнатур атак однозначно
не определяются. Учитывая этот факт, на двух последних стадиях
жизненного цикла атаки, самыми характерными объектами являются узлы, в этом случае наиболее целесообразно применение узловых датчиков. Применение сигнатурного и поведенческого методов для обнаружения атак на различных стадиях ее существования
приведено в табл. 1.6.
100
Таблица 1.6
Стадия атаки
Метод обнаружения
Сигнатурный
Поведенческий
Рекогносцировка
+ СУ
–
Вторжение
+ СУ
+ СУ
Атакующее воздействие
–
+У
Развитие
–
+У
Примечание: + метод применим; – метод неприменим; СУ – используются сетевые и узловые датчики; У – используются узловые датчики.
Обнаружение атак на ресурсы корпоративной сети является
весьма сложным технологическим процессом, который связан со
сбором немалых объемов информации о функционировании сети,
анализом этих данных и, наконец, выявлением факта атаки. Для
эффективного обнаружения атаки на всех стадиях ее жизненного
цикла требуется совместное применение как поведенческих, так
и сигнатурных методов. Соответственно, только комплексный подход к данной проблеме позволит значительно снизить риск вторжения в информационную систему и исключит потерю конфиденциальной информации.
1.3.4. Средства защиты от несанкционированного доступа
Наиболее действенными методами защиты от несанкционированного доступа в информационных сетях являются виртуальные
частные сети (VPN – Virtual Private Network) и межсетевое экранирование. Рассмотрим их подробно.
Виртуальные частные сети
Использование Internet в качестве транспортной среды передачи данных при построении информационной сети организации
имеет как преимущества, так и недостатки. Преимущества: готовые коммутационные каналы, низкая абонентская плата; простота реализации. Но рост услуг, предоставляемых в Internet, приводит к перегрузке узлов и каналов связи, что резко снижает скорость
и надежность передачи информации. Поэтому в «чистом виде»
рекомендовать Internet как основу для систем, в которых требуется
надежность и закрытость, никак нельзя.
101
В связи с этим получила распространение технология виртуальных частных сетей (VPN – Virtual Private Network), представляющая собой защищенные виртуальные каналы сетей пакетной коммутации и обеспечивающая автоматическую защиту целостности
и конфиденциальности сообщений, передаваемых через различные
сети общего пользования, прежде всего, через Internet. VPN – обобщенное название технологий, позволяющих обеспечить одно или
несколько сетевых соединений поверх другой сети [13].
Фактически, VPN – это совокупность сетей, на внешнем периметре которых установлены VPN-агенты (рис. 1.43). VPN-агент – это
программа (или программно-аппаратный комплекс), собственно
обеспечивающая защиту передаваемой информации путем выполнения описанных ниже операций.
Перед отправкой в сеть любого IP-пакета VPN-агент производит
действия, перечисленные ниже.
1. Из заголовка IP-пакета выделяется информация о его адресате. Согласно этой информации на основе политики безопасности
данного VPN-агента выбираются алгоритмы защиты (если VPNагент поддерживает несколько алгоритмов) и криптографические
..
.
VPN-агент
Локальная сеть
VPN-агент
Internet
Локальная сеть
VPN-агенты
Удаленные и мобильные
пользователи
Рис. 1.43. Виртуальные частные сети
102
..
.
ключи, с помощью которых будет защищен данный пакет. В том
случае, если политикой безопасности VPN-агента не предусмотрена
отправка IP-пакета данному адресату или IP-пакета с данными характеристиками, отправка IP-пакета блокируется.
2. С помощью выбранного алгоритма защиты целостности формируется и добавляется в IP-пакет электронная цифровая подпись
(ЭЦП), имитоприставка или аналогичная контрольная сумма.
3. С помощью выбранного алгоритма шифрования производится
шифрование IP-пакета.
4. С помощью установленного алгоритма инкапсуляции пакетов
зашифрованный IP-пакет помещается в готовый для передачи IPпакет, заголовок которого вместо исходной информации об адресате
и отправителе содержит соответственно информацию о VPN-агенте
адресата и VPN-агенте отправителя, т. е. выполняется трансляция
сетевых адресов.
5. Пакет отправляется VPN-агенту адресата. При необходимости, производится его разбиение и поочередная отправка результирующих пакетов.
При приеме IP-пакета VPN-агент производит следующее:
1. Из заголовка IP-пакета выделяется информация о его отправителе. В том случае, если отправитель не входит в число разрешенных (согласно политике безопасности) или неизвестен (например,
при приеме пакета с намеренно или случайно поврежденным заголовком), пакет не обрабатывается и отбрасывается.
2. Согласно политике безопасности выбираются алгоритмы защиты данного пакета и ключи, с помощью которых будет выполнена расшифровка пакета и проверка его целостности.
3. Выделяется информационная (инкапсулированная) часть пакета и производится ее расшифрование.
4. Производится контроль целостности пакета на основе выбранного алгоритма. В случае обнаружения нарушения целостности пакет отбрасывается.
5. Пакет отправляется адресату (по внутренней сети) согласно
информации, находящейся в его оригинальном заголовке.
VPN-агент может находиться непосредственно на защищаемом
компьютере (например, компьютере «удаленного пользователя»).
В этом случае с его помощью защищается информационный обмен
только того компьютера, на котором он установлен, однако описанные выше принципы его действия остаются неизменными.
Основное правило построения VPN: связь между защищенной
ЛВС и открытой сетью должна осуществляться только через VPN103
агентов. Категорически не должно быть каких-либо способов связи,
минующих защитный барьер в виде VPN-агента, т. е. должен быть
определен защищаемый периметр, связь с которым может осуществляться только через соответствующее средство защиты.
Политика безопасности является набором правил, согласно которым устанавливаются защищенные каналы связи между абонентами VPN. Такие каналы обычно называют туннелями. Вся передаваемая в рамках одного туннеля информация защищена как от
несанкционированного просмотра, так и от модификации.
Когда данные передаются через VPN, они исчезают «с поверхности» в точке отправки и вновь появляются только в точке назначения. Этот процесс принято называть «туннелированием». При
туннелировании данные, предназначенные для передачи, вставляются (инкапсулируются) в пакеты сети общего пользования, например Internet. На конце туннеля пакеты деинкапсулируются и передаются получателю. Логический путь передвижения инкапсулированных пакетов в транзитной сети называется VPN-туннелем.
Инкапсуляция IP-пакетов позволяет добиться сокрытия топологии внутренней ЛВС: из Интернет обмен информации между двумя
защищенными ЛВС виден как обмен информацией только между
их VPN-агентами, поскольку все внутренние IP-адреса в передаваемых через Интернет IP-пакетах в этом случае не фигурируют.
Правила создания туннелей формируются в зависимости от различных характеристик IP-пакетов. Например, основной при построении большинства VPN протокол IPSec (Security Architecture
for IP) устанавливает следующий набор входных данных, по которым выбираются параметры туннелирования и принимается решение при фильтрации конкретного IP-пакета:
1. IP-адрес источника. Это может быть не только одиночный IPадрес, но и адрес подсети или диапазон адресов.
2. IP-адрес назначения. Также может быть диапазон адресов,
указываемый явно, с помощью маски подсети или шаблона.
3. Идентификатор пользователя (отправителя или получателя).
4. Протокол транспортного уровня (TCP/UDP).
5. Номер порта, с которого или на который отправлен пакет.
Межсетевые экраны
Проблема защиты от несанкционированных действий при взаимодействии с внешними сетями также может быть успешно решена с помощью специализированных программно-аппаратных ком104
плексов, обеспечивающих целостную защиту компьютерной сети
от потенциально враждебной внешней среды. Такие комплексы
называют межсетевыми экранами, брандмауэрами или системами
Firewall [37].
Межсетевой экран – это система межсетевой защиты, позволяющая разделить каждую сеть на две и более части и реализовать набор правил, определяющих условия прохождения пакетов данных
через границу из одной части общей сети в другую. Как правило,
эта граница проводится между корпоративной (локальной) сетью
предприятия и глобальной сетью Internet, хотя ее можно провести
и внутри корпоративной сети предприятия. Использование межсетевых экранов позволяет организовать внутреннюю политику безопасности сети предприятия, разделив всю сеть на сегменты, что позволяет сформулировать основные принципы архитектуры безопасности корпоративной сети:
1) введение категорий секретности и создание выделенных сетевых сегментов пользователей. При этом каждый пользователь внутри сетевого сегмента имеет одинаковый уровень секретности (допущен к информации одного уровня секретности);
2) выделение в отдельный сегмент всех внутренних серверов компании. Эта мера также позволяет изолировать потоки информации
между пользователями, имеющими различные уровни доступа;
3) выделение в отдельный сегмент всех серверов компании, к которым будет предоставлен доступ из Интернета (создание демилитаризованной зоны для внешних ресурсов);
4) создание выделенного сегмента административного управления;
5) создание выделенного сегмента управления безопасностью.
Для противодействия несанкционированному межсетевому доступу брандмауэр должен располагаться между защищаемой сетью
организации, являющейся внутренней, и потенциально враждебной внешней сетью (рис. 1.44). При этом все взаимодействия между этими сетями должны осуществляться только через межсетевой
экран. Организационно экран входит в состав защищаемой сети.
Межсетевой экран не является симметричным. Для него отдельно задаются правила, ограничивающие доступ из внутренней
сети во внешнюю сеть и наоборот. В общем случае работа межсетевого экрана основана на динамическом выполнении двух групп
функций:
1) фильтрации проходящих через него информационных потоков;
2) посредничества при реализации межсетевых взаимодействий.
105
Защищаемая
внутренняя сеть
Потенциально
враждебная внешняя сеть
Серверы
Межсетевой
экран
Клиенты
Рис. 1.44. Схема подключения межсетевого экрана
В зависимости от типа экрана эти функции могут выполняться
с различной полнотой. Простые межсетевые экраны ориентированы на выполнение только одной из данных функций. Комплексные
экраны обеспечивают совместное выполнение указанных функций
защиты.
Фильтрация состоит в выборочном пропускании информационных потоков через экран и извещении отправителя о том, что его
данным в пропуске отказано (рис. 1.45).
Фильтрация осуществляется на основе набора правил, предварительно загруженных в экран и являющихся по своей сути принятой политикой безопасности. Для реализации этой функции межсетевой экран представляется как последовательность фильтров, обрабатывающих информационный поток (рис. 1.46).
Каждый из фильтров предназначен для отдельных правил фильтрации путем выполнения:
1) анализа фильтруемых данных по критериям, заданным в правилах политики безопасности, например, по адресам получателя
и отправителя или по типу приложения, для которого эта информация предназначена;
2) принятия на основе правил принятой политики безопасности
одного из следующих решений:
а) не пропустить данные;
б) обработать данные от имени адресата (получателя) и возвратить результат отправителю;
в) передать данные на следующий фильтр для продолжения анализа;
г) пропустить данные, игнорируя следующие фильтры («переброс» данных).
106
Правила:
IP1 – пропустить;
IP2 – запретить;
IP3 – запретить;
IP4 – пропустить
….
IP2
Internet
Маршрутизатор
Межсетевой
Внешняя сеть
экран
Локальная сеть
Рис. 1.45. Функция фильтрации, реализованная в межсетевом экране
Межсетевой экран
Правило 1 Правило 2
Правило N
...
Фильтр 1 Фильтр 2
Фильтр N
Рис. 1.46. Межсетевой экран как последовательность фильтров
Функции посредничества межсетевой экран выполняет с помощью специальных программ, называемых экранирующими агентами или просто программами-посредниками. Данные программы
являются резидентными и запрещают непосредственную передачу
пакетов сообщений между внешней и внутренней сетью.
При необходимости доступа из внутренней сети во внешнюю
сеть или наоборот вначале должно быть установлено логическое соединение с программой-посредником, функционирующей на компьютере экрана. Программа-посредник проверяет допустимость
запрошенного межсетевого взаимодействия и при его разрешении
сама устанавливает отдельное соединение с требуемым компьютером. Далее обмен информацией между компьютерами внутренней
107
и внешней сети осуществляется через программного посредника,
который может выполнять фильтрацию потока сообщений, а также осуществлять другие защитные функции.
К функциям посредничества в общем случае относятся:
1. Идентификация и аутентификация пользователей. Для высокой степени безопасности необходима идентификация и аутентификация пользователей не только при их доступе из внешней сети
во внутреннюю сеть, но и наоборот. Пароль не должен передаваться
в открытом виде через общедоступные коммуникации. Оптимальным способом аутентификации является использование одноразовых паролей. Удобно и надежно также применение цифровых сертификатов, выдаваемых доверительными органами, например центром распределения ключей. Большинство программ-посредников
разрабатывается таким образом, чтобы пользователь аутентифицировался только в начале сеанса работы с межсетевым экраном.
После этого от него не требуется дополнительная аутентификация
в течение времени, определяемого администратором.
2. Проверка подлинности передаваемых данных. Программыпосредники могут осуществлять проверку подлинности получаемых и передаваемых данных. Это актуально не только для аутентификации электронных сообщений, но и мигрирующих программ
(Java, ActiveX Controls), по отношению к которым может быть совершен подлог. Проверка подлинности сообщений и программ заключается в проверке их цифровых подписей. Для этого также могут применяться цифровые сертификаты.
3. Разграничение доступа к ресурсам внутренней сети. Идентификация и аутентификация пользователей при обращении к межсетевому экрану позволяет разграничить их доступ к ресурсам
внутренней или внешней сети. Способы разграничения доступа
к ресурсам внутренней сети ничем не отличаются от способов разграничения, поддерживаемых на уровне операционной системы.
При разграничении доступа к ресурсам внешней сети чаще всего
используется один из следующих подходов:
– разрешение доступа только по заданным адресам во внешней
сети;
– фильтрация запросов на основе обновляемых списков недопустимых адресов и блокировка поиска информационных ресурсов по
нежелательным ключевым словам;
– накопление и обновление администратором санкционированных информационных ресурсов внешней сети в дисковой памяти
межсетевого экрана и полный запрет доступа во внешнюю сеть.
108
4. Фильтрация и преобразование потока сообщений. Под этими
функциями понимается, например, динамический поиск вирусов
и прозрачное шифрование информации. Фильтрация и преобразование потока сообщений выполняются посредником на основе заданного набора правил. Программный посредник анализирует поступающие к нему пакеты данных и, если какой-либо объект не соответствует заданным критериям, то посредник либо блокирует его
дальнейшее продвижение, либо выполняет соответствующие преобразования, например обезвреживание обнаруженных компьютерных вирусов.
5. Трансляция внутренних сетевых адресов для исходящих пакетов сообщений. Программы-посредники могут выполнять и такую важную функцию, как трансляция внутренних сетевых адресов. Данная функция реализуется по отношению ко всем пакетам,
следующим из внутренней сети во внешнюю. Для этих пакетов посредник выполняет автоматическое преобразование IP-адресов
компьютеров-отправителей в один «надежный» IP-адрес, ассоциируемый с межсетевым экраном, из которого передаются все исходящие пакеты. В результате они оказываются отправленными
межсетевым экраном, что исключает прямой контакт между авторизованной внутренней сетью и являющейся потенциально опасной
внешней сетью. IP-адрес межсетевого экрана становится единственным активным IP-адресом, который попадает во внешнюю сеть.
Технология заключается в том, что на межсетевом экране, который играет роль маршрутизатора, при выходе во внешнюю сеть во
всех сетевых пакетах производится подмена внутреннего адреса на
предопределенный внешний адрес. При этом маршрутизатор ведет
таблицу соответствия отправленных пакетов таким образом, что
для входящих пакетов из внешней сети производится обратная замена внешнего адреса на внутренний (рис. 1.47).
При таком подходе топология внутренней сети скрыта от внешних пользователей, что усложняет задачу несанкционированного
доступа.
6. Регистрация событий, реагирование на задаваемые события, а
также анализ зарегистрированной информации и генерация отчетов. В качестве обязательной реакции на обнаружение попыток выполнения несанкционированных действий должно быть определено уведомление администратора, т. е. выдача предупредительных
сигналов. Любой брандмауэр, который не способен посылать предупредительные сигналы при обнаружении нападения, не является
эффективным средством межсетевой защиты.
109
IP 195.162.32.10
IP 10.1.1.5
IP 10.1.1.5
Источник: 10.1.1.5
Адресат: 213.18.123.100
IP 213.18.123.100
Внешняя сеть
Источник: 195.162.32.10
Адресат: 213.18.123.100
Источник: 10.1.1.5
Адресат: 213.18.123.100
Источник: 10.1.1.5
Адресат: 213.18.123.100
Рис. 1.47. Трансляция адресов на межсетевом экране
Многие межсетевые экраны содержат мощную систему регистрации, сбора и анализа статистики. Учет может вестись по адресам
клиента и сервера, идентификаторам пользователей, времени сеансов, времени соединений, количеству переданных/принятых данных, действиям администратора и пользователей. Системы учета
позволяют произвести анализ статистики и представляют администраторам подробные отчеты. За счет использования специальных
протоколов посредники могут выполнить удаленное оповещение об
определенных событиях в режиме реального времени.
7.Кэширование данных, запрашиваемых из внешней сети.При
доступе пользователей внутренней сети к информационным ресурсам внешней сети вся информация накапливается на жестком диске брандмауэра, называемого в этом случае proxy-сервером. Поэтому, если при очередном запросе нужная информация окажется на
proxy-сервере, то посредник перешлет ее без обращения к внешней
сети, что существенно ускорит доступ. Администратору следует позаботиться только о периодическом обновлении содержимого proxyсервера.
Функция кэширования успешно может использоваться для
ограничения доступа к информационным ресурсам внешней сети.
В этом случае все санкционированные информационные ресурсы
внешней сети накапливаются и обновляются администратором на
110
proxy-сервере. Пользователям внутренней сети разрешается доступ
только к информационным ресурсам proxy-сервера, а непосредственный доступ к ресурсам внешней сети запрещается.
Для подключения межсетевых экранов используются различные схемы. Для подключения к внешней сети межсетевой экран может быть использован в качестве внешнего маршрутизатора (рис.
1.48).
Иногда находит применение схема, изображенная на рис. 1.49,
однако использовать ее следует только в крайнем случае, поскольку
требуется очень аккуратная настройка маршрутизаторов и небольшие ошибки могут образовать серьезные бреши в защите.
Если межсетевой экран поддерживает два Ethernet-интерфейса
(так называемый dual-homed – брандмауэр), то чаще всего подключение осуществляется через внешний маршрутизатор (рис. 1.50).
При этом между внешним маршрутизатором и межсетевым
экраном имеется только один путь, по которому идет весь трафик.
Internet
Локальная сеть
Рис. 1.48. Межсетевой экран с функциями маршрутизатора
Internet
Локальная сеть
Рис. 1.49. Вариант подключения межсетевого экрана
111
Обычно маршрутизатор настраивается таким образом, что брандмауэр является единственной видимой снаружи машиной. Эта схема
является наиболее предпочтительной с точки зрения безопасности
и надежности защиты.
Другая схема представлена на рис. 1.51. В этом варианте межсетевым экраном защищается только одна подсеть из нескольких
выходящих из маршрутизатора. В незащищаемой межсетевым
экраном области часто располагают серверы, которые должны быть
видимы снаружи (WWW, FTP и т. д.). Некоторые производители
межсетевых экранов предлагают разместить эти серверы на самом
брандмауэре. Такие решения не являются рациональными с точки
зрения загрузки машины и безопасности межсетевого экрана.
Современное развитие бизнеса предполагает, что внутренние ресурсы организации не должны быть полностью закрыты. Ряд узлов,
Internet
Локальная сеть
Рис. 1.50. Схема подключения межсетевого экрана,
поддерживающего два Ethernet-интерфейса
Internet
Локальная сеть
Рис. 1.51. Межсетевой экран
защищает только локальную сеть предприятия
112
таких как WWW-сервер, FTP-сервер, почтовый сервер, должны
быть в той или иной степени доступны для внешних пользователей,
в том числе для тех, о ком нет никакой предварительной информации. Возникает вопрос, где размещать такие узлы. Если во внешней
сети перед межсетевым экраном, это значит, что их защищенность
будет зависеть только от схемы безопасности операционной системы и приложения, что, как показывает опыт, недостаточно. Если
разместить их во внутренней сети, за межсетевым экраном, то тогда
придется пропускать внешних пользователей во внутреннюю сеть,
а это всегда небезопасно, даже при точной настройке правил доступа. Вполне логично напрашивается вывод: создать для подобных
ресурсов отдельную подсеть, свободную от элементов внутренней и
внешней сети. Данная технология получила название демилитаризованной зоны (ДМЗ).
Поскольку обычно межсетевые экраны имеют по два сетевых
интерфейса (один во внутреннюю и один во внешнюю сети), то
для ДМЗ необходим третий сетевой интерфейс. Отдельные правила, прописанные на межсетевом экране для доступа в ДМЗ, позволят, с одной стороны, обеспечить защиту корпоративных ресурсов,
а с другой – не предоставят дополнительного доступа в локальную
сеть (рис. 1.52).
При этом достаточно много внимания уделяется тому, чтобы
пользователи внутренней сети не могли случайно или умышленно
открыть брешь в локальную сеть через эти серверы. Для повышения уровня защищенности возможно использовать в одной сети несколько брандмауэров, стоящих друг за другом.
Internet
Локальная сеть
Демилитаризованная
зона
Рис. 1.52. Схема образования демилитаризованной зоны
113
1.4. Транспортная сеть
В объединенных сетях роль транспортной сети (ТС) выполняет
специальная внутренняя (первичная) сеть, не имеющая непосредственного выхода на абонентские системы. В первичных сетях сообщения передаются и принимаются посредством передачи и приема
электрических сигналов, т. е. с помощью электросвязи. Первичные
сети основаны на понятии группового канала и коммутации таких
каналов.
1.4.1. Распределение группового канала
По физической цепи (линии связи) с помощью каналообразующего оборудования организуются каналы связи (КС). В некоторых
случаях линия связи и канал связи совпадают. В других случаях
узкополосные каналы могут вкладываться в широкополосный, образуя групповой канал. В нем сигналы уплотненных каналов объединяются, формируя групповой сигнал. Организация группового
канала на передающей стороне осуществляется с помощью аппаратуры уплотнения каналов, а на приемной стороне выделение отдельных каналов из группового выполняется с помощью аппаратуры разделения каналов. Создание нескольких каналов на одной
линии связи обеспечивается с помощью разнесения их по частоте,
времени, длине волны. Ресурс группового канала между парциальными пользователями может быть распределен статически и динамически.
Статическое распределение канала. Ресурс КС характеризуется
частотной полосой пропускания DF и временем Т, на которое канал
может быть предоставлен для передачи сообщений. Для совместного использования такого канала N автономными пользователями
общую полосу пропускания DF можно разделить на N частотных
N
DF – и за каждым пользователем
подполос: DFi, i = 1, …,N, ∑ DFi =
i
жестко закрепить отдельную составляющую DFi. Такое коллективное использование общего ресурса канала называется частотным
уплотнением канала – Frequency Division Multiplexing (FDM). Аналогично, если для каждого отдельного канала циклически в жесткой последовательности предоставлять квант времени DTi, то такой
способ совместного использования общего канала называется временным уплотнением канала – Time Division Multiplexing (TDM).
В оптоволоконных каналах осуществляется волновое мультиплексирование по длине волны (Wave Division Multiplexing – WDM).
114
При таких методах распределения общего ресурса широкополосного канала конфликтов между пользователями не возникает.
Динамическое распределение канала. При большом и меняющемся числе пользователей трафик в сети крайне неравномерен
(пульсирующий трафик) и статические методы оказываются не эффективными.
Неравномерность трафика характеризуется, например, коэффициентом пульсации Kп:
=
Kï
Ïèêîâàÿ íàãðóçêà
= (50...100) è áîëåå.
Ñðåäíÿÿ íàãðóçêà
Откажемся от «жесткого» (статического) распределения ресурса канала между пользователями. Будем предоставлять полный ресурс канала каждому отдельному пользователю по требованию с его
стороны. Оценим эффективность такого подхода.
Если число каналов меньше числа пользователей, то возможно
ожидание доступа и, наоборот, при числе каналов, превышающем
число пользователей, возникают простои каналов.
Рассмотри один канал и его модель в виде экспоненциальной
СМО с ожиданием (рис.1.53) [17].
Введем обозначения: С – пропускная способность канала, бит/с;
1/μ – количество битов в кадре, бит/кадр; l – интенсивность поступления кадров на вход канала, кадр/с.
Ñ
= ѵ,
Тогда среднюю скорость передачи кадров найдем как
1µ
кадр/с.
Среднее время передачи кадра по каналу Tïð с учетом возможного ожидания есть время пребывания заявки в СМО с ожиданием.
Для экспоненциальной одноканальной СМО
=
Tïð
Tîáñ 1 1
1
1
1
=
=
=
.
1 − ρ ѵ 1 − ρ ѵ 1 − l ѵ ѵ − l
(1.2)
Пусть С = 100 Мбит/с; 1/μ = 10000 бит/кадр; l = 5000 кадр/с, тогда Tïð = 200 ìêñ. Если не учитывать ожидание в очереди, то для передачи кадра потребовалось бы 100 мкс.
T обс
λ
K
Рис. 1.53. Одноканальная однородная экспоненциальная СМО
115
Теперь разделим канал на N подканалов. Соответственно, у каждого подканала пропускная способность есть С/N бит/с. Интенсивность поступления кадров на вход отдельного канала равна
FDM при частотl/N кадр/с. Тогда среднее время передачи кадра T ïð
ном уплотнении канала
1
1
FDM
= = NTïð .
(1.3)
T=
ïð
µ ( Ñ N ) − l N µC − l
Следовательно, при FDM значение средней задержки стало в N раз
больше в случае, если бы все кадры могли быть организованы в одну общую очередь на входе группового (широкополосного) канала.
Те же аргументы применимы и к временному (TDM) методу уплотнения широкополосного канала.
Если разделить 100-мегабитную сеть физически на 10 мегабитных сетей, то средняя задержка возрастет с 200 мкс до 2 мс.
Вывод: ни один статический метод распределения широковещательного (широкополосного) канала не годится при пульсирующем
трафике.
Однако, если при статическом распределении ресурса группового канала адресом каждого абонентского канала является либо полоса DFi при FDM, либо местоположение слота времени DTi на
повторяющихся циклах при TDM, то при динамическом распределении ресурса группового канала каждой структурной единице
передаваемых абонентских сообщений (кадру, пакету) требуется
приписывать соответствующий идентификатор (адрес). Это дополнительные «накладные» расходы при динамическом распределении ресурса канала. Тем не менее, при пульсирующем трафике такой подход эффективен.
Статическое распределение ресурса канала используется при
построении магистральных каналов первичных сетей, динамическое – в компьютерных сетях с коммутацией пакетов.
1.4.2. Реализация динамического распределения
ресурса канала
Динамический метод распределения ресурса группового канала
реализован в сетях технологии Ethernet.Приведем краткое описание Ethernet, поскольку эта технология является базовой при построении локальных сетей и не только, и выделим метод доступа
к среде передачи, реализующий динамический метод.
Типовые структуры сети Ethernet показаны на рис.1.2 в общей
структуре корпоративной сети. Ethernet – самый распространен116
ный на сегодняшний день стандарт локальных сетей. Прототипом
Ethernet послужила сеть Aloha, в которой использован случайный
доступ к общей радиосреде. В 1980 г. фирмы DEC, Intel и Xerox совместно разработали и опубликовали стандарт Ethernet версии
Ethernet II на базе коаксиального кабеля. На основе этого стандарта DIX и был разработан стандарт IEEE 802.3, который во многом
совпадает со своим предшественником.
В 1995г. был принят стандарт Fast Ethernet, который во многом
не является самостоятельным стандартом. Его описание представляет собой дополнительный раздел к основному стандарту 802.3 –
раздел 802.3u. Аналогично, принятый в 1998 г. стандарт Gigabit Ethernet описан в разделе 802.3z основного документа. В июне
2002 г. комитетом IEEE 802 был принят новый стандарт 10 GE
(10 Gigabit Ethernet), который является технологией построения не
только локальных, но и глобальных сетей (на основе коммутируемых дуплексных волоконно-оптических каналов – DWDM (Dense
Wave Division Multiplexing) – плотное волновое мультиплексирование).
Стандарт IEEE 802.3 определяет топологию, тип физической
среды, формат кадра, метод доступа к среде передачи данных – метод ПД.
Топология Ethernet: шина, звезда. Сеть может «удлиняться»
с помощью репитеров, если при максимальном расстоянии между
абонентскими станциями затухание в кабеле слишком велико (см.
рис. 1.2, сегмент а). «Общая шина» вместе с репитерами может быть
сведена в концентратор (хаб) (рис. 1.2, сегмент в). При этом пространственно сеть имеет радиальную структуру, а при использовании нескольких концентраторов – древовидную.
Для расширения сети или уменьшения нагрузки на общую физическую среду сеть Ethernet может разделяться на отдельные сегменты (домены коллизий) мостами и коммутаторами. Наряду с одноранговыми сетями могут строиться также сети с сервером, который может играть роль администратора сети, выполнять функции
маршрутизатора, обеспечивающего подключение локальной сети
через модем или выделенный цифровой канал к глобальной сети
и удаленным локальным сетям (рис. 1.2, сегмент г).
Архитектура протоколов Ethernet 802.3 включает два подуровня: управления доступом к среде передачи (Physical Media Access,
MAC) и управления логической передачей данных (Logical Link
Control, (Logical Link Control), физический уровень (Physical Media
Access, PMA) и среду передачи.
117
В настоящее время в качестве кабельной физической среды используются следующие типы кабелей:
– на основе неэкранированной витой пары (Unshielded Twisted
Pair, UTP), которые образуют звездообразную топологию с концентратором. Расстояние между концентратором и конечным узлом не
более 100 м (рис. 1.54); спецификация 10Base-T;
– оптоволоконный кабель. Топология аналогична стандарту на
витой паре. Спецификация 10Base-F. Имеется несколько вариантов этой спецификации FOIRL (расстояние до 1000 м), 10Base-FL и
10Base-FB (расстояние до 2000 м).
В технологии Ethernet независимо от применяемого стандарта
физического уровня существует понятие домена коллизий. Домен
коллизий (collision domain)– это часть сети Ethernet, все узлы которой распознают коллизию независимо от того, в какой части этой
сети она возникла. Сеть Ethernet, построенная на повторителях,
всегда образует один домен коллизий. Он соответствует одной разделяемой среде. Мосты, коммутаторы и маршрутизаторы делят сеть
Ethernet на несколько доменов коллизий.
Для передачи двоичной информации по кабелю для всех вариантов физического уровня технологии Ethernet используется манчестерский код, передача осуществляется кадрами (frame), скорость
передачи – 10 Мбит/с. Принципы работы: на логическом уровне топология «Шина», все устройства (рабочие станции – РС) равноправны, данные, передаваемые одной РС, доступны всем остальным РС.
В спецификации 10Base-T число 10 обозначает битовую скорость
ПД– 10 Мбит/с, Base – метод передачи на базовой частоте 10 МГц,
т. е. без модуляции.
Rx
Tx
Rx
Rx
Tx
Сетевой
адаптер
Станции
Rx Tx
Tx
Rx Tx
Витая
пара
Rx Tx
Рис. 1.54. Сеть 10Base-T – один домен коллизий:
Tx – передатчик, Rx – приемник
118
Используется метод доступа к среде передачи – CSMA/CD (carrier sense multiply access with collision detection – метод коллективного доступа с опознаванием несущей и обнаружением коллизий,
рис. 1.55) [33].
Этот метод применяется исключительно в сетях с логической общей шиной. Простота схемы доступа – один из факторов, определивших успех стандарта Ethernet. Кабель, к которому подключены
все станции, работает в режиме коллективного доступа (Multiply
Access, MA).
Все данные, передаваемые по сети, помещаются в кадры определенной структуры и снабжаются уникальным адресом станции назначения. Затем кадр передается по кабелю. Все станции, подключенные к кабелю, могут распознать факт передачи кадра. Та станция,
которая узнает собственный адрес в заголовках кадра, записывает
его содержимое в свой внутренний буфер, обрабатывает полученные
данные и посылает по кабелю кадр-ответ. Адрес станции-источника
также включен в исходный кадр, поэтому станция-получатель знает, кому нужно послать ответ.
Чтобы иметь право передавать кадр, абонентская станция должна убедиться, что разделяемая среда свободна. Признаком незанятости среды является отсутствие на ней несущей частоты, т. е.
сигнала данных, уже передаваемых в данный момент какой-либо
станцией.
Технологическая
пауза
9,6 мкс
Общая
шина
1
Узел 1
Передача
Узел 2
2
Ожидание
Коллизия Случайная
(jam)
пауза
Передача
3+1
3
1
1
t
Передача
Передача
t
t
Передача
Передача
Узел 3
прослушивание
Ожидание
t
передача
Рис. 1.55. Метод случайного доступа CSMA/CD
119
Механизм прослушивания среды и пауза между кадрами не гарантируют, что не возникнет ситуация, когда две или более станций одновременно решат, что среда свободна, и начнут передавать
свои кадры. Произойдет коллизия (collision): сигналы кадров от разных передающих станций столкнутся в общем кабеле, произойдет
их искажение и, соответственно, искажение передаваемой информации. Методы кодирования, используемые в Ethernet, не позволяют выделять сигналы каждой станции из общего сигнала.
Коллизия – это нормальная ситуация в работе сетей Ethernet.
Она возникает из-за того, что один узел начинает передачу раньше
другого, но до второго узла сигналы первого просто не успевают дойти к тому времени, когда второй узел решит начать передачу своего
кадра (рис. 1.56).
Если размер кадра будет слишком мал, отправитель закончит
передачу прежде, чем получит шумовой сигнал, и будет считать,
что его кадр успешно принят. Для предотвращения такой ситуации все кадры должны иметь такую длину, чтобы время их передачи было больше двойного оборота сигнала между крайними станциями.
Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется обнаружение коллизии (collision detection, CD). Для увеличения вероятности немедленного обнаружения коллизии всеми станциями
сети ситуация коллизии усиливается посылкой в сеть станциями,
Пакет посылается
в момент времени 0
A
A
B
B
A
A
Пакет достиг станции B
в момент времени t B
Шумовой сигнал
в момент времени 2t
B
Рис. 1.56. Схема возникновения коллизии
в методе случайного доступа CSMA/CD
(t – задержка распространения сигнала между станциями A и B)
120
начавшими передачу своих кадров, специальной последовательности битов, называемой jam-последовательностью.
После этого обнаружившая коллизию передающая станция обязана прекратить передачу и сделать паузу в течение короткого случайного интервала времени. Затем она может снова предпринять
попытку захвата среды и передачи кадра. Случайная пауза Tпауза
выбирается по следующему правилу:
Tпауза = LТотср,
где Тотср – интервал отсрочки, определяется как Тотср = 512bt; bt –
битовый интервал, соответствующий времени между появлением
двух последовательных бит данных на кабеле. Например, для скорости 10 Мбит/с битовый интервал равен 0.1 мкс или 100 нс; L –
случайное число, выбираемое с равной вероятностью из диапазона
[0, 2N]; N = min (10, П); П – число последовательных попыток передачи кадра, вызывающих коллизию, при котором передатчик должен прекратить попытки и отбросить этот кадр.
Параметры Ethernet. Все параметры протокола Ethernet подобраны таким образом, чтобы при нормальной работе узлов сети коллизии всегда четко распознавались.
Для надежного распознавания коллизий должно выполняться
следующее соотношение:
(1.4)
Tmin ≥ PDV,
где Тmin – время передачи кадра минимальной длины; PDV (Path
Delay Value) – время, за которое сигнал коллизии успевает распространиться до самого дальнего узла сети.
Так как в худшем случае сигнал должен пройти дважды между
наиболее удаленными друг от друга станциями сети (в одну сторону
проходит неискаженный сигнал, а на обратном пути распространяется уже искаженный коллизией сигнал), то это время называется
временем двойного оборота, или окном коллизий.
Минимальная длина поля данных кадра должна быть не менее
46 байт, что вместе со служебными полями дает минимальную длину кадра в 72 байта, или 576 бит.
Длина кабельной системы выбирается так, чтобы за время передачи кадра минимальной длины сигнал коллизии успел бы распространиться до самого дальнего узла сети, поэтому для скорости
передачи данных 10 Мбит/с, используемой в стандартах Ethernet,
а также с учетом затухания в кабеле и задержек в репитерах в реализациях Ethernet разработчики ограничили максимальное коли121
чество сегментов в сети пятью, с длиной каждого не более 500 м. Последнее определило общую длину сети 2500 м.
После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу (IPG – Inter Packet Gap) в 9,6 мкс. Эта
пауза, называемая также межкадровым интервалом, нужна для
приведения сетевых адаптеров в исходное состояние, а также для
предотвращения монопольного захвата среды одной станцией.
Параметры Ethernet
Битовая скорость ...................... 10 Мб/c
Интервал отсрочки .................... 512 битовых интервалов
Межкадровый интервал .............. 9.6 мкс
Максимальное число
попыток передачи ...................... 16
Максимальное число
возрастания диапазона паузы......... 10
Длина jam-последовательности ...... 32 бита
Максимальная длина кадра
(без преамбулы)......................... 1518 байтов
Минимальная длина кадра
(без преамбулы)......................... 64 байта (512 бит)
Длина преамбулы ...................... 64 бита
Минимальное расстояние
между узлами .......................... 2 м
Максимально возможная пропускная способность Ethernet
=
V
1
= 14880 ïàêåò/c.
576 + 9,6
Сети Ethernet должны удовлетворять двум ограничениям, связанным с методом доступа:
– максимальное расстояние между двумя любыми узлами не
должно превышать 2500 м;
– в сети не должно быть более 1024 узлов.
Полезная пропускная способность Сп протокола CSMA/CD
для кадров минимальной длины (46 байт) – Сп = 14880 · 46 · 8 =
= 5,48 Мбит/с, для кадров максимальной длины (1500 байт) –
Сп = 813 · 1500 · 8 = 9,76 Мбит/с.
Ethernet-технология давно уже вышла за рамки офисных и домашних локальных сетей. Отметим особое место технологии Ethernet в сетях широкополосного абонентского доступа.
Стандарт Token Ring был принят комитетом IEEE 80 2.5 в 1985 г.
122
Передающая среда – сегменты экранированной или неэкранированной пары или оптоволокна, сопрягаемые в кольцо – общий разделяемый ресурс. Право на доступ к кольцу передается с помощью
кадра специального формата, называемого маркером или токеном.
В любой момент времени только одна станция в сети обладает правом доступа. Доступ передается циклически по логическому кольцу. Это – детерминированный алгоритм доступа (рис. 1.57).
На рис. 1.57 показана передача пакета А в кольце от станции 1
к станции 3.
Получив маркер, станция анализирует его, при необходимости
модифицирует и при отсутствии у нее данных для передачи транслирует к следующей станции. Станция, имеющая данные для передачи, при получении маркера изымает его из кольца, затем выдает
в кольцо кадр данных установленного формата последовательно по
битам. Переданные данные проходят по кольцу всегда в одном направлении от одной станции к другой.
При поступлении кадра данных к адресуемой станции она копирует для себя этот кадр и вставляет в него подтверждение приема. Станция, выдавшая кадр данных в кольцо, при обратном его
получении с подтверждением приема изымает этот кадр из кольца
2
1
3
Пакет A
4
Номера
станций
6
5
Пакет A*
Пакет A*
Пакет B
Пакет A*
Пакет B
Пакет A
t1
Пакет A
t2
Пакет A*
t3
t4
Станция 1 Копирование пакета А в
получила буфер станции 3. Отметка
маркер
в пакете о получении (*)
t5
t6
Передача
отмеченного
пакета станции 1
t7
t8
Изъятие Маркер
получает
пакета А
из кольца станция 2
t9
Передача
пакета В
Рис. 1.57. Принцип маркерного доступа
123
и выдает маркер для обеспечения возможности другим станциям
сети передавать данные. Время удержания одной станцией маркера
ограничивается тайм-аутом удержания маркера, по истечении которого станция обязана передать маркер далее по кольцу.
Сети Token Ring работают с двумя битовыми скоростями – 4 и
16 Мб/с (алгоритмом раннего освобождения маркера). Смешение
станций, работающих на различных скоростях, в одном кольце не
допускается.
Для различных видов сообщений передаваемым данным могут
назначаться различные приоритеты. Каждая станция имеет механизмы обнаружения и устранения неисправностей сети, возникающих в результате ошибок передачи или переходных явлений (например, при подключении и отключении станции). Одна из станций
обозначается как активный монитор, что означает дополнительную ответственность по управлению кольцом. Активный монитор
выбирается, когда кольцо инициализируется.
В Token Ring существует три различных формата кадров: маpкеpа, кадpа данных, пpеpывающей последовательности (рис. 1.58).
Кадр маркера состоит из трех однобайтовых полей: SD – начальный ограничитель (Start Delimiter); AC – управление доступом (Access Control); ED – конечный ограничитель (End Delimiter).
Кадр данных состоит из следующих полей: SD – начальный ограничитель (такой же, как в кадре маркера); FC – управление кадром
(Frame Control); DA – адрес назначения (соответствует IEEE 802.3);
SA – адрес источника (соответствует IEEE 802.3); Data – поле данных (размер не определен); FCS – проверочная последовательность
а)
б)
в)
Уровень PHY
SD
FC
1
1
SD
AC
ED
1
1
1
SD
ED
1
1
Уровень MAC
DA
SA
6(2) 6(2)
Уровень PHY
DATA
FCS
ED
FS
0- 4000 (16000)
4
1
1
Рис. 1.58. Форматы протокольных блоков данных TokenRing:
a – TokenRing, б – Token, в – Break
124
(соответствует 802.3); ED – конечный ограничитель (такой же, как
в кадре маркера); FS – статус кадра (Frame Status).
Кадр прерывания состоит из двух описанных выше полей SD
и ED.
Поле статуса состоит из подполей А и С. Передающая рабочая
станция (РС) устанавливает значения полей А = 0; С = 0. Возврат
РС после приема: А = 0; С = 0 означает, что адресуемая станция для
приема не доступна; А = 1; С = 0 – на приеме обнаружена ошибка;
А = 1; С = 1 – сообщение принято.
В сети Token Ring на уровнях MAC и LLC применяются процедуры без установления связи, но с подтверждением получения кадров.
Максимальное количество станций в одном кольце – 250.
Технология FDDI (Fiber Distributed Data Interface) – первая технология локальных сетей, которая использовала в качестве среды передачи данных оптоволоконный кабель. Тогда же появилось
первое оборудование – сетевые адаптеры, концентраторы, мосты и
маршрутизаторы, поддерживающие этот стандарт.
FDDI остается наиболее отработанной высокоскоростной технологией.
Технология FDDI во многом основывается на технологии Token
Ring. Разработчики технологии FDDI ставили перед собой следующие цели:
– повысить битовую скорость передачи данных до 100 Мб/с;
– повысить отказоустойчивость сети после отказов различного
рода;
– максимально эффективно использовать пропускную способность сети как для асинхронного, так и для синхронного трафиков.
Сеть FDDI строится на основе двух оптоволоконных колец, которые образуют основной и резервный пути передачи данных между узлами сети. Узлы должны быть подключены к обоим кольцам.
В нормальном режиме работы сети данные проходят через все узлы
и все участки кабеля первичного (Primary) кольца, поэтому этот режим назван режимом Thru – «сквозным» или «транзитным». Вторичное кольцо (Secondary) в этом режиме не используется.
В случае какого-либо вида отказа (например, обрыв кабеля или отказ узла), первичное кольцо объединяется со вторичным (рис. 1.59),
образуя вновь единое кольцо. Этот режим работы сети называется
Wrap, т. е. «свертывание» или «сворачивание» колец.
Операция свертывания производится концентраторами и/или
сетевыми адаптерами FDDI. Данные по первичному кольцу всегда
передаются против часовой стрелки, а по вторичному – по часовой.
125
Обрыв кольца
*
Вторичное кольцо
Первичное кольцо
Рис. 1.59. Реконфигурация колец FDDI при отказе
Сеть FDDI может полностью восстанавливать свою работоспособность в случае единичных отказов ее элементов. При множественных отказах сеть распадается на несколько несвязанных сетей.
Метод передачи данных близок к методу доступа сетей Token
Ring и называется методом маркерного (или токенного) кольца –
token ring.
Если станция захватила токен и передает свои собственные кадры, то на протяжении этого периода времени она не транслирует
приходящие кадры, а удаляет их из сети.
Если же адрес кадра совпадает с адресом станции, то она копирует кадр в свой внутренний буфер, проверяет его корректность
(в основном, по контрольной сумме), передает его поле данных для
последующей обработки протоколу, лежащему выше FDDI-уровня
(например, IP), а затем передает исходный кадр по сети последующей станции. В передаваемом в сеть кадре станция назначения отмечает три признака: распознавание адреса, копирование кадра
и отсутствие или наличие в нем ошибок.
После этого кадр продолжает путешествовать по сети, транслируясь каждым узлом. Станция, являющаяся источником кадра
для сети, ответственна за то, чтобы удалить кадр из сети, после того, как он, совершив полный оборот, вновь дойдет до нее. При этом
исходная станция проверяет признаки кадра, дошел ли он до станции назначения и не был ли при этом поврежден. Процесс восстановления информационных кадров не входит в обязанности протокола FDDI, этим должны заниматься протоколы более высоких
уровней.
Некоторые дополнительные характеристики к битовым скоростям. топологиям и методу доступа к среде передачи технологий
Token Ring и FDDI представлены в табл. 1.7.
126
Таблица 1.7
Технология
Длина сети
Расстояние
между узлами
Количество
узлов
максимальное
Token Ring
1м
100 м
260 для STP
72 для UTP
FDDI
200 км
(100 км на кольцо)
2 км
500 (1000
соединений)
На участке доступа в качестве базовой чаще выбирают технологию Ethernet по ряду соображений. Во-первых, это наиболее эффективная инфраструктура для передачи данных. Во-вторых, эта
инфраструктура должна обеспечивать эффективную реализацию
как сервисов по передаче данных, так и голосовых сервисов и доставку видео. В-третьих, практически весь трафик данных генерируется и терминируется в сетях Ethernet/IP. Также далеко не последним условием является наличие общепризнанного стандарта
и гарантированной совместимости оборудования разных производителей.
Учитывая опыт использования Ethernet в локальных сетях,
нельзя не отметить, что она является самой недорогой и эффективной сетевой технологией.
Современные тенденции перехода на протокол IP заключаются
в возможности реализации единой технологической базы при осуществлении соединений локальных и глобальных сетей. Ethernet
как базовую технологию на участке доступа выбирают по ряду соображений. Во-первых, это наиболее эффективная инфраструктура
для передачи данных. Во-вторых, эта инфраструктура должна обеспечивать эффективную реализацию как сервисов по передаче данных, так и голосовых сервисов и доставку видео. В-третьих, практически весь трафик данных генерируется и терминируется в сетях
Ethernet/IP. Также далеко не последним условием является наличие общепризнанного стандарта и гарантированной совместимости
оборудования разных производителей.
Современные тенденции перехода на протокол IP заключаются
в возможности реализации единой технологической базы при осуществлении соединений локальных и глобальных сетей. Учитывая
опыт использования Ethernet в локальных сетях, нельзя не отметить, что она является самой недорогой и эффективной сетевой технологией.
127
1.4.3. Первичные сети
Первичные сети являются основой вторичных компьютерных и
телефонных сетей. Обеспечение качества обмена в телекоммуникационных сетях зависит от производительности первичных сетей.
Такие сети называют также опорными и базовыми. Современные
первичные сети основаны на коммутации каналов. Для создания
абонентского канала коммутаторы первичных сетей поддерживают
один из методов статического мультиплексирования. К настоящему
времени сформировалось два поколения таких первичных цифровых сетей [33]:
– плезиохронная цифровая иерархия (Plesiochronous Digital
Hierarchy, PDH);
– синхронная цифровая иерархия (Synchronous Digital Hierarchy – SDN). В США технология SDN называется SONET.
Технология плезиохронной цифровой передачи
Плезиохронная цифровая иерархия предназначалась для передачи голосовой информации через каналы связи. «Плезо» означает
«почти», т. е. почти синхронная передача. Для мультиплексирования абонентских каналов в PDHиспользуются [33]:
– техника частотного мультиплексирования – FDM;
– техника временного мультиплексирования – TDM;
– мультиплексирование по длине волны – WDM.
Цифровые представления аналоговых сигналов осуществляются
с использованием индивидуальных ИКМ-кодеков. Сигнал ограничивается полосой частот в 4 КГц; осуществляется его дискретизация с интервалом 125 мс (fд = 8 КГц); отсчеты сигнала квантуются
по уровню; для кодирования каждого отсчета используется 8 бит.
В итоге и получают стандартную скорость передачи на один телефонный канал в 64 Кбит/с.
Данная технология использует статический способ образования
группового канала. Группообразование в каналообразующей аппаратуре PDH осуществляется на основе посимвольного мультиплексирования составляющих потоков.
При применении этой технологии формируется иерархия из
цифровых каналов (Digital Stream, DS), каждому из которых назначен уровень и номер. Цифровые потоки с меньшими номерами мультиплексируются в потоки с большими и с определенным сдвигом
частоты.
128
В настоящее время в мире применяются европейская, американская и японская иерархии PDH, использующие основной цифровой
канал (ОЦК) со скоростью 64 Кбит/с.
В европейской PDH первичная система передачи Е1 со скоростью 2,048 Кбит/собразуется объединением 32-канальных интервалов (30 оперативных, 2 служебных), периодически повторяющихся
в виде цикла протяженностью 125 мс.
Дальнейшее развитие привело к появлению еще ряда стандартизированных систем E2, E3, E4, E5. Вторичная система передачи Е2
со скоростью 8448 Кбит/с образуется объединением четырех цифровых сигналов Е1;третичная система передачи Е3 со скоростью
34 368 Кбит/с формируется объединением четырех цифровых сигналов Е2; четверичная система Е4 со скоростью 139 264 Кбит/с –
объединением четырех цифровых сигналов Е3 и пятеричная система Е5 со скоростью 564992 Кбит/с – объединением четырех цифровых сигналов Е4.
В США, Канаде, Японии применяется стандарт Т1. В линии Т1
собираются вместе 24 цифровых канала по 64 кбит/с, т. е. в итоге
пропускная способность составляет 1,544 Мбит/с. Четыре канала
Т1 объединяются в канал следующего уровня – Т2 (6,312 Мбит/с).
Семь каналов Т2 образуют канал Т3 (44,736 Мбит/с) и т. д.
На практике используются в основном каналы: Т1/Е1 и Т3/Е3.
Каналы PDH, основанные на согласовании «скоростей», оказались негибкими. При вводе и выводе из общего асинхронного потока приходится выполнять большое число операций мультиплексирования и демультиплексирования (рис. 1.60).
140
140
140 Мбит/с
140 Мбит/с
34
34
8
8
8
2
2
34
34
8
2 Мбит/с
Рис. 1.60. Схема вывода и ввода потока 2 Мбит/с
из четверичного потока 140 Мбит/с
129
При нарушении синхронизации группового сигнала PDH восстановление синхронизации первичных цифровых потоков занимает существенное время. Затруднен контроль, обеспечивающий
функционирование сети с требуемым качеством. Отсутствует единая синхронизация для большой сети. Плезиохронная сеть удобна
для строительства отдельных каналов, но вызывает лишние сложности при создании глобальных сетей. Более современные технологии практически полностью вытеснили PDH с оптических коммуникаций. В этой ситуации удачным решением стала разработанная
в 1980-х гг. синхронная оптическая сеть SONET и синхронная цифровая иерархия SDH, которые часто рассматриваются как единая
технология SONET/SDH. Однако на медных кабелях PDH используется как для телефонии, так и для передачи данных.
Синхронная цифровая иерархия
Синхронная цифровая иерархия задумана как скоростная информационная автострада для транспортировки цифровых потоков
с разными скоростями (от единиц мегабит до десятков гигабит в секунду). Эта сеть явилась развитием технологии PDH (Т1/Т3, Е1/Е3).
Основная область применения – первичные сети операторов связи.
Преобразование и передача данных в этой системе достаточно
сложны и в рамках данной работы рассматриваться не будут. Отметим лишь несколько отличительных моментов.
Сети SDH– сети с коммутацией каналов. Для уплотнения применяется мультиплексирование с разделением времени TDM. В иерархии объединяются и разъединяются цифровые потоки со скоростями 155,520 Мбит/с (базовый уровень скорости) и выше. Способ
объединения – синхронный.
Первый уровень иерархии SDH известен как STM-1 (SynchronousTransportModule), который передается со скоростью 155,52 Мбит/с.
STM-1 представляет собой фрейм (кадр) размером 9 × 270 = = 2430 байт с периодом повторения 125 мкс (рис. 1.61).
Первые 9 байт каждой строки отводятся под служебные данные
заголовков, а из остальных 261 байта – 260 предназначаются для полезной информации (данных), а 1 байт используется для заголовка
тракта, что позволяет контролировать соединение из конца в конец.
Чтобы определить маршрут транспортного модуля, в левой части рамки записывается секционный заголовок (Section Over Head,
SON), состоящий из двух частей: RSON – секционный заголовок
регенератора, где будет осуществляться восстановление потока,
130
125 мкс
155.520 Мбит/с
K
9
K
261
RSOH
PTR
Полезная нагрузка – 9 строк
MSOH
Рис. 1.61. Формат кадра STM-1
поврежденного помехами, и MSON – секционный заголовок мультиплексора, в котором транспортный модуль будет переформатироваться. Указатель (Pointer, PTR) определяет начало записи полезной нагрузки.
В стандарте SDH все уровни скоростей (и, соответственно, форматы кадров для этих уровней) имеют общее название STM-N.
Иерархия скоростей кратна скорости STM-1. Так, из четырех модулей STM-1 побайтным мультиплексированием формируется модуль
STM-4 (скорость 622,080 Мбит/с), четыре модуля STM-4 образуют
модуль STM-16 (2488,32 Мбит/с), …, STM-256 (39,81 Гбит/с).
В сети SDH применяется принцип контейнерных перевозок.
Подлежащие транспортировке сигналы размещаются в стандартных виртуальных контейнерах (Virtual Container – VC), которые позволяют переносить через сеть блоки PDH.
В технологии SDH стандартизовано шесть типов виртуальных
контейнеров, которые хорошо сочетаются друг с другом при образовании кадра STM-N. Существует ряд правил, по которым контейнеры одного типа могут образовывать группы контейнеров, а также
входить в состав контейнеров более высокого уровня. Информация
адресуется путем временного положения внутри составного кадра.
Операции с контейнерами производятся независимо от их содержания. Этим достигается прозрачность сети SDH – способность
транспортировать различные структуры сигналов, в частности PDH.
Наличие большого числа указателей (PTR) позволяет четко определять местонахождение в модуле STM-N любого цифрового потока.
Это означает, что базовый канал со скоростью 64 кбит/с может быть
выделен напрямую из уровней высшей иерархии SDH и наоборот.
131
Мультиплексор SDH выделяет необходимые составляющие сигнала, не разбирая весь поток. По сравнению с PDH-технологией SDH
позволяет разрабатывать более гибкую структуру сети и избежать
использования большого числа дорогих мультиплексирующих и демультиплексирующих устройств.
Стек протоколов SDH включает четыре уровня протоколов
(рис. 1.62), где TM – терминальный мультиплексор.
Физический уровень (фотонный) имеет дело с кодированием
битов. Используется потенциальный код без возвращения к нулю
(Non Returnto Zero, NRZ).
Уровень секции поддерживает физическую целостность системы. Секция – непрерывный отрезок оптоволоконного кабеля, который соединяет пару устройств SONET/SDN (регенератор, мультиплексор). Секцию часто называют регенераторной секцией. Ее
протокол имеет дело с определенной частью заголовка кадра, называемой заголовком регенераторной секции (RSON).
Уровень линии отвечает за передачу данных между мультиплексорами. Протокол работает с кадрами STM-N, выполняя мультиплексирование и де- мультиплексирование, вставку и удаление
пользовательских данных. Этот протокол отвечает также за проведение операций по реконфигурированию линии в случае отказа какого-либо ее сегмента – оптоволокна, порта или соседнего мультиплексора. Линию называют и мультиплексорной секцией.
Уровень тракта отвечает за доставку данных между двумя конечными пользователями сети. Тракт (путь) – это составное виртуальное соединение между пользователями. Протокол тракта долДанные
Тракт
Линия
Секция
Данные
Тракт
Кадры STM-N
Линия
Кадры
Секция
Свет
Свет
Регенератор
Регенератор
ТМ
ТМ
Мультиплексор
ввода/вывода
Рис. 1.62. Стек протоколов технологии SDH
132
жен принимать данные, поступающие в пользовательском формате (например в формате Е1) и последовательно преобразовывать их
в синхронные кадры STM-N.
По своему составу и принципам функционирования транспортная сеть представляет собой совокупность пунктов ввода отдельных цифровых потоков, линий передачи с регенераторами и мультиплексорами.
Мультиплексор SDH имеет две группы интерфейсов: пользовательских и агрегатных (рис. 1.63).
Первая группа предназначена для создания пользовательской
структуры (порты PDH), вторая (SDH) – линейных межузловых соединений. Эти интерфейсы позволяют реализовать три топологии:
кольцо, цепочку и «точка-точка». На их основе можно строить сеть
мультиплексоров практически любого масштаба. В идеале такая сеть
состоит из нескольких уровней. На первом осуществляется доступ
пользователей к сети, которые через согласующие устройства подключаются к мультиплексорам первого уровня. На данном уровне
используются, как правило, мультиплексоры STM-1. Второй уровень
построен на мультиплексорах STM-4 и отвечает за сбор потоков информации от первого уровня. Третий уровень выполняет транспортные функции и строится на мультиплексорах STM-16. Он собирает
потоки информации от второго уровня и транспортирует их далее.
Кроме мультиплексоров в состав сети SDH могут входить регенераторы. Они позволяют бороться с затуханием сигнала. Выполняется преобразование: свет → электрический ток → усиление → свет.
Устойчивая работа SDH-сети обеспечивается иерархией синхронизирующих источников.
Сети SDH интегрируются с сетями DWDM, обеспечивая передачу информации по оптическим магистралям со скоростями сотни
Трибы
PDH
Порты
вводавывода
Мульти плексор
SDH
Трибы
PDH
Рис. 1.63. Структура мультиплексора SDH
133
PDH
PDH
PDH
SDH
PDH
DWDM
PDH
PDH
SDH
SDH
PDH
Рис. 1.64. Иерархия базовых сетей и сетей доступа
гигабит в секунду за счет мультиплексирования с разделением по
длине волны (рис. 1.64).
В сетях DWDM сети SDH выступают как сети доступа, т. е. выполняют ту же роль, что и по отношению к ним сети PDH.
В настоящее время сети SDH составляют фундамент практически всех крупных телекоммуникационных сетей: региональных,
национальных и международных.
Резюме по первой главе
Современные сетевые технологии эволюционируют уже около
40 лет. Их задачи все эти годы постоянно усложнялись. Создавались и создаются новые технологии взаимодействия в распределенных информационных системах.
Централизация хранения и обработки данных способствовала
интенсивному развитию и внедрению терминальных систем. Это решение благоприятно с точки зрения защиты информации. Анализ
потенциальных покушений на целостность системы и данных показывает, что в значительном большинстве случаев нарушение режима секретности происходит внутри компании и виной тому человеческий фактор. Терминальный режим работы существенно сокращает число сотрудников, в распоряжении которых имеется доступ
к конфиденциальной информации.
Применение терминальных систем оправдано везде, где большое количество пользователей решают типовой набор задач, не требующих от локальной информационной системы максимальной
производительности. В России наблюдается устойчивая тенден134
ция внедрения терминальных систем практически у всех крупных
компаний.
В последнее десятилетие большое внимание уделяется разработке программно-конфигурируемых сетей (Software-Defined Networks, SDN), работающих на основе протокола Open Flow. Сети SDN
позволяют отделить уровень данных от уровня управления сетью.
Благодаря такому решению сетевые администраторы получают детализированный контроль над трафиком, а протокол конфигурации Open Flow (OF-CONFIG) предоставляет возможности удаленного конфигурирования обмена данными, что позволяет вносить оперативные изменения в работу сетевой инфраструктуры. Open Flow
также поддерживает специфический метод инкапсуляции.
Это два примера того, что относительная легкость изменения
функционального наполнения разного телекоммуникационного
оборудования (преимущественно за счет его перепрограммирования) приводит к значительному возрастанию многообразия форм
и способов воплощения сетевых технологий. Такое многообразие
затрудняет понимание отличительных особенностей реализации
взаимодействия в информационных сетях. В то же время основные
принципы и модели построения телекоммуникационных сетей за
последние годы мало изменились.
135
Глава 2
Математические схемы
и алгоритмы моделирования
инфокоммуникационных систем
Информационные сообщения на входы ИКС поступают случайным образом и с разной степенью интенсивности. Разнородность
сообщений, их разный приоритет, содержательная обработка сообщений и/или пакетов в узлах ИКС определяет случайную длительность их пребывания как в отдельной части ИКС, так и в ИКС
в целом. Большое количество взаимодействующих элементов выполняет сложные функции для достижения заданной цели в условиях взаимодействия внешней среды со множеством случайных
факторов. Неопределенность обстоятельств, с которыми придется
столкнуться в реальности,– все это позволяет отнести ИКС к классу
сложных стохастических систем.
На этапах проектирования, модернизации, эксплуатации ИС
возникает большое количество проблем, связанных с исследованием механизма внутрисетевых взаимодействий, формулировкой
соответствующих требований к сети и ее отдельным компонентам
и разработкой алгоритмов управления сетью. Для решения этих задач привлекаются методы моделирования.
2.1. Основные понятия и определения
Моделирование – это замещение одного объекта (оригинала)
другим (моделью), фиксация и изучение свойств модели. Замещение производится с целью упрощения, удешевления, ускорения
изучения свойств оригинала. Объектом-оригиналом может быть
естественная или искусственная, реальная или воображаемая система S.
Любая система может быть описана количественно с помощью
определенной совокупности величин. Эту совокупность можно разделить на два класса:
Параметры – величины, описывающие первичные свойства системы, ее элементов и не зависимые от других величин;
Характеристики – величины (зачастую, векторные), описывающие качественные свойства системы и являющиеся вторичными по
отношению к параметрам, т. е. зависящие от параметров.
Система проявляет свои свойства под влиянием внешних воздействий.
136
Множество параметров системы S и их значений отражает ее
внутреннее содержание: структуру и принципы функционирования. Характеристики S – это в основном ее внешние признаки, которые важны при взаимодействии с другими системами, находящиеся в функциональной зависимости от её параметров. Каждая
характеристика системы определяется в основном ограниченным
числом параметров.Остальные параметры не влияют на значение
данной характеристики S. Исследователя интересуют, как правило, только некоторые характеристики при конкретных воздействиях на систему.
Модель – это тоже система со своими множествами параметров
и характеристик. В модель включаются только существенные
аспекты, представляющие оригинал, и отбрасываются все остальные (которых бесконечное большинство). Существенный или несущественный аспект описания определяют согласно цели исследования. Модель адекватна реальному объекту в рамках поставленной
задачи. На практике двигаются от простых моделей к более сложным (рис. 2.1).
В математическом виде модель Y = M(X) – закономерность, преобразующая входные значения в выходные.
С выражением Y = M(X) можно решить три вида задач, которые
приведены в табл. 2.1.
Условия, которые должны быть безусловно выполнены, называются ограничениями. А часть ограничений, относительно которых высказывают только пожелания («быть как можно больше или
меньше»), называются критериями.
Таблица 2.1
Виды задач моделирования
Известно
Неизвестно
Решение
Прямая задача
X, M
Y
Y = M(X)
Обратная задача
Y, M
X
X = M –1(Y)
Задача настройки модели
X, Y
M
M = f(X, Y)
Х
Вход
Модель М
Выход
Y
Рис. 2.1. Структурное изображение модели
137
Решений обычно бывает много. Для нахождения лучшего следует сузить область решений, накладывая определенные ограничения,
чтобы отсеять неудовлетворяющие этим ограничениям. Такие задачи часто называют задачами управления. В целом получается обратная задача. А то, что надо определить – управляемая переменная.
Другими словами: как следует изменить входной параметр (управление), чтобы обеспечить выполнение критерия, не выйти за ограничения и чтобы при этом критерий принял наилучшее значение?
Цель моделирования – получение новых сведений об изучаемом
объекте или явлении. Познание любой системы сводится, по существу, к созданию ее модели. Моделирование целесообразно, когда
у модели отсутствуют те признаки оригинала, которые препятствуют его исследованию.
Достижения математики привели к распространению математических моделей (ММ) различных объектов и процессов. ММ представляют собой формализованное представление системы с помощью математических соотношений, отражающих процесс функционирования системы. По принципам построения математическое
моделирование делится на аналитическое и имитационное.
Аналитической моделью называется такое формализованное
описание системы, которое позволяет получить решение уравнения
в явном виде, используя известный математический аппарат. Однако аналитическое представление подходит лишь для очень простых
и сильно идеализированных задач и объектов. Сложные объекты
редко удается описать аналитически, к их описанию привлекаются
имитационные модели.
Имитационное моделирование – это частный случай математического моделирования, а имитационная модель – логико-математическое описание объекта, а именно: совокупность описания
системы и внешних воздействий, алгоритмов функционирования
системы или правил изменения состояния системы под влиянием
внешних и внутренних возмущений. Эти алгоритмы и правила позволяют имитировать процесс функционирования системы и производить нахождение оценок интересующих характеристик в режиме
вариантных расчетов путем выполнения имитационных экспериментов с целью получения информации о моделируемой системе.
Экспериментирование с моделью называют имитацией.
Метод имитационного моделирования заключается в создании
логико-аналитической (математической) модели системы и внешних
воздействий, имитации функционирования системы, т. е. в определении временных изменений состояния системы под влиянием
138
внешних воздействий, и в получении выборок значений выходных
параметров, по которым определяются их основные вероятностные
характеристики. Данное определение справедливо для стохастических систем.
При исследовании детерминированных систем отпадает необходимость изучения выборочных значений выходных параметров.
Процесс моделирования есть процесс перехода из реальной области в виртуальную (модельную) посредством формализации.
Далее происходит изучение модели (собственно моделирование) и,
наконец, интерпретация результатов как обратный переход из виртуальной области в реальную. Этот путь заменяет прямое исследование объекта в реальной области.
Формализация обеспечивает построение математической схемы, которую можно рассматривать как звено при переходе от содержательного к формализованному описанию процесса функционирования системы с учётом воздействия внешней среды, т. е. имеет
место цепочка: описательная (концептуальная) модель → математическая схема → аналитическая и/или имитационная модель.
При имитационном моделировании сетей понятие «математическая схема» позволяет рассматривать математику не как метод расчета, а как метод мышления, средство формулирования понятий,
что является наиболее важным при переходе от словесного описания к формализованному представлению процесса функционирования системы в виде некоторой математической модели.
Важным направлением при анализе и синтезе сетей с очень большим количеством узлов, структура которых нерегулярна, сложна
и динамически эволюционирует во времени, является моделирование на основе аппарата теории графов. Примерами таких сетей служат технологические (Интернет как сеть компьютеров, корпоративные компьютерные сети, транспортные и электрические сети),
информационные (цитаты из научных статей, ссылки WWW), биологические (сети нейронов в мозге, взаимодействующие протеины,
генетические сети), ячейки химических реакций, социальные системы (люди и связи между ними).
В последнее десятилетие возрос интерес исследователей к сетям
с очень большим количеством узлов, структура которых нерегулярна, сложна и динамически эволюционирует во времени. В пособии
рассматриваются основные особенности и типы случайных графов
и подходы к их моделированию.
Другой широко распространенной формализацией сетей и их
элементов (узлов, каналов связи) являются сети и системы массово139
го обслуживания. Применение этих математических схем широко
используется для оценивания необходимых сетевых ресурсов в зависимости от нагрузки, поступающей в сеть. Однако представление процесса функционирования распределенной информационной
системы управления в виде сети схем массового обслуживания позволяет хорошо описать процессы, происходящие в системе, но при
сложных законах входящих потоков и потоков обслуживания не
дает возможности получить результат в явном виде, что определяет необходимость имитационного моделирования таких математических схем.
Особенностью имитационного моделирования является то, что
имитационная модель позволяет воспроизводить моделируемые
объекты с сохранением их логической структуры, с сохранением поведенческих свойств (последовательности чередования во времени
событий, происходящих в системе), т. е. динамики взаимодействий.
При наличии в модели случайных факторов (если изучаемый
процесс достаточно сложен, то почти неизбежно он случаен) имитационные эксперименты выполняются с привлечением метода статистических испытаний или, иначе, метода Монте-Карло [29,31].
Это метод математического моделирования случайных явлений,
в которых сама случайность непосредственно включается в процесс
моделирования и представляет собой его существенный элемент.
Каждый раз, когда в ход операции вмешивается тот или другой
случайный фактор, его влияние имитируется с помощью специально организованного «розыгрыша» или жребия. В результате «розыгрыша» получается один экземпляр – одна реализация случайного явления. Произведя такой «розыгрыш» очень большое число раз,
получают статистический материал – множество реализаций случайного явления, – который можно обработать обычными методами математической статистики. При этом применяется закон больших чисел (теорема Чебышева). Согласно этой теореме, при большом числе опытов среднее арифметическое значение случайной
величины почти наверняка мало отличается от ее математического
ожидания. Аналогичным образом могут быть найдены и другие выборочные характеристики случайных величин.
Отметим еще раз. Основными элементами, из совокупности которых складывается монте-карловская модель, являются отдельные
реализации моделируемого случайного явления. Реализация представляет собой как бы один случай осуществления моделируемого
случайного явления (процесса) со всеми присущими ему случайностями. Она разыгрывается с помощью специально разработанной
140
процедуры или алгоритма, в котором важную роль играет собственно «розыгрыш» или бросание жребия. Каждый раз, когда в ход моделируемого процесса вмешивается случайность, ее влияние учитывается не расчетом, а бросанием жребия.
В англоязычной литературе терминам «имитация», «имитационная модель», «имитационный эксперимент» приблизительно соответствует термин «simulation». Наиболее известна трактовка термина «имитация», которую дал Р.Шеннон, определив ее как «процесс
конструирования модели реальной системы и постановки экспериментов на этой модели с целью понять поведение системы либо оценить (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различные стратегии, обеспечивающие функционирование данной системы».
Аналогичное определение этому термину дает Т. Нейлор: «численный метод проведения на цифровых вычислительных машинах
экспериментов с математическими моделями, описывающими поведение сложных систем в течение продолжительных периодов времени». Обе приведенные трактовки термина «simulation» укладываются в то содержание терминов «имитация», «имитационная модель», «имитационный эксперимент», которое рассмотрено выше.
При создании имитационных моделей в настоящее время используются два подхода: дискретный и непрерывный. Выбор подхода в значительной мере определяется свойствами объекта-оригинала и характером воздействия на него внешней среды. Метод статистического моделирования можно рассматривать как частный
случай дискретных вероятностных имитационных моделей.
В основе дискретных вероятностных имитационных моделей лежит понятие события. Событие определяется как точка во времени,
в которой происходят скачкообразные изменения состояний системы. Для получения требуемых результатов моделирования достаточно наблюдать систему в те моменты, когда происходят события.
Резкие переходы (скачки), совершаемые моделью при переходе от
одного события к другому, указывают на то, что процесс протекает
в дискретном времени, откуда появилось название «дискретное моделирование».
Современными технологиями дискретного имитационного моделирования (ИМ) охватываются два самодостаточных (вместе и порознь) подхода: дискретно-событийное моделирование и мультиагентный подход.
Дискретно-событийное моделирование есть способ описания и
моделирования процессов, присущих системам массового обслужи141
вания, системам с отказами и восстановлением элементов, дискретным производствам и т. п. В дискретно-событийном моделировании
функционирование системы представляется как хронологическая
последовательность событий. Событие происходит в определенный
момент времени и знаменует собой изменение состояния системы.
Продвижение системного времени реализуется посредством программирования симулятора – «движителя», который с минимальными
затратами машинного ресурса воспроизводит во времени движение
(смену состояний) объекта моделирования, отображая действие механизма причинно-следственных связей на смену состояний.
Мультиагентное моделирование – метод, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. Другими словами, поведение
агентов определяется на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов
(моделирование «снизу вверх») и их взаимодействия. Агент – это по
сути процесс, последовательность событий и работ, описывающая
поведение во времени какого-либо объекта в моделируемой системе.
С формально-логической точки зрения выбор, осуществляемый любым агентом, предопределен достигнутым на момент выбора состоянием системы и значениями параметров, известных агенту. Поэтому
действия агентов имитируются в модели точно так же, как и любые
другие события, как прямые следствия из достигнутого состояния
системы. И модельное время продвигается симулятором строго вперед, в точном соответствии с механизмом причин и следствий.
В семантическом плане концепция агентов как самостоятельных, активно действующих сущностей оказывается чрезвычайно
полезной при моделировании систем, в которых совокупное действие подобных сущностей приводит к эволюции, непредсказуемой с точки зрения отдельных агентов, и иногда более «разумной»,
чем поведение любого отдельно взятого агента. Эта концепция существенно расширяет сферу практического использования ИМ, поскольку приводит к новым смыслам при интерпретации моделей
и поддерживается новыми языковыми и графическими средствами
ИМ [29].
В обеих версиях дискретного ИМ симулятор-движитель продвигает вперед текущий «временной срез» системы. Этот срез, а точнее – временной слой, имеет минимальную «толщину», необходимую для правильного определения ближайших предстоящих изменений и для правильного рекуррентного пересчета показателей,
требующего помнить моменты последних произошедших измене142
ний. В основе построения «движителя» лежат две основные схемы
построения алгоритмов моделирования – схема событий и схема
процессов [25]. Схема событий используется при дискретно-событийном моделировании, а схема процессов – при мультиагентном
моделировании.
Таким образом, при моделировании стохастических систем парадигма имитационного (статистического, вероятностного [27]) моделирования включает две составляющие: симулятор-«движитель»,
реализующий продвижение системного времени, и метод МонтеКарло, обеспечивающий разыгрывание «случайностей». В совокупности эти две составляющие и строят траектории реализации
функционирования моделируемой системы, в которой присутствуют случайные факторы и объекты. Обе составляющие наличествуют в обоих методах дискретного ИМ.
Для реализации имитационной модели на компьютере разработаны как специализированные языки моделирования, так и имитационные системы. Наиболее известными языками моделирования являются SIMULA, SIMSCRIPT, GPSS, SOL, CSL [29]. Эффективность языков моделирования существенно зависит от наличия
диалоговых и графических средств, поэтому в систему имитации
помимо совокупности имитационных моделей с их программным и
информационным обеспечением входят средства программного сервисного обеспечения. Популярны системы Any Logic, MATLA Band
Simulink, Arena, СИМПАС и др.
Удобство языка моделирования во многом определяется ориентацией на определенную предметную область. Но это и определенное
ограничение языков моделирования по сравнению с универсальными языками программирования высокого уровня. В вузах, например, широко используют Паскаль и его расширения, С++ и др.
Поэтому в данной главе сделан акцент на модельную и алгоритмическую составляющие при изложении вопросов, связанных
с имитационным моделированием инфокоммуникационных систем.
2.2. Математические схемы моделирования систем
2.2.1. Графовые модели сетей
Моделирование на основе аппарата теории графов является важным направлением при анализе и синтезе сетей с очень большим
количеством узлов, структура которых нерегулярна, сложна и динамически эволюционирует во времени. Учение о графах, представляющих собой системы линий, соединяющих какие-то заданные
143
точки, объединяет геометрическую наглядность с математической
содержательностью. Первым исследователем графов, являющихся
математическим образом сетей, был Леонард Эйлер (1707–1783). Изначально теория графов описывала регулярные графы, однако начиная с 1950-х гг., сложные сети стали описывать с помощью теории случайных графов, предложенных в качестве наиболее подходящей модели сложных сетей [22].
Некоторые понятия теории графов
Граф (рис. 2.2) − это совокупность узлов (вершин) со связями
(ребрами) между ними. В строгом определении графом называется
пара множеств G = (V,E), где V есть подмножество любого счетного
множества, E – подмножество V×V.
Отметим некоторые частные представления графов [22].
Простые неориентированные графы. Схема, состоящая из «изолированных» вершин, называется нулевым графом. Графы, в которых не построены все возможные ребра, называются неполными
графами (рис. 2.3).
При изображении графов на рисунках или схемах отрезки могут быть прямолинейными или криволинейными; длины отрезков
и расположение точек произвольны. Например, все три фигуры на
рис. 2.4 изображают один и тот же граф.
На рис. 2.5. изображен граф, соответствующий всем связям между вершинами (каждый узел соединен с каждым). Такой граф называется полным.
Д
Г
А
Б
Рис. 2.2. Примеры графов
Рис. 2.3. Неполный граф
с пятью вершинами
Рис. 2.4. Разное изображение одного и того же графа
144
В
Если полный граф имеет n вершин, то количество ребер будет
равно n (n – 1)/2. Совокупность вершин графа с ребрами, превращающими неполный граф в полный, называется дополнением графа.
На рис. 2.6 представлено несколько вариантов изображения полного графа с четырьмя вершинами. Эти графы дают одну и ту же информацию о совершенных связях. Такие графы называют изоморфными (одинаковыми).
Графы изоморфны, если у них одинаковое количество вершин,
и если вершины одного графа соединены ребром, то и соответствующие им вершины другого графа тоже соединены ребром.
Граф, который можно начертить так, чтобы его ребра пересекались только в вершинах, называется плоским графом. На рис. 2.6, а
и 2.6, в изображены плоские графы. Простые циклы и деревья являются наглядными примерами плоских графов.
Граф называется связным, если люД
бая пара его вершин – связная. Граф
называется несвязным, если в нем есть
хотя бы одна несвязная пара вершин.
Г
А
Совокупность вершин, связанных межД
ду собой ребрами, но отдаленных от
В
остальной части графа, называется комБ
понентом графа.
На рис. 2.7 изображен несвязный
Рис. 2.5. Полный граф
граф, состоящий из двух компонентов.
с пятью вершинами
а)
б)
в)
Рис. 2.6. Варианты изображения полного графа с четырьмя вершинами
В
Б
Е
А
Ж
Г
Д
З
Рис. 2.7. Пример несвязного графа
145
Если, например, между вершинами Д и Е или какими-либо другими разных компонентов графа (см. рис. 2.6) провести ребро, то
граф станет связным. Такое ребро в теории графов (после удаления
которого граф из связного превращается в несвязный) называется
мостом.
В современной теории сетей число связей узла, количество ребер,
присоединенных к i-й вершине, называется степенью (degree), или
порядком ki этой вершины, а две вершины, соединенные ребром, называются соседними. Как видно из рис. 2.8, средний узел (В) имеет
степень пять, остальные узлы – степень три.
Узлы этого графа – четыре района старого Кенигсберга, соединенные между собой семью мостами, которым соответствуют ребра
графа. В 1736 г. Леонард Эйлер доказал, что, начав с некоторой точки, невозможно пройти все мосты и вернуться в исходную точку, не
посетив один из мостов дважды.
Вершина называется нечетной, если степень этой вершины нечетная, четной – если степень этой вершины четная.
Для рассмотренных выше определений в теории графов сформулированы следующие закономерности:
– если степени всех вершин графа равны, то граф называется
регулярным. Любой полный граф – однородный, и степени вершин
полного графа на единицу меньше числа вершин этого графа;
– сумма степеней вершин графа –число четное, равное удвоенному числу ребер графа. Эта закономерность справедлива не только
для полного, но и для любого графа;
– число нечетных вершин любого графа четно.
Понятие степень (порядок) является локальной характеристикой
графа. Нелокальную, целостную структуру сети определяют двумя
понятиями – путь (path) и петля (loop), или цикл (cycle). Путь – это
A
1
B
3
4
5
C
A
2
6
D
7
4
B
6
5
C
Рис. 2.8. Граф для проблемы Эйлера
146
3
2
1
D
7
чередующаяся последовательность смежных узлов и связей между
этими узлами, когда узлы не повторяются. Циклом или петлей называется путь, когда начальный и конечный узел совпадают. Сети
без циклов называются деревьями. Число узлов N (называемое размером сети) и число связей L в деревьях связаны простым соотношением N = (L – 1).
Приведенные на рис. 2.2−2.8 конструкции относятся к классу
простых неориентированных графов (их называют также невырожденными графами). У невырожденных графов две вершины либо не соединены, либо связаны неориентированными ребрами, но
ни одна из вершин не соединена сама с собой. В вырожденных или
псевдографах возможны многократные связи между вершинами.
Ориентированные графы. Существуют значительные классы
практических задач, которые решить с помощью ранее рассмотренных типов графов невозможно. Так, например, схема дорог и площадей города изображается с помощью плоского графа. Но если
нужно этой схемой воспользоваться с целью проезда по городу на
автомашине, а движение на отдельных (или на всех) улицах одностороннее? Тогда могут помочь сориентироваться в этой ситуации
стрелки, расположенные, например, прямо на ребрах-улицах рассматриваемой схемы (графа) города.
Ребро графа называется ориентированным ребром, если одну из
его вершин считать началом, а другую – концом этого ребра. Граф,
у которого все ребра ориентированные, называется ориентированным графом.
На практике часто ориентированные графы используют для наглядного представления процесса и результата спортивных соревнований. Так, на рис. 2.9 с помощью ориентированного графа показаны результаты игр между командами А, Б, В, Г, Д, Е. Если игра
может быть сыграна вничью, то
обычно ребро графа оставляют неЕ
А
ориентированным (ребро ВЕ), и такой граф называют смешанным.
Д
По аналогии с ранее рассмоБ
тренными (неориентированными)
графами ориентированные графы
имеют такие характеристики, как
степень вершины, понятия пути
В
Г
и цикла.
Степенью выхода вершины ориРис. 2.9. Ориентированный
граф АБВГДЕ
ентированного графа называется
147
число ребер, для которых эта вершина является началом (число ребер, «выходящих» из вершины).
Степенью входа вершины ориентированного графа называется
число ребер, для которых эта вершина является концом (число ребер, «входящих» в вершину).
Так, для графа на рис. 2.8 степени входа и выхода некоторых его
вершин такие: Ст. вх. А = 0, Ст. вых. А = 3, Ст. вх. Б = 2, Ст. вых.
Б = 1, Ст. вх. В = 2, Ст. вых. В = 0.
Путем в ориентированном графе от вершины А1 к вершине
An называется последовательность ориентированных ребер A1A2,
A2A3, ..., An–1, An, которой конец каждого предыдущего ребра совпадает с началом следующего, и каждое ребро встречается в этой
последовательности только один раз.
На рис. 2.10 показаны примеры путей в ориентированном графе.
Причем, первые два пути – простые, ни одна из вершин не содержится в нем более одного раза. Третий путь не является простым,
так как через вершину Г путь «проходил» дважды.
Ориентированным циклом называется замкнутый путь в ориентированном графе.
На рис. 2.10, б и в приведены примеры ориентированных циклов в графах. Цикл, как и любой другой путь в графе, имеет
длину, которая определяется числом ребер в этом пути. Так, на
рис. 2.11 пути от А к Д могут быть различны и иметь различную
длину. Первый путь А–Г–Д имеет длину 2, второй А–Б–Г–Д – 3,
а третий А–Б–В–Г–Д – 4.
Длина «кратчайшего пути» между двумя вершинами называется расстоянием между ними. Так, расстояние между вершинами
А и Д на графе рис. 2.11 равно 2; записывают так: S(АД) = 2.
Если в ориентированном графе нельзя «пройти» от одной вершины до другой, то расстояние между ними называют бесконечным (обозначают значком бесконечности). Так, расстояние между вершинами
Б и Д графа, представленного на рис. 2.12, бесконечно: S(БД) = ∞.
а)
б)
А
Б
Д
Г
в)
А
Б
Д
В
Рис. 2.10. Примеры путей в ориентированном графе
148
Б
Д
Г
Г
В
А
В
А
А
Д
Б
Г
Д
Б
Г
В
В
Рис. 2.11. Примеры
путей разной длины
в ориентированном графе
Рис. 2.12. Ориентированный граф,
в котором S(БД) = ∞
Нагрузка узла (betweenness centrality). Для многих сетей (транспортных, телекоммуникационных, социальных) необходимо определить относительную важность входящих в нее узлов. Загруженность узла в сети определяется как суммарное число кратчайших
путей между всеми остальными узлами, которые проходят через
данный узел i:
∑ s ÀÃ ( i)
B ( i ) = ÀÃ
,
s ÀÃ
где B(i) – загруженность i-го узла сети; s ÀÃ (i) – число кратчайших
путей из узла А в узел Г через узел i; s ÀÃ – число кратчайших путей
между всеми парами А и Г.
Эта величина важна в изучении транспортных потоков и обычно
называется нагрузкой (загруженностью) узла (или связи), поскольку
характеризует долю проходящих через узел кратчайших путей. Эту
величину можно также считать индикатором наиболее влиятельных
и важных персон (VIP) в социальной сети. В отличие от степени узла,
понятие важности узла отражает топологию всей сети.
Помимо транспортных задач ориентированные графы активно
используются в сетевом планировании, в математике: теория игр,
теория множеств; при решении многих задач, в частности, комбинаторных.
Случайные графы и сети
Графы, в которых распределение связей между узлами имеет
случайный характер, называются случайными графами [8].Впервые случайные графы были изучены венгерскими математиками
Полом Эрдосом (Paul Erdős) и Альфредом Реньи (Alfred Rényi).
149
Произвольный конкретный граф (сеть) является конкретной реализацией случайного графа (случайной сети). В свою очередь, всякая числовая характеристика случайного графа может рассматриваться как случайная величина. Для того чтобы получить среднее
значение для некоторой величины в случайной сети, нужно усреднять эту величину по всем реализациям, принимая во внимания их
статистический вес.
Числовые характеристики случайных сетей [8]. Кратчайшая
длина пути (геодезическая линия). Длины всех связей между
смежными узлами считаются равными единице. Кратчайшее расстояние lij между узлами i и j есть длина самого короткого пути
(геодезическая линия) между ними в сети. Среднее межузловое расстояние l есть среднее lij по всем тем парам узлов (i, j), между которыми существует хотя бы один, соединяющий их путь (сеть может
содержать несоединенные между собой узлы).
Диаметр сети. Диаметр сети lD есть максимальное расстояние между узлами сети. Зависимость l или lD от размера N сети зависит и от архитектуры сети. Кратчайшая длина пути сети и ее диаметр являются нелокальными свойствами сети.
Матрицы смежности. Сетевые структуры можно описывать
в матричной форме. Сеть из N узлов описывается квадратной матрицей смежности a размерности N×N. Ненулевые элементы такой
матрицы обозначают наличие связей между соответствующими узлами. Для неориентированных сетей недиагональный элемент aij
матрицы смежности равен числу связей qij между узлами i и j и, следовательно, матрица для такой сети симметрична. Предполагается,
что петли единичной длины и кратные связи запрещены, следовательно, значения диагональных элементов aij равны нулю. Любые
структурные свойства сети могут быть выражены через свойства
матрицы смежности. Например, степень узла i равна qi = ∑ qij .
j
Реальные сети и их модели являются разреженными. Число соединений в таких сетях значительно меньше, чем у полносвязанной сети. Таким образом, огромное большинство элементов матриц
смежности реальных сетей равно нулю.
Помеченные графы – такие графы, у которых различаются как
вершины, так и ребра. Каждый такой граф можно представить матрицей смежности, элемент aij, которой определяет количество ребер
между вершинами i иj, если i ≠ j, или удвоенное число ребер, если i = j.
Распределение узлов по числу связей (degree distribution).
От перечня порядков (степеней q) графа зависит распределение ве150
роятностей pq по порядкам k (степеням q). Часто распределением узлов по числу связей (degree distribution) для отдельного графа g называется отношение pg(q) = Ng/Npg(q) = Ng/N, где Ng есть число узлов
степени q в графе g. Бинарная функция p(q, q¢) задает совместную
вероятность одной вершине иметь порядок q, а другой – q¢.
Распределение узлов по числу связей является простейшей статистической характеристикой случайной сети. Во многих случаях
знание этой характеристики достаточно для понимания свойств такой сети и процессов, которые в ней происходят.
Кластеризация – это локальная характеристика сети. Она характеризует степень взаимодействия между собой ближайших соседей данного узла. В большинстве сетей, если узел А соединен с узлом Б, а узел Б – с узлом Д, то существует большая вероятность, что
узел А соединен с узлом Д (друзья наших друзей обычно также являются и нашими друзьями).
Коэффициент кластеризации данного узла есть вероятность того, что два ближайших соседа этого узла сами есть ближайшие соседи. Другими словами, если узел j имеет qj ближайших соседей
с числом tj связей между ними, то локальный коэффициент кластеризации равен
tj
Cj qj =
.
qj qj − 1 2
( )
(
)
Число tj есть суммарное число треугольников (циклов длины
3), прикрепленных к узлуj, а qj (qj – 1)/2 – максимально возможное
число возможных треугольников (рис. 2.13). Если все ближайшие
соседи узла j взаимосвязаны, то Cj = 1. Когда между ними нет связей
(как у деревьев), то Cj = 0.
Изображенная на рис. 2.13 сеть содержит один треугольник
(цикл длины 3) и восемь соединенных триад. Следовательно, у этой
сети коэффициент кластеризации равен С = 3 ⋅ 1/8 = 3/8. Отдельные
узлы имеют коэффициенты кластеризации 1, 1, 1/6, 0 и 0, а среднее
значение равно Ñ = 13 30 . Кластеризация всей сети определяется
M
как Ñ = 3 D , где MD − число треугольMn
ников в сети, а Mn − число связанных
триад, представляющих собой узел
с двумя ближайшими соседями (см.
рис. 2.13). Можно показать, что число
триад из узлов равно
∑ qj ( qj − 1)
j
2.
Рис. 2.13. Фрагмент сети
151
По сути коэффициент кластеризации С есть доля тех триад, у которых есть три ребра, образующих треугольник, т. е. циклов длины 3.
1
Среднее значение кластеризации по всем узлам C = ∑ Ci .
N i
Таким образом, кластеризация характеризует статистику
циклов (треугольников) в сети. Большинство реальных сетей в мире
обладают высокой кластеризацией.
В пределе с фиксированным q при N → ∞ получаем разреженные
сети, в которых число связей в узле намного меньше, чем в полносвязанном графе. В таких неориентированных сетях вводится понятие гигантского связанного кластера узлов сети. Если относительный размер наибольшего связанного кластера узлов сети приближается к ненулевому значению при стремлении числа узлов
к бесконечности, этот кластер называется гигантским связанным
кластером или наибольшей связанной компонентой сети. Без
гигантского связанного кластера сеть представляет собой лишь
множество маленьких разделенных кластеров. Возникновение такого кластера можно рассматривать как структурный фазовый
переход.
Подграфы и мотивы. Для характеристики локальных структурных свойств сетей используется подход на основе анализа паттернов связей узлов. Например, связанный подграф представляет собой подмножество узлов, соединенных между собой специфической структурой соединений.
Так, узлы A, B, C образуют треугольный подграф, а узлы A, B, F,
и G образуют четырехугольный подграф (рис. 2.14). Число различных возможных подграфов растет экспоненциально с ростом числа
узлов в сети.
Не все подграфы возникают в сетях с одинаковой частотой. Так,
в квадратных решетках имеются только квадратные подграфы.
В сложных сетях со случайным соединением связей между узлами
можно обнаружить и треугольные, и квадратные, и пятиугольные
подграфы.
Конфигурация (форма) и взаимосвязь как два важнейших аспекта организации графа объединены в понятие паттерна. При этом
некоторые подграфы, называемые мотивами, имеют большую частоту появления в сетях определенной структуры, чем в рандомизированных версиях тех же самых сетей.
Например, ориентированный треугольный подграф на рис. 2.15
можно обнаружить во многих биологических сетевых структурах
(нейронных сетях, регуляторных клеточных структурах).
152
B
F
C
E
A
G
D
H
Рис. 2.14. Различные типы подграфов в сети
Рис. 2.15. Ориентированный
треугольный подграф
Рис. 2.16. Ориентированный
четырехугольный подграф
В то же время мотив из четырех узлов (рис. 2.16) можно найти
в электрических сетях, но его не встретишь в биологических структурах.
Решетки. В регулярных решетках конечной размерности зависимость l (N) имеет степенной закон
1/d
l = (N)
,
где d – размерность решетки – целое число. Например, для двумерной решетки из 1012 узлов l ∞106.
К сетевым структурам, в которых l (N) растет более медленно,
чем по степенному закону с положительным индексом, применяется термин феномен тесного мира (small world phenomenon).
Клики, сообщества, общины, группы, коммуны. Кликами
(cliques) называются полносвязные подграфы некоторого графа.
Под сообществами понимаются подграфы, для которых связи
между узлами внутри подграфов сильнее, многочисленнее и насыщеннее, чем между узлами различных подграфов (рис. 2.17).
Допустим, связи с максимальной важностью (betweenness centrality) удаляются одна за другой. Каждое такое удаление изменяет
структуру кратчайших путей в сети, а следовательно, и важность
153
Рис. 2.17. Схематическое изображение сети из трех сообществ
каждой связи и поэтому эти параметры пересчитываются после
каждого удаления. На некотором шаге сеть оказывается разделенной на два кластера – самых больших сообщества, и далее процедура продолжается. В результате получается дерево, в котором сообщества малых размеров включены в более крупные сообщества.
Распределение по размерам сообществ, выявляемых в результате
этой процедуры, в большинстве реальных сетей подчинено степенному закону.
Модели случайных графов [8]. Случайную сеть (граф) можно
определить не как единичную, а как статистический ансамбль,
в котором каждая конкретная сеть имеет определенную вероятность реализации, т. е. каждая сеть ансамбля имеет свой собственный статистический вес. Для моделирования сложных стохастических сетей используют следующие модели: «классический случайный граф», «тесный мир» и «бесмасштабный» граф.
Модель «классический случайный граф». Простейшими случайными сетями являются так называемые классические случайные графы (модель Эрдеша–Реньи (Erdos–Renyi), в статистическом
ансамбле которых все возможные графы с числом узлов N и числом
связей L имеют одинаковый статистический вес реализации, т. е.
для таких сетей вероятность существования связи между любыми
двумя узлами одинакова. Для случайных сетей Эрдеша–Реньи
l = log N.
Ансамбли, в которых их статистические веса не изменяются во
времени, не эволюционируют, называются равновесными. В неравновесных (способных к эволюции) ансамблях статистические веса
изменяются во времени, и множество конфигураций также изменя154
ется. Растущие сети являются неравновесными. Даже среди сетей
с фиксированным числом связей возможны неравновесные сети.
Наиболее известны две модели классического случайного графа:
1) L ребер распределены произвольно и независимо между N вершинами графа;
2) фиксируется вероятность р, с которой может объединяться
каждая пара вершин.
В пределе при N→ ∞ для обоих вариантов распределение порядков вершин определяется формулой Пуассона:
pk =
k k −k
e ,
k!
где среднее значение порядка k = 2L / N для первой модели и
k = pN – для второй модели.
Процесс построения случайного графа заключается в следующем. Вначале генерируется N изолированных вершин. К вершинам
последовательно добавляются ребра, случайным образом соединяющие произвольные пары вершин. Образуется множество малых
компонент графа1. Разрастание малых компонент приводит к образованию гигантского кластера связанных вершин, число которых
составляет конечную долю полного числа N.
Образование гигантского кластера наблюдается только при условии, что вероятность р связывания вершин, постепенно возрастающая в процессе генерации, приобретает значение, превышающее
критический порог pc. В результате произойдет спонтанное образование гигантского кластера, напоминающее конденсацию капли
воды в пересыщенном паре. Такой процесс имеет ярко выраженный
характер фазового перехода, в результате которого доля связанных
вершин, принадлежащих гигантскому кластеру, определяется выражением:
n
1 ∞ nn −1
G =1 − =∑
ke−k .
k n =1 n!
(
)
В классическом случайном графе гигантский компонент появляется при критической плотности ребер d = 1. До этого момента
компонент имеет число вершин ln(N), а после начинает линейно
увеличиваться с ростом N. В классическом случайном графе с фик1 Компонентом графа называется совокупность вершин, связанных между собой, но отдаленная от основной части графа.
155
сированным распределением порядка pd условие возникновения гигантского кластера определяется неравенством:
N
∑ d (d − 1) pd > p .
d=3
1
В точке превращения распределения размеров случайного кластера, обладающего определенным распределением порядков вершины, значение pd спадает по степенному закону с показателем
(–3/2). В окрестностях этой точки распределение размеров компонентов также следует степенному закону, который, однако, обрезается экспонентным хвостом. Такое поведение подобно явлению перколяции, когда в критическом состоянии размеры компонентов также распределяются по степенному закону.
Модель графа «тесный мир». Существует обычно круг ближайших знакомых персоны, затем люди, знающие ближайших знакомых персоны (но не знающие непосредственно персону) и т. д. и т. п.
В результате возникают цепочки, из которых ясно, что любой член
общества опосредовано знаком с любым другим членом общества.
В этом смысле мир является тесным и его модель носит название
«тесный мир».
Компьютерная модель «тесного мира» была разработана Уотсом
и Строгацем (Watts D. J., Strogatz S. H.). Ее построение начинается с одномерной периодической цепочки, состоящей из N вершин
(рис. 2.18). Сначала каждая вершина соединяется q ребрами с другими вершинами, где число ребер – четное положительное. Затем
с некоторой вероятностью р каждое ребро перебрасывается в произвольную позицию.
Компьютерное моделирование показало, что свойством «тесного
мира» обладают сети с высокой степенью кластеризации и малой
средней длиной пути между узлами. Регулярные кристаллические
решетки (например, треугольные) имеют высокое значение коэффициента кластеризации и большую среднюю длину пути. Классические случайные сети имеют низкое значение коэффициента кластеризации и небольшую среднюю длину пути. Сети «тесного мира» можно рассматривать как суперпозицию регулярных решеток
и классических случайных сетей, поскольку они обладают высокой
кластеризацией и низким значением средней длины пути.
Сети тесного мира – весьма специфический вид сетевых структур. Свойством тесного мира обладают практически все реальные
сети и все они имеют бесконечную размерность. Реальные сетевые
156
Регулярный
граф
р=0
«Тесный мир»
Увеличение значения параметра
Случайный
граф
р=1
Рис. 2.18. Схема трансформации регулярной цепочки
в граф «тесного мира», а затем в случайный граф. Параметр р
определяется вероятностью переброса ребер в случайные положения
структуры, как правило, имеют и высокий коэффициент кластеризации.
Модель «безмасштабного» графа. Распределение числа связей
по закону Пуассона имеет строгий максимум около среднего значения. Однако для многих реальных сетей, например Интернета, и
его виртуального двойника World Wide Web такого среднего значения не существует. В таких сетях небольшое число узлов содержит
очень большое число связей, а огромное число узлов содержит лишь
несколько связей. Соответствующее вероятностное распределение
подчиняется степенному закону:
P(q)∞q −l .
Степенная функция является признаком самоподобия системы,
которая не обладает каким-либо масштабом изменения характерных
величин, поэтому такие графы называются безмасштабными, а сети
получили название безмасштабных сетей (scale free networks – отсутствие узла с типичным числом связей в такой сети). Отличие таких графов в том, что классический случайный граф имеет намного
более быстро спадающий хвост 1/d! ≈ d-d, чем безмасштабный1.
Для безмаштабных сетей l = loglog N, где N – число узлов в сети.
Для случайных классических сетей – l = log N. Получены свидетельства того, что функциональные связи в мозге человека образуют безмасштабные сети. Полная сеть содержит до 31503 узла.
1 Вероятность наличия в графе узлов с возрастающим порядком быстрее снижается в классическом случайном графе, чем в безмасштабном (степенном).
157
Модель Барабаши–Альберт. Барабаши и Альберт показали,
что для возникновения и эволюции безмасштабных сетей необходимы два условия:
1. Рост. Начиная с небольшого числа m0 узлов, на каждом временном шаге добавляется один новый узел со связями m(m ≤ m0),
которые соединяют этот новый узел с различными уже существующими узлами.
2. Предпочтительное присоединение (Preferencial attachment).
Когда выбираются узлы, к которым присоединяется новый узел,
предполагается, что вероятность P, с которой новой узел будет соединяться с уже существующим узлом i, зависит от числа связей,
которыми этот узел уже связан с другими узлами, так что
P ( qi ) =
qi
.
∑ qj
j
Безмасштабные сети – это одно из проявлений феноменологии
критических явлений в сложных системах, поскольку их структура подчиняется степенному закону.
Перколяция. Основные понятия
Существующие методы моделирования сетей ориентированы
на анализ систем с регулярной структурой и не очень приспособлены для моделирования сетей, имеющих случайную структуру. Одним из подходов, который может помочь преодолеть существующие
трудности, является использование теории перколяции.
Перколяционные процессы в природе и технологиях [36]. Перколяция является удобной моделью для описания широкого класса
явлений, которые принято называть критическими. Техника, развитая для теории перколяции, имеет многочисленные приложения
в задачах о случайных процессах. Для описания перколяции рассмотрим пример. Представим себе большой противень, на котором
случайным образом размещены кружочки жидкого теста разного
диаметра. Затем противень с печеньем помещается в духовку. Допускается, что в процессе выпечки каждая капля теста может расплыться. Если два печенья соприкасаются, то они сливаются и образуется одно печенье. И если не следить за выпечкой, то можно
получить одно гигантское печенье, которое будет занимать значительную часть противня (рис. 2.19).
158
Рис. 2.19. Путь из перекрывающихся кружков (закрашены)
соединяет верхнюю и нижнюю стороны противня
Если такое образование простирается от одного края до другого, то говорится, что оно «просачивается» (перколирует) сквозь
структуру.
Типы перколяций. Наиболее распространенными задачами теории перколяции являются решеточные задачи: задача узлов и задача связей. Представим шахматную доску как квадратную решетку.
Предположим, что каждый квадрат, или «ячейка» этой решетки,
может находиться в двух состояниях: «занято» или «пусто». Квадратная решетка может быть бесконечной либо с заданным размером, например 3×3 (рис. 2.20). Закрасим («займем») часть квадратов
черным цветом. В нашем случае их 20. Доля закрашенных квадратов составляет р = Nчерн/N = 4/9. Каким образом выбираются
квадратики для закрашивания? Во-первых, можно выбирать квадратики случайно и независимо; во-вторых, можно ввести какиелибо правила. В первом случае говорят о случайной перколяции (математики называют ее перколяцией Бернулли), во втором – о коррелированной.
Занятые ячейки либо изолированы друг от друга, либо образуют
группы занятых ячеек решетки, связанных с ближайшим соседом
по стороне ячейки (рис. 2.20). Такие группы называют кластерами.
Кластер (cluster – гроздь) – это группа связанных объектов, состоящая из ближайших соседей.
Простой способ занятия квадратиков (ячеек решетки) основан
на использовании генератора случайных чисел. Вся процедура сводится к тому, чтобы сгенерировать случайное число, а затем занять
ячейку решетки, если случайное число меньше р. Эта процедура вы159
полняется для каждой ячейки решетки (рис. 2.21). Если вероятность
занятия ячейки мала, то можно ожидать, что будут присутствовать
только небольшие изолированные кластеры (см. рис. 2.21, а), если
р ≈ 1, то ожидается, что большинство занятых ячеек образуют один
большой кластер, который протянется от одной стороны решетки
до другой (см. рис. 2.21, г). Такой кластер называют соединяющим
кластером. Посмотрим, что произойдет для промежуточных значений р, например, для р = 0,4–0,6 (рис. 2.21, б, в).
В среднем доля занятых ячеек (закрашенные квадраты) равна р.
Для значения р = 0,6 существует кластер, который соединяет стороны решетки в горизонтальном направлении, но не в вертикальном;
при значении р = 0,8 кластер соединяет стороны решетки и по вертикали, и по горизонтали.
Характерной особенностью перколяции является связность. Поскольку связность обнаруживает качественное изменение при конкретном значении некоторого параметра, который можно менять
а)
б)
в)
г)
д)
Рис. 2.20. Пример ячеечного перколяционного кластера
на квадратной решетке со стороной L = 3: а–две ближайшие занятые
ячейки (закрашенные квадраты в этом случае являются
одним кластером; б– три занятые ячейки образуют один кластер;
в и г кластер состоит из 5 ячеек; д– кластеров нет
а)
б)
в)
г)
p = 0,2
p = 0,4
p = 0,6
p = 0,8
Рис. 2.21. Примеры ячеечных перколяционных кластеров
на квадратной решетке со стороной L = 8
для значений р = 0,2; 0,4; 0,6 и 0,8
160
непрерывно, то переход из состояния, не содержащего соединяющий кластер, в состояние с одним соединяющим кластером представляет собой фазовый переход.
В пределе бесконечной решетки существует вполне определенная «пороговая» вероятность р, такая, что для р ≥ pc существует
один соединяющий кластер, или путь; для р < pc нет ни одного соединяющего кластера и все кластеры конечны. Такая модель просачивания называется ячеечной перколяцией.
Еще одна модель просачивания –цепная перколяция. Заменим
шахматную доску квадратной сеткой (решеткой с бесконечным регулярным графом). Точки пересечения линий называют узлами (вершинами). Сами линии – связями (ребрами). Простейшей задачей цепной перколяции является перколяция сквозь Бернуллиевы решетки.
Представим себе большую квадратную решетку, составленную
из двух видов стержней: одни сделаны из изолирующего винила,
другие – из электропроводной меди. Такая решетка может считаться решеткой Бернулли, если каждый стержень выбран совершенно случайно, независимо от других стержней, причём вероятность
выбора проводящего стержня равна p. Наибольшие скопления связанных между собой медных или виниловых стержней образуют,
соответственно, медные или виниловые кластеры. Если решетка
содержит хотя бы одну непрерывную цепочку медных стержней,
электрический ток сможет пройти всю решётку насквозь, от одного края до другого. В таких случаях говорят, что решётка перколирует. Все стержни, находящиеся в неразрывном электрическом
контакте одновременно с верхним и нижним краями решетки, образуют соединяющий кластер, а стержни, непосредственно участвующие в передаче, составляют так называемую «магистраль» кластера. Наиболее распространенными задачами теории перколяции являются решеточные задачи: задача связей и узлов.
В задаче связей ищут ответ на вопрос: какую долю связей нужно
удалить (перерезать), чтобы сетка распалась на две части?
В задаче узлов блокируют узлы (удаляют узел, перерезают все
входящие в узел связи) и ищут, при какой доле блокированных узлов сетка распадется.
Квадратная сетка является только одной из возможных моделей.
Можно рассматривать перколяцию на треугольной, шестиугольной
сетках, деревьях, трехмерных сетках, например кубической или
в пространстве с размерностью больше 2,3. Сетка не обязательно должна быть регулярной. Рассматриваются процессы и на случайных сетках.
161
Порог перколяции. Теория перколяции позволяет описать процессы самой разной природы, когда при плавном изменении одного из параметров системы (концентрации чего-то) свойства системы
меняются скачком. Одним из основных вопросов, на которые пытается ответить теория перколяции: при какой доле закрашенных
квадратов возникает цепочка черных квадратов, соединяющая стороны решетки?
Для сетки конечного размера такие цепочки могут возникать
при разных концентрациях (см. рис. 2.20 и 2.21). Однако если размер решетки устремить к бесконечности, то критическая концентрация станет вполне определенной. Это строго доказано. Такую
критическую концентрацию называют порог перколяции.
Рассмотрим квадратную решетку со стороной L и присвоим каждой ячейке этой решетки случайные числа от нуля до единицы.
Ячейка занимается, если присвоенное ей случайное число меньше р.
Так порождается ячеечная перколяционная конфигурация. В вероятностном подходе порог перколяции pc определяется как такая вероятность р, при которой появляется первый бесконечный (соединяющий) кластер на бесконечной решетке. Для конечной решетки со
стороной L, которую можно промоделировать на компьютере, всегда существует ненулевая вероятность того, что будет появляться соединяющий кластер, связывающий одну сторону решетки с другой.
Для малых значений р эта вероятность порядка рL. По мере увеличения L вероятность появления соединяющего кластера стремится к нулю и для достаточно малых значений р будут существовать
только конечные кластеры. Поскольку правило «протекания» необходимо применить для конечной решетки, определим pc(L) как
среднее значение р, при котором впервые появляется соединяющий
кластер. Для конечной решетки определение протекания произвольно и, следовательно, вычисленное значение pc зависит от критерия протекания. Например, можно определить соединяющий путь
одним из способов: он связывает решетку в выбранном направлении
(в вертикальном либо в горизонтальном); соединяет решетку в обоих направлениях. Все эти правила протекания должны приводить
к одному и тому же экстраполированному значению pc при L → ∞.
Кроме квадратной решетки наиболее известной двумерной решеткой является треугольная. Существенным различием между
квадратной и треугольной решетками является число ближайших
соседей.
Характеристики перколяционных сетей. Определим, какие основные характеристики вычисляют в перколяционных моделях.
162
Итак, при перколяции существует порог перколяции pc, и появляется соединяющий путь, или кластер, при p ≥ pc (p – вероятность занятия ячейки). Более полную информацию можно получить из распределения кластеров по размерам, определяемого формулой
ns =
Ns
,
N
(2.1)
где N – полное число ячеек решетки; Ns – число кластеров размером s.
При р ≥ pcсоединяющий кластер исключается из ns. По историческим причинам под размером кластера подразумевается число ячеек в кластере, а не его пространственная протяженность. Анализ
рис. 2.21, а показывает, что для проведенного одного испытания
ns(р = 0,2) = 5/64, 1/64 и 2/64 для s = 1,2 и 3 соответственно и равно
нулю в других случаях. Поскольку ∑ sns ( p) представляет собой
s
концентрацию занятых ячеек, a sns ( p) – концентрацию занятых
ячеек в кластерах размером s, величина
ωs =
sns ( p )
(2.2)
∑ sns ( p)
s
является вероятностью того, что занятый узел, выбранный случайным образом, принадлежит кластеру размером s. Следовательно,
средний размер кластера s определяется как
s=
∑ sωs=
s
∑ s2ns ( p)
s
∑ sns ( p)
.
(2.3)
s
Так, средний размер кластера на примере рис. 2.21, а равен
s = 27/12.3.
Обозначим через N∞число ячеек в соединяющем кластере, тогда
вероятность того, что случайным образом выбранный занятый узел
принадлежит соединяющему кластеру (или иначе эту величину называют параметром порядка) выражается отношением
P∞ =
N∞
Nçàíÿòûõ
.
(2.4)
В случае бесконечной решеткиPµ(р) = 0 при р < pc и Pµ(р) = 1 при
р = 1. Анализ рис. 2.21, в показывает, что Pµ(р = 0.6) = 25/36 для
приведенной конфигурации.
163
Итак, кластер – это цепочка связанных объектов. Кластер, соединяющий две противоположные стороны системы, называется
соединяющим (перколяционным, бесконечным или стягивающим).
Ниже порога перколяции имеются только кластеры конечного размера. Остов кластера – «токопроводящая» часть кластера. Мертвые
концы – части кластера, соединенные с остовом посредством одного
узла (связи, стороны ячейки). Мертвые концы составляют большую
часть кластера, однако не участвуют в проводимости.
Красные связи – одиночные связи, при разрушении которых перколяционный кластер перестает «проводить ток». Скелет кластера – объединение всех кратчайших путей от данного узла до узлов на
заданном расстоянии. Эластичный остов – объединение всех кратчайших путей между двумя данными узлами. Оболочка, или внешний периметр, состоит из тех узлов кластера, которые соприкасаются с пустыми узлами и соединены с бесконечностью посредством
пустых узлов. Полный периметр включает также пустоты внутри
кластера. Все эти подструктуры описываются различными фрактальными размерностями, значения некоторых из них на сегодняшний день получены только путем компьютерного моделирования.
Критические показатели и масштабная инвариантность. В окрестности порога перколяции поведение системы тесно связано с наличием больших, но конечных кластеров. Более прямой способ наблюдения влияния длины связан с введением характерного линейного размера или длины корреляции (средней длины связности) ξ(р).
Для больших значений L возрастающая функция ξ(р) находится
в диапазоне р < pc и убывающая – вр > pc (рис. 2.22).
Качественное поведение функции ξ соответствует физическому
представлению о кластерах: по мере приближения р к pc возрастает
ξ(р)
рср
Рис. 2.22. Качественная зависимость длины корреляции ξ(р)
от р (стремление ξ(р)к бесконечности в критической области
происходит по степенному закону)
164
вероятность того, что два занятых узла находятся в одном кластере. Такое качественное рассмотрение наталкивает на мысль, что
в пределе L → ∞ ξ(р) сингулярна в критической области |p – pc| << 1.
Другой рассматриваемой величиной является средний размер кластера s(p).
На конечной решетке не могут происходить истинные фазовые
переходы, описываемые расходящимися физическими величинами. Вместо этого ξ и s достигают конечного максимума при значении p = pc(L).
Фазовый переход определяется только для бесконечных систем.
Используя терминологию теории фазовых переходов, можно сказать, что ячеечная и цепная перколяции принадлежат одному классу универсальности и их критические показатели равны.
Другой важной идеей в области критических явлений считается
существование зависимостей между критическими показателями.
Задача определения pc казалось бы относительно простая задача.
Однако, за редкими исключениями pc не удается вычислить аналитически – необходимо довольно сложное численное моделирование.
К задачам, решаемым в рамках теории перколяции и анализа сложных сетей, относятся такие, как определение предельного
уровня проводимости (пропускной способности), изменения длины
пути и его траектории (извилистости, параллельности) при приближении к предельному уровню проводимости и количества узлов, которые необходимо удалить, чтобы нарушить связанность сети.
Теория перколяции применима в различных областях науки.
Термин перколяция, означающий протекание, отражает, соответственно, и возможность моделирования протекания жидкости, например воды или нефти в почвенных средах. В физике теория перколяции применяется при расчете распространения токов в случайной сетке проводников. В разделе материаловедения «теория
разрушений» используется для изучения распространения трещин
при деформации материалов. В медицине теорию перколяции используют для моделирования распространения инфекций при заболеваниях организма.
Хорошие перспективы применения имеет эта теория в информатике и вычислительной технике. Если, например, необходимо
оградить глобальную сеть от компьютерного вируса, то достаточно,
чтобы каждый отдельный узел этой сети был недоступен для вируса с вероятностью, хотя бы немного превосходящей критическую.
В этом случае сеть в целом будет гарантированно оставаться связной и работоспособной. Частичные потери функциональности сети
165
(например, потери её суммарной производительности) определяются при этом распределением размеров кластеров, поражаемых
вирусом.
Перколяцию рассматривают и на случайных сетях Эрдоша–Реньи, Уаттса–Строгатса и т. п. Так, перколяционный подход использовали исследователи из Калифорнийского университета для разработки быстрого алгоритма маршрутизации в пиринговых сетях
по принципу пчелиного роя. Алгоритм использует принцип порога
перколяции связей между тесно связанными узлами, случайным
образом сформированными в масштабируемых сетях, таких как
Интернет.
Для определения критической вероятности в подобных нерегулярных сетях и для установления законов распределения контактных кластеров требуется проводить статистическое моделирование
решеток с нерегулярной структурой.
2.3. Системы и сети массового обслуживания
Система массового обслуживания – одна из основных моделей,
используемых инженерами-системотехниками. В терминах систем
массового обслуживания (СМО) описываются многие реальные системы: вычислительные, узлы сетей связи, системы посадки самолетов, магазины, производственные участки – любые системы, где
возможны очереди и (или) отказы в обслуживании.
В вычислительной системе роль обслуживающего прибора играет ЭВМ, роль заявок – решаемые задачи. Источником заявок служат терминалы пользователей. Моментом выдачи заявки является
момент нажатия клавиши для подачи команды о решении задачи.
Операционная система ЭВМ исполняет роль диспетчера: определяет
очередность решения задач. В роли ячеек буфера выступают ячейки
памяти ЭВМ, хранящие сведения о задачах, требующих решения.
В системе разгрузки судна другой пример реальной системы, где
источниками заявок являются наименования портов. Момент выдачи заявки – это момент прибытия судна в зону морского порта для
разгрузки/погрузки. Обслуживающим прибором является причал
вместе с персоналом и техническими средствами, организующими
разгрузку/погрузку. Роль буфера играет акватория порта.
В телекоммуникационной сети в качестве отдельной СМО оказывается коммутатор, в котором источниками заявок являются входящие каналы, момент выдачи заявки – поступление на вход порта
коммутатора очередного пакета (кадра), обслуживающим прибором
166
оказывается коммутационная схема, в роли ячеек буфера выступают накопители портов.
Целью использования СМО как модели является анализ качества функционирования систем-оригиналов, связанных с распределением или/и расчетом того или иного ресурса.
Как модель СМО рассматривается и в теории массового обслуживания (другое название – теория очередей). Эта теория связана
с разработкой и анализом математических, т. е. абстрактных моделей, которые описывают процесс обслуживания некоторых объектов, поступающих на вход обслуживающего прибора в виде некоторого потока, образующего очередь.
Поскольку рассматриваются абстрактные модели, совершенно
не важна природа обслуживаемых объектов и их физические свойства (будь то вызовы, управляющие или информационные кадры
в сети связи или посетители магазина, или детали на автоматической линии и т. п.). Существенным моментом является появление
этих объектов, правила и законы (математические) их обслуживания, так как от них зависит адекватное отображение эволюции моделируемого объекта во времени. Поэтому, когда говорят о методах
анализа очередей, имеют в виду математические (абстрактные) модели, а из контекста всегда должно быть ясно, для исследования какой реальной системы применяются эти модели.
Термин «массовое обслуживание» предполагает многократную
повторяемость ситуаций (много прибывших в систему и обслуженных заявок, большое число находящихся в эксплуатации аналогичных систем) и статистическую устойчивость картины [29]. Усложнение структур и режимов реальных систем затрудняет применение
классических методов теории массового обслуживания ввиду возрастающей размерности решаемых задач, что особенно характерно
для систем с сетевой структурой. Одним из возможных путей преодоления размерности является использование моделей в форме сетей массового обслуживания (СеМО).
СеМО представляет собой совокупность конечного числа обслуживающих узлов, в которой циркулируют заявки, переходящие
в соответствии с маршрутной матрицей из одного узла в другой. При
этом отдельные СМО отображают функционально самостоятельные
части реальной системы, связи между СМО – связи между этими
частями, а требования, циркулирующие по СеМО, – составляющие
материальных потоков (сообщения – пакеты в коммуникационной
сети, задания в мультипроцессорных системах, контейнеры грузопотоков и т. п.).
167
СеМО используют для определения важнейших системных характеристик информационных систем: производительности; времени доставки пакетов; вероятности потери сообщений и блокировки в узлах; области допустимых значений нагрузки, при которых
обеспечивается требуемое качество обслуживания и др. Наиболее разработана теория экспоненциальных СеМО. Сеть называется
экспоненциальной, если входящие потоки требований в каждую
СМО пуассоновские, а продолжительность каждого этапа обслуживания, реализуемого на любой сети СМО, имеет экспоненциальное
распределение. Это позволяет считать, что этапы обслуживания независимы друг от друга, от параметров входящего потока, от состояния сети и маршрутов следования требований.
Теорию экспоненциальных СеМО широко применяют как для
исследования сетей передачи данных, так и для исследования мультипроцессорных вычислительных систем (ВС). Разработаны практические формы расчета вероятностно-временных характеристик
(ВВХ) таких сетей и систем. CеМО – это, прежде всего, совокупность
взаимосвязанных систем массового обслуживания, поэтому необходимо вспомнить основные особенности этих систем.
2.3.1. Система массового обслуживания как модель
Основными элементами системы массового обслуживания являются входной поток заявок, очередь, прибор (канал) обслуживания [31].
Заявки (требования) на обслуживание поступают через постоянные или случайные интервалы времени, приборы (каналы) предназначены для обслуживания этих заявок. Обслуживание длится некоторое время, постоянное или случайное. Если в момент поступления заявки все приборы заняты, заявка помещается в очередь (буфер)
и ждет там начала обслуживания. Если все места в очереди заняты,
заявка получает отказ в обслуживании и теряется. Вероятность потери заявки (вероятность отказа) – одна из основных характеристик
СМО. Другие характеристики: среднее время ожидания начала обслуживания, средняя длина очереди, коэффициент загрузки прибора (доля времени, в течение которого прибор занят обслуживанием) и т. д.
В зависимости от объема очереди различают СМО с отказами,
где нет буфера, СМО с ожиданием, где буфер не ограничен (например, очередь в магазин на улице) и СМО смешанного типа, где буфер имеет конечное число заявок. В СМО с отказами нет очереди,
в СМО с ожиданием нет потерь заявок, в СМО смешанного типа то и
другое возможно.
168
Иногда различают заявки по их приоритету, т. е. по важности.
Заявки высокого приоритета обслуживаются в первую очередь.
Абсолютный приоритет дает право прервать обслуживание менее
важной заявки и занять ее место в приборе (или в буфере, если все
приборы заняты столь же важными заявками). Вытесненная заявка либо теряется, либо поступает в буфер, где ждет дообслуживания. Иногда приходится возобновлять обслуживание вытесненной
заявки сначала, а не продолжать с точки прерывания. Если заявка
вытеснена из буфера, она, естественно, теряется. Примером заявки
с абсолютным приоритетом является судно, получившее пробоину
и нуждающееся в срочной разгрузке. В вычислительных системах
абсолютным приоритетом обладают команды оператора. Относительный приоритет дает право первоочередного занятия освободившегося прибора. Он не дает право на вытеснение заявки из прибора или буфера. Лица, имеющие льготы при обслуживании в кассе, у врача и т. п., как правило, имеют относительный приоритет.
Абсолютный и относительный приоритеты различаются и моментом действия: абсолютный реализуется в момент поступления, а относительный – в момент освобождения прибора.
Различают фиксированные и динамические приоритеты. Фиксированные приоритеты чаще называют дисциплиной обслуживания.
Дисциплина обслуживания задает порядок выбора из очереди
в освободившийся прибор заявок одинакового приоритета. Выделим следующие дисциплины: FIFO (First Input–First Output) первым пришел – первым обслужен; LIFO (Last Input–First Output) последним пришел – первым обслужен; RAND (Random) – случайный
выбор из очереди. В быту обычно действует дисциплина FIFO, а дисциплина LIFO реализуется в буфере, организованном по принципу
стека. Такая дисциплина может оказаться целесообразной, например, при передаче информации, если ее ценность быстро падает со
временем.
В теории массового обслуживания важным является понятие
случайного потока как некоторой последовательности событий, наступающих в случайные моменты времени.
Случайный поток может быть задан функцией распределения величины интервала времени между моментами наступления событий:
tj =
t j − t j −1; P(t j ≤ t).
Если величины tj независимы в совокупности, то поток обладает
) P ( t ≤ t ) для всех
ограниченным последействием. В случае P(t j ≤ t=
169
j ≥ 2 поток является рекуррентным. Рекуррентный поток, для которого P(t ≤ t) = 1 − exp( − lt), называется пуассоновским. Для такого
потока вероятность наступления n событий за промежуток времени
(lt)n
=
exp( − lt), а математическое ожидание числа
[0,t] есть
P n(t)
n!
событий, наступивших за время t, λt, где λ – среднее число событий,
наступающих в единицу времени.
Пуассоновский поток характеризуется отсутствием последействия. Если кроме этого выполняются условия стационарности
и ординарности, то пуассоновский поток будет простейшим.
Для стационарного потока распределение не зависит от положения интервала τ на оси времени и зависит только от его продолжительности. Отсутствие последействия означает независимость
числа событий в неперекрывающихся интервалах tj. Свойство ординарности заключается в том, что вероятность появления более
одного события на бесконечно малом интервале имеет порядок малости выше, чем вероятность появления одного события на этом
интервале.
Величину λ в случае пуассоновского потока называют интенсивностью потока событий. Если tj = τ = const, то поток является регулярным или детерминированным.
Для обозначения типа CMО используется система обозначений,
имеющих вид Δ|Θ| Ξ |Ω: Δ – закон распределения вероятностей для
интервалов поступления заявок; Θ – закон распределения вероятностей для времени обслуживания; Ξ – число каналов обслуживания; Ω – число мест в очереди.
Законы распределения в позициях Δ и Θ обозначаются следующим образом:
– М – экспоненциальное распределение;
– Ek – эрланговское порядка k;
– R – равномерное;
– D – детерминированное (постоянная величина);
– G – произвольное (любого вида) и т. д.
Если число мест в очереди не ограничено, то позиция Ξ не указывается. Например, M|M|1 означает простейшую СМО (оба распределения экспоненциальные, канал обслуживания один, очередь не
ограничена). Обозначение R|D|2|100 соответствует СМО с равномерным распределением интервалов поступления требований, фиксированным временем их обслуживания, двумя каналами и 100 местами в очереди. В этой СМО заявки, приходящие в момент времени,
когда все места в очереди заняты, покидают систему (т. е. теряются).
170
Если в СМО поступает n потоков заявок (у каждого потока свой
приоритет), то Δ и Θ приписывают число n в виде индекса. Например, M2|M2|1 обозначает СМО с двумя потоками заявок, имеющими на входе экспоненциальное распределение, с экспоненциальным временем обслуживания, своим для каждого потока. В системе
M2|M|1 время обслуживания всех заявок имеет одно и то же распределение. В случае нескольких входных потоков, имеющих разные
приоритеты, необходимо дополнительно указывать типы приоритетов – абсолютные, относительные.
Теория массового обслуживания (ТМО) подразделяется на три
раздела: элементарную теорию, промежуточную теорию и общую
теорию [9]. Эти три раздела различаются функциями распределения интервалов поступления и времени обслуживания. Соответственно элементарная теория изучает системы M|M|•, промежуточная теория – системы M|G|• и G|M|• и общая теория – системы G|G|•.
Точка • замещает здесь ту часть обозначения СМО, которая может
быть дописана произвольным способом (из предварительно оговоренных).
Системы M|M|• (экспоненциальные СМО) широко используются
при проведении оценочных расчетов. Применение этой математической схемы позволяет получить в аналитическом виде ряд важных
характеристик моделируемого объекта. Рассмотрим основные их
возможности.
2.3.2. Экспоненциальная система массового обслуживания
Одноканальная однородная экспоненциальная СМО [14] имеет канал, по которому приходят заявки. Если СМО пустая (нет заявок), то приходящая заявка занимает канал. Приходящая в непустую СМО заявка становится в очередь последней. Любая занявшая
канал заявка обслуживается, освобождает канал и уходит из СМО.
Если в момент ухода очередь непустая, первая в ней заявка выходит
из очереди и занимает канал. Кружком обозначен канал K, тремя
прямоугольниками – очередь (рис. 2.23).
Стрелки указывают направление движения заявок, точки
у стрелок – вход и выход СМО. Приходы заявок образуют пуассоновV
Тобс
K
Рис. 2.23. Одноканальная СМО
171
ский поток событий. Это означает, что время между приходами любых двух последовательных заявок есть независимая случайная величина с экспоненциальной функцией распределения вероятностей
F (X)= 1 − e − VX.
(2.5)
где V – интенсивность потока заявок, т. е. среднее число заявок,
приходящих в единицу времени. В дальнейшем интенсивность прихода заявок в СМО будем обозначать через λ. Время обслуживания
заявки – тоже независимая случайная величина с экспоненциальной функцией распределения вероятностей (2.5), но параметр Vв
этом случае имеет другое значение. Будем обозначать его через μ.
Величину 1/μ, равную среднему времени обслуживания заявки,
обозначим через Ò îáñ.
В виде одноканальной экспоненциальной СМО можно промоделировать, например, периферийное устройство мультипрограммной вычислительной системы. Тогда приходы заявок будут соответствовать обращениям программ к устройству для выполнения операции ввода или вывода информации; λ будет интенсивностью
таких обращений, Ò îáñ – средним временем выполнения требуемой
операции.
Одноканальная экспоненциальная СМО задается параметрами λ, Ò îáñ. Цель ее анализа заключается в расчете характеристик,
важнейшие из которых следующие:
– коэффициент загрузки ρ;
– средняя длина очереди L;
– среднее число заявок в СМО М;
– среднее время ожидания обслуживания Ò îæ ;
– среднее время пребывания заявки в СМО Ò ïð .
Коэффициент загрузки рассчитывается по формуле
ρ = lÒ îáñ.
(2.6)
Если выполняется условие
ρ ≤ 1,
(2.7)
вступает в действие стационарный режим функционирования СМО,
в котором все вероятностные характеристики системы являются величинами, постоянными во времени. Сами происходящие в СМО события остаются при этом случайными. Если условие (2.7) не выполняется, то стационарного режима у СМО не существует.
В стационарном режиме среднее число М заявок в СМО постоянно, поэтому среднее число заявок, приходящих в СМО в единицу вре172
мени, равно среднему числу заявок, уходящих из СМО. Следовательно, в стационарном режиме интенсивность потока уходящих заявок
равна λ. Коэффициент загрузки ρ в стационарном режиме есть:
а) среднее значение той части единицы времени, в течение которой канал занят;
б) вероятность того, что канал занят;
в) среднее число заявок в канале.
В дальнейшем речь будет идти только о стационарных значениях
характеристик.
Средняя длина очереди (среднее число заявок в очереди) в одноканальной экспоненциальной СМО рассчитывается по формуле
L=
ρ2
.
1−ρ
(2.8)
Среднее число М заявок в СМО равно сумме среднего числа L заявок в очереди и среднего числа ρ заявок в канале:
M=
ρ
.
1−ρ
(2.9)
Заявка перемещается в очереди в среднем с постоянной скоростью. Среднее число переходов заявки в очереди на одно место вперед за единицу времени равно λ. При такой скорости перемещения
L переходов произойдет за время, равное в среднем
T îæ =
Ò îáñ ρ .
1−ρ
(2.10)
Формула (2.10) дает среднее время прохождения заявки через
очередь. Это есть среднее время ожидания.
Среднее время пребывания заявки в СМО есть сумма среднего
времени ожидания и среднего времени обслуживания заявки:
Ò ïð =
Ò îáñ
.
1−ρ
(2.11)
Вероятность наличия в системе k требований определяется с помощью геометрического закона распределения в виде
(1 − ρ)ρk; k = 0,1, 2,...
Характеристики (2.6)–(2.11) могут давать ценную информацию
о системе, моделируемой в виде СМО. Пусть, например, СМО изображает периферийное устройство вычислительной системы. Тогда ρ равен коэффициенту использования устройства, (1 – ρ) – коэффициенту
173
простоя (коэффициент должен быть достаточно велик). Величина
Ò îæ (2.10) характеризует среднее время, в течение которого программы ожидают освобождения устройства. В это время программы фактически «простаивают». Желательно, чтобы оно было достаточно мало.
Многоканальная экспоненциальная СМО отличается от одноканальной числом каналов, которых в ней более одного. Приходящая
заявка становится в очередь, если все каналы заняты. В противном
случае заявка занимает свободный канал.
Многоканальная экспоненциальная СМО [14]задается тремя
параметрами: интенсивностью прихода заявок V, средним временем
обслуживания Ò îáñ и числом каналов K (рис. 2.24).
Формулы для расчета характеристик многоканальной экспоненциальной СМО немногим сложнее (2.6)–(2.11).
Коэффициент загрузки определяется в виде
ρ=
lTîáñ
.
K
(2.12)
Его значение должно отвечать условию стационарности (2.7).
Средняя длина очереди в блоке ожидания
L = b0
(lTîáñ )


K!K 1−
K+ 1
lTîáñ
K



2
, (2.13)
где b0 – стационарная вероятность того, что в СМО нет заявок. Эта
вероятность определяется в виде
b0 =
1
K
K-1
(lTîáñ )
(lTîáñ )
+∑
lTîáñ
m!
) m =0
K!(1 −
K
m
Тобс
λ
K
K
Рис. 2.24. Двухканальная СМО
174
.
(2.14)
Остальные характеристики вычисляются через параметры СМО
следующим образом:
M = L + Kρ; (2.15)
Ò îæ =
L
; l
Ò=
ïð Ò îæ + Ò îáñ. (2.16)
(2.17)
Многоканальную СМО можно поставить в соответствие, например, многопроцессорному блоку вычислительной системы, имеющему общую память для всех процессоров и, следовательно, общую
очередь задач.
Формула Полячека–Хинчина [29] для однолинейной СМО М|G|1
при прямой процедуре обслуживания (первым пришел – первым обслужен) с пуассоновским потоком на входе и произвольным характером времени обслуживания в системе определяет среднее время
ожидания обслуживания в виде
lb2
(2.18)
Ò îæ = 2 1 − lb ,
(
1) где l – интенсивность входного простейшего потока заявок; b1 –
2
среднее время обслуживания; b=
2 b1 + D – второй момент распределения длительности обслуживания (D – дисперсия).
Заявка перемещается в очереди в среднем с постоянной скоростью. Среднее число переходов заявки в очереди на одно место вперед за единицу времени равно l. При такой скорости переходов за
время Ò îæ заявка совершит Lc переходов, это и есть средняя длина
очереди, т. е.
(2.19)
=
Lc T îæ l. Подставляя в формулу (2.19) вместо T îæ его определение (2.18),
получаем выражение для средней очереди СМО М|G|1
=
Lñ
ρ2 
D
1 + 2  .
2(1 − ρ)  b1 
(2.20)
Здесь r = lb1 – коэффициент загрузки СМО.
Отсюда следует, что для модели М|М|1 (экспоненциальное время
обслуживания) при D = b12 средняя длина очереди
Lñý =
ρ2
.
(1 − ρ)
175
Формула Полячика – Хинчина широко используется для расчета характеристик отдельных СМО, но ее применение для анализа сетевых систем затруднено.
Системы M|М|1 обладают тем свойством, что выходящий поток
обслуженных требований в стационарном режиме является пуассоновским. Сохранение пуассоновости в выходящем из отдельных
СМО потоке облегчает построение и расчет характеристик аналитических моделей сетей, представленных в виде стохастических очередей (СеМО), поскольку при этом условии сохраняется независимость длительностей пребывания требований в различных узлах
моделей сетевых систем. Системы M|G|1 не гарантируют сохранение
пуассоновости в выходящем потоке. Отсутствие независимости длительности пребывания требований в различных узлах моделей сетевых систем с нестандартными дисциплинами приводит к значительным трудностям при анализе моделей сетевых систем. Так, например, при достаточно реалистическом предположении о том, что
длина требования остается постоянной в процессе его передачи через узлы сети (что характерно для сетей с пакетной коммутацией),
необходимо прослеживать путь каждого требования, что делает невозможным аналитический расчет характеристики для сети с числом узлов N>2. Аналитический анализ допускают экспоненциальные СеМО.
2.3.3. Экспоненциальные сети массового обслуживания
Сеть массового обслуживания представляет собой совокупность
конечного числа N обслуживающих узлов, в которой циркулируют заявки, переходящие в соответствии с маршрутной матрицей из
одного узла в другой. Для наглядного представления СеМО используется граф, вершины которого (узлы) соответствуют отдельным
СМО, а дуги отображают связи между СМО (узлами).
Переход заявок между узлами происходит мгновенно в соответствии с переходными вероятностями p ij, i, j = 1, N; pij– вероятность
того, что заявка после обслуживания в узле i перейдет в узел j. Естественно, если узлы непосредственно не связаны между собой, то pij = 0.
Если из i-го узла переход только в один какой-либо узел j, то pij = 3.
Таким образом, экспоненциальной будем называть СеМО, отвечающую требованиям:
– входные потоки в СеМО – пуассоновские;
– во всех имеющихся СМО время обслуживания имеет экспоненциальную функцию распределения вероятностей, и заявки обслуживаются в порядке прихода;
176
– переход заявки с выхода i-й СМО на вход j-й является независимым случайным событием, имеющим вероятность pij , i, j = 1, N;
pi0 – вероятность ухода заявки из CeМО.
Если заявки приходят в сеть и уходят из нее, то сеть называется
разомкнутой. Если заявки не приходят в сеть и из нее не уходят,
сеть называется замкнутой. Число заявок в замкнутой сети постоянное.
Свойства разомкнутой экспоненциальной СеМО [3]. В разомкнутой СеМО входным потоком заявок СМО будем называть поток
заявок, приходящих на вход отдельной СМО из внешней среды сети,
т. е. не с выхода какой-либо СМО. В общем случае число входных потоков СеМО равно числу СМО.
В экспоненциальной СеМО поток заявок на входе отдельной СМО
складывается из входного потока (возможно, имеющего нулевую
интенсивность) и из потоков, поступающих с выходов некоторых
других СМO,поэтому для их расчета в заданной СеМО достаточно
найти интенсивности λ1, .., λN входных потоков СМО. Нахождение
интенсивностей λ1, …, λN осуществляется на основе уравнений баланса сети с учетом простых свойств слияния и разветвления потоков. При слиянии N потоков заявок с интенсивностями λ1, …, λN образуется поток, имеющий интенсивность λ = λ1 +, …, + λN. При ветвлении потока с интенсивностью λ на N направлений, вероятности
перехода заявки в которые равны р1, ..., рN, образуется N потоков
c интенсивностями λр1, …, λрN соответственно.
В стационарной СеМО среднее число заявок в любой ее фиксированной части постоянное. Отсюда следует, что суммарная интенсивность входящих в эту часть потоков равна суммарной интенсивности выходящих. Запись данного закона в математической форме
называется уравнением баланса. Выделяя различные части в СеМО
и составляя для них уравнения баланса, можно получить систему
уравнений, связывающую неизвестные интенсивности λ1, ..., λN
c известными I1, .., IN. Обычно при этом в качестве отдельных частей СеМО выделяют все СМО. В этом случае для N неизвестных
имеется N уравнений. Можно добавить к ним уравнение баланса для входных и выходных потоков всей СеМО. Тогда получится
N +1 уравнение, и одно из них можно использовать в качестве проверочного.
Разомкнутая экспоненциальная СеМО задается следующими параметрами:
1) числом N СМО;
2) числом K1,..., KN каналов в СМО 1, …, N;
177
3) матрицей Р = ||pij|| вероятностей передач, i = 1,…,N; j = 0,…, N;
4) интенсивностями I1,..., IN входных потоков заявок;
5) средней величиной продолжительности обслуживания Tîáñ 1,
..., TîáñN заявок в СМО.
Например, СеМО (рис. 2.25) будет задана численно в следующем
виде:
1) N = 3;
2) K1 = 1; K2 = 1; K3 = 2;
1
3) P =
1 0,1

2 0

3  0
2
3
4
0 0,5 0,4

1 0
0 .

1 0
0 
4) I1 = 1; I2 = 0; I3 = 0;
5) Ò îáñ 1 = 0,07; Ò îáñ 2 = 0,06; Ò îáñ 3 = 0,33.
Баланс интенсивностей в сети можно учесть, обозначая интенсивности на входах и выходах СМО и СеМО так, как показано на
рис. 2.25. Применяя свойства слияния и ветвления потоков, запишем, что
l 3 = I1 + l2 + l 3
I = p l
 1 10 1
(2.21)

l2 = p12l1
l3 = p13l1.
При известных I1 = 1; р10 = 0,1; р12 = 0,5; р13 = 0,4 из последних
трех уравнений находим λ1 = 10; λ2 = 5; λ3 = 4. Используя первое
I1
λ1
λ2
Тобс1 K1
Тобс2 K2
p10
λ1
p12
λ2
p13
Тобс3 K3
λ3
λ3
Рис. 2.25. Разомкнутая экспоненциальная СеМО
178
уравнение в выражении (2.21) для проверки, подставляем в него найденные значения интенсивностей и получаем тождество
10 = 1 + 5 + 4, подтверждающее правильность произведенных вычислений.
Далее выполняем проверку стационарности СеМО. СеМО стационарна, если стационарны все СМО, т. е. если
1, N.
ρ j ≤ 1; j =
(2.22)
Проверить эти условия после того, как определены λj, не представляет труда. Условие (2.22) выполняется, поскольку
10 0,07 =
0,7; ρ2 =
5 ⋅ 0,06 =
0,3;
ρ1 =
l1T îáñ1 =⋅
l 2T îáñ2 =
4 ⋅ 0,35/2 =
0,7.
ρ3 =
l 3T îáñ3/2 =
Для стационарной экспоненциальной СеМО с известными интенсивностями λj расчёт локальных характеристик сводится к применению формул (2.6)–(2.17).
Находим, что: ρ1 = 0,7, L1 = 1,63, M1 = 2,33; ρ2 = 0,3, L2 = 0,13,
M2 = 0,43; Ò îæ2 = 0,026, Ò ïð2 = 0,086; ρ3 = 0,7, b0 = 0,176, L3 = 0,402,
M3 = 1,802, Ò îæ3 = 0,1, Ò ïð3 = 0,43.
С помощью такой СеМО можно промоделировать, например, вычислительную систему. Тогда входные потоки заявок СеМО будут
изображать запросы, поступающие на вход вычислительной системы, отдельные СМО будут соответствовать этапам их обработки на
устройствах (процессорах, периферийных устройствах и др.), выходные заявки СеМО – результатам обработки запросов.
Расчет системных характеристик разомкнутых СеМО. Характеристики СеМО определяются обычно на уровне средних значений
и делятся на локальные и системные. К локальным характеристикам СеМО относятся характеристики всех входящих в нее CМО.
Системные характеристики отражают свойства сети в целом, рассматриваемой как единая, неделимая на части система.
Наиболее важными системными характеристиками СеМО являются:
1. Среднее время Ò ïð пребывания в сети. Временем пребывания
в сети называется время между приходом заявки в сеть и ее уходом
из сети.
2. Передаточные коэффициенты a ij; i, j = 1,N. Пусть заявка
входит в сеть из i-го входного потока. Ее маршрут в сети случаен, поэтому случайно и число приходов в j-ю СМО за время пребывания
в сети. Среднее значение a ij этого числа приходов называют пере179
даточным коэффициентом. Он однозначно определяется для любых
i, j, матрицей Р вероятностей передач.
3. Входовая средняя продолжительность пребывания в сети F1,
…, FN. Величина Fj определяется как среднее время пребывания
в сети заявки, поступающей из j-го входного потока j = 1,N .
4. Условная пропускная способность B1, …, BN. Предположим,
что в заданной СеМО значение интенсивности Ij заменено на максимальное значение, при котором сеть ещё стационарна. Это значение
Bj будем называть условной пропускной способностью по входу j.
При заданных Ik(k ≠ j) сеть стационарна для любых значений
Ij ≤ Bj.
5. Запасы D1, …, DN по пропускным способностям. Запас Dj =
=
1,N. Запас Djпоказывает, насколько может быть увелиB j − J j; j =
чена интенсивность прихода заявок на j-м входе (при заданных
остальных) без нарушения условия стационарности.
Если в виде СеМО моделируется некоторая реальная система, то
названные характеристики могут дать ценную информацию о свойствах этой реальной системы. Например, если СеМО изображает
вычислительную систему реального времени, то среднее время пребывания Tïð характеризует среднее время ответа системы, а запасы
Di выражают готовность системы продолжать устойчивое функционирование при увеличении нагрузки (интенсивности запросов) по
тому или иному входу.
Среднее время пребывания заявки в СеМО рассчитывается по
формуле
(
Ò ïð =
1 N
∑ l jT ïðj, I j =1
)
(2.23)
где I = I1, …, IN.
Важное и полезное свойство передаточных коэффициентов состоит в следующем. В стационарном режиме при любых I1 +, …, + IN
для λ1, …, λN справедливо
l=
a 11 I 1 + a 21 I 2 + ... + a N1 I N ;
1

a 12 I1 + a 22 I 2 + ... + a N 2 I N ;
 l=
 2
...........................................;
l= a I + a I + ... + a I .
 N
1N 1
2N 2
NN N
(2.24)
Обратим внимание на то, что строка передаточных коэффициентов в выражении (2.24) представляет собой столбец матрицы ||aij||.
180
Система (2.24) выражает интенсивность λj прихода заявок в СМО через интенсивность I1 +, …, + IN входных потоков сети.
Приведем алгоритм вычисления матрицы ||aij||.
1. Составим уравнения баланса сети, включающие интенсивность
I1, …, IN в буквенном виде,
2. Положим k = 3.
3. Решим уравнения баланса для случая, когда Ik = 1, остальные
Ii = 0. Полученные значения λ1, …, λN запишем в k-ю строку матрицы передаточных коэффициентов.
4. Положим k = k + 3.
5. Если k < N, перейдем к 3-му пункту, иначе – к 6-му.
6. Конец.
Входовое среднее время пребывания. Рассмотрим СеМО на рис. 2.25
и проследим, как формируется входовое время пребывания в сети
заявки первого потока. Это время состоит из двух слагаемых.
Первое слагаемое есть среднее время пребывания в СМО – Ò ïð1.
Второе слагаемое включает составляющие: с вероятностью р10, равной нулю (заявка уходит из сети), с вероятностью р12, равной входовому времени пребывания для входа 2 (заявка входит в сеть через
СМО 2) и с вероятностью р13 – входовому времени пребывания для
входа 3. Итак, в среднем второе слагаемое составляет величину
p100 + p12F2 + p13F3 = p12F2 + p13F3. В целом среднее входовое время
пребывания F1 равно сумме средних значений первого и второго
слагаемых:
=
(2.25)
F 1 Ò ïð1+ p12 F 2 + p13 F 3.
Рассуждая аналогично о входовой средней прдолжительности
пребывания F2 и F3 можно записать для нее сходные с выражением
(2.25) уравнения, которые вместе с ним составят следующую систему уравнений:
F1 =
Ò ïð1 + p12F 2 + p13F 3;

(2.26)
=
 F 2 Ò ïð2 + F 1;

=
 F 3 Ò ïð3 + F 1.
Развернутая форма условия стационарности. Условие стационарl jT j
1,N.
≤ 1; j =
ности СеМО запишем в виде
Kj
Эта запись эквивалентна следующей: l j ≤ K j/T j; j =
1,N .
181
Выражая λj через Ij по формуле (2.24), получим развернутую форму условия стационарности:
a 11 I 1 + a 21 I 2 + ... + a N1 IN ≤ K 1 /T 1;

a 12 I 1 + a 22 I 2 + ... + a N 2 I N ≤ K 2 /T 2;
(2.27)

................................................ ;
a I + a I + ... + a I ≤ K /T .
N
N
NN N
 1N 1
2N 2
Эта система неравенств эквивалентна выражению (2.24).
Условная пропускная способность Bi может быть найдена из
выражения (2.27). Для ее нахождения в (2.27) следует подставить
заданные значения всех величин входной интенсивности СеМО,
кроме Ij. Затем полученная система разрешается относительно Ii
в виде
 I 1 ≤ B1;

.........;
 ≤
 I N B N.
(2.28)
Bi находится как наименьшая из правых частей в (2.28). Если условие стационарности СеМО содержит лишь одно неравенство, то нахождение Bi упрощается.
Запасы по пропускным способностям Di вычисляются непосредственно по их определению.
Рассмотрим пример анализа СеМО. Определим системные характеристики для СеМО на рис. 2.25.
Среднее время пребывания заявки в СеМО:
3
∑ l jÒ ïðj
=
Ò ïð
j =1
=
I1 + I 2 + I 3
10 ⋅ 0,233 + 5 ⋅ 0,086 + 4 ⋅ 0,45
= 4,56 ñ.
1+ 0 + 0
Передаточные коэффициенты aij однозначно определяются матрицей Р вероятностей передач. Из уравнения (2.24) вытекает, что
при I2 = …IN = 0, I1 = 1 имеет место
l 1 = a 11;

l 2 = a 12;

............ ;

l N = a 1N .
182
Это позволяет найти строку коэффициентов a1j матрицы ||aij|| путем решения уравнений баланса сети для случая I1 = 1, I2 = …IN = 0.
Найденные значения λ1, …, λN будут численно равны коэффициентам a11, …, a1N. Аналогично для случая, когда Ik = 1, остальные
Ii = 0 решение уравнений баланса даст значения ak1, …, akN.
Найдем матрицу ||aij|| для CeМO(см. рис. 2.25), составим уравнения баланса:
l1 = I1 + l 2 + l 3;
 + + =
 I1 I 2 I 3 p10;

=
l 2 p12l1 + I 2;
l 3 p13l1 + I 3.
=
Решим эти уравнения для I1 = 1; I2 = I3 = 0. Получим λ1 = 10;
λ2 = 5; λ3 = 4. Для I2 = 1; I1 = I3 = 0 решением будет λ1 = 10; λ2 = 6;
λ3 = 4 и для I3 = 1; I1 = I2 = 0 решением будет λ1 = 10; λ2 = 5; λ3 = 3.
Следовательно, матрица ||aij|| этой СеМО имеет вид:
10 5 4
a ij =
10 6 4 .
10 5 5
Входовое среднее время пребывания. Из системы (2.26) при известных Ò ïðj, найденных при расчете схемы на рис. 2.25, нетрудно
найти F1 = 4,56; F2 = 4,64; F3 = 5,01.
Развернутая форма условия стационарности. Для конкретных
СеМО некоторые из неравенств системы (2.27) оказываются излишними. Такие неравенства можно исключать из системы, не изменяя
решения. Для рассматриваемой СеМО условие (2.27) примет вид
10I 1 + 10I 2+10I 3 ≤ 1 / 0,07;

5I 1 + 6I 2 + 5I 3 ≤ 1 / 0,06;
4 + 4 + 5 ≤ 2 / 0,35.
 I1 I 2 I 3
или после сокращения на положительные коэффициенты:
 I 1 + I 2 + I 3 ≤ 10 / 7;

 I 1 + 1,2I 2 + I 3 ≤ 10 / 3;  + + 1,25 ≤ 10 / 7.
I3
I1 I 2
(2.29)
В этой системе второе неравенство вытекает из первого (сравните их, предварительно умножив первое на 1,2), поэтому второе неравенство может быть отброшено. Кроме того, первое неравенство
183
вытекает из третьего, поэтому его тоже можно отбросить. Следовательно, условие стационарности (2.29) эквивалентно следующему:
I1 + I2 + 1,25I3 ≤ 10 / 7. (2.30)
Условная пропускная способность. Условную вероятность для
рассматриваемой СеМО найдем из выражения (2.30):
В1 = 10/7; В2 = 3/7; В3 = 12/33.
Запасы по пропускным способностям составляют D1 = 10/7 –
– 1 = 3/7; D2 = 3/7 – 0 = 3/7; D3 = 12/35 – 0 = 12/33.
Схема расчета замкнутой СеМО. Итерационный метод анализа
[21] средних значений характеристик замкнутых СеМО (ЗСеМО) позволяет определять такие практически важные показатели функционирования, как средние длины очередей и время ожиданий (пребываний в СеМО), производительности сети и загрузки ее узлов и т. д.
В ЗСеМО циркулирует конечное число заданий. Узел i такой ЗСеМО представляет собой обслуживающий прибор (возможно, многоканальный) с экспоненциальным распределением времени обслуживания и очередь заявок, ожидающих обслуживания. Дисциплина обслуживания «первым пришел – первым обслужен» такова, что
обслуживающий прибор не простаивает при наличии хотя бы одной заявки в очереди. После обработки заявки в узле i она с вероятN
ностью Рij ( ∑ P ij = 1, где N– общее число узлов в ЗСеМО) переходит
n =1
на обслуживание в другой узел j. Общее число заявок по всей сети
постоянно и равно Ј.
Решающим в анализе средних значений является вычисление
среднего времени задержки в узле i, i = 1, …, N, ЗСеМО. Рассмотрим
момент, когда заявка поступает в эту систему Средняя задержка,
которую испытывает заявка, состоит из времени ее обслуживания
tk и времени обслуживания заявок, ожидавших перед ним в очереди, включая заявку, находившуюся на обслуживании.
Среднее время задержки (пребывания) заявки в k-м узле при наличии в сети j заявок связано со средним числом ожидающих при
наличии в сети (j – 1) заявок соотношении [3]:


 n ( j − 1)  
 k

 ,
a k  

Ò ïð = t k  1 + 

где nk (j) – среднее число заявок в узле k при наличии в сети j заявок; ak – число обслуживающих приборов в k-м узле.
184
Данное равенство имеет в точности желаемую рекуррентную
форму. Применительно ко всей ЗСеМО эта форма выглядит следующим образом.
Обозначим:
а) N – количество узлов сети;
б) T ïð(v) =
=
T ïp k (v)  , k 1, N – вектор средних времен пребывания заявок в СМО сети при наличии в сети vзаявок;
в) T îáñk – среднее время обслуживания заявок в k-й СМО, k = 1, N;
г) nk(v) – среднее число заявок в k-й СМО при наличии в сети v
заявок;
д) ak – число обслуживающих приборов в k-й СМО;
е) T ïð (v) – среднее время пребывания заявок в СеМО при наличии в сети v заявок.
Для v= 1, γ и k = 1, N рассчитывается среднее время пребывания
в k-й СМО при наличии в сети vзаявок.
nk ( v − 1) 

T=
ïpk (v) T îáñk  1 +
. ak


(2.31)
Среднее время пребывания заявок в замкнутой СеМО при наличии в сети v заявок
T ïð (v) = eTïð (v);
v
l(v) =
;
Òïð (v)
(2.32)
(2.33)
nk (v) = l(v)ekTïð k (v) .
(2.34)
Величина l(v) – пропускная способность ЗСМО при наличии
в ней v заявок.
=
e [ e=
Вектор
k ], k 1, N является решением системы линейных
уравнений (уравнений баланса для замкнутой сети):
(2.35)
e = eP,
которая определяет стационарное распределение цепи Маркова,
управляющей переходами заявок в ЗСеМО, с матрицей вероятностей переходов:
=
P  P
=
, N; j 1,N ,
ij  ; i 1=
185
ε
0 1 2 3 4 5 6 7 8 9 10 11 12
v
1
0,9
0,8
0,7
0,6
0,52.26. Характеристика процесса насыщения
Рис.
N
где ∑ P ij = 3. Система (2.35) решается при дополнительном ограниj =1
чении
N
∑ ei = 1.
i =1
Выполнение процедуры (2.31)–(2.34) начинается с v = 1, nk = 0
для ∀k =
1, N .
Вычисление (увеличение v на 1) ведутся до тех пор, пока ЗСеМО
не войдет в состояние насыщения.
Критерий (признак) насыщения (рис. 2.26):
l (v − 1)
≥ e,
l (v )
(2.36)
где 0,9 < e < 1 – численное значение критерия насыщения.
Значение l(v), удовлетворяющее (2.36), принимается за пропускную способность (производительность) замкнутой СеМО.
Рекуррентная численная процедура (2.31)–(2.34) расчета замкнутых сетей массового обслуживания широко используется для
расчета производительности многомодульных систем, например,
коммутаторов в корпоративных сетях.
2.4. Имитационное моделирование систем
Имитационное моделирование (ИМ) – это метод исследования,
который основан на том, что анализируемая динамическая система заменяется имитатором и с ним производятся эксперименты для
получения новых сведений об изучаемой системе. Роль имитатора
зачастую выполняет программа ЭВМ. Имитационные модели связаны не с аналитическим представлением, а с принципом дина186
мической имитации с помощью информационных и программных
средств сложных процессов и систем [15].
Модель системы при ИМ представляет собой совокупность моделей элементов и их функциональные взаимосвязи. Модель элемента (агрегата, обслуживающего прибора) – это, в первую очередь,
набор правил (алгоритмов) поведения устройства по отношению
к входным воздействиям и правил изменений состояний элемента.
Элемент отображает функциональное устройство на том или ином
уровне детализации. В простейшем случае устройство может находиться в работоспособном состоянии или в состоянии отказа. В работоспособном состоянии устройство может быть занято, например
выполнением определенной операции или быть свободным.
При имитационном моделировании стохастических систем определяющими являются два аспекта: построение моделирующего алгоритма и разыгрывание случайных факторов, обусловливающих
возможные состояния системы.
Моделирующий алгоритм обеспечивает воспроизведение во времени процесса смены состояний системы, т. е. строит траектории
процесса функционирования системы. Функционирование системы представляется как хронологическая последовательность событий. Продвижение системного времени реализуется посредством
программирования симулятора – «движителя», который воспроизводит во времени движение (смену состояний) объекта моделирования. Для разыгрывания случайных факторов применяется метод
статистических испытаний (метод Монте-Карло), особенности которого рассматриваются в следующем разделе.
2.4.1. Основные понятия имитационного моделирования
Устройство (средство) – элемент имитационной модели, который
позволяет провести имитацию процесса обслуживания. Простые
(одноканальные) имитационные модели обслуживают одновременно одну заявку; сложные (многоканальные) позволяют одновременно обслуживать несколько заявок.
Заявка инициирует начало какого-либо процесса в системе.
Заявка характеризуется внутренней структурой: одиночная или
групповая (группа однотипных заявок). Генератор заявок реализует законы их поступления в систему. В соответствии с законом поступления заявки бывают: детерминированные (время поступления заявки в систему четко определено) и вероятностные (используется нормальное, равномерное, экспоненциальное и другие виды
распределений).
187
Очередь – элемент модели, включающий заявки, которые по
каким либо причинам не могут быть обслужены. Очереди ставятся перед каждым устройством, на входе системы, на выходе, либо
в точках, которые являются потенциальными «узкими» местами
в системе, либо в этой точке необходимо провести дополнительное
накопление результата.
Процесс – последовательность событий и работ, описывающая
поведение во времени какого-либо объекта в моделируемой системе.
Простые процессы характеризуются последовательным характером выполнения, минимальным количеством типов заявок и
условий инициации процесса и обслуживания заявок, наличием
простых устройств в обслуживании; сложные процессы описываются большим количеством типов заявок, имеют сложные условия развития и инициации, используют сложные, многофазные
устройства.
Для описания процесса необходимо знать:
1. Заявки, которые с ним связаны;
2. Характер их поступления в систему (условия инициации самого процесса);
3. Устройства, которые связаны с обслуживанием в рамках данного процесса;
4. План-график выполнения работ или задач в рамках данного
процесса;
5. Условия связи с другими процессами;
6. Критерий оценки эффективности.
События связаны с изменением состояния системы и ее объектов. События обеспечивают прерывистость процесса. Процесс представляется из набора активностей и пассивностей. Начало каждой
активности связано с возникновением события в системе.
Работа – действие, происходящее в моделируемой системе в течение определенного промежутка времени. Работа начинается и заканчиваются событиями.
Системное время. Механизмы учета системного времени:
1. Время изменяется равномерно с определенной дискретностью.
2. Скачкообразное изменение времени в соответствии с возникновением событий. Список будущих событий – каждое событие
имеет характеристику времени возникновения.
Управляющая программа (монитор) просматривает список будущих событий и извлекает событие, которое находится в вершине:
– выполняет данное событие;
– изменяет значение счетчика времени.
188
Случайные факторы в моделировании. Источники появления
случайных факторов могут быть внешними и внутренними. Для
моделирования случайных факторов необходимо знать закон, по
которому изменяются случайные факторы. Данный закон обычно
задается при помощи соответствующих теоретических либо эмпирических функций распределения. При этом необходимо использовать генераторы псевдослучайных чисел для имитации случайности тех или иных событий.
Задачи – представляют собой любую активность – элемент процесса.
2.4.2. Построение моделирующего алгоритма
При разработке имитационной модели и планирования проведения модельных экспериментов различают модельное (системное)
время и машинное время. Машинное время отражает затраты времени ЭВМ на проведение имитации. Системное время соответствует реальному времени. С помощью механизма системного времени
отображается переход моделируемой системы из одного состояния
в другое, производится синхронизация работы компонентов модели
и квазипараллельная реализация событий, которые в реальной системе возникают (протекают) одновременно.
Опишем, как моделируется система в общем случае.
В памяти ЭВМ отводится несколько ячеек для переменных, характеризующих состояние системы в целом и отдельных ее элементов. Содержимое этих ячеек изменяется в соответствии с алгоритмом моделирования так, как это происходит в реальной системе
при ее функционировании. Отдельная ячейка содержит текущее
системное время, указывающее, к какому моменту времени относится состояние системы, записанное в памяти ЭВМ. Содержимое
указанных ячеек памяти меняется путем циклического повторения основной части алгоритма моделирования, называемой шагом
(циклом) имитации. За один шаг осуществляется переход к следующему значению системного времени, т. е. продвижение во времени. Попутно изменяется значение переменных, характеризующих
состояние системы. Таким образом, шаг за шагом имитируется смена состояний системы, т. е. моделируется процесс функционирования системы.
Рассмотрим принципы продвижения во времени.
Принцип Dt. Первая мысль – увеличивать системное время за
один шаг на постоянную величину Dt, это – так называемый принцип Dt . При использовании этого принципа возникает проблема
189
выбора длины интервала Dt. Как правило, алгоритм шага рассчитан
на имитацию одного события: поступления заявки, завершения фазы обслуживания и т. п. Событие– это любое изменение в системе.
Все изменения, связанные друг с другом причинно-следственными
связями и происходящие в один и тот же момент времени, обычно
рассматриваются как одно событие. Допустим, поступила заявка.
При этом увеличилось число заявок в системе. Если эта заявка сразу поступила на обслуживание, то изменилось состояние прибора и
количество занятых приборов. Все это – одно событие – поступление заявки.
Возможно, что за время Dt в системе (например, СМО) произойдет
несколько событий (в разные моменты). В таком случае алгоритм,
рассчитанный на имитацию одного события за один шаг, неправильно отразит изменения, произошедшие в системе. Чтобы избежать этого, есть два пути. Первый путь – разработка алгоритма шага, рассчитанного на имитацию нескольких событий. Этот путь приводит к значительному усложнению алгоритма. Другой путь – использование
столь малого интервала Dt, что за это время практически не происходит более одного события. Этот путь приводит к резкому увеличению
затрат машинного времени, так как с уменьшением Dt соответственно возрастает число шагов, которое надо выполнить, чтобы имитировать процесс на заданном отрезке времени. При малом Dt большинство шагов окажутся пустыми, так как события будут происходить
лишь на некоторых интервалах Dt, а на прочих интервалах состояние
СМО будет сохраняться таким же, как на соседних интервалах.
Принцип особых моментов. Последнее замечание наводит на
мысль, что целесообразно проскакивать за один шаг весь промежуток времени между соседними событиями и тем самым избежать
пустых шагов. Это – принцип особых моментов. Особым моментом принято называть такой момент времени, когда в системе происходит какое-либо изменение, иначе говоря, происходит событие.
За один шаг осуществляется продвижение по времени на случайный
отрезок: от одного особого момента до другого. Рис. 2.27 демонстрирует способы представления и управления временем в обоих случаях.
Примем следующие соглашения:
– пусть время – частично упорядоченное множество T = {t1, t2,
…, tn};
– пусть существует множество событий ei ∈ E, i = 1, 2, …;
– все происходящие в модели события фиксируются в календаре событий, (обозначим его Sсобытий) – это список элементов Si, где
каждый элемент Si представляет собой пару (ei, ti).
190
а)
е1е2е3е4 =е5е6е6
∆t
0
б)
t
∆t
S1
S3
S2
S4
е1е2е3е4 =е5е6
t
0
S1
S2 S3
S4
S5
S1
S2
S3
S4
S событий
∆t
e1
2∆t е2, е3
3∆t е4,е5
4∆t е6
S1
S2
S3
S4
S5
S событий
e1
t1
е2
t2
е3
t3
е4, е5
t4
е6
t5
Рис. 2.27. Управление модельным временем: а – с постоянным шагом;
б – по особым состояниям
По оси времени отложена одна и та же последовательность событий ei. Как видно, два события e4 и e5 появляются одновременно. Стрелки указывают на точки, в которых происходит приращение времени на один такт и моменты наступления очередных
событий в обеих моделях. В модели, использующей принцип особого состояния, имитируемое время при изменении сдвигается вперед точно на момент наступления самого раннего из последующих
событий, а в модели, использующей принцип постоянного шага,
имитируемое время сдвинется ровно на фиксированное значение
Dt . Управляющая программа (симулятор) в модели на рис. 2.27, а
продвигает время с постоянным шагом Dt и фиксирует в календаре событий состояние, в котором находится исследуемый объект.
Симулятор на рис. 2.27, б продвигает время до ближайшего следующего события и в календаре фиксирует само событие и время,
когда оно произошло – это и будет новое состояние, в котором находится исследуемый объект до тех пор, пока не произойдет новое
событие.
Чтобы ЭВМ могла вычислить очередной особый момент, используется так называемый календарь. Календарь, или расписание
предстоящих событий – это группа ячеек памяти, где для каждого типа события указан ближайший момент, когда такое событие произойдет. Имея календарь, нетрудно определить очередной
особый момент. Это наименьший из моментов, записанных в календаре.
191
Чтобы заполнить календарь и в дальнейшем корректировать его
содержимое, осуществляется планирование событий. Допустим,
в текущий момент поступила заявка и сразу была взята на обслуживание первым прибором, так как он оказался свободным. Закон
распределения времени обслуживания задан наряду с другими данными. Обратившись к специальной подпрограмме – датчику случайных чисел, - ЭВМ генерирует случайное время обслуживания
в соответствии с указанным законом распределения. Прибавив это
время к текущему моменту, ЭВМ вычисляет момент, когда освободится первый прибор, и заносит это число в ячейку календаря, отведенную для первого прибора. Аналогично заполняются другие
ячейки календаря.
При моделировании СМО целью является определение характеристик качества функционирования СМО, например вероятности
потери заявки, или других величин: коэффициента загрузки прибора, средней длины очереди и т. п. Эти характеристики и вычисляются по окончании имитации на основе статистик, накопленных
в процессе имитации. Примеры статистик: Kз– количество поступивших заявок; Kп– количество потерянных заявок; Тс.з– суммарное время занятости прибора. На основании этих статистик можно
вычислить искомые характеристики: вероятность потери заявки
Ð̂ïîò = Êï Êç и коэффициента загрузки одного прибора Ð̂ç.ï = Òñ.ç Ò ,
где Т– длина реализации, т. е. длительность имитированного процесса. Операторы, осуществляющие пополнение статистик, входят в состав алгоритма шага.
Основная часть алгоритма имитации представляет собой циклическое повторение шагов имитации до тех пор, пока не будет выполнено условие остановки. Остановка производится после выполнения заданного числа шагов или достижения заданного значения
системного времени (длины реализации). Чем длиннее реализация,
тем точнее оценки искомых характеристик.
Рассмотрим организацию цикла на примере моделирования
СМО с отказами (рис. 2.28). Предполагается получить оценку вероятности потери заявки (вероятности отказа) путем воспроизведения
на ЭВМ достаточно длинного отрезка реализации. Два способа оценивания: 
K
– по заявкам Ð çîòê = îò , где K îò – количество заявок, получивKñ
ших отказ; K ñ – общее количество заявок, поступивших в систему;
– по времени Ð Òîòê = Ò 1 , где T1 – суммарное время, когда прибор
ÒÌ
находится в занятом состоянии; TM – общее время моделирования.
192
На рисунке следующие обозначения: Z – состояние системы:
Z = 0 – свободен, Z = 1 – занят; t – интервал между заявками; tобс –
время обслуживания заявки; tз – момент поступления заявки;
toсв – момент освобождения прибора (канала) обслуживания; tт – текущий момент.
Z
1
t3
t3
tосв
t
0
τ обс
τ
с
λ1
Рис. 2.28. Поток заявок, состояние СМО
Начало
В
Да
Z=0
Нет
T0 = T0 + 1
А
Нет
T1 = T1 + 1
Да
tT = t3j
tT = t3j
Да
Kот := Kот + 1
Z := 1
Нет
ττобс
обс
Tобс := tT + τобс
Kс := Kc + 1
tT = tосв
Да
Z := 0
τ
t3(j + 1) := tT + τобс
А
tT := tT + 1
В
Рис. 2.29. Цикл, организованный по принципу ∆t
193
Начало
Да
Z=0
Нет
Да
tT=t3j
tT<tзj
Нет
Т0 =Т0+(tT – tп)
tT=tзj
tT=tосв
Z:=1
Т1= Т1+(tT – tп)
Т1= Т1+(tT – tп)
τобс
Kот:= Kот+1
Z:=0
Tобс:=tT+τобс
Kс:= Kс+1
τ
tз(j+1):=tT+τобс
tп:=tT
Конец
Рис. 2.30. Цикл, организованный по принципу особых моментов
Цикл, организованный по принципу ∆t (рис. 2.29). Перед началом цикла в памяти хранится: tз, если Z = 0; toсв, если Z = 1. Время
измеряется числом тактов.
Цикл, организованный по принципу особых моментов (рис. 2.30).
Особый момент: поступает заявка, закончено обслуживание заявки (освобождение прибора). К началу цикла в памяти хранится:
tп – последний особый момент; tз – момент поступления очередной
заявки; tосв – момент освобождения прибора, следующий за tп, если
в момент tп система занята.
Начинается цикл с того, что последний особый момент рассматривается как предыдущий и определяется очередной особый
момент.
194
В каждом конкретном случае принцип продвижения времени
выбирается разработчиком в зависимости от характера системы,
которую необходимо моделировать. Принцип Dt предпочтительнее,
если события появляются более-менее регулярно и распределены во
времени относительно равномерно. Принцип особых моментов позволяет экономить машинное время, когда существенные события
могут длительное время не наступать; не требует определения величины приращения времени; эффективен при неравномерном распределении событий во времени.
Парадоксы времени. Алгоритм управления временем должен
следить за тем, чтобы события выполнялись в хронологическом порядке. Эта задача не является тривиальной. Действительно, логический процесс заранее не может знать о том, на какое время будет
запланировано событие, которое он получает от другого логического процесса.
Рассмотрим пример. Пусть модель представляет собой совокупность трех процессов. Один процесс отображает поведение покупателя, второй – магазина, в котором покупатель совершает покупки,
а третий процесс – деятельность банка, со счета которого покупатель снимает деньги. Предположим, что покупатель приобрел товары (в кредит) в магазине на определенную сумму N (событие e1, произошло в момент времени t1 = 9). Магазин уведомил об этом банк
(e2, t2 = 10). Сумма на счете уменьшается: S = S – N. Покупатель
посещает банк с целью снять деньги со счета (e3, t3 = 11). Если денег
на счете достаточно, то банк выдает клиенту, которым является покупатель, запрошенную им сумму. Если счет меньше запрошенной
суммы, то покупателю будет отказано.
Хронологический порядок событий: e1, e2, e3 представлен на
рис. 2.31.
Рассмотрим ситуацию, когда уведомление в банк из магазина поступит позже того, как покупатель снимет сумму со вклада в банке (которой уже нет на счете). Банк понесет убытки. Эта ситуация
возникла вследствие того, что хронология событий была нарушена
(рис. 2.32).
Нарушение хронологического порядка могло произойти по той
причине, что в распределённом моделировании время для разных
логических процессов движется с разной скоростью. Например,
если процесс, реализующий работу магазина, выполняется на загруженном процессоре, то уведомление банку поступает позже, поскольку процесс банка «убежал» вперед (он выполняется на менее
загруженном процессоре).
195
Покупатель
e1
e2
e3
Магазин
Банк
t1 = 9,
t2 = 10,
Покупатель
приходит
в магазин
t3 = 11,
Магазин
уведомляет
банк о кредите
его клиента
Покупатель
(он же клиент)
приходит в банк,
чтобы снять
сумму денег со счета
Рис. 2.31. Банк получает сообщения в хронологическом порядке
Покупатель
e1
e2
e3
Магазин
Банк
t1 = 9,
t2 = 10,
Покупатель
приходит
в магазин
t3 = 11,
Магазин
уведомляет
банк о кредите
его клиента
Покупатель
(он же клиент)
приходит в банк,
чтобы снять
сумму денег со счета
Рис. 2.32. Хронологический порядок событий нарушен
Имитационный алгоритм должен уметь бороться с такими парадоксами времени. В этом заключается проблема синхронизации
компонентов имитационного моделирования. Было предпринято
множество попыток решить эту проблему. В настоящее время все
алгоритмы синхронизации делятся на консервативные и оптимистические. Консервативный алгоритм не позволит логическому
процессу обрабатывать событие с определенной временной отметкой, пока не убедится, что другой логический процесс не заплани196
ровал событие с меньшей временной меткой. Оптимистический алгоритм позволяет выбирать из списка необработанных событий очередное событие и обрабатывать его, исключив проверку событий,
планируемых другими логическими процессами. Однако отдельный программный механизм обнаруживает ошибки и восстанавливает события, которые происходят не в хронологическом порядке.
2.4.3. Схемы построения моделирующего алгоритма
Наряду со схемой событий большое распространение получила
и схема процессов [10]. Сформулируем необходимые понятия: событие, работа, процесс и др.
Событие – это изменение в системе, относящееся к какому-то
моменту времени. Применительно к модели это – скачкообразное
изменение одной или нескольких дискретных величин либо достижение непрерывно изменяющейся величиной заданной границы.
Примеры событий: поступление заявки, освобождение прибора, наступление срока хранения скоропортящегося продукта.
Работа – действие, происходящее в моделируемой системе в течение определенного промежутка времени. Примеры: подготовка
заявки, обслуживание заявки в приборе. Время, требующееся для
работы, может быть случайной величиной, но к моменту имитации
работы случайная величина должна получить конкретное значение
(с помощью датчика случайных чисел). Работа начинается и заканчивается событиями.
В моделируемой системе событие происходит мгновенно, а работа требует времени (системного). В имитационной модели картина
обратная: на имитацию события затрачивается некоторое машинное время, а имитация работы практически не требует машинного
времени, так как имитируется не сама работа, а завершающее ее
событие.
Как правило, для начала работы требуется наличие определенных условий. Например, чтобы начать кирпичную кладку, требуются кирпичи, раствор и рабочий-каменщик. При моделировании
дискретных процессов в качестве условий чаще всего рассматривается наличие ресурсов. Например, чтобы начать обслуживание заявки, требуется наличие свободного прибора. Ресурс можно понимать
как оборудование, необходимое для выполнения работы (станок,
прибор), но это может быть и работник. Для ресурса характерно,
что он занят в момент начала работы (или заранее) и освобождается
в момент ее окончания.
197
Процесс – последовательность событий и работ, описывающая
поведение во времени какого-либо объекта в моделируемой системе.
Приведем три примера.
Процесс «генерирование заявок источником»:
– подготовка заявки (работа);
– выдача заявки (событие).
Процесс «прохождение заявки»:
– занятие прибора (событие);
– обслуживание заявки в приборе (работа);
– освобождение прибора (событие).
Процесс «обработка детали на станке»:
– занятие рабочего (событие);
– занятие станка (событие);
– обработка детали (работа);
– освобождение станка (событие);
– контрольные измерения (работа);
– освобождение рабочего (событие).
Каждая работа или событие – это фаза процесса. Имитация процесса на ЭВМ производится по фазам. Фаза имитируется без прерывания, но по окончании имитации фазы возможно прерывание
и переход к имитации другого процесса.
Опираясь на введенные понятия, рассмотрим основные особенности схемы событий и схемы процессов, их положительные и отрицательные стороны.
При моделировании по схеме событий понятия работы и процесса не используются. Выделяется несколько событий так, чтобы они
исключали друг друга и в совокупности охватывали все возможные
изменения в системе. Это напоминает разбиение множества элементарных событий на непересекающиеся подмножества (события)
в теории вероятностей с той разницей, что событие – это не только
подмножество элементарных событий, но и причинно-следственные
связи между элементарными событиями. Например, при моделировании СМО событие «поступление заявки» охватывает несколько
элементарных событий: выдачу заявки источником, занятие прибора, начало обслуживания, потерю заявки (в случае отсутствия свободного прибора). Видно, что элементарные события взаимосвязаны; если не удастся занять прибор, то обслуживание не начнется,
а произойдет потеря заявки. В алгоритме имитации отражаются
не все элементарные события, а только те, без которых невозможно
построение реализации, обеспечивающее нахождение искомых характеристик [10].
198
Основные принципы построения моделирующего алгоритма по
схеме событий следующие.
За один шаг имитируется одно событие. Каждому шагу соответствует Тi – тот особый момент, когда происходит имитируемое на
этом шаге событие.
Продвижение во времени: за один шаг двигаемся от момента предыдущего события до момента текущего события. Интервал между
особыми моментами, как правило, имеет случайную длину.
Очередной особый момент находится путем поиска минимума
в календаре.
Календарь содержит по одной ячейке для каждого типа события.
В календаре указаны ближайшие после Тi моменты наступления
событий.
Тип события, которое подлежит имитации на текущем шаге,
определяется одновременно с моментом события.
Имитация события сводится к изменению значений переменных,
описывающих состояние отдельных элементов и системы в целом.
Пополнение (корректировка) статистик, нужных для последующего вычисления оценок искомых характеристик, производится
после имитации события.
Планирование событий. Текущее событие может сделать возможным определение моментов некоторых последующих событий.
Запоминание в отдельных ячейках значения некоторых переменных в самом начале шага и сохранение их в памяти до конца
шага.
Длина реализации измеряется либо числом шагов, либо системным временем.
Итак, алгоритм шага содержит следующие части:
– запоминание значений некоторых переменных,
– определение момента и типа очередного события,
– имитация события, пополнение статистик,
– планирование событий.
Каждому типу события соответствует блок в алгоритме
имитации, а каждому событию - определенное место в календаре. Алгоритм шага состоит в выяснении типа очередного события
(с помощью календаря) и выполнении тех блоков алгоритма, которые соответствуют этому типу события.
Шаги выполняются до тех пор, пока не будет воспроизведена
реализация заданной длины. Длина реализации измеряется либо
числом шагов, либо системным временем. Не исключены и другие
правила остановки, например по количеству обслуженных заявок.
199
До начала шагов производятся ввод исходных данных и установка начальных значений переменных, а по окончании шагов – подсчет оценок искомых характеристик по накопленным статистикам
и выдача результатов.
Описанные принципы моделирования пригодны как для простых, так и для сложных случаев, но в сложных случаях потребуется работа по составлению перечня возможных событий и разработке
алгоритмов имитации этих событий. Трудность состоит в том, что
многие события оказываются взаимообусловленными и должны
рассматриваться как одно сложное событие, включающее ряд элементарных событий. Рассмотрим, например, моделирование СМО,
в которой имеется буфер. Имитация поступления заявки включает
несколько частей: выяснение, имеется ли свободный прибор; поиск
свободного прибора и его занятие; в случае отсутствия свободного
прибора – поиск и занятие свободной ячейки буфера. Если заявка
имеет абсолютный приоритет, возможно вытеснение менее приоритетной заявки из прибора. Тогда надо будет еще учесть дальнейшую
судьбу вытесненной заявки. Таким образом в рамках одного события имитируются многие элементарные события, отражающие изменения состояний сразу нескольких объектов: поступившей заявки, прибора, ячейки 6yфеpa, вытесненной заявки.
Описанная схема построения моделирующего процесса носит название схемы событий, или принципа событий. Ее основная отличительная черта – описание возможных изменений в системе с помощью взаимоисключающих (непересекающихся) событий и имитация на каждом шаге одного из возможных событий.
Кроме этой схемы используется схема процессов. При моделировании по схеме процессов за основу берется понятие процесса.
Ниже перечислены основные принципы построения моделирующего алгоритма.
Процесс отражает поведение одного объекта (источника, заявки, детали, рыси, зайца и т. п.), а объектов в системе много. Параллельно развиваются несколько процессов.
Имитация процессов на одном процессоре производится поочередно.
Процессы пользуются общими ресурсами. Если очередная фаза
процесса состоит в занятии ресурса, а свободного ресурса нет, процесс
приостанавливается и ждет освобождения ресурса. При этом ЭВМ переходит к имитации другого процесса. Таким образом, ЭВМ поочередно продвигает процессы на одну или несколько фаз, учитывая их
взаимодействие во времени и в использовании общих ресурсов.
200
Продвижение процессов по системному времени можно осуществлять по принципу Dt или по принципу особых моментов.
В календаре (при использовании принципа особых моментов)
каждому процессу отводится место, где указывается, с какой фазы
надо начать или продолжить имитацию процесса и к какому моменту системного времени это событие относится.
Календарь указывает моменты активизации процессов. Активизацией процесса называется выполнение алгоритма, соответствующего очередной фазе этого процесса. Календарь содержит и момент активизации процесса Т(J) и метку очередной его фазы M(J),
где J – номер процесса (J = f, ..., K ), К – максимальное число одновременно существующих процессов (емкость календаря).
Процессы могут быть постоянными и временными. Постоянный
процесс может развиваться бесконечно долго, временный–создается в некоторый момент времени, существует какое-то время, после
чего ликвидируется. Одна из фаз процесса может представлять собой создание нового процесса. В связи с существованием временных
процессов количество заполненных мест в календаре оказывается
переменным.
При создании процесса отыскивается свободное место в календаре, и номер этого места становится номером процесса. После ликвидации процесса его место в календаре освобождается. Признаком
свободного места в календаре может быть нуль в ячейке, отведенной для обозначения (метки) очередной фазы процесса. Если число
одновременно существующих временных процессов не имеет ограничения сверху, число мест в календаре отводится с большим запасом, а в случае переполнения календаря должно выдаваться соответствующее сообщение.
За один шаг производится поочередный просмотр всех процессов
и имитация тех из них, для которых созрели условия, в частности
наступило время исполнения очередной фазы.
В ходе имитации очередной фазы процесса может освободиться
ресурс, которого не хватало для имитации ранее просмотренных
процессов.
Под меньшим номером может быть создан процесс и помещен на
свободное место в календаре, меньшее, чем текущий процесс.
В обоих случаях требуется повторный просмотр процессов в рамках того же шага.
Флаг – двоичную переменную – удобно использовать для организации повторного просмотра. Этой переменной перед началом
просмотра присваивается значение единицы («подъем флага»).
201
Освобождение ресурса или создание нового процесса влечет за собой «сброс» флага в нуль. Завершение шага и переход к следующему шагу производится только, если флаг остался поднятым.
Термин «процесс» имеет два разных смысла: процесс как алгоритм и процесс как структура данных.
Чаще термин процесс применяют к структуре данных, а алгоритм называют классом процессов (классом объектов), поскольку
процесс как алгоритм относится ко всему множеству процессов одинакового типа, а процесс как структура данных описывает конкретного представителя этого множества.
Алгоритм шага содержит следующие части:
– запоминание значений некоторых переменных;
– определение момента активизации очередного процесса;
– имитация очередной фазы (фаз) процесса, пополнение статистик, планирование событий;
– создание и ликвидация временных процессов;
– «подъем и сбрасывание» флага.
Каждому классу процессов соответствует блок в алгоритме имитации, а каждому процессу и очередной фазе процесса – определенное место в календаре. Алгоритм шага состоит в поочередном просмотре всех процессов и имитация тех из них, для которых наступило время исполнения очередной фазы.
При построении моделирующего алгоритма до начала шагов
производятся ввод исходных данных и установка начальных значений переменных, а по окончании шагов – подсчет оценок искомых
характеристик по накопленным статистикам и выдача результатов.
Схема процессов реализуется с использованием объектно-ориентированного подхода, который широко применяется при построении мощных инструментальных систем моделирования.
Часть программы, управляющая последовательностью выполнения отдельных блоков программы в процессе имитации называется
монитором. Принцип построения монитора у рассматриваемых схем
построения моделирующего алгоритма одинаковый –повелительный.
Повелительный (императивный) принцип состоит в том, что для
предстоящих событий заранее определяется время их наступления
(оно записываются в календарь), и события имитируются, когда
приходит их время. Календарь как бы предписывает, в какие моменты должны происходить события, в каком порядке их имитировать – отсюда и название принципа.
События, которые запланированы на один и тот же момент времени, могут имитироваться в любом порядке. То обстоятельство,
202
что при использовании принципа процессов некоторые события
«забегают вперед», не меняет сути монитора: в пределах одного процесса последовательность событий не нарушается, а ее нарушение
между событиями носит временный характер (сначала один процесс забегает вперед, потом –другой). Главное – для всех событий
указано время, когда они должны произойти.
С целью дополнительного пояснения заметим, что повелительный принцип ассоциируется с синхронными процессами. Синхронные процессы управляются «внешними» часами: события в них
происходят в заранее заданные моменты времени. Сопоставим схемы событий и схемы процессов.
Схема событий более стройна: события не пересекаются, за один
шаг имитируется одно событие, события имитируется в хронологическом порядке, алгоритм шага делится на этапы с четким функциональным назначением (имитация события, пополнение статистик,
планирование новых событий).
Основная трудность при разработке модели по схеме событий–
в сложных ситуациях довольно трудно сформировать перечень типов событий и правильно разработать соответствующие им части
алгоритма так, чтобы не упустить каких-то нужных элементарных
событий и правильно учесть взаимосвязи.
Схема процессов не требует при разработке алгоритма учитывать
сразу все, что может происходить в системе, а допускает раздельную разработку отдельных процессов. Особенно упрощается разработка имитационных моделей при использовании готовой системы
моделирования, когда пользователю требуется только описать последовательность событий и работ в процессах, а учет взаимодействия процессов, сбор статистики, управление порядком имитации
процессов берет на себя система моделирования.
Однако, схема процессов не позволяет выделить функционально
различные части алгоритма: пополнение статистик и планирование
событий исследуют с операциями смены состояний в рамках одной
фазы процесса. Это чревато упущениями при разработке алгоритма.
На этапе начального обучения моделированию и при моделировании простых систем целесообразно применять схему событий,
а при моделировании сложных систем с использованием универсальных средств предпочтительнее схема процессов. Для повышения эффективности моделирующих алгоритмов применяются семафоры и списковые структуры данных. Дополним приведенное сопоставление этих двух схем построения моделирующего алгоритма
количественной характеристикой на примере модели виртуального
203
канала (ВК). Он представляет собой коммутационный канал, обеспечивающий транспортировку пакетов между двумя портами сети, т. е. является некоторым маршрутом в сети, состоящим из последовательности n узлов коммутации (УК) и (n-1) каналов связи
(КС), по которому осуществляется передача информации из узла
источника УК1 в узел – адресат УКn.
Особенностью имитационной модели ВК является отображение
фоновых потоков, циркулирующих по сети и влияющих на процесс
прохождения пакетов по выделенному (моделируемому) пути.
Узлы в моделирующей программе ВК представляются тремя модулями. Первый обеспечивает возникновение требований к передаче пакетов; второй реализует коммутацию пакетов; третий – передачу пакетов следующему узлу.
Положим, пакет выделенного потока поступил в устройство
в момент t âj и спланировал момент t âj +1 очередного следующего поступления пакета выделенного потока через интервал y.
Интервалы между поступлениями пакетов выделенного потока
есть реализации случайной величины, распределенной экспоненциально с параметром lв. Помимо выделенного потока на тот же
вход устройства поступает фоновый пуассоновский поток с параметром lф.
В календаре событий записываются моменты времени поступлений транзактов обоих потоков.
Если за интервал y между моментами t âj и t âj +1 поступлений
транзактов выделенного потока не поступали транзакты фонового
потока, то для продвижения транзакта t âj +1 (взятия на обслуживание, постановки в очередь и т. п.) потребуется однократное обращение к календарю. Вероятность отсутствия поступления транзактов
фонового потока на интервале t âj , t âj +1 есть
(
)
0
P(1) =
(l ô y)
0!
-l ô y
e
(
.
)
Соответственно, если на интервал t âj , t âj +1 поступает n транзактов фонового потока, моменты поступлений которых опережают момент t âj +1, то в такой ситуации для продвижения транзакта выделенного потока t âj +1 потребуется (n + 1) обращений к календарю. Вероятность такого количества обращений есть
( lô y )n −l y
P ( n + 1) =
e ô .
n!
204
Условное математическое ожидании числа обращений к календарю для продвижения одного транзакта выделенного потока в одном устройстве при наличии фонового потока запишем так:
ξ ( y) =
∞
∑ (n + 1) P (n) = 1 +
∞
∑n
( l ô y )n
n!
=
n 0=
n 0
e −l ô y = 1 + l ô y.
Усредняя по y, получим среднее значения числа обращений к календарю для продвижения одного транзакта выделенного потока
в одном устройстве при наличии фонового потока в виде
∞
i=
∫ (1 + lô y ) lâ e
−l â y
dy = 1 +
0
lô
lâ
.
(2.37)
Положим, типовая операция продвижения транзактов выделенного потока осуществляется в многофазной системе, какой является модель виртуального канала. Пусть модель включает N узлов.
Тогда виртуальный календарь такой многофазной системы для продвижения транзакта по виртуальному каналу будет содержать
lô 

=
ξ N 1 +
(2.38)

lâ 

мест для записи особых моментов.
При реализации обращений по выделенному первому узлу параллельно выполняются обращения к общему календарю для продвижения транзактов и по другим узлам ВК. Можно принять, что
в этом случае для каждого последующего j-го узла размер календаря как бы «сужается» и принимает значение

lô 
1, N. g j=(N − j + 1)  1 +
, j =
lâ 

(2.39)
Полагаем, что относящиеся к отдельному какому-либо узлу (узлы считаем идентичными) моменты особых состояний распределены равновероятно в ряде общих мест календаря. Тогда среднее число обращений к общему календарю при продвижении транзакта
на j-м узле, обеспечивающее выборку значений i= 1 + l ô l â , можно
оценить формулой
ηj
1
C ig j
g j −(i −1) g j − (i −2)
∑
∑
1 m 2 m 1 +1
m 1 ==

gj
∑
mi =
m i −1+1
где gj определяется формулой (2.39).
(m1 + m2 + ... + mi ) ,
(2.40)
205
Таким образом, по схеме событий для продвижения транзакта
выделенного потока на один шаг по цепочке (ВК) из N узлов потребуется выполнить в среднем следующее число обращений к общему
календарю
η
=
N
∑ ηj . (2.41)
j =1
Итак, при продвижении транзакта выделенного потока в многофазной системе (ВК), состоящей из N узлов, оценку среднего числа
обращений к общему календарю при построении алгоритма моделирования по схеме событий дает формула (2.41) и соответственно
формула (2.38) при построении алгоритма моделирования по схеме
процессов. Соотношение этих средних
a=
η
ξ
можно рассматривать как частный количественный критерий эффективности одной схемы построения алгоритма моделирования по
отношению к другой.
В табл. 2.2 представлены некоторые численные значения a анализируемого сопоставления названных схем.
По схеме событий на каждом очередном шаге выполняется то
особое состояние, время наступления которого ближайшее к текущему моменту. При этом на каждом шаге возможен переход к любому из программных модулей. А это, в свою очередь, влечет вызов другой структуры данных, соответствующий типу особого состояния.
Схема процессов обеспечивает переход к нужному модулю и позволяет выполнять несколько последовательных особых состояний
при очередном переходе к определенному модулю, что, как показывают приведенные расчеты, существенно сокращает число обраТаблица 2.2
N
206
lф/lв
3
5
7
9
1
1,00
1,00
1,00
1,00
2
1,55
1,97
2,40
2,84
3
2,60
3,53
4,47
5,42
4
4,05
5,60
7,19
8,78
щений к календарю событий и тем самым ускоряет процесс моделирования.
Для повышения эффективности моделирующих алгоритмов
применяются семафоры и списковые структуры данных.
2.4.4. Семафоры и связные списки
Семафоры являются удобным механизмом разделения общих
ресурсов. Семафор – это целочисленная переменная, характеризующая текущее состояние группового ресурса, например группы
одинаковых приборов. Если значение этой переменной неотрицательное, оно показывает количество свободных приборов, а если отрицательное, то без учета минуса это будет количество процессов,
стоящих в очереди к данному групповому ресурсу.
С семафорами производятся две операции, обычно обозначаемые
как Р и V. Операция Р производится, когда какой-то процесс пытается занять ресурс. Состоит эта операция в вычитании единицы из
семафора, что как раз отражает результат попытки. Действительно, если имелся свободный прибор, то он был занят и потому число
оставшихся свободных приборов должно быть уменьшено на единицу. Если же свободных приборов нет, процесс становится в очередь
и вычитание единицы из семафора как раз отражает удлинение
очереди. Операция V, напротив, состоит в прибавлении единицы
к семафору. Она производится при освобождении прибора (элемента группового ресурса) и отражает либо уменьшение очереди, либо
увеличение числа свободных приборов. Анализируя содержимое семафоров, можно определять, по какой ветви алгоритма следует направить выполнение программы. Отсюда и название – семафор.
Для организации календаря и всякого рода очередей полезно
применять связные списки (рис. 2.33).
Список состоит из элементов, содержащих какую-то информацию, например данные о процессе. Элемент имеет номер, или адрес,
по которому его можно разыскать в памяти ЭВМ. Связный список
отличается от простого списка тем, что каждый его элемент помимо
основной информации, составляющей содержание элемента, имеет ссылку на следующий элемент, т. е. адрес следующего элемента. Элементы как бы связаны в цепочку, причем соседние элементы
этой цепочки могут быть расположены далеко друг от друга, т. е.
иметь существенно различные адреса.
Связный список снабжается головным элементом, который состоит только из ссылки на первый элемент описка. Последний элемент на месте ссылки содержит признак конца описка, например
207
Список
Элементы списка
Ад
Информация
АД
Головной
элемент
Ад
Информация
…
Ад
Информация
− ссылка на следующий элемент
Ад – адрес элемента
Рис. 2.33. Кольцевая очередь
нуль. Удобство применения связных списков в том, что для удаления элемента из списка, включения нового элемента или перестановки элементов достаточно изменить некоторые ссылки, основная
же информация остается на месте без изменения.
Рассмотрим, как организуется календарь процессов с помощью
связного описка. В рассмотренном выше календаре каждый процесс имел номер, обозначенный J, и содержал две величины: T(J)
и М. Следовательно, календарь был представлен двумя массивами:
Т и М – каждый длиной K. Это был простой список. Чтобы получить связный список, добавим для ссылок массив А той же длины
и ячейку А∅ для головного элемента. Свяжем процессы по принципу возрастания запланированного момента активизации. Тогда А∅ будет содержать номер процесса с наименьшим значением
Т(J). Допустим, Т(5) ≤ Т(7) ≤ T(2). Тогда А∅ = 5, А(А∅) = А(5) = 7,
А(А(А∅)) = А(7) = 2 и т. д.
Выясним, что дает связный список по сравнению с ранее рассмотренной организацией календаря в виде простого списка. Вопервых, теперь не надо просматривать подряд элементы календаря,
чтобы найти те процессы, момент активизации которых совпадает
с текущим моментом tТ, так как, если такие есть, то они занимают
первые места в цепочке. Во-вторых, чтобы найти tТ, не надо искать
минимальный элемент – это Т(А∅).
Но за преимущества всегда надо чем-то платить. Это не только
дополнительные затраты памяти на массив А, но и дополнительные
208
операции. Если раньше для создания нового процесса достаточно
было отыскать номер свободной группы Jv и написать параметры
нового процесса в T(Jv) и M(Jv), то теперь надо еще вставить новый
процесс на определенное место в цепочку. Для этого надо отыскать
такой номер J, что T(А(J)) ≤ Т(Jv) ≤ Т(А(А(J))), после чего проделать следующие операции со ссылками: А(Jv): = A(A(J)); A(J): = Jv.
При ликвидации процесса с номером J помимо обычной операции
М(J): = 0, потребуется операция со ссылкой А(JL): = A(A(J)), где
JL – номер процесса, стоящего в цепочке перед процессом J. Для
нахождения JL потребуется просмотреть цепочку от начала до элемента J. Чтобы избежать этого просмотра, можно применить двусвязный список. В нем имеется еще один массив, который содержит
ссылки на предыдущий элемент цепочки.
2.4.5. Алгоритмы обслуживания очередей
Чаще всего применяют следующие алгоритмы управления (обслуживания) очередями [23]:
– FIFO;
– приоритетное обслуживание, которое называют также «подавляющим»;
– взвешенное обслуживание.
Традиционный алгоритм FIFO.Достоинство – простота реализации и отсутствие необходимости конфигурирования. Недостаток –
невозможность дифференцированной обработки заявок различных
потоков.
Приоритетное обслуживание (Priority Queuing). Сначала необходимо решить отдельную задачу – разбить общий входной поток
устройства на классы (приоритеты). Признак, по которому производят разбивку на классы, помещают в поле приоритета (рис. 2.34).
Затем требование помещается в очередь, соответствующую заданному приоритетному классу.
Рассмотрим пример с четырьмя приоритетными очередями: высокий, средний, нормальный и низкий приоритет.
Здесь очереди имеют абсолютный приоритет: пока не обработаны пакеты из очереди более высокого приоритета, не производится
переход к очередям более низкого приоритета.
При моделировании можно:
– выделить одинаковое количество буферов для всех очередей;
– на основе анализа трафика поступлений установить нужный
размер для каждой из очередей.
209
Входной
трафик
Классификатор
Высокий приоритет
Средний
приоритет
Нормальный
приоритет
Обработка
Выходной
трафик
Выходная очередь
Низкий
приоритет
Рис. 2.34. Приоритетное обслуживание
Входной
трафик
Классификатор
Вес очереди 0,1
Вес очереди 0,1
Обработка
Вес очереди 0,3
Вес очереди 0,2
Выходной
трафик
Выходная очередь
Вес очереди 0,3
Рис. 2.35. Взвешенные настраиваемые очереди
Недостаток:
Если высока интенсивность высокоприоритетного трафика, обслуживание низкоприоритетного трафика может совсем не производиться.
Этот метод можно, например, использовать при моделировании
сети, если в качестве высокоприоритетного будет выбран голосовой
трафик (IP-телефония). Это связано с тем, что его интенсивность невелика (обычно 4–16 Кбит/с).
Если же в сети в качестве высокоприоритетного выбран видеотрафик, остальным потокам может и не достаться пропускной способности.
Взвешенные настраиваемые очереди (Weighted Queuing). Здесь
делается попытка предоставить всем классам определенный минимум пропускной способности, т. е. обслуживания, и гарантировать
некоторые требования к задержкам.Под весом для каждого класса
понимается процент предоставляемой классу пропускной способ210
ности (от полной выходной пропускной способности). Алгоритм, используемый администратором для назначения весов, называется
настраиваемой очередью (рис. 2.35).
Очереди обслуживаются циклически, и в каждом цикле обслуживания из каждой очереди выбирается такой объем нагрузки,
который соответствует весу этой очереди. Например, цикл равен
1 с, скорость выходного интерфейса 100 Мбит/с. В каждом цикле
из очередей выбираются следующие объемы данных: 1 – 10 Мбит,
2–10 Мбит, 3 – 30 Мбит, 4 – 20 Мбит, 5 – 30 Мбит. Здесь, как и в приоритетном обслуживании, можно назначать различные длины очередям. Тем самым появляется возможность сглаживания нагрузки.
2.5. Статистическое моделирование
Статистическое моделирование – это метод решения вероятностных и детерминированных задач, основанный на эффективном использовании случайных чисел и законов теории вероятностей.
Статистическое моделирование эксплуатирует способность современных компьютеров порождать и обрабатывать за короткие промежутки времени огромное количество случайных чисел.
Задавая последовательность случайных чисел на вход исследуемой функции или модели, на ее выходе получают преобразованную
последовательность случайных величин – выборку. При правильной организации подобного статистического эксперимента выборка
содержит ценную информацию об исследуемой функции или модели, которую трудно или практически невозможно получить другими способами. Информация извлекается из выборки методами математической статистики – раздела теории вероятностей.
Метод статистического моделирования (синоним этого названия – метод Монте-Карло) [32] позволяет, опираясь на строгие законы теории вероятностей, свести широкий класс сложных задач
к относительно простым арифметико-логическим преобразованиям выборок. Поэтому такой метод получил весьма широкое распространение. В частности, он почти всегда используется при имитационном моделировании реальных сложных систем.
2.5.1. Концепция статистического моделирования
В основе статистического моделирования лежит процедура, применяемая для моделирования случайных величин и функций и носящая название метода статистических испытаний (метод МонтеКарло).
211
Общая схема метода Монте-Карло может быть записана в виде
1 N
=
q ∫ y ( x=
) p ( x ) dx ≈ q
(2.42)
∑ y ( xi ), xi ≈ p ( x ). N i =1
Результат ищется как математическое ожидание некоторой случайной величины Y, которая чаще всего является неслучайной
функцией случайной величины X, имеющей распределение р(х).
Случайная величина Х имеет распределение р(х), и запись Х ~ р(х)
означает, что для непрерывной случайной величины плотность вероятности равна р(х), для дискретной случайной величины функцию р(х) надо понимать как функцию вероятности. Для случайной
дискретной величины интеграл (2.42) заменяется суммой Sy(x)p(x),
в которой суммирование осуществляется по всем возможным значениям Х. Функция у(х) может иметь несколько аргументов, т. е.
зависеть от нескольких случайных величин. В таком случае запись
(2.42) остается в силе, только интеграл надо считать многомерным,
Х рассматривать как вектор, а р(х) – как многомерную плотность
(или функцию) вероятности. Приближенная оценка неизвестного математического ожидания, совпадающая с искомым результатом, находится как среднее арифметическое результатов независимых опытов. Это отражено в правой части (2.42). По закону больших чисел среднее арифметическое сводится к математическому
ожиданию.
В каждом опыте разыгрывается реализация х случайной величины Х (в i-м опыте – реализация xi), в соответствии с распределением р(х) и вычисляется значение функции в виде y(xi). Индекс i
подчеркивает, что для каждой (i-й) реализации процесса аргументы, составляющие вектор Х, имеют свои случайные значения. Вычисленное очередное значение y(xi) добавляется к накапливаемой
сумме Sy(xi). На этом заканчивается очередной опыт. После того как
проведено М опытов, вычисляется итоговая оценка в виде правой
части выражения (2.42). Опыты повторяются до тех пор, пока дисперсия оценки q не снизится до требуемой величины, зависящей от
допустимой погрешности и коэффициента доверия.
Проиллюстрируем суть метода Монте-Карло следующим примером.
Пример: оценка надежности системы
Пусть требуется оценить надежность системы, структура которой представлена на рис. 2.36.
Система выполняет свою функцию, если работают цепочки блоков: 1,2,5,7; 1,3,5,7; 1,4,6,7. Каждый блок характеризуется време212
1
2
3
5
7
4
6
Рис. 2.36. Блочная структура системы
1,7. Пусть заданы плотности распренем безотказной работы t i , i =
1,7. Какие-то блоки могут отказать. Какова наделения pi ( ti ), i =
дежность системы в целом? В качестве критерия оценим среднее
время безотказной работы данной системы. Рассмотрим случайную
величину
I = min {t1, max éë min (t4 , t6 ), min[ max (t2 , t3 ) ]ùû , t7 }, (2.43)
где I – время безотказной работы системы.
Применим метод статистических испытаний. В отдельном опы1,7 в соответствии с pi(ti),
те разыгрывается значения всех t i , i =
1,7, по формуле
i = 1,7. Используя полученные реализации t i , i =
(2.42) вычисляем отдельную реализацию T. Один опыт дает одну реализацию T (одно выборочное значение). Проводим N опытов (испытаний), получаем «статистический» материал (выборку). Берем
среднее арифметическое времени безотказной работы системы T
в качестве оценки надежности системы. При необходимости можно
построить закон распределения вероятностей случайной величины T в виде соответствующей гистограммы.
Таким образом испытания реальной системы заменены испытаниями математической модели. Каждое испытание сопровождается расчетом, поэтому имитационное моделирование и называют численным экспериментом на ЭВМ с математической моделью
(модель выступает как объект исследования). При реализации испытания возможны и логические операции. И расчетные и логические операции реализуются на ЭВМ с помощью соответствующих
алгоритмов, которые в совокупности и составляют моделирующий
алгоритм.
Моделирующий алгоритм обеспечивает построение траекторий
смены состояний системы во времени, а воспроизведение случайных факторов, определяющих эти состояния, конструируется с использованием заданных законов случайных событий и величин.
Значения произвольных случайных величин реализуются преобразованиями значений базовой случайной величины (БСВ).
213
2.5.2. Моделирование случайных факторов
Случайными факторами называют случайное событие, случайную величину, случайный процесс и вообще любые объекты, случайный выбор которых определяется соответствующими вероятностями. Под реализацией случайного фактора понимают сам акт
случайного выбора одного такого объекта из заданного множества,
наделенного вероятностной мерой.
Построение модели любого случайного фактора сводится к подходящему функциональному преобразованию базовых случайных
величин zi. При моделировании случайных факторов исходят из того, что имеющийся в распоряжении датчик БСВ идеален, т. е. значения zi на его выходе равномерно распределенные (zi ~ R[0,1]) и независимые. Это позволяет конструировать модели разнообразных
случайных факторов и устанавливать их свойства, опираясь только на положения теории вероятностей и не прибегая к громоздким
процедурам статистического тестирования.
В целях наглядности представления результатов будем модели
случайных факторов иллюстрировать некоторыми примерами простой статистической обработки выборок, получаемых с помощью
этих моделей.
Построение и тестирование датчиков БСВ [16]. Базовой случайной величиной (БСВ) в статистическом моделировании называют
непрерывную случайную величину z, равномерно распределенную
на интервале (0 ≤ t ≤ 1). Ее плотность распределения вероятностей
(п.р.в.) задаётся формулой:
f(t) = 1, (0 ≤ t ≤ 1). (2.44)
Математическое ожидание M(z) и дисперсия D(z) базовой случайной величины z имеют следующие значения: M(z) = 1/2 и D(z) = 1/15.
Нетрудно определить и начальный момент r-го порядка: M(zr) =
= 1/(r+1), (r = 1, 2, …).
БСВ моделируются на ЭВМ с помощью программных датчиков.
Датчик БСВ – это программа, выдающая по запросу одно случайное
значение БСВ z ∈ {0 ≤ t ≤ 1}. Путем многократного обращения к датчику БСВ получают выборку независимых случайных значений z1,
z2, z3, …, zn.
Программный датчик БСВ обычно вычисляет значения z1, z2,
z3, … по какой-либо рекуррентной формуле вида
zi +1 = f (zi ) при заданном стартовом значении z0.
214
(2.45)
Заданное значение z0 полностью определяет посредством формулы (2.45) всю последовательность z1, z2, z3, …, поэтому величину z на выходе датчика БСВ называют псевдослучайной величиной.
В практическом применении датчиков БСВ статистические свойства псевдослучайной последовательности чисел в широких пределах идентичны свойствам чисто случайной последовательности.
Программные датчики БСВ обладают, по сравнению с аппаратными датчиками, следующими достоинствами:
– простотой реализации датчиков;
– простотой применения;
– простотой тиражирования датчиков;
– надежностью;
– быстродействием;
– компактностью;
– высокой точностью достижения необходимых статистических свойств, сравнимой с точностью представления вещественных
чисел;
– возможностью повторного воспроизведения, когда это нужно,
любой последовательности случайных значений без их предварительного запоминания.
Путем преобразования БСВ можно получать модельные реализации многих других случайных объектов, включая любые непрерывные или дискретные случайные величины (как простые, так
и многомерные), случайные события, случайные процессы, графы,
схемы и т. д. Поэтому z называют базовой случайной величиной.
Для построения программно реализуемых датчиков широко используется конгруэнтный метод. Так называемый мультипликативный конгруэнтный датчик БСВ однозначно задается двумя параметрами: модулем m и множителем k. Обычно эти параметры
представляют собой достаточно большие целые числа. При заданных m, k псевдослучайные числа zi вычисляются мультипликативным конгруэнтным датчиком по рекуррентной формуле:
=
Ai
kAi −1 ) mod mi ; i
(=
1, 2,...;
(2.46)
zi = Ai m,
где m – модуль; k – множитель; A0 – начальное значение; mod – операция вычисления остатка от деления произведения (kAi–1) на m.
Датчик (2.46) дает периодическую псевдослучайную последовательность z1, z2, … с длиной периода T ≤ m – 1. Чтобы длина периода
T была максимальной, модуль m берут близким к максимальному
представимому в компьютере целому числу. Для упрощения опера215
ций деления и вычисления остатков в двоичных ЭВМ часто берут
m = 2n. Рекомендуется также брать достаточно большой множитель
k и взаимно простой с m.
Заметим, что не существует рекомендаций, гарантирующих высокое качество датчиков до того, как будет проведено их специальное тестирование.
Обозначим равномерное распределение вероятностей на интервале (0, 1) через R[0,1] и утверждение, что БСВ z имеет распределение
R[0,1], кратко запишем в виде z ~ R[0,1].
С помощью статистических тестов проверяют два свойства датчика БСВ, делающих его точной моделью идеальной математической БСВ: во-первых, проверяют равномерность распределения
чисел, выдаваемых датчиком на интервале (0, 1), и, во-вторых, их
статистическую независимость. При этом последовательность
псевдослучайных чисел zi на выходе датчика рассматривают как
статистическую выборку.
Проверка равномерности распределения БСВ сводится к построению эмпирических вероятностных характеристик (моментов и распределений) случайной величины (СВ) z по выборке z1, z2, z3, …, zn
и их сравнению с теоретическими характеристиками равномерного распределения R[0,1]. В силу закона больших чисел с ростом длины выборки n эмпирические характеристики должны приближаться
к теоретическим. При этом, поскольку компьютер позволяет легко
получать выборки весьма большой длины, такое сближение эмпирических и теоретических характеристик можно наблюдать непосредственно, без использования специальных статистических тестов.
Простейшую проверку статистической независимости БСВ можно осуществить, оценивая линейную корреляцию между числами zi
и zi+s, отстоящими друг от друга в псевдослучайной последовательности на фиксированный шаг s ≥1. Тогда во всей выборке z1, z2, …,
zn имеем (n–s) следующие реализации пары:
( z1, z1+ s ), ( z2 , z2+ s ),..., ( zn −s , zn ).
По этим реализациям можно рассчитать оценку R̂ коэффициента корреляции для значений БСВ по формуле

1  n −s
=
Rˆ 12
 ∑ zi zi + s  − 3.
n − s  i =1

Коэффициент корреляции двух СВ характеризует степень линейной зависимости между ними, поэтому с ростом длины выборки n
216
оценка R̂ должна приближаться к нулю. Если это выполняется, то
тест на линейную зависимость можно считать успешно пройденным.
Как явная дискретность БСВ zi, так и их явная функциональная
зависимость (каждое следующее значение БСВ однозначно определяется предыдущим zi = [(kmzi −1 )mod m ] m) логически несовместимы с требованиями непрерывности и независимости, но на практике это имеет ограниченное значение. В то же время это замечание о
противоречивом характере требований к датчикам БСВ указывает
на необходимость применения только тех датчиков БСВ, которые
разработаны и тщательно выверены компьютерными математиками-профессионалами.
В настоящее время, как правило, любые языки программирования и пакеты моделирования содержат встроенные датчики БСВ
и необходимость в самостоятельной разработке или тестировании
датчиков возникает редко.
Моделирование случайных событий
Случайные события бывают различного типа: простыми и сложными, совместными и несовместными, зависимыми и независимыми. Случайные величины – дискретными и непрерывными, поэтому моделирование случайных событий и величин подразделяются
на ряд отдельных процедур в зависимости от условий. Рассмотрим
их по мере усложнения.
Моделирование случайного события (рис. 2.37). Основной характеристикой любого случайного события А является вероятность
его появления – Р(А). Процедура моделирования простого случайного события А состоит из:
– формирования значения БСВ zi ∈ R;
– сравнения zi с заданной вероятностью Р(А) появления события
А. Если условие zi < P(A) выполняется, то исходом моделирования
zi ∈ R
Да
Фиксируется А
zi < P (A)
Нет
Фиксируется A
Рис. 2.37. Алгоритм моделирования отдельных случайных событий
217
является событие А. В противном случае – противоположное событие A ⋅ P ( A ) =
(1 − P ( A ) ).
Моделирование полной группы несовместных случайных событий. Пусть задано некоторое множество элементарных исходов {A1, ..., An} c их вероятностями p1, ..., pn, соответственно (p1 + …
+ pn = 1).Чтобы построить программную модель, «оживляющую»
такую совокупность исходов, разобьем мысленно интервал значений БСВ (0 ≤ t ≤ 1) на n отрезков длиной p1, p2, ..., pn. Это всегда возможно, так как p1 + … + pn = 1. Например, можно определить отрезки так:
a1 =
( 0, p1 ) ;
=
a2
a 3=
...
an=
( p1, p1 + p2 ) ;
( p1 + p2 , p1 + p2 + p3 ) ;
( p1 + p2 + ... +
pn −1, 1) .
Алгоритм моделирования случайных исходов Aj состоит в том,
чтобы, обратившись к датчику БСВ, определить, в какой из интервалов a1, a2, ..., an попало значение БСВ. Факт его попадания в конкретный интервал aj предопределяет переход алгоритма к процедуре имитации соответствующего, имеющего тот же номер исхода Aj.
Поскольку вероятность попадания БСВ в интервал aj равна его длине pj, то и вероятность исхода Aj будет равна pj. Такой метод моделирования простых независимых событий называют «исход испытания по жребию».
В качестве примера построим модель операции, состоящей в вытаскивании шара из урны, содержащей пять белых шаров (Б), три
красных (К) и два черных (Ч). Так как исходы Б, К, Ч имеют вероятности p1 = 0,5, p2 = 0,3 и p3 = 0,2 соответственно, то интервал (0,1)
разбиваем на отрезки (0;0,5), (0,5;0,8) и (0,8;1).
Алгоритм моделирования имеет примерно следующий вид:
1. Получить значение z из датчика БСВ.
2. Если z ≤ 1/2, вывести Б, иначе, если z ≤ 8/10, вывести К, иначе – вывести Ч.
Вот пример 60-кратного выполнения этого алгоритма на компьютере; мы видим, что частота появления каждого исхода примерно
соответствует его вероятности:
БКБКБКБКББКЧБББККББКЧЧББЧЧКББЧБЧББЧБКЧЧБББ
ККББЧКБЧКББЧКБЧББ
218
Так, исход Б здесь появился 31 раз (52% случая), К – 15 раз (25%)
и Ч – 14 раз (23%).
Моделирование сложных случайных событий. Сложные события являются исходом, зависящим от двух или более простых событий. Модели этого типа рассматриваются для двух случаев: для
независимых и зависимых простых событий.
Генерирование сложного события, являющегося результатом наблюдения простых независимых случайных событий рассмотрим
на примере, когда даны два простых события А и В, для которых заданы вероятности их появления Р(А) и Р(В) соответственно. События A è A как и B è B образуют полные группы несовместных событий, т. е. P ( A ) + P ( A=
) 1; P ( B ) + P ( B=) 1.
Возможные исходы совместных испытаний: AB, AB, AB, AB и
соответствующие этим исходам вероятности P ( A ) P ( B ), P ( A ) P ( B ),
P ( A ) P ( B ), P ( A ) P ( B ), P ( A ) P ( B ). Эти сложные исходы образуют
полную группу независимых событий, т. е. P ( A ) P ( B ) + P ( A ) P ( B ) +
+P ( A ) P ( B) + P ( A ) P ( B) + P ( A ) P ( B) =
1. Используя эти вероятности
и способ «исход испытания по жребию», разыгрываем все возможные исходы.
Второй способ моделирования заключается в поочередном моделировании события А, а затем события В, или, наоборот, сначала В,
потом А. Получаем один из четырех приведенных выше исходов.
Генерирование зависимых случайных событий. В тех случаях,
когда А и В являются зависимыми событиями, процедура моделирования сложного события выполняется несколько иначе. Исходными данными для модели являются вероятности появления событий А, В и В/А, т. е. соответственно Р(А), Р(В) и Р(В/А) – условная
вероятность появления события В при условии, что событие А наступило.
Возможным исходам АВ, AÂ, AB, AÂ соответствуют вероятности
P ( A ) P ( B A ), P ( A ) 1 − P ( B A ) ,
(2.47)
1 − P ( A ) ) P ( B A ), P ( A ) P 1 − P ( B A ) .
(
Условная вероятность P ( B A ) находится предварительно из
формулы полной вероятности для события В:
(
(
)
)
=
P ( B ) P ( A ) P ( B A ) + P ( A ) P ( B A ).
Используя вероятности (2.47), разыгрываем возможные реализации сложного события способом «исход испытания по жребию»,
219
либо, используя вероятности А, В и В/А, поочередно моделируем события А, а затем события В.
Моделирование дискретных случайных величин
Принцип моделирования дискретных СВ не отличается от принципа моделирования случайных событий. Дискретная случайная величина x задаётся конечным или счетным множеством возможных
значений x1, x2, ... и их вероятностями p1, p2, ... . Она реализуется по
тому же принципу, по которому моделируются случайные события.
Интервал (0, 1) предварительно разбивается на отрезки, длины которых равны вероятностям p1, p2, ... элементарных исходов Aj. При этом
каждый конкретный исход Aj рассматривается здесь как выбор случайной величиной соответствующего значения x = xj.
Пример. Пусть требуется реализовать дискретную СВx, принимающую значения 2; 5; 15; –30 и 3,14 с вероятностями 0,1; 0,15;
0,45; 0,2 и 0,1 соответственно. Если отрезки с длинами, равными
перечисленным вероятностям, откладывать на числовой оси вправо
от нуля, то их правыми границами будут точки 0,1; 0,25; 0,7; 0,9 и 1,
т. е. определенная правая граница сопоставлена с соответствующим
значением дискретной случайной величины x:
Правая граница. . . . . . . . . . . . x
0,1. . . . . . . . . . . . . . . . . . . . . . . . . 2
0,25. . . . . . . . . . . . . . . . . . . . . . . 5
0,7. . . . . . . . . . . . . . . . . . . . . . . . . 15
0,9. . . . . . . . . . . . . . . . . . . . . . . . . –30
1. . . . . . . . . . . . . . . . . . . . . . . . . . 3,14
Для реализации датчика данной дискретной СВ остается определить, между какими границами попадает значение БСВ и выбрать
соответствующее значение x.
В двух частных случаях этот общий алгоритм реализации дискретной СВ целесообразно упростить.
Первый случай – это случай целочисленной СВx, принимающей
значения 0, 1, ..., n – 1 с одинаковыми вероятностями, равными 1/n.
Такую дискретную СВ можно получить с помощью БСВ z одним
оператором присваивания, реализующим формулу вычисления целой части:
x = nz  . (2.48)
Формулу (2.48) можно легко приспособить и к другим близким
ситуациям. Например, для моделирования игральной кости с чис220
лом очков x от 1 до 6 можно результат ее выбрасывания проимитировать по формуле
=
x 6z  + 1.
Второй случай, когда алгоритм реализации дискретной СВ следует
упрощать, это случай дискретной СВ с бесконечным (счетным) множеством возможных значений. В такой ситуации часто можно построить
компактную программу, применяя рекурсивный вариант общего метода. Суть проблемы состоит в том, что перед программированием алгоритма разбить интервал (0, 1) на бесконечное число вероятностных
отрезков с длинами p1, p2, ... невозможно. Поэтому в программе сначала реализуется значение БСВ z, а затем выполняется построение и
одновременно – проверка вероятностных отрезков интервала (0, 1) по
одному (последовательно, одного за другим) до тех пор, пока не будет
построен и проверен отрезок, в котором при его проверке обнаружится
реализованное значение БСВ z. После этого случайной величине x присваивается соответствующее найденному отрезку значение xj. Благодаря такому последовательному построению и просмотру вероятностных
отрезков для реализации любого значения xj приходится строить лишь
конечное их число. Конкретный пример использования этого метода
для реализации пуассоновской СВ приводится в пособии [15].
Моделирование непрерывных случайных величин
В современной учебной литературе по моделированию методы построения датчиков непрерывных СВ представлены в ряде книг, например [15,29, 31].Вместе с тем во многих языках и пакетах моделирования имеется большое число удобных для использования встроенных
датчиков непрерывных СВ. Так, например, в MS Excel в меню Сервис/
Анализ данных/Генерация случайных чисел предоставляется возможность генерации выборок из следующего списка распределений:
равномерное, нормальное, Бернулли, биномиальное, Пуассона. С учетом сказанного ниже приводятся лишь алгоритмы и формулы для реализации наиболее часто встречающихся непрерывных СВ.
Моделирование непрерывных СВ методом обращения. Пусть
требуется реализовать непрерывную СВx, которая имела бы заданную функцию распределения вероятностей F(t) = P{x ≤ t}, т. е. требуется, чтобы было x ~ F(t). Согласно методу обращения, это можно
сделать с помощью БСВ z по следующей формуле:
x = F–1(z).
221
Примечание. Выражение x = F–1(z) для расчета x через z можно
получить следующим известным способом:
1. Записать формальное уравнение F(x) = z.
2. Разрешить его относительно x.
Моделирование экспоненциальной СВ. Экспоненциальная случайная величинаx имеет функцию распределения вероятностей
F ( t )= 1 − e
−lt
,
где t ≥ 0 и параметр l > 0. Для экспоненциальной СВx
=
M ( x)
1
1
=
;
D ( x)
.
l
l2
Для построения генератора такой СВ используем метод обращения.
1. Записываем формальное уравнение F(x) = z:
F ( t )= 1 − e
−lt
= z.
2. Решаем его относительно x:
1
x=
− ln (1 − z).
l
(2.49)
Формулу (2.49) можно упростить, заменив (1 – z) на z, так как обе
эти величины совпадают по распределению. Тогда из выражения
(2.49) получаем
1
x = − ln ( z). (2.50)
l
При независимых z генератор (2.50) дает независимые значения
экспоненциальной СВx. На рис. 2.38 приводится частотная гистограмма, полученная при испытании этого генератора для l = 1.
ˆ 0=
Оценки моментов составили
=
M
,99, Dˆ 0,978.
Моделирование равномерной случайной величины. Построим
датчик равномерно распределенной на интервале A ≤ t ≤ B СВx, используя метод обращения.
Функция распределения СВx ~ R[A, B] имеет вид
F (x) =
x− A
.
B− A
Отсюда получаем модель для разыгрывания значений СВ, равномерно распределенной на интервале A ≤ t ≤ B, в виде
x =A + ( B − A ) z.
222
тыс.
4,5
4,0
3,5
3,0
2,5
2,0
1,5
1,0
0,5
0
0,5 1
1,5 2
2,5 3
3,5 4
4,5 5
5,5
Рис. 2.38. Частотная гистограмма экспоненциальной СВ
при M = 1 и n = 10 тыс.
0,12
0,1
0,08
0,06
0,04
0,02
0
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Рис. 2.39. Гистограмма относительных частот равномерной СВ
при n = 10 тыс.
Для равномерной СВ математическое ожидание и дисперсия равны
M (x) = A + ( B – A ) / 2;
2
D (x) = ( B – A ) / 12.
На рис. 2.39 приводится гистограмма относительных частот, полученная при испытании генератора равномерной СВ. Оценки моˆ 0=
=
M
,5, Dˆ 1 / 12.
ментов составили
Моделирование эрланговской случайной величины. Эрланговская СВx порядка k ≥ 1 имеет функцию распределения вероятностей
k −1
( lt ) i −lt
F (t) =
e , t ≥ 0,
1− ∑
i!
i=0
223
и плотность распределения вероятностей
=
f (t)
l ( lt ) k −1 −lt
e , t ≥ 0,
( k − 1) !
где параметр l > 0 . Ее математическое ожидание и дисперсия таковы:
M (x) = k / l; D (x) = k / l2 .
Поскольку распределением Эрланга обладает сумма k независимых экспоненциальных СВ, имеющих одно и то же значение параметра λ, то, с учетом выражения (2.50), сгенерировать эрланговскую СВx можно просто как сумму:
k
1
1
x=
− ln ( z1... zk ), ∑ − l ln zi =
l
i =1
(2.51)
где zi (i = 1, ..., k) – независимые реализации базовой случайной величины.
На рис. 2.40 приводятся результаты моделирования 10 тыс. значений x по (2.51) при l = 1, k = 3. Так как х = х1 + х2 + х3, где
М(хi) = 1/l = 1, D(хi) = 1/l2 = 1, i = 1, 2, 3, то М(х) = 3, D(х) = 3. Статистические оценки, полученные при испытаниях, составили
ˆ ( x ) 2=
=
M
,968, Dˆ ( x ) 2,958.
Моделирование нормальной случайной величины. Утверждение, что некоторая случайная величина x имеет нормальное распределение с M(x) = m и дисперсией D(x) = s2, будем записывать в виде
x ~ N [m, s]. Функция распределения вероятностей такой СВ имеет вид
F (=
x)
тыс.
3,0
2,5
2,0
1,5
1,0
0,5
0
 ( x − m)  
1
 . 1 + Ô 
s 
2
(2.52)
1 2 3 4 5 6 7 8 9 10 11 12
Рис. 2.40. Гистограмма эрланговской СВ 3-го порядка при n = 10 тыс.
224
Составив уравнение F(x) = z и разрешив его относительно х, получим модель для разыгрывания значений нормальной СВ:
x= m + sÔ −1(2z − 1). (2.53)
Практическое применение формулы (2.63) при использовании
БСВ затруднительно, так как оно связано с необходимостью вычисления обратной функции Лапласа F–1(×). Аналитических формул для этого нет. Существуют и применяются в расчетах таблицы
значений обратной функции. Алгоритмизировать же расчет обратной функции Лапласа в процедурах ИМ при необходимости получения нормально распределенных чисел, представляется возможным
только с применением приближенных формул. Для того чтобы их
избежать, применяется другой метод.
Для реализации любой нормальной СВ достаточно иметь датчик
стандартной (т. е. нормированной и центрированной), нормальной
СВ x ~ N (0,1) . Чтобы реализовать СВ x с распределением (2.52) используют следующее линейное преобразование стандартной нормальной СВ x :
x =sx + m.
При этом стандартную нормальную СВ часто реализуют приближенно как сумму других СВ, основываясь на центральной предельной теореме теории вероятностей. Например, ее можно реализовать
в виде суммы двенадцати независимых значений БСВ:
=
x
12
∑ zi − 6. (2.54)
i =1
Однако такой подход дает плохое приближение для больших
уклонений от среднего, превышающих 2σ.
Метод Бокса и Мюллера (рис. 2.41)позволяет получить два независимых значения x1 и x2 стандартной нормальной СВ из двух независимых значений z1 и z2 базовой случайной величины по формулам
x1 =
−2 ln z1 sin ( 2πz1 ) ;

−2 ln z1 cos ( 2πz2 ) .
x2 =
(2.55)
Этот метод точный, но считается трудоемким [12]. Однако, как
показывают эксперименты, это мнение устарело ввиду того, что современные персональные компьютеры оснащены арифметическими сопроцессорами. Точный метод (2.55) в действительности оказывается также и более быстрым, чем приближенный метод (2.54).
225
12
10
8
6
4
2
0
–3
–2,1
–1,2
–0,3
0,6
1,5
2,4
Рис. 2.41. Гистограмма нормальной СВ при n = 10 тыс.
f(x)
fm
u1, u 2
u2
0
a
u1
c
d
b
x
Рис. 2.42. Иллюстрация метода отбора
Метод отбора. Метод предложен фон Нейманом. Называется
также методом Неймана, методом исключения [15,29].
Рассмотрим вариант метода, когда требуемое распределение задано плотностью вероятности, отличной от нуля на конечном интервале [a,b]. Алгоритм состоит в следующем. Из очередной пары базовых чисел z1 и z2 находятся два числа:
u1 =a + ( b − a ) z1;
u2 = fm z2 ,
(2.56)
где fm максимальное значение плотности f(х).
Еcли u2 < f(u1), т. е. если точка (u1,u2) лежит под графиком f(x)
(рис. 2.42), то u1 принимается в качестве очередного числа xn.
В противном случае берется следующая пара базовых чисел,
и процедура повторяется.
226
Убедимся, что отобранные числа имеют требуемый закон распределения. Согласно выражению (2.56) точка (u1,u2) будет находиться
в прямоугольнике с основанием [a,b] и высотой fm, площадь которого равна
S = (b – a)fm.
Следовательно, вероятность попадания точки под график f(x)
равна отношению площади под графиком к площади прямоугольника, т. е. равна
b
1
1
f ( x ) dx = ,
∫
S
S
a
а вероятность попадания точки под график в пределах участка [c,d]
равна
d
1
f ( x ) dx.
S∫
c
Таким образом, доля точек, отобранных в качестве xn на участке
[c,d] по отношению ко всем точкам, составляет
d
d
c
c
1
1
f ( x ) dx : = ∫ f ( x ) dx,
∫
S
S
что и означает соблюдение требуемого закона распределения.
2.5.3. Точность результатов моделирования
При моделировании методом Монте-Карло многократно повторяются опыты со случайным исходом и оценка q̂ искомого результата
q определяется путем осреднения результатов отдельных опытов:
x + ... + x n
,
qˆ = 1
n
(2.57)
где xi – результат i-го опыта.
Алгоритм моделирования строится так, что математическое
ожидание результата одного опыта совпадает с искомым результатом, т. е.
M [ xi ] = q. (2.58)
При этом оценка равенства (2.58) оказывается несмещенной, т. е.
M [ qˆ ] =q. (2.59)
227
Хотя в среднем оценка q̂ совпадает с q, в каждом конкретном
случае она отличается от q на случайную величину, средний квадрат которой представляет собой дисперсию оценки. Чем больше
дисперсия, тем больше случайные отклонения оценки от искомого
результата, т. е. меньше ее точность. С увеличением числа опытов
дисперсия оценки уменьшается, а точность, соответственно, растет.
Ниже выводится правило, указывающее, до какой величины надо
снижать дисперсию путем увеличения числа опытов, чтобы можно
было считать оценку достаточно точной.
Поскольку оценка является случайной величиной, точность ее
рассматривается применительно ко всему множеству возможных
значений оценки с учетом вероятностей этих значений. Требования
к точности обычно формулируются в виде вероятностного утверждения:
P qˆ − q ≤ D äîï = γ , (2.60)
где Dдоп – допустимая погрешность; γ – заданный коэффициент доверия.
В конкретном случае значение оценки может отличаться от искомого результата больше чем на Dдоп. Однако с вероятностью γ это не
произойдет, если условие (2.60) соблюдено.
Связь между Dдоп и γ зависит от распределения оценки qˆ. Согласно центральной предельной теореме теории вероятностей, оценка
(2.57) имеет распределение, близкое к нормальному, если n не слишком мало. С учетом (2.59) можно записать
{
}
qˆ − q
qˆ ≅ N q, s2 èëè
≅ N ( 0,1).
s
(
)
Следовательно,


qˆ − q
P qˆ − q ≤ ks= P  −k ≤
≤ k=

s


{
}
1
k
∫ e −0,5t dt.
2π
2
−k
Это соотношение позволяет, задав Dдоп = σ, вычислить
γ=
1
k
2
∫ e −0,5t dt =
2π − k
2F ( k) − 1,
где Ф (k) – интегральная функция стандартного нормального распределения N (0,1). В частности, для k = 1, 2, 3 значение γ равно соответственно 0,6826; 0,9545; 0,9973. Утверждая, что погрешность
не превышает 3σ, мы ошибаемся менее чем в трех случаях из 1000.
228
Следовательно, обеспечив σ = γ/3, можно быть достаточно уверенным, что погрешность не превысит допустимого значения.
Из сказанного вытекает практическая рекомендация: число опытов при моделировании должно быть настолько большим, чтобы
дисперсия оценки снизилась до величины
s2 =
D2äîï
,
(2.61)
k2
где выбор k определяется требуемым коэффициентом доверия. Чтобы применять это правило остановки, необходимо уметь вычислять
дисперсию оценки при заданном числе опытов γ.
Оценка по множеству независимых реализаций. Для многих
случаев результаты опытов представляют собой повторную выборку (x1 + .. + xn), т. е. совокупность независимых реализаций случайной величины Х. Математическое ожидание ее должно совпадать
с θ. Дисперсию этой СВ обозначим s12 . Поскольку реализации
s2
независимы, дисперсия оценки (2.57) равна s2 = 1 .
n
В соответствии о правилом (2.61) требуемое число опытов равно
k2s2
n= 2 1. D äîï
(2.62)
Таким образом, требуемое число опытов обратно пропорционально квадрату допустимой погрешности. Этим обусловлена
трудность получения высокой точности результатов при вероятностном моделировании.
Особые трудности возникают, когда искомым результатом является вероятность некоторого события, причем вероятность малая.
В этом случае
1, ñ âåðîÿòíîñòüþ p,
xi = 
0, ñ âåðîÿòíîñòüþ (1 − p );
M [ xi =] p; s12= D [ xi =] p (1 − p ); =
i 1, ..., n.
Требуемое число опытов можно выразить через допустимую относительную погрешность
D äîï
.
d äîï =
ð
229
Формула (2.62) принимает вид
n=
k2 (1 − p )
d2äîï ð
.
(2.63)
Чем меньше вероятность р, тем больше требуется опытов для
обеспечения допустимой относительной погрешности. При малых
вероятностях даже грубая оценка требует слишком много опытов.
Например, при р порядка 10–5, k = 3, dдоп = 0,3 формула (2.63) дает
n = 107. Обычно такое число опытов требует много машинного времени.
Заметим, что в формулу (2.62) входит величина s12 , которая заранее не известна. Ее приближенно находят в процессе моделирования по формуле
=
s12

1  n 2 1 n
xi −  ∑ xi
n  i 1
(n − 1)  i∑1=
=
2



.


Проделав некоторое число опытов, вычисляют s12 , а затем находят примерно необходимое число опытов. Опыты продолжают до
получения нужного их числа, после чего можно заново вычислить
s12 уже более точно. Аналогично поступают с величиной р. Вначале
пробным моделированием определяют
ð=
1 n
∑ xi ,
n i =1
а затем подставляют найденное значение в формулу (2.63). По мере увеличения количества опытов значения можно эпизодически
уточнять.
2.5.4. Планирование статистического эксперимента
Задача планирования. Пусть X = (x1, ..., xk) – вектор случайных
величин, имеющий распределение РХ. Во многих случаях цель статистического эксперимента может быть сведена к определению математического ожидания случайной величины y = g(X), где g(X) – заданная функция распределения случайной величиныX. В типовой
^ приблисхеме статистического эксперимента (рис. 2.43) оценка M
y
жается к точному значению M(y) с ростом числа опытов n. Задача
планирования статистического эксперимента состоит в нахождении
^.
такого n, при котором достигается заданная точность оценки M
y
230
i = 1...n
yi
g(X)
Xi
n
ˆ y = 1 ∑ yi
M
n i =1
Рис. 2.43. Типовая схема статистического эксперимента: Xi ~ PY;
Xi = (x1i, ..., xki); yi – значение СВY в i-м опыте; n – число опытов
f(t)
n = 100n0
n = 10n0
n = n0
M(y)t
^ в зависимости от n
Рис. 2.44. Распределение СВ M
y
ˆ y явТеоретическое решение задачи планирования. Оценка M
ляется случайной величиной, так как представляет собой функцию
от случайных величин:
n
ˆ y = 1 ∑ yi . M
(2.64)
n i =1
В типовой схеме статистического эксперимента (рис. 2.43) используются независимые реализации xi, поэтому случайные величины yi в формуле (2.64) также независимы. Из центральной пре^ при больших
дельной теоремы вытекает, что случайная величина M
y
ˆ
n имеет нормальное распределение, т. е. My ≅ N [m,s] (рис. 2.44).
Определим параметры этого распределения:
1 n  1
=
M =
y
nM ( y ) M ( y );  n ∑ i  n
 i =1 
(2.65)
1 n
 1
D(y)
ˆ
,
=
s2 D =
M
=
yi 
nD
=
y
(
)
y D  n ∑
2

n
 i =1  n
( )
s = D ( y ) n = sy
n .
(2.66)
231
Таким образом, при увеличении числа опытов на порядок величина s уменьшается в 10 ≈ 3 раза.
Диапазон вероятных отклонений оценки от точного значения
M(y) сужается пропорционально n . Параметр s используют как
ˆ y имеет нормальное
показатель точности оценки. Поскольку M
ˆ y отклоняется от
распределение, то практически достоверно, что M
искомого M(y) не более чем на 3s. Можно сказать, что s является
аналогом абсолютной погрешности, а 3s – самой абсолютной погрешностью. В качестве аналога относительной погрешности для
ˆ y можно рассматривать ее коэффициент
случайной величины M
вариации
s
v= ,
m
а в качестве самой относительной погрешности – величину 3v. Из
формул (2.65) и (2.66) находим, что
sy
vy
s
=
=
,
v =
(2.67)
m
nM ( y )
n
где vy – коэффициент вариации случайной величины y.
Соотношения (2.66) и (2.67) показывают, что абсолютная погрешность 3s и относительная погрешность 3v оценки M̂ убывают
пропорционально n .
Из формулы (2.66) находим решение задачи планирования: для
достижения заданной точности s требуется n опытов:
2
 sy 
n=  .  s
(2.68)
Если требование к точности задано в форме коэффициента вариации v, то требуемое число опытов определяется из формулы
(2.67) в виде:
2
 vy 
(2.69)
n =   .
 v
В решении (2.68) кроме заданного s для определения n необходимо знать sу, в варианте (2.69) – коэффициент вариации vу. Ни
то, ни другое до эксперимента, как правило, неизвестно, поэтому
планирование числа опытов на практике осуществляется в ходе
самого статистического эксперимента. Достаточно удобным методом
такого планирования является метод автоостанова.
Метод автоостанова продемонстрируем на примере достижения
точности v = 0,01 (рис. 2.45).
232
Начало
n = 1, A = 10
S1 = 0, S2 = 0
Генератор СВХ
ˆ = S1
M
y
ˆ y = S2
D
y = g(X),
S1 = S2 + y,
S2 = S2 + y
v ′ = vy′
Нет
Нет
vy′ =
n,
ˆ) ,
n − (M
2
ˆ
Dˆ y M
y
n
v′ < 0,01
Да
A=A–1
A=0
Да
212
Печатать M̂
y, D̂y , n
Конец
Рис. 2.45. Схема статистического эксперимента с автоостановом
Как видно из рисунка, в ходе эксперимента ведется непрерывный
контроль за оценкой v¢ коэффициента вариации v. Когда оценка v¢
устойчиво входит в зону v¢ < 0,01, эксперимент завершается.
Устойчивое достижение неравенства v¢ < 0,01 здесь обеспечивается требованием, чтобы это неравенство было подтверждено
A = 10 раз.
Заметим, что минимальное начальное значение счетчика подтверждений (см. рис. 2.45), задаваемое в начале алгоритма, должно
составлять A = 2, так как необходимо исключить одно ложное
подтверждение, которое имеет место при n = 1. Действительно,
233
при n = 1 оценка дисперсии равна нулю, поэтому получается v¢ = 0.
При A = 10 получится несколько «лишних» повторений цикла.
Однако так как n обычно составляет десятки тысяч, то увеличение
его на несколько лишних единиц не имеет существенного практического значения.
2.6. Ускорение статистического моделирования
Метод Монте-Карло, лежащий в основе вероятностного моделирования, является универсальным методом. Однако он отличается
медленной сходимостью. Требуемое число опытов может быть столь
велико, что ЭВМ не в состоянии их выполнить в приемлемые сроки. Этот недостаток метода Монте-Карло особенно проявляется при
анализе сложных систем и оценивании редких событий. Покажем,
что это так.
Пусть случайные величины x и z таковы, что m = Mx = Mz,
Dx ≠ Dz, и для оценивания m реализуется N независимых значений ξ1, …, ξN, по которым и вычисляется оценка в виде
ˆ
=
m
1 N
∑ ξi .
N i =1
Поскольку СВ m̂ имеет M m̂ = m и D m̂ = Dx/N, то с учетом центральной предельной теоремы теории вероятностей m̂ распределена
асимптотически нормально с параметрами m, Dx/N.
Отсюда вероятность того, что интервал m̂ ± D накроет значение m, определяется выражением


ˆ − m ≤ D} = p 
p{ m

(mˆ − m )
( Dξ
N)
≤



 = F
( Dξ N )  
D

,
( Dξ N ) 
D
где F(x) = P{z ≤ x}; Z ~ N(0,1) – стандартное распределение вероятностей.
Если заранее задаться требуемыми значениями доверительной
вероятности (1-e) и отклонения D, где (1 – e) = p{ m̂ + D ≥ m, m̂ – D ≤
m}достаточно близко к единице, то получим уравнение

1− e = F


234

,
( Dξ N ) 
D
из которого находим число N реализаций СВξ:
2
 F −1 (1 − e ) 
,
Nξ= Dξ 


D

 –1
где Ф − обратная к Ф функция.
Аналогичные рассуждения относительно СВ ζ дают Nζ:
(2.70)
2
 Ô −1 (1 − e ) 
 .
Nz= Dz 


Ä


Следовательно, при одинаковых требованиях (1 – ε, ∆) к точности
оценивания показателя m имеем
Nξ Dξ
=
.
Nz Dz
С другой стороны, для инженерных задач естественны требования, ограничивающие относительную погрешность оценки того
или иного показателя. Пусть к оценке m̂ показателя m = Mξ предъявляется требование
ˆ −m
m

≤ s =
p
 m

{ mˆ − m ≤ sm} =
1 − e,
где σ, ε > 0 – малые величины. Тогда, согласно (2.70)
2
Dξ
=
(2.71)
N Ô −1 (1 − e ) . 2
sm )
(
При оценивании, например, вероятности Q отказа системы путем прямого моделирования, имеем m = Mξ = Q, Dξ = Q(1−Q) и
из (2.71)
2
−1
1  Ô (1 − e ) 
 .
N = 

s
Q 

(
)
Значение Q, равного 0, исключает применение прямого статистического моделирования к анализу редких событий, обусловливает
поиски специальных методов, ускоряющих моделирование. Ускорить моделирование − значит добиться большей точности при том
же числе опытов или получить требуемую точность при меньшем
числе опытов.
В настоящее время сложился ряд подходов, позволяющих ускорить статистическое моделирование, не снижая точности получаемых результатов. К ним относятся: регенеративный метод модели235
рования[11]; методы понижения дисперсии [7,29]; комбинированные и аналитико-статистические методы [26,28]. Излагаемые ниже
модели и алгоритмы имитационного моделирования построены
с использованием методов понижения дисперсии (МПД). Среди наиболее употребительных МПД известны методы взвешенного моделирования, расслоенной выборки, их сочетания.
2.6.1. Метод взвешивания
Для изложения метода рассмотрим статистический эксперимент
с одномерной входной СВx (рис. 2.46).
Формально искомое M(y) определяется выражением
M ( y ) = ∫y ( x ) f ( x ) dx. (2.73)
Метод взвешивания основан на аналитическом преобразовании
выражения (2.73) и на соответствующем изменении схемы эксперимента.
Разделим и умножим подынтегральное выражение в формуле
(2.73) на произвольную плотность распределения вероятностей p(x),
не равную нулю в пределах интегрирования. В результате мы увидим, что
=
(y)
f (x)
p ( x ) dx
∫y ( x )=
p(x)

f (x) 
M
=
y ( x )
 M ( y ′ ),
p(x) 

(2.74)
где y′ = y ( x ) f ( x ) p ( x ), а x ~ p(x). Следовательно, вместо расчета
ˆ y можно выполнять расчет оценки M
ˆ y′ .
оценки M
ˆ y′ представлена на рис. 2.47. Такой переход от исСхема расчета M
ходной схемы рис. 2.46 к схеме на рис. 2.47 называется методом взвешивания. Обе схемы эквивалентны с точки зрения математического
ожидания выходной СВ, но различны с точки зрения ее дисперсии.
Описанный одномерный вариант метода легко распространяется
и на случай многомерной СВ. Для этого достаточно в (2.74) вместо

скаляра X записать вектор x = ( x1, ... , xn ). Обобщение на случай
дискретной СВ X осуществляется путем замены интеграла на сумму, а плотностей − на вероятности.
Искусство применения метода взвешивания сводится к подбору такой функции p, чтобы D(y′)  D(y). Тогда получится N ′  N.
Можно, например, подбирать плотность распределения вероятностей p так, чтобы СВ y′ = yf p была по возможности ближе к константе, хотя бы в каком-нибудь интуитивном смысле, так как при
y′ = const должно быть D(y′) = 0.
236
i = 1…N
xi ~ f(x)
i = 1…N
xi ~ f(x)
y(x)
N
ˆ = 1 ∑y
yi M
y
i
N i =1
Рис. 2.46. Исходная схема эксперимента
x ~ p(x)
i = 1…N
y(x)
yiy¢i
f(x)/p(x)
Рис. 2.47. Преобразованная схема
Основное достоинство метода взвешивания − в простоте преобразования схемы эксперимента. Программа вычисления функции
y(x), т. е. модель исследуемой системы, не меняется, добавляется
только расчет множителя f/p (веса), да генератор входной СВ с распределением f заменяется на генератор с распределением p.
2.6.2. Метод расслоения
Другим более распространенным методом ускоренного моделирования является метод расслоенной (стратифицированной) выборки (рис. 2.48).
i = 1…N
xi ~ f(x)
y(x)
x
Рис. 2.48. Кусочно-непрерывная функция y(x)
случайного аргумента x
237
Видно, что область значений случайного аргумента х может быть
разбита на участки так, что изменение функции в пределах отдельного участка будет значительно меньше, чем в пределах всей области. В таком случае целесообразно сначала усреднить функцию
на каждом участке отдельно, а затем из частных средних получить
общее среднее с учетом вероятностей участков. Предполагается,
что вероятности слоев pr , r = 1, R легко вычисляются через заданное распределение p(x):
pr = p{x ∈ Br } =
∫ p ( x ) dx, r = 1, R, Br
где Br , r = 1, R – подмножества множества {x} значений аргумента x, называемые слоями (стратами).
Искомый результат Q находится по формуле полной вероятности
через условные математические ожидания:
Q
=
R
R
Qr ∑ pr ∫ y ( x ) =
∑
r 1=
r 1
=
p(x)
pr
Br
dx
=
, r 1, R.
Опыты проводятся, как в обычной схеме при прямом моделировании, но по слоям. Для каждого слоя вычисляются оценки условных математических ожиданий (частные оценки):
1
Qˆr =
Nr
 p(x)
, x ∈ Br

y
x
x
, ~
,
∑ ( i ) i  pr
 0, x ∉ B
i =1
r

Nr
где Nr – количество опытов в r-м слое.
В итоге вычисляется искомая оценка:
Qˆ =
R
∑ pr Qˆ .
r =1
Для контроля за точностью эксперимента можно в каждом слое
вычислять условную дисперсию выходной СВ:
1
Dˆ r =
Nr
Nr
∑y2j − ( Qˆr )
2
j =1
, x ∈ Br и дисперсию внутри слойной оценки
Dˆ
Dˆ Qˆr = r .
Nr
( )
238
(2.75)
Дисперсия итоговой оценки может быть вычислена по формуле:
R
( ) ∑ pr2 Dˆ ( Qˆr ).
Dˆ Qˆ =
r =1
Если нужно знать ошибку итоговой оценки в форме коэффициента вариации, то она вычисляется как обычно:
( )
Dˆ Qˆ
n′2 = 2 .
Qˆ
Теоретически показано [7]: чтобы оценка Q̂ имела меньшую дисперсию, чем обычная оценка (без расслоения), достаточно, чтобы
объем выборки распределялся по слоям пропорционально их вероятностям и чтобы условные средние по слоям не были одинаковы.
При разбиении по слоям следует стремиться к тому, чтобы средние
по слоям как можно больше отличались друг от друга.
Общее число опытов N по слоям N = N1 + … + NR распределять
рационально в соответствии с формулой
Nr = pr N , 1, R (2.76)
или оптимально – по формуле
s p
(2.77)
Nr = r r N,
∑r sr pr
где s = Dr – условное среднеквадратическое отклонение СВ (случайной величины) y в слое Br.
Обычно σr априорно неизвестны и их заменяют на оценки
=
sˆ r
Dˆ=
r , r 1, R,
(2.78)
где Dˆ r находят по формуле (2.75) путем выполнения пробного прогона программы с не очень большими значениямиNr.
При использовании распределения опытов (2.77) ошибка v′ расслоенного эксперимента будет минимальной для данного значения N. Распределение (2.76) приводит к худшей (во всяком случае не лучшей) точности, чем (2.77), тем не менее распределение
опытов (2.77) используется чаще, так как оно проще и все же гарантирует (при любом расслоении эксперимента), что ошибка получится меньше (в крайнем случае, не больше), чем в исходной
схеме [7].
239
Таким образом, рациональное, а тем более оптимальное распределения опытов гарантируют, что даже при самом неудачном расслоении мы не ухудшим точности расчетов.
2.6.3.Метод экстремального значения
Теория экстремальных значений (ExtremeValueTheory, EVT) [2]
базируется на постулате, что для большого числа начальных распределений F(x) распределение максимумов Fn(x), взятых из выборок размером n, стремится к асимптоте вида
lim F n ( bn + an ) = exp ( −exp ( −x ) ), (2.79)
где anи bn – параметры, оцениваемые по независимым выборочным
значениям непрерывной случайной величины х.
Класс распределений, сходящийся к асимптоте (2.79) называется экспоненциальным. Полученное с помощью EVT классическое
выражение для «хвостов» распределений, принадлежащих к экспоненциальному классу, имеет вид
=
Q(x)
 x − bn 
1
exp  −
, n
an 

(2.80)
где n – фиксированная длина последовательностей, в которых собираются независимые выборочные значения непрерывной случайной величины х; an и bn – параметры, вычисляемые по результатам
общей выборки. (В приложении 1 приводится методика для определения статистик an и bn.)
Существует широкий класс задач, для которых определяющей
становится относительно небольшая часть значений случайной величины, заданная «хвостом» функции распределения. Таковы, например, задачи о выбросах. В интерпретации к анализу ТКС это могут быть задачи, связанные с оценкой малых значений вероятности
(10–8 и менее) потери пакетов из-за переполнения буферных накопителей, или с оценкой вероятности доставки пакетов по сети за время,
не превышающее допустимое. Метод EVT разработан для анализа
непрерывных случайных величин [2]. Для моделирования дискретных случайных величин получено его расширение [19] в виде

,

где Q(x) = exp(∆x/an). Эта константа зависит от значения интервала 2∆x = hi−hi-1 между значениями hi, hi+1 дискретной величины x
и от an.
=
Q(x)
240
 x − bn
1
exp  −
n
an

Метод EVT относится к экстраполяционным. Анализ приближений (2.80), основанных на применении теории статистики экстремального значения, показал, что для описания функций распределения вероятностей редко и очень редко наблюдаемых значений
непрерывной случайной величины наиболее широко используются
аппроксимации, относящиеся к экспоненциальному классу. К этому классу принадлежит большинство классических моделей СМО,
применяемых для оценивания характеристик информационных сетей и их элементов [2, 44].
С другой стороны, классический метод Монте-Карло не эффективен для оценки малых значений вероятности (10–8 и менее). Применение же метода EVT для оценки таких значений вероятностей непрерывных случайных величин позволяет сократить время имитации
в 4−5 декад по сравнению с классическим методом Монте-Карло [44].
2.7. Генетические алгоритмы в моделировании
Генетические алгоритмы (ГА) − это специальная технология для
поиска оптимальных решений, опирающаяся на метод проб и ошибок, которая успешно применяется в различных областях науки
и бизнеса. Генетические алгоритмы часто применяются совместно
с нейронными сетями, позволяя создавать предельно гибкие, быстрые и эффективные инструменты анализа данных.
2.7.1. История возникновения генетических алгоритмов
Генетические алгоритмы возникли в результате наблюдения и попыток копирования естественных процессов, происходящих в мире
живых организмов, в частности эволюции и связанной с ней селекции (естественного отбора) популяций живых существ, поэтому они
получили название генетических алгоритмов.
Эволюционная теория утверждает, что каждый биологический
вид целенаправленно развивается и изменяется для того, чтобы
наилучшим образом приспособиться к окружающей среде. В процессе эволюции многие виды насекомых и рыб приобрели защитную окраску, еж стал неуязвимым благодаря иглам, человек стал
обладателем сложнейшей нервной системы. Можно сказать, что
эволюция − это процесс оптимизации всех живых организмов. Рассмотрим, какими же средствами природа решает эту задачу оптимизации.
Основной механизм эволюции − это естественный отбор. Его
суть состоит в том, что более приспособленные особи имеют больше
241
возможностей для выживания и размножения и, следовательно,
приносят больше потомства, чем плохо приспособленные особи. При
этом благодаря передаче генетической информации (генетическому
наследованию) потомки наследуют от родителей основные их качества. Таким образом, потомки сильных индивидуумов также будут
относительно хорошо приспособленными, а их доля в общей массе
особей будет возрастать. После смены нескольких десятков или сотен поколений средняя приспособленность особей данного вида заметно возрастает.
Чтобы сделать понятными принципы работы генетических алгоритмов, рассмотрим, как устроены механизмы генетического наследования в природе. В каждой клетке любого животного содержится вся генетическая информация этой особи. Эта информация
записана в виде набора очень длинных молекул ДНК. Каждая молекула ДНК − это цепочка, состоящая из молекул нуклеотидов четырех типов, обозначаемых А, T, C и G. Собственно, информацию
несет порядок следования нуклеотидов в ДНК. Таким образом, генетический код индивидуума − это просто очень длинная строка
символов, где используются всего 4 буквы. В животной клетке каждая молекула ДНК окружена оболочкой − такое образование называется хромосомой.
Каждое врожденное качество особи (цвет глаз, наследственные
болезни, тип волос и т. д.) кодируется определенной частью хромосомы, которая называется геном этого свойства. Например, ген цвета глаз содержит информацию, кодирующую определенный цвет
глаз. Различные значения гена называются его аллелями.
При размножении животных происходит взаимодействие двух
родительских ДНК, образуя ДНК потомка. Основной способ взаимодействия − кроссовер (cross-over, скрещивание). При кроссовере
ДНК предков делятся на две части, а затем обмениваются своими
половинками.
При наследовании возможны мутации из-за радиоактивности
или других воздействий, в результате которых могут измениться
некоторые гены в клетках одного из родителей. Измененные гены
передаются потомку и придают ему новые свойства. Если эти новые свойства полезны, они, скорее всего, сохранятся в данном виде, при этом произойдет скачкообразное повышение приспособленности вида.
В начале 70-х гг. ХХ в. была озвучена идея использования данного природного процесса в задачах оптимизации, причем вне зависимости от сферы применения полученных результатов. Высказал
242
эту идею американский ученый Джон Холланд и предложил реализовать в виде компьютерной программы алгоритм, который будет
решать сложные задачи так, как это делает природа − путем эволюции. Алгоритм оперировал последовательностями двоичных цифр
(единиц и нулей), которые и получили название хромосом. Алгоритм имитировал эволюционные процессы в поколениях таких хромосом: в них были реализованы механизмы селекции и репродукции, аналогичные применяемым при естественной эволюции. Так
же, как и в природе, генетические алгоритмы осуществляли поиск
«хороших» хромосом без использования какой-либо информации
о характере решаемой задачи. Требовалась только некая оценка
каждой хромосомы, отражающая ее приспособленность. Механизм
селекции заключается в выборе хромосом с наивысшей оценкой
(т. е. наиболее приспособленных), которые репродуцируют чаще,
чем особи с более низкой оценкой (хуже приспособленные). Репродукция означает создание новых хромосом в результате рекомбинации генов родительских хромосом. Рекомбинация − это процесс,
в результате которого возникают новые комбинации генов. Для этого используются две операции: скрещивание, позволяющее создать
две совершенно новые хромосомы потомков путем комбинирования
генетического материала пары родителей, а также мутация, которая может вызывать изменения в отдельных хромосомах. Таким образом, генетический алгоритм представляет собой метод, отражающий естественную эволюцию методов решения проблем и в первую
очередь задач оптимизации. Генетические алгоритмы − это процедуры поиска, основанные на механизмах естественного отбора и
наследования. В них используется эволюционный принцип выживания наиболее приспособленных особей. Они отличаются от традиционных методов оптимизации несколькими базовыми элементами. В частности, генетические алгоритмы:
– обрабатывают не значения параметров самой задачи, а их закодированную форму;
– осуществляют поиск решения исходя не из единственной точки, а из их некоторой популяции;
– используют только целевую функцию, а не ее производные, либо иную дополнительную информацию;
– применяют вероятностные, а не детерминированные правила
выбора.
Эти свойства приводят в результате к устойчивости генетических алгоритмов и к их превосходству над другими широко применяемыми технологиями.
243
Основным недостатком ГА является то, что неизвестно, сколько
понадобится времени для решения задачи.
Только в конце 90-х гг. стали появляться научные работы, показавшие применимость и значимость использования генетических
алгоритмов в задачах оптимизации технических систем.
2.7.2. Интерпретация основных понятий
генетических алгоритмов
При описании ГА используются определения, заимствованные
из генетики. Например, если речь идет о популяции особей, в качестве базовых понятий применяются такие, как ген, хромосома, генотип и другие. Этим генетическим терминам соответствуют определения из технического лексикона, в частности цепь, двоичная последовательность, итерация, структура.
ГА осуществляет поиск лучшего решения в пространстве поиска решений. Это пространство под воздействием механизмов эволюции изменяется в направлении «улучшения» содержащихся в нем
решений. Результатом такой эволюции должно быть пространство
поиска, содержащее наилучшие (или приемлемые) решения, которые и обнаруживаются алгоритмом.
В терминологии ГА пространство поиска решений интерпретируется как популяция P = { À1,..., Ak ,..., AN } , а каждое решение из
этого пространства – как хромосома (или особь) Ak, представляемая в виде строки символов, называемых генами:
Ak = {a1,..., aj ,....,aL } .
Для этого выполняется кодирование независимых хромосом либо в двоичном формате, либо в формате с плавающей запятой. Тогда
геном в этой хромосоме будет один бит. С каждым геном aj сопоставлено множество Wj = {w hj } его возможных значений w − аллелей («0»
или «1»). На множестве решений (хромосом) задается целевая функция (ЦФ) – функция полезности F(Ak) − эффективность решения Ak.
Эта функция играет важнейшую роль, поскольку позволяет оценить степень приспособленности конкретных особей в популяции
и выбрать из них наиболее приспособленные (т. е. имеющие наибольшие значения функции приспособленности) в соответствии
с эволюционным принципом выживания «сильнейших» (лучше
всего приспособившихся). В задачах оптимизации функция приспособленности, как правило, оптимизируется (точнее, максимизируется) и называется целевой функцией. Таким образом генети244
ческий алгоритм осуществляет поиск хромосомы A*, для которой
F (A*) = max F ( Ak ).
p
На каждой итерации генетического алгоритма приспособленность каждой особи данной популяции оценивается при помощи
функции приспособленности и на этой основе создается следующая
популяция особей, составляющих множество потенциальных решений проблемы.
Размерность (численность) N популяции может изменяться
в процессе работы алгоритма, но наиболее распространены ГА, для
которых N = сonst. От размера популяции зависит время поиска решения и его «качество». Важно, что размер популяции значительно
меньше числа всех допустимых решений. Именно это позволяет находить решение за приемлемое время.
Очередная популяция в генетическом алгоритме называется поколением, а к вновь создаваемой популяции особей применяется
термин «новое поколение» или «поколение потомков».
2.7.3. Операторы генетического алгоритма
Последовательность генетических операторов обычно включает операторы отбора (репродукции), кроссинговера (скрещивания),
мутации и инверсии. Все они являются вероятностными, т. е. их параметры – случайные величины.
Отбор (селекция) есть формирование следующей популяции из
имеющейся в данный момент. Он имитирует принцип «выживания
сильнейших» и осуществляется путем стохастической, но целенаправленной селекции, т. е. отбора лучших хромосом на основе их
значений функции «полезности». Основные виды селекции: пропорциональная, турнирная и усечением.
При пропорциональной селекции вероятность выбора r-й хромосомы определяется как
F ( Ak )
P ( Ak ) = N
(2.81)
F ( Ak )
∑
k =1
при условии, что F(Ak) > 0 для всех k = 1…N.
Этот принцип программно реализуется на основе метафоры «колеса рулетки». Данный метод отбирает особей с помощью N «запусков» рулетки. Колесо рулетки содержит по одному сектору для
каждого члена популяции. Все колесо рулетки соответствует сумме
значений функции приспособленности всех хромосом рассматрива245
емой популяции. Каждой хромосоме Ak соответствует сектор колеса v (Ak), выраженный в процентах согласно формуле
v (Ak) = P(Ak) 100%.
Поэтому, чем больше значение функции приспособленности, тем
больше сектор на колесе рулетки. Следовательно, члены популяции
с более высокой приспособленностью с большей вероятностью будут
чаще выбираться, чем особи с низкой приспособленностью (рис. 2.49).
Если всю окружность колеса рулетки представить в виде цифрового интервала [0,100], то выбор хромосомы можно отождествить с выбором числа из интервала [а,b], где а и b обозначают соответственно
начало и окончание фрагмента окружности, соответствующего этому
сектору колеса; очевидно, что 0 ≤ а < b ≤ 100. В этом случае выбор с помощью колеса рулетки сводится к выбору числа из интервала [0,100],
которое соответствует конкретной точке на окружности колеса.
При турнирной селекции из популяции Pt случайным образом
выбирается подмножество P*t ⊂ Pt , и хромосома из этого подмножества, имеющая максимальное значение функции приспособленности, выбирается в следующую популяциюPt+1. Эта операция повторяется N раз. Строки в полученном промежуточном массиве затем
используются для скрещивания (также случайным образом). Размер группы строк, отбираемых для турнира, часто равен 2. В этом
случае говорят о двоичном/парном турнире, а t называют численностью турнира. Преимуществом данной стратегии является то,
что она не требует дополнительных вычислений и упорядочивания
строк в популяции по возрастанию приспособленности.
Отбор усечением. Данная стратегия использует отсортированную по возрастанию популяцию. Число особей для скрещивания
выбирается в соответствии с порогом [0; 1]. Порог определяет, какая доля особей, начиная с самой первой (самой приспособленной),
будет принимать участие в отборе. В принципе, порог можно задать
i = 1…N
xi ~ f(x)
15%− 000110110
25%− 111001101
40%− 000110110
20%− 111101111
20%
15%
25%
40%
Рис. 2.49. Метод рулетки с пропорциональными секторами
функции приспособленности
246
и числом больше 1, тогда он будет просто равен числу особей из текущей популяции, допущенных к отбору. Среди особей, попавших
«под порог» случайным образом N раз выбирается самая «везучая»
и записывается в промежуточный массив, из которого затем выбираются особи непосредственно для скрещивания. Из-за того, что
в этой стратегии используется отсортированная популяция, время
ее работы может быть большим для популяций большого размера
и зависеть также от алгоритма сортировки.
Кроссинговер (скрещивание). В простейшем случае кроссинговер
в генетическом алгоритме реализуется так же, как и в биологии (рис.
2.50). При этом хромосомы разрезаются в случайной точке и обмениваются частями между собой. Например, если хромосомы (1, 2, 3,
4, 5) и (0, 0, 0, 0, 0) разрезать между третьим и четвертым генами и
обменять их части, то получатся потомки (1, 2, 3, 0, 0) и (0, 0, 0, 4, 5).
На первом этапе скрещивания выбираются пары хромосом из родительской популяции (родительского пула). Это временная популяция состоящая из хромосом, отобранных в результате селекции
и предназначенных для дальнейших преобразований операторами
скрещивания и мутации с целью формирования новой популяции
потомков. На данном этапе хромосомы из родительской популяции
объединяются в пары. Это объединение производится случайным
способом в соответствии с вероятностью скрещивания рс. Далее для
каждой пары отобранных таким образом родителей разыгрывается позиция гена в хромосоме, определяющая так называемую точку скрещивания. Если хромосома каждого из родителей состоит из
L генов, то очевидно, что точка скрещивания lk представляет собой
натуральное число, меньше L. Поэтому фиксация точки скрещивания сводится к случайному выбору числа из интервала (1, L – 1].
В результате скрещивания пары родительских хромосом получается следующая пара потомков:
1) потомок, хромосома которого на позициях от 1 до lk состоит из
i = 1…N
генов первого родителя, а на позициях от lk + 1 до L − из генов втоxi ~ f(x)
рого родителя;
12345
0 0 0 0 0
123 0 0
0 0 04 5
Рис. 2.50. Условная схема кроссинговера
247
2) потомок, хромосома которого на позициях от 1 до lk, состоит из
генов второго родителя, а на позициях от lk +1 до L − из генов первого родителя.
Это – одноточечный кроссинговер. Используются также различные варианты многоточечного кроссинговера, когда хромосомы-родители разрываются не в одном месте, а в нескольких.
Мутация применяется с некоторой достаточно низкой вероятностью Pm (обычно Pm≈0,001) к хромосомам, полученным после кроссинговера. Оператор одноточечной мутации выбирает случайным
образом ген в хромосоме и меняет его значение на другое из области
допустимых значений. Например, если в хромосоме [100110101010]
мутации подвергается ген на позиции 7, то его значение, равное 1, изменяется на 0, что приводит к образованию хромосомы
[100110001010]. Вероятность рт мутации может эмулироваться, например, случайным выбором числа из интервала [0,1] для каждого
гена и отбором для выполнения этой операции тех генов, для которых разыгранное число оказывается меньшим или равным значению рт. Применяется и многоточечная мутация, которая является
композицией нескольких одноточечных мутаций.
Инверсия может применяться с ненулевой и очень низкой вероятностью наряду с мутациями. Она изменяет не значения генов,
а только порядок их следования в случайно выбранной хромосоме.
В простейшем случае в такой хромосоме случайным образом выбирается точка разрыва, и меняются местами начало и конец хромосомы. Допустимо применение многоточечной инверсии.
Кроссинговер, мутация и инверсия могут порождать новые хромосомы (решения), которые никогда не встречались в предыдущих
популяциях. Их следует оценить значениями функции приспособленности. Последующая популяция Pt+1 может быть образована
как целиком только из потомков хромосом предыдущей популяции
Pt, полученных в результате применения к Pt генетических операторов, так и частичным сохранением наилучших особей из Pt. В первом случае новые хромосомы полностью заменяют старые, а во втором – только менее ценные из них.
Работа ГА прекращается при достижении текущей популяцией
состояния адаптации, которое идентифицируется по стягиванию
ядра популяции сначала в круг, а затем в точку. Алгоритм не гарантирует получение глобального экстремума (хотя это и возможно), а
дает некоторое «хорошее» решение за приемлемое время.
248
2.7.4. Классический генетический алгоритм
Работа ГА – итеративный процесс, продолжающийся вплоть до
выполнения заданных условий остановки: близость полученных
решений к заданному значению, прекращение роста средней «полезности» популяции, минимальная численность популяции, число итераций и др. Основной (классический) генетический алгоритм
состоит из следующих шагов:
1) генерация случайным образом начальной популяции хромо-
{
}
0 ,..., 0
сом P0 = A r01,..., A rk
A rN0 ;
2) оценка приспособленности хромосом в популяции;
3) проверка условия остановки алгоритма;
4) селекция хромосом;
5) применение к начальной популяции последовательности генетических операторов, порождающей новую популяцию Pt;
б) формирование новой популяции Pt+1;
7) выбор «наилучшей» хромосомы.
Блок-схема основного генетического алгоритма изображена на
рис. 2.51. Рассмотрим конкретные этапы этого алгоритма с использованием дополнительных подробностей, представленных на рис. 2.52.
Генерация или формирование исходной популяции заключается в случайном выборе заданного количества хромосом (особей), закодированных двоичными последовательностями фиксированной
длины.
Оценивание приспособленности хромосом в популяции состоит
в расчете функции приспособленности для каждой хромосомы этой
популяции. Чем больше значение этой функции, тем выше «качество» хромосомы. Предполагается, что функция приспособленности всегда принимает положительные значения и, кроме того, что
для решения оптимизационной задачи требуется максимизировать
эту функцию.
Проверка условия остановки алгоритма. Определение условия остановки генетического алгоритма зависит от его конкретного применения. В оптимизационных задачах, если известно максимальное (или минимальное) значение функции приспособленности, остановка алгоритма может произойти после достижения
ожидаемого оптимального значения с заданной точностью. Остановка алгоритма также может произойти в случае, когда его выполнение не приводит к улучшению уже достигнутого значения. Алгоритм может быть остановлен по истечении определенного времени
249
Начало
Генерация исходной популяции
i = 1…N
xi ~ f(x)
хромосом
Оценивание приспособленности
хромосом в популяции
Нет
Селекция
хромосом
Применение
генетических
операторов
Условие завершения
выполнено?
Да
Выбор
«наилучшей
хромосомы»
Конец
Создание новой
популяции
Рис. 2.51. Схема классического генетического алгоритма
выполнения или после выполнения заданного количества итераций. Если условие остановки выполнено, то производится переход
к завершающему этапу выбора «наилучшей» хромосомы. В противном случае на следующем шаге выполняется селекция.
Селекция хромосом заключается в выборе (по рассчитанным на
втором этапе значениям функции приспособленности) тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т. е. для очередного поколения. Такой выбор производится согласно принципу естественного отбора, по которому
наибольшие шансы на участие в создании новых особей имеют хромосомы с наибольшими значениями функции приспособленности.
250
1. Инициализация
2.Оценивание приспособленности
Рис. 2.51 . Схема
генетического алгоритма
k = 0 классическогоФункция
приспособленности
Популяция Р(0)
Хромосома 1:
Хромосома 2:
…
Хромосома N:
Порядок:
[01 …1]
[10…0]
…
[11 …0]
1 2 3 4… N– 1N Хромосомы
в популяции P(k)
12 … L
3. Условие завершения:
если оно выполнено,
то выбрать «наилучшую» хромосому и КОНЕЦ
4. Селекция:
Популяция P(k)
(родительский пул)
Селекция
Популяция М(k)
Хромосома 1:
Хромосома 2:
Хромосома 3:
Хромосома 4:
…
…
Хромосома N:
Хромосома N – 1:
5. Генетические операторы:
Скрещивание в точке l k :
Одна пара хромосом,
выбранная из
популяции M(k)
с вероятностью рc
[01… 10…1]
Скрещивание
[01…11…0]
[11…01…0]
[11…00…1]
Порядок: 12…lk …L
Мутация в точке lт :
Одна пара хромосом,
выбранная из
популяции M(k)
с вероятностью рт
6. Новая популяция
Хромосома 1:
Хромосома 2:
…
Хромосома N:
Порядок:
[10…1…0]
Мутация
[10…0…0]
Порядок: 12…lm …L
Популяция P(k + 1)
Переход к шагу 2
[01…11…1]
[10… 0 …0]
…
[11…00…0]
12
…
L
Рис. 2.52. Этапы генетического алгоритма
251
Существуют различные методы селекции, наиболее популярные
описаны в разд. 3.3.3. В результате процесса селекции создается
родительская популяция, также называемая родительским пулом
с численностью N, равной численности текущей популяции. Применение генетических операторов к хромосомам, отобранным с помощью селекции, приводит к формированию новой популяции потомков от созданной на предыдущем шаге родительской популяции.
В классическом генетическом алгоритме применяются два основных генетических оператора: оператор скрещивания и операторы мутации и инверсии. Однако следует отметить, что операторы мутации и инверсии играют явно второстепенную роль по сравнению с оператором скрещивания. Это означает, что скрещивание
в классическом генетическом алгоритме производится практически всегда, а мутация и инверсия − достаточно редко. Вероятность
скрещивания, как правило, достаточно велика (обычно 0,5 ≤ рс ≤ 1),
тогда как вероятности мутации и инверсии устанавливаются весьма малыми (чаще всего 0 ≤ рт ≤ 0,1; 0 ≤ рс ≤ 0,1). Это следует из аналогии с миром живых организмов, где мутации происходят чрезвычайно редко.
В генетическом алгоритме мутация и инверсия хромосом могут
выполняться на популяции родителей перед скрещиванием или на
популяции потомков, образованных в результате скрещивания.
Формирование новой популяции. Хромосомы, полученные в результате применения генетических операторов к хромосомам временной родительской популяции, включаются в состав новой популяции. Она становится так называемой текущей популяцией для
данной итерации генетического алгоритма. На каждой очередной
итерации рассчитываются значения функции приспособленности для всех хромосом этой популяции. Затем проверяется условие
остановки алгоритма и либо фиксируется результат в виде хромосомы с наибольшим значением функции приспособленности, либо осуществляется переход к следующему шагу генетического алгоритма, т. е. к селекции. В классическом генетическом алгоритме
вся предшествующая популяция хромосом замещается новой популяцией потомков, имеющей ту же численность.
Выбор «наилучшей» хромосомы. Если условие остановки алгоритма выполнено, то следует вывести результат работы, т. е. представить искомое решение задачи. Лучшим решением считается хромосома A*с наибольшим значением функции приспособленности
F ( A*) = maxF ( Ak ).
p
252
2.7.5. Применение генетического алгоритма
для решения задачи обеспечения отказоустойчивости
вычислительного кластера
Рассмотрим задачу обеспечения отказоустойчивости вычислительного кластера. Этот подход реализуется посредством отказоустойчивого размещения задач, т. е. такого статического распределения задач по серверам, при котором определенное число копий каждой задачи размещается на различных серверах.
Кластер рассматривается как совокупность n однотипных серверов, объединенных коммутационной системой (рис. 2.53). Каждый
сервер имеет один процессор и память ограниченного объема. Кластер выполняет фиксированное задание Г, которое представляет собой известное множество задач Г = {U1, Uj, …, UL} с заданными требованиями к порядку их выполнения и взаимосвязям.
Каждая задача Uj характеризуется следующими показателями:
bj – вес задачи, т. е. величина, определяющая важность задачи Uj
для системы (более важной задаче соответствует больший вес);
vj – объем оперативной памяти, требуемый для хранения и выполнения задачи;
τj – время выполнения задачи.
В процессе работы кластера возможны отказы серверов. Состояние кластера определяется как sv = σ1,…, σn, где σi = 0, если Mi– работоспособный сервер (р-сервер) и σi = 1, если Mi – отказавший сер-
Кластер
Коммутаторы
Серверы
Сеть хранения данных
Рис. 2.53. Общая схема взаимодействия пользователей с кластером
253
вер (о-сервер); s0 = 00…0 – начальное состояние кластера. Все состояния sv ≠s0 называются искаженными.
Известно начальное распределение задач по серверам при отсутствии их отказов (для состояния s0), описываемое матрицей
D0 = d 0ji , где d 0ji = 1, если задача Uj назначена для выполнения на
сервере Miи размещена в нем, d 0ji = 0 в противном случае; каждая
задача назначена на один и только один сервер. Задачи, назначенные на сервер Mi в соответствии с начальным размещением задач
назовем собственными задачами этого сервера.
Качество работы кластера оцениваем его функциональной мощностью Ev в состоянии sv, которое определяется как сумма весов
всех задач, назначаемых для выполнения в работоспособные серверы в состоянии sv.
Требуемый уровень отказоустойчивости кластера задается множеством S = {sv } работоспособных состояний, которое определяется как множество всех таких состояний, число k отказавших серверов, у которых значение d не превосходит заданного, очевидно
S = s0 ∪ Sω, где Sω = {sω } − множество искаженных работоспособных состояний.
Требуется путем организации при отказах сервера надлежащего
перераспределения задач между различными р-серверами обеспечить выполнение заданных требований к отказоустойчивости кластера и к другим его показателям. Для этого при проектировании
кластера или при подготовке к реализации в нем определенного задания, необходимо найти оптимальные планы Dω = d ω
ji распределения задач для каждого состояния sω∈ Sω и результирующее отказоустойчивое размещение задач Z = |zij| для всех серверов, где zji = 1,
если задача Uj размещена на сервере Mi (т. е. ее программный код
загружен в память сервера Mi), zji = 0 в противном случае; zji определяется как дизъюнкция значений d vji для всех состояний sv ∈ S
(включая начальное).
После того как оптимальные планы Dω найдены, каждый сервер
заранее обеспечивается аппаратными и программными ресурсами,
необходимыми для выполнения задач, которые могут назначаться
ему в любом состоянии sv ∈ S. При переходе кластера, вследствие
отказов некоторых серверов, в любое искаженное состояние sω ∈ Sω
и обнаружении этого факта во всех р-серверах начинается выполнение задач, назначенных им в соответствии с планом Dω.
Применим ГА для решения задачи рационального статистического перераспределения задач.
254
Постановка задачи. Для каждого искаженного работоспособного состояния sω∈Sω найти такой план Dω = d ω
ji распределения
задач, при котором достигается максимальное значение функциональной мощности системы в состоянии sω:
∑
f
=
Eω
U j∈
Ω
∑
f
∈
ω Mi
dω
ji b j → max,
(2.82)
Hω
f
где Ω ω − множество собственных задач отказавших серверов; Hω−
множество р-серверов для состояния sω, при ограничениях:
на суммарное время выполнения сервером Mi всех задач, назначенных ему в состоянии sω:
=
DT ω
Si
∑
f
U j∈ Ω ω
DT *Si, i 1,..., gω,
t jd ω
ji ≤ =
(2.83)
где g ω − число р-серверов в состоянии sω; DT *Si = T *Si − T 0Si − ресурс
времени для размещения на сервере Mi копий задач отказавших
серверов; T *Si − заданное граничное значение суммарного времени
выполнения всех задач, назначенных на р-сервер Mi; T 0Si − суммарное время выполнения всех собственных задач сервера Mi;
на объем памяти каждого р-сервера Mi, доступный для размещения копий задач, дополнительно назначаемых этому серверу для
выполнения в искаженном состоянии sω:
=
D V ωi
∑
f
U j∈Ω ω
*
dω
jivj ≤ D V ωi;
(2.84)
1,..., gω , ∀ Mi ∈ Hω , i =
(
)
0
Vm
i −Vi
где D V ωi =
; Vm
i − максимальный объем памяти сервера Mi;
N S iω
V 0i
( )
− объем памяти сервера Mi, занятый его собственными задаr − число таких состояний s ∈ Sω, в которых данный
чами; N S ω
ω
i
сервер Mi не отказал, и при учете, что в каждом состоянии sω задача Uj ∈Ω fω может быть либо назначена только в один р-сервер,
либо отброшена, т. е.
(
)
n
∑ d ωji ≤ 1;
i =1
∀U j ∈ Ω fω. (2.85)
Рассматриваем случай, когда в каждом состоянии sω подвергаются перераспределению, т. е. передаются для выполнения в какиелибо р-серверы, либо отбрасываются только собственные задачи
255
отказавших серверов, а собственные задачи всех р-серверов продолжают выполняться на «своих» серверах.
Решение задачи. В качестве функции полезности F(Ak) принята
функциональная мощность системы в состоянии sω− сумма весов
тех задач Uj, для которых aj ≠ 0 для данной хромосомы Ak. Решение
задачи состоит в вычислении с помощью ГА плана размещения задач Dω для каждого состояния sω ∈ Sω. Затем на основе всех полученных планов Dω и плана начального размещения задач формируется план Z = |zji| результирующего отказоустойчивого размещения
задач для всех серверов, как указано выше. Последовательность выполнения ГА, формирующего план Dω, состоит из следующих шагов.
Создание начальной популяции Р0 состоит в выполнении операции инициализации для каждой особи из ее N0 хромосом, т. е. случайного распределения задач по р-ПМ некоторого данного состояния с одновременной проверкой заданных ограничений на объем
памяти ПМ и на максимальное суммарное время выполнения задач
на каждом сервере. N0 задается пользователем. Алгоритм инициализации одной хромосомы:
– формирование случайного списка задач;
– выбор очередной задачи из списка, если он не пуст, в противном случае − окончание работы алгоритма;
– попытка размещения выбранной задачи в i-й р-сервер данного
состояния (i = 1, …, g, g – число р-серверов), начиная с i = 1 при проверке ограничений (2.83) и (2.84). Данная задача назначается для
решения в i-й сервер, если ограничения (2.83) и (2.84) для него не нарушены, иначе – попытка разместить ее в (i+1)-й сервер; процедура
продолжается до наибольшего номера р-сервера;
– если данную задачу не удается разместить ни на один сервер –
отбрасывание этой задачи и переход к шагу 2.
Селекция (отбор) хромосом для скрещивания. В данной реализации алгоритма выбран метод пропорциональной селекции хромосом непосредственно из предшествующей популяции (на первой
итерации – из начальной). Из них случайным образом формируются пары различных хромосом, и над каждой из этих пар с заданной
вероятностью выполняется операция кроссинговера.
Выполнение операторов генетического алгоритма. Над данной
парой хромосом вначале с заданной вероятностью Ркр выполняется
операция кроссинговера. Реализуется операция следующим образом. Если случайно сгенерировано число r < Ркр, то над данной парой выполняется кроссинговер. Потомки проверяются на ограничения и сравниваются с родительскими хромосомами. Если потомок
256
не удовлетворяет ограничениям или если полезность потомка меньше полезности родительской хромосомы, то потомок отбрасывается
и ищется новая родительская пара для кроссинговера. Если r > Ркр,
то над данной парой кроссинговер не выполняется, а «несостоявшиеся родители» переходят в следующий родительский пул R для
выполнения следующего генетического оператора − мутации. Если
потомок удовлетворяет ограничениям и полезность потомка больше
полезности родителя, то потомок переходит в промежуточный родительский пул R, а родители отбрасываются. В данном варианте
реализации ГА используется одноточечный кроссинговер.
Операция одноточечной мутации выполняется для каждого элемента (бита) каждой хромосомы из популяции R с заданной вероятностью Рмут: попытка обмена задачи Um, соответствующей выбранному
элементу Am, на какую-либо из отброшенных задач Us, т. е. назначенных согласно данной хромосоме в «фиктивный» сервер с номером «0».
Данная хромосома переходит на следующий этап алгоритма, если после некоторой попытки такого обмена она удовлетворяет ограничениям (3.3.3) и (3.3.4), иначе ищется другая задача из множества отброшенных задач. В случае неудачи таких попыток для всех отброшенных задач хромосома переходит на следующий этап без изменения.
Пусть P tc − дочерняя популяция, полученная из популяции Pt
в результате кроссинговера ее особей и последующей мутации.
В следующую (новую) популяцию Pt+1 могут попасть как особи
только дочерней популяции P tc , так и лучшие особи из дочерней P tc
и родительской Pt популяций.
Создание новой популяции Pt+1: хромосомы, полученные в результате операций отбора, кроссинговера и мутации над хромосомами текущей популяции Pt, переходят в Pt+1.
Вычисление качества популяции. Данный этап необходим для ведения статистики и для определения значения критерия останова: после каждого шага ГА вычисляется полезность F(Ak) каждой хромосомы и полезность всей популяции, как сумма всех F(Ak) при k = 1…N.
Замена предыдущей популяции на новую и проверка критерия
останова. В реализации ГА для данной задачи использованы следующие критерии останова:
а) заданное максимальное количество популяций;
б) заданное максимальное значение F(Ak) полезности хромосомы − заданный процент от суммы весов всех задач начального
множества.
Самая полезная хромосома в популяции, полученная перед остановом, является решением задачи.
257
Данный алгоритм реализован на языке программирования С++.
Интерфейс программы содержит две формы ввода.
ввод данных, относящихся к основным параметрам кластера
(рис. 2.54):
– число заданий (количество транзакций) – 9;
– суммарное число задач N, которое необходимо выполнить, чтобы обслужить заявки (задания) пользователей (количество ПМ1) – 8;
– интенсивность поступления заданий (lambda) – 7;
– распределение задач по заданиям (Nобр) – 6, разыгрывается
случайно на интервале [1, N] – 5;
– производительность серверов (максимальная и минимальная
производительность) – 1, разыгрывается случайно;
– приоритеты выполняемых задач – 10;
– количество операций в каждой задаче – 4;
– количество серверов (устройств обработки – УО), которое можно задать (кнопка «Константа») – 2, тогда задачи будут оптимально
2
1
3
10
9
8
7
6
5
4
Рис. 2.54. Окно ввода исходных данных − основных параметров кластера
1 ПМ – Программный модуль, так названы задачи в связи с тем, что их решение
в кластере подразумевает выполнение задач на программном уровне.
258
распределены по существующим серверам или не задавать (кнопка
«Случ. числа») – 3, тогда алгоритм определит оптимальное число
серверов в кластере для обеспечения должного выполнения заданий
пользователей.
ввод данных, относящихся к параметрам генетического алгоритма (рис. 2.55):
– размер популяции – 10, задается пользователем;
– вероятность мутации – 9, задается пользователем;
– критерий останова, который реализован в двух вариантах:
а) порог – полезность популяции, из поколения в поколение меняющейся незначительно – 1;
б) число шагов выполнения алгоритма – 2.
Результат работы генетического алгоритма выводится в это же
интерфейсное окно:
– количество серверов в кластере, необходимое для выполнения
заданий (транзакций) пользователя с обеспечением оптимального
времени обслуживания заданий – 4.
1
3
2
10
9
8
7
6
5
4
Рис. 2.55. Окно ввода исходных данных –
параметров генетического алгоритма
и вывода результатов работы генетического алгоритма
259
– распределение задач по серверам; если задан приоритет выполнения задач r, то и распределение приоритетов – 7;
– количество итераций, которое понадобилось для получения
лучшей особи – 3;
– можно посмотреть лучшую особь и худшую особь за все время
работы генетического алгоритма – 8;
– приспособленность особи: время обработки задания, которое
складывается соответственно из обработки и доставки результата
задания – 6;
– распределение времен обработки и ожидания задач по серверам кластера – 5.
Оценим работу генетического алгоритма для двух вариантов:
без приоритета выполнения задач на серверах кластера и с приоритетом.
Вариант 1: бесприоритетная обработка задач в кластере, количество серверов – случайное число.
Исходные данные:
– количество заданий – 7;
– количество задач – 100;
– обработка задач – бесприоритетная;
– количество операций в каждой задаче одинаково и равно 200;
– количество серверов кластера – случайное число;
– производительность серверов варьируется от 500 до 1500 оп./с;
– матрица распределения интенсивностей и задач по заданиям
(см. рис. 2.54, обозначения 7 и 6).
Результат работы генетического алгоритма для варианта 1 приведен на рис. 2.56 и табл. 2.4.
«Лучшая» хромосома А* за все время работы генетического алгоритма – № 79, максимальное значение F(Ak) полезности хромосомы – это время обработки задания, которое составило 22,075 единицы времени, из них 12,896 – это обработка и 9,1796 – доставка.
Решение, близкое к реальному, было найдено за 175 итераций. Для
обслуживания заданий пользователей необходимо 23 сервера.
Полное распределение задач по серверам кластера, которое получается в результате работы генетического алгоритма, приведено
в табл. 2.4.
Распределение задач по серверам позволяет определить производительность обработки заданий Vу.о, среднее время обработки ROu
и среднее время ожидания ROdst заданий (рис. 2.56).
260
Рис. 2.56. Результаты работы генетического алгоритма для варианта 1
Таблица 2.4
ПМ №
0
УО № 14
1
2
0
8
3
4
20 10
5
6
7
8
9
10
11
12
13
14
15
6
8
3
0
8
1
7
6
2
15 12
ПМ № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
УО №
5
8
15 20 15 10 17 13 12
0
17 14
8
7
17
2
ПМ № 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
УО № 15
0
12
4
17 14
9
12
0
18 12 19 18
5
15 11
ПМ № 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
УО №
1
14
8
6
14 22
6
11
4
8
20 16
1
10 19 12
ПМ № 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
УО №
0
13 22
2
5
13 21
6
1
12 11
3
1
14
9
1
ПМ № 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
УО № 19
7
14 33
3
3
6
24
7
20
0
17 22 12
2
14
ПМ № 96 97 98 99
УО № 10
6
3
14
261
Вариант 2: бесприоритетная обработка задач в кластере, количество серверов задано.
Исходные данные: те же, что и для варианта 1, но количество
серверов кластера задано и равно 10 (рис. 2.57). Соответственно задачи будут перераспределены с 23 серверов на 10 (будем считать, что
13 серверов в состоянии о-сервер). Оценим, как изменится при данных обстоятельствах время обработки заданий пользователей.
Результат работы генетического алгоритма для варианта 2 приведен на рис. 2.58 и табл. 2.5.
Как видно из рис. 2.58, общее время обработки заданий увеличилось, поскольку увеличилась загруженность серверов кластера,
находящихся в состоянии р-сервер.
Вариант 3: приоритетная обработка задач в кластере, количество серверов – случайное число.
Исходные данные: количество заданий, задач, матрицы распределений задач по транзакциям и количество операций для каждой
задачи не изменилось; установлено 3 уровня приоритета обслуживания задач (рис. 2.59).
Рис. 2.57. Исходные данные для варианта 2
262
Рис. 2.58. Результаты работы генетического алгоритма для варианта 2
Таблица 2.5
ПМ №
0
УО № 10
1
6
2
3
4
11 13 11
5
9
6
7
12 14
8
9
10
11
12
13
14
15
9
8
14
7
6
12 11 15
ПМ № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
УО № 21
8
13 23 29 17 17 26 31
9
27 28 16
7
30 12
ПМ № 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
УО № 15 16 32 28 34 21 27 24 29 28 24 19 35 11 31 23
ПМ № 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
УО № 23 29 17 13 31 40 15 25 14 18 38 33
5
19 23 27
ПМ № 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
УО № 12 19 22 28 15 26 21 16 23 25 19
7
18 28
9
22
ПМ № 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
УО № 19
7
14 33
7
9
6
24
7
20
5
17 22 12
2
3
ПМ № 96 97 98 99
УО №
4
0
4
0
263
Рис. 2.59. Исходные данные для варианта 3
Рис. 2.60. Результаты работы генетического алгоритма для варианта 3
264
Таблица 2.6
ПМ №
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
УО №
r
ПМ №
УО №
r
ПМ №
УО №
r
ПМ №
УО №
r
ПМ №
УО №
r
ПМ №
УО №
r
ПМ №
УО №
r
6
0
16
0
0
32
13
1
48
2
0
64
6
2
80
0
0
96
11
2
10
1
17
1
2
33
11
0
49
14
1
65
2
0
81
0
2
97
9
2
2
1
18
3
1
34
7
2
50
2
1
66
10
1
82
4
1
98
3
1
10
0
19
14
1
35
0
2
51
1
2
67
12
0
83
10
1
99
2
1
1
1
20
11
0
36
11
1
52
6
0
68
5
1
84
13
1
9
1
21
7
1
37
8
1
53
7
0
69
5
1
85
7
1
11
2
22
5
1
38
6
0
54
4
1
70
12
0
86
2
1
8
2
23
2
0
39
8
1
55
8
0
71
3
0
87
4
1
3
1
24
5
0
40
12
1
56
7
0
72
14
2
88
8
1
8
0
25
9
1
41
4
1
57
9
1
73
3
1
89
1
1
11
2
26
1
2
42
12
1
58
2
2
74
9
1
90
9
2
9
0
27
12
2
43
11
2
59
14
0
75
12
0
91
8
2
4
0
28
9
0
44
4
1
60
7
1
76
6
1
92
5
1
8
2
29
10
0
45
7
0
61
14
2
77
1
1
93
7
0
9
1
30
13
2
46
12
0
62
0
0
78
12
2
94
14
0
5
0
31
10
0
47
5
0
63
1
2
79
7
2
95
0
0
Результат работы генетического алгоритма для варианта 3 приведен на рис. 2.60 и табл. 2.6.
С введением приоритета время обработки изменилось незначительно.
Вариант 4: приоритетная обработка задач в кластере, количество серверов задано.
Исходные данные: те же, что и для варианта 3. Количество серверов кластера задано и равно 7 (рис. 2.61). Соответственно, задачи
будут перераспределены с 15 серверов на 7 (будем считать, что 8 серверов в состоянии о-сервер). Оценим, как изменится при данных обстоятельствах время обработки заданий пользователей.
Результат работы генетического алгоритма для варианта 4 приведен на рис. 2.62 и табл. 2.7.
В результате перераспределения задач с 15 серверов на 7 общее
время обработки заданий пользователей увеличилось с 21,27 единиц времени на 25,18.
265
Рис. 2.61. Исходные данные для варианта 4
Рис. 2.62. Результаты работы генетического алгоритма для варианта 4
266
Таблица 2.7
ПМ №
0
1
2
3
УО №
7
r
0
4
5
6
12
9
12
7
11 11
7
8
12 13
1
1
0
1
1
2
1
0
2
7
8
9
10
2
11
12
13
14
9
9
13 19 16
0
0
2
1
15
0
ПМ № 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
УО № 13
r
0
9
6
14 15 14
9
8
9
14 11 12 12 18 17 21
2
1
1
1
0
0
1
0
1
2
2
0
0
2
0
ПМ № 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
УО № 23 22 15
r
1
0
2
7
19 13 12 16 20
9
18 22
9
14 16 12
2
1
1
1
1
0
1
0
1
1
2
0
0
ПМ № 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
УО №
5
28
7
8
14 14
9
17 15 12
6
19 14 14
3
5
r
0
1
1
2
0
1
0
2
0
0
2
0
0
1
1
2
ПМ № 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
УО № 12
r
2
6
18 20 11 11 12 13 20
7
19 21 22
5
23 18
0
1
1
1
1
2
0
1
1
0
0
2
0
1
2
ПМ № 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
УО №
4
5
8
17 21 14
6
9
12 11 15 16 15 14 14
1
r
0
2
1
1
1
1
1
0
1
1
1
2
2
1
0
0
ПМ № 96 97 98 99
УО №
0
4
5
6
r
2
2
1
1
Резюме по второй главе
Моделирование является основным методом исследований во
всех областях знаний и научно обоснованным методом оценки характеристик сложных систем, используемым для принятия решений в различных сферах инженерной деятельности. Существующие и проектируемые системы можно эффективно исследовать
с помощью математических моделей (аналитических и имитационных), реализуемых на современных компьютерах, которые в этом
случае выступают в качестве инструмента экспериментатора с моделью системы.
Модели сложных систем, какими являются сети телекоммуникаций, обычно имеют комплексный вид, используют в своем составе сразу несколько представлений. Сложная система − это такая,
267
которую нельзя понять, рассматривая ее только с одной точки зрения и отобразив эту точку зрения в виде наглядной модели (рисунка на бумаге) или в виде математической модели, взаимосвязанной
с наглядной моделью. Чтобы осмыслить многие аспекты, необходимые для решения задачи проектирования сложной системы, ее разработчики должны рассматривать эту систему с нескольких точек
зрения. Практика показала, что разработчикам иногда приходится
представлять сложную систему не одной, а несколькими моделями.
модели объединяются в проектной документации и в умах разработчиков в единое (интегральное) представление о системе.
Модели могут принимать различную форму в зависимости от
способа мышления исследователя, его взгляда на мир, используемой алгебры. Использование различных математических аппаратов впоследствии приводит к различным возможностям в решении
задач.
Каждый подход к моделированию имеет свои достоинства и недостатки. Разные модели имеют разные возможности (мощность)
для решения задач, разные потребности в вычислительных ресурсах. Один и тот же объект может быть описан различными способами. Инженер должен грамотно применять то или иное представление, исходя из текущих условий и стоящей перед ним проблемы.
268
Глава 3
Реализация аналитико-статистического подхода
применительно к анализу
инфокоммуникационных сетей
Технология моделирования сложных технических систем, к классу которых относятся и инфокоммуникационные сети, опирается на
имитационное машинное моделирование, в основе которого лежит
метод статистических испытаний (метод Монте-Карло). Известный
недостаток этого универсального метода заключается в его медленной сходимости.
Применение комбинированных аналитико-статистических методов позволяет существенно ускорить численный расчет и анализ
характеристик сетей методом машинной имитации.
Теоретической основой методов ускоренного статистического моделирования сетей являются методы расслоенной выборки, равновзвешенного моделирования, элементы теории экстремальных
статистик. Специфика заключается в интерпретации и развитии
названных методов применительно к задачам системного проектирования инфокоммуникационных сетей.
3.1. Задачи системного проектирования и эксплуатации ИКС
Рассматривая ИКС как средство взаимодействия множества
пользователей (включая и автоматические, например ЭВМ) между
собой, можно выделить три группы задач, решаемых как на этапе
системного проектирования, так и при эксплуатации сети.
Первая группа задач связана с синтезом топологической структуры ТКС с учетом ее развития, динамики потоков и живучести,
выбором производительности и алгоритмов функционирования
коммутационных узлов сети.
Вторая группа задач обусловлена реализацией технологии взаимодействия, которая получила свое оформление в виде системы протоколов обмена информацией, имеющих многоуровневую структуру.
Третья группа задач − это задачи управления взаимодействием
на уровне телекоммуникационной сети; решение их связано с разработкой эффективных процедур управления коммутацией, маршрутизацией, управлением потоками, реконфигурацией сети.
При системном проектировании сети в качестве критериев используются ВВХ доставки сообщения, стоимость сети, структурная
надежность либо живучесть сети. Причем стоимость сети выступает
269
часто в виде ограничения. Названные задачи системного проектирования связаны между собой. Желательно комплексное решение,
что является сложной задачей. На практике сложился подход, когда решаются отдельные задачи и затем объединяются в общей процедуре проектирования. На первом этапе эвристическим методом
определяется исходный граф сети. Затем проводится анализ исходного варианта с привлечением аналитического и имитационного
методов моделирования. Определяются надежностные и временные
характеристики ИКС. Определяется область допустимых значений
нагрузки, при которых обеспечивается требуемое время передачи
информации. Сложность задачи заключается в том, что для различных участков сети должны выполняться различные как в качественном, так и в количественном отношении условия транспортировки пакетов. Поэтому в большинстве случаев в роли критериев
эффективности может выступать время доставки пакетов между отдельными корреспондирующими парами «источник-адресат», что
обусловливает необходимость оценки ВВХ доставки между всеми
корреспондирующими парами узлов при заданных структуре сети,
алгоритмах маршрутизации и дисциплине очередей.
С необходимостью решения ряда аналогичных задач сталкиваются при эксплуатации сети. Эксплуатация сети связи сопряжена с ее
развитием и модернизацией (подключение новых пользователей, интеграция служб, расширение парка средств, введение новых подсистем, эволюция функций управления, реконфигурация сети и проч.).
При этом требуются оценки принимаемых решений, например:
– эффективности внедрения в существующую сеть новых станций (ТУ) в зависимости от числа станций, места их подключения,
числа альтернативных маршрутов, связности сети;
– эффективности включения высокоскоростных трасс в существующую сеть, их число и место,
– ресурса, необходимого для расширения набора услуг, предоставляемых пользователям сети,
– надежности и живучести сети, как в катастрофических ситуациях, так и в ситуациях реконфигурирования.
Решение названных задач требует соответствующего модельного
обеспечения. Причем необходимы такие средства моделирования,
которые удовлетворяют требованиям оперативности анализа вариантов и приемлемой точности результатов.
Современная информационная технология ориентируется на
разработку математических моделей проектируемых объектов с последующей их алгоритмизацией и реализацией на ЭВМ.
270
Учитывая стохастичность, большую размерность сетевых задач,
необходимость отображения маловероятных событий, приходиться разрабатывать ускоренные аналитико-статистические методы
имитации.
В этой главе мы продемонстрируем использование аналитикостатистического метода и построение соответствующих моделей
применительно к решению трех задач: оцениванию функциональной надежности сети, оцениванию времени доставки пакетов по сети, расчету необходимой емкости буферных накопителей, применяемых в узлах коммутации, поскольку буферизация рассматривается как стратегия, обеспечивающая ресурсами.
3.2. Метод равновзвешенного
расслоенного моделирования
Во многих приложениях представление показателя качества моделируемой системы используется в виде среднего риска:
{ ( )}
Q=
( a ) M f a, â ,
где a = ( a1, …, an ) − случайный вектор, описывающий случайные
процессы в моделируемой системе; b = ( b1, …, br ) − вектор, задающий параметры модели; f(⋅) − функция, значение которой при различных реализациях xi , i = 1, N вектора α определяется в ходе вероятностного моделирования. В частности, если f(⋅) = ξ = 1 при выполнении моделируемой системой заданных требований и f(⋅) = ξ = 0
в противном случае, то Q b есть вероятность выполнения заданных требований. Двоичной случайной переменной ξ= f ( a ) при
фиксированном значении b можно оценивать надежность (связность) сети, функциональную надежность (живучесть) сети, факт
установления/неустановления соединения на сети и ряд других
ВВХ сети.
Таким образом, решение задач, связанных с оценкой редких событий, может быть сведено к оцениванию математического ожидания Mξ двоичной случайной величины (СВ) ξ, заданной в виде
функции ξ = f(α), причем СВ α = (α1, …, αn) имеет закон распределения p(α ∼ p), который известен.
Задача расчета оценки для Mξ может решаться с помощью различных аналитико-статистических алгоритмов. Их эффективность
будем характеризовать дисперсией оценки при фиксированном числе N опытов. Чем меньше дисперсия оценки, тем точнее алгоритм
()
271
и тем он эффективнее, если, конечно, сложность расчетов в сравниваемых алгоритмах различается незначительно.
Например, при непосредственном статистическом моделировании генерируется N независимых реализаций α1, …, αN случайной
( )
величины α и вычисляются ξi = f a ι , i = 1, N. Оценка m̂ определя-
(
1
ˆ = ξ + ... + ξ
ется как m
N
)
N и дисперсия D m̂ оценки m̂ составляет
величину Dξ/N.
Метод расслоения [1] применительно к задаче расчета оценки
для Mξ заключается в том, что множество X значений СВ α разбивается на подмножества (слои) Xi , i = 1, L,  Xi = X, Xi ∩ Xj = 0, i ≠ j
i
c известными вероятностями p(Xi) = p{α ∈ Xi} > 0. Для каждого слоя
Xi вводится независимая СВ αI ∼ pi(x) = p(x|Xi), генерируется Ni > 1
ее независимых реализаций a ij, j = 1, Ni , вычисляются соответству-
( )
ющие реализации ξ ij = f a ij
ˆi =
СВ ξ и оценка m
=
i 1=
, L, ∑ Ni N.
N
1 i j
∑ ξ для Mξi,
Ni 1 i
L
i
ˆ p для Mξ рассчитывается по формуле m
ˆ p = ∑ p ( Xi )m
ˆi
Оценка m
1
и является несмещенной.
Распространены [1] два способа определения чисел Ni испытаний
в слоях Xi: оптимальный, когда
p ( Xi ) si
Ni
,
(3.1)
= L
N
∑ p ( Xk ) sk
k =1
2= Dξ , и рациональный, когда
si
i
Ni = N p ( Xi ).
(3.2)
ˆ p ≤ Dm
ˆ , т. е. метод расслоения
В обоих случаях имеет место Dm
не менее точен, чем метод непосредственного статистического модеˆ p = Dm
ˆ возможно лишь в случае ралирования [7]. Равенство Dm
венства условных математических ожиданий Mξ1 = … = MξL = Mξ.
Таким образом, произвольное расслоение
=
Ξ {X
=
i } , i 1, L, при ис-
пользовании этих формул обеспечивает не менее и, скорее всего,
ˆ p , чем оценка m̂ непосредственного модеболее точную оценку m
лирования.
272
ˆ i , i = 1, L для MξI находятся с помощью непосредственОценки m
1, L по Ni их реализаций.
ного моделирования СВ ξi , i =
3.2.1. Метод равновзвешенного моделирования.
Анализ точности
Наряду с непосредственным моделированием и методом расслоения рассмотрим также следующий конкретный вариант метода
взвешенного моделирования. Вместо СВ α разыгрывается равномер1 n; j =
1,n и показано распределенная СВ b  p0 (x), x ∈ X; p0 xj =
тель Mξ оценивается как математическое ожидание СВ ζ = nf(β)p(β)
на том основании, что Mξ = Mζ:
( )
∑ nf ( x) p ( x) p0 ( x)= ∑ f ( x) p ( x)=
Mz=
x∈X
Mξ.
x∈X
Этот конкретный прием назовем равновзвешенным моделированием (РВМ). Для N реализаций ζ1, …, ζN СВ ζ дисперсия оценки
ˆâ =
m
z1,..., z N N , получаемой равномерным моделированием, соˆ â= Dz N . Если Dζ/N < D/N или
ставляет Dm
Dζ < D,
(3.3)
равномерное моделирование не проигрывает в точности непосредственному моделированию СВ .
Условие (3.3) может быть раскрыто в виде простых соотношеω p=
ний между множеством=
j ; j 1,n и функцией f(xj), xj ∈ X,
=
X =
xj ; j 1,n . Действительно, из определения СВ ζ с учетом тождества f2(x) = f(x) нетрудно установить, что
{
{
}
}
2
 nS2 − S12 ,
f (xj ) pj2 −  ∑ f (xj ) pj =


 1≤ j ≤n
1≤ j ≤n
=
z n
∑
где
=
S2
=
S1
∑
=
∑ f (xj ) p2j 1≤ j ≤n
f (xj )=
pj
1≤ j ≤n
∑
1≤ j ≤n
pj
∑=
1≤ j ≤n
p2j ;
(3.4)
Mî , 0 < S1 < 1. (3.5)
=
Y { pj ∈ω : =
pj p(xj ), f (x=
)
1
–
множество
вероятностей
для еди}
j
ничных значений функции f(). Тогда выражение (3.3) запишется
в виде nS2 − S12 ≤ S1 − S12 или, что то же самое,
nS2 ≤ S1.
273
Условие (3.3) имеет существенную связь с разбросом значений вероятностей pj ∈ ω из распределения СВ . Чтобы выразить эту связь
формально, введем следующие две числовые характеристики для
произвольного множества E = {e1,…,el} положительных чисел: pE −
среднее по Е:
1
pE = ∑ ej
l e ∈E
j
и ρE 0 – вариацию по Е:
=
ρ2E
1
∑ ( ej − pE )
2
pE
l ej ∈E
2
.
Для Е = 0 примем по определению pE = ρE = 0.
Используя среднее pY и вариацию ρY по множеству Y ⊆ W, можно
для сумм S1 и S2 записать
S1 = kpY ; =
S2
(
(3.6)
)
1 2
S1 1 + ρ2Y , k
(3.7)
где k− число элементов в Y.
С учетом (3.6) и (3.7) условие беспроигрышности может быть
записано в виде
pω
(3.8)
pY ≤
,
2
1
+
ρ
Y
где p=
ω ( p1 +…+ pn ) n . Таким образом, чем больше показатель
2
1+ρ Y разброса y вероятностей pω ∈ Y, тем мельче в среднем долж-
(
)
ны быть вероятности, чтобы выполнялось условие (3.3).
Наряду с необходимым и достаточным условием (3.8) беспроигрышности для оценки m̂â можно получить также простое достаточное условие беспроигрышности, если принять во внимание следующие неравенства. Из определений (3.4) и (3.5) видно, что
S2 ≤ S12 .
отсюда, ввиду (3.6),
1 + ρ2Y ≤ k. (3.9)
Из (3.9) следует, что критерий (3.8) выполняется всегда, когда
S1 ≤ 1 n.
274
Для оценки m̂â ввиду ρ2Y ≥ 0 условие (3.8) невозможно в случае,
когда S1 > k/n, так что неравенство
S1 ≤ k/n
(3.10)
ˆ â.
есть необходимое условие беспроигрышности для оценки m
Метод РВМ по существу реализует случайный выбор с равными
вероятностями для возможных состояний системы. При таком выборе S1 ≤ k/n. При невыполнении условия (3.10) РВМ проигрывает в
числе испытаний NРВМ числу испытаний Nн при прямом моделировании методом Монте-Карло. Оценим этот проигрыш:
Nðâì Dz nS − S2
n 2
t = = =2 21 =
1+
ρ .
Nï
Dξ
n
−k
S1 − S1
(3.11)
С точки зрения практических приложений интересен случай,
когда S1<<1, т. е. k<<n. Для этого случая из (3.11) следует
t = 1 + ρ2.
(3.12)
В этом случае при РВМ требуется провести в (1 + ρ2 ) раз большее
число прогонов модели по сравнению с прямым моделированием,
чтобы получить одинаковую точность оценок.
Очевидно, что уменьшить значение показателя t можно за счет
совместного применения расслоения и РВМ.
3.2.2. Эффективность равновзвешенного
расслоенного моделирования
Эффективность РВМ оценим по соотношению числа испытаний
(опытов), необходимых для получения оценки с одинаковой точностью как при РВРМ, так и при прямом моделировании методом
Монте-Карло.
В общем случае при прямом моделировании полное количество
испытаний NH, необходимых для получения оценки с заданной точностью, условно представим в виде двух подмножеств Ní′ и Ní′′ таких, что
′ + Ní′′ ,
N=
í Ní
где Ní′ − число испытаний, реализация которых может содержать
положительный исход, т. е. в каждой из этих реализаций возникает состояние, для которого с вероятностью 0 < p+ < 1 возможно
ξ f ( x=
значение =
i ) 1, i ∈ Ní′ . Назовем такие реализации содержательными; Ní′′ – число испытаний, реализации которых не могут
275
содержать положительного исхода, т. е. в каждой из этих реализаций возникает состояние, для которого с вероятностью 1 значение
=
î f (x=
i ) 1, i ∈ Ní′′. Назовем такие реализации пустыми.
Тогда, чтобы при непосредственном моделировании получить
Ní′ содержательных реализаций, необходимо провести в среднем
Ní =
Ní′
p+
испытаний. При этом получаем оценку, точность которой характеризуется дисперсией Dîˆ.
При совместном применении расслоения и РВМ проводим только
содержательные испытания, число которых пусть будет равно
NÐÂÌ
= Ní′ (1 + ρ2 ),
и получаем оценку с дисперсией Dzˆ= Dξˆ. Соответственно, соотношение числа испытаний при условии Dzˆ = Dξˆ равно
t
=
Ní
1
.
=
NÐÂÌ p + 1 + ρ2
(
)
Таким образом, выигрыш в числе испытаний при переходе от непосредственного моделирования к совместному применению расслоения и РВМ имеет место при условии, что
(
)
p + 1 + ρ2 < 1.
Покажем, что применение расслоения уменьшает значение t.
Тестовый пример. Оценим этот возможный выигрыш при моделировании маловероятных событий на примере расчета надежности системы, структурная схема которой изображена в виде случайного графа (рис. 3.1) [2]. Вершины (элементы системы) 1, ..., 15
имеются в графе с вероятностями q1, …, q15 соответственно, дуги абсолютно надежны. Система работоспособна, если из полюса Г есть
пути во все полюса П1, П2, П3 (движение против ориентированных
дуг запрещено). Требуется найти вероятность отказа системы при
q1 = q2 = q3 = 10-5, q4 = q6 = q9 = 2⋅10–5, q10 = … = q15 = 5⋅10-5.
Для вариантов I и II известны точные решения [30], которые приводятся в табл. 3.1, графа A. В работе [26] даны результаты расчетов, проведенных методом РВМ без расслоения, содержащие значения оценок Q̂ξ для Mξ и ϑ̂ для коэффициентов вариации СВ Qˆ ξ ,
(табл. 3.1, графа B). Видно, что при хорошей точности оценок Q̂ξ
276
П2
3
6
15
9
7
2
12
Г
3
5
14
8
1
П1
П3
10
11
4
Рис. 3.1. Структурная схема рассматриваемой системы
Таблица 3.1
Вариант
исходных
данных
I
II
III
A
8
B
C
N = 1000
N = 1020
8
8
10 ⋅ Mξ
10 ⋅ Q̂ξ
ϑ̂
10 ⋅ m̂0
ϑ̂
12,00
0,120
–
12,40
0,127
1,549
0,086
0,085
0,354
11,82
0,1183
1,505
0,069
0,069
0,068
в целом значение ϑ̂ при появлении некоторого разброса в исходных
данных (вариант III) заметно возрастает.
Эта же задача решена методом РВМ с расслоением. Система, изображенная на рис. 3.1, имеет связность γ = 2. Анализ показывает,
что при расслоенном моделировании для данных значений отказов
элементов достаточно рассмотреть слои с кратностью отказов i при
2 ≤ i ≤ 3.
Разделение элементов системы на группы состояло в выделении
для i = 2 и i = 3 одних и тех же С(i) = 4 групп элементов с номерами 1,2,3; 4,6,9; 5,7,8 и 10−15 соответственно. При этом получены результаты, приведенные в таблице в графе C. Можно видеть, что для
варианта III показатель ϑ̂ оказался примерно таким же, как и для
первых двух вариантов.
Для рассматриваемого примера p+ = 2,7⋅10–4 и ρ2γ = 0,303. Согласно выражению (3.11) выигрыш в числе испытаний при расслое277
нии и РВМ по сравнению с прямым моделированием по методу Монте-Карло составит t1 = 2,84⋅103 раз.
Этот пример показывает, насколько само по себе эффективно
применение расслоения при моделировании редких событий.
Эффективность непосредственно РВМ, оцениваемая сравнением числа обращений к ДСЧ при моделировании слоя с признаком
|a| = i, т. е. числом отказавших элементов i, составит
t2 =
η(i)
(1 + ρ2ã ) i
,
где η(i) – среднее число обращений к датчику случайных чисел при
разыгрывании метом Монте-Карло одной реализации вектора ai весом |a| = i.
Для рассматриваемого численного примера имеем
(
(
)
)
– при i =2η ( i ) =8,66; ρ2Y (i) =0,374; 1 + ρ2Y i =2,748, что дает
t2 = 3,15;
– при i =3η ( i ) =7,11; ρ2Y (i) =0,706; 1 + ρ2Y i =3,819, что дает
t2 = 1,39.
Выигрыш в числе испытаний за счет только РВМ не столь значителен. Существенно другое.
При многократных повторах численного эксперимента с имитационной моделью сети весьма существенная доля машинного времени тратится на формирование реализаций случайного вектора,
задающего состояния элементов системы, компоненты которого характеризуются в общем случае различными и подчас трудно реализуемыми на ЭВМ законами распределения. Применение равновзвешенного моделирования позволяет решить эту проблему.
Таким образом, сочетание расслоенной выборки с РВМ позволяет
значительно ускорить алгоритмический анализ моделей стохастических систем методом имитации.
3.3. Статистическое оценивание
функциональной надежности сети
Характеристики функциональной надежности отражают возможность сети предоставлять связь абонентам в течение заданного
интервала времени, начиная с произвольного момента поступления
вызова (требования). Другими словами, функциональная надежность сети во многом определяется процессом установления соеди278
нения на сети. Установление требуемого соединения на сети, несмотря на повреждения или отказы отдельных элементов, позволяет
сохранять работоспособность, т. е. обеспечивает живучесть сети.
Для оценки функциональной надежности (живучести) сети количественным показателем может служить вероятность установления
(неустановления) соединения на сети по поступлению соответствующего требования. Это заставляет разработать модель процесса установления соединения на сети. В свою очередь процесс установления
соединения зависит от принятой системы управления потоками.
Эффективность управления потоками на сети во многом определяется эффективностью решения задач назначения маршрутов
и распределения потоков информации [35].
3.3.1. Понятие гамака кратчайших путей
Практически любая стратегия маршрутизации представляет собой совокупность таблиц маршрутизации (ТМ), распределяемых по
узлам коммутации и указывающих, как в зависимости от конечного адресата должен быть распределен по выходным линиям трафик,
поступающий в данный узел.
Такая стратегия обеспечивает дерево альтернативных путей Гij
для каждой пары (i, j) корреспондирующих абонентов. На полученном множестве деревьев решается задача распределения потоков.
Формирование множества Гij− это результат построения так называемых гамаков кратчайших путей (ГКП), определяемых с использованием структурной метрики (СМ). Пример ГКП показан
на рис. 3.2. Структурная метрика может задаваться некоторой
формой, взвешенным образом учитывающей число транзитов, емкость и качество путей, составляющих каждый гамак, физическую
а)
б)
2
1
3
4
5
6
7
8
11
9
14
12
2
13
10
j
i
1
1
6
6
15
3
4
2
5
9
7
8
10
9 10
7
14
15
12
13
15
j
10
11
10
Рис. 3.2. Кратчайшие пути между истоком i и стоком j:
а − дерево; б − гамак
279
длину каждого пути. Конкретный вид структурной метрики может
быть определен только специалистами службы эксплуатации сети.
В основе вычисления альтернативных путей лежит алгоритм минимального числа транзитов. Каждое дерево альтернативных путей
строится без учета динамики нагрузки, поступающей в сеть. Кроме
того, могут иметь место изменения конфигурации сети и ряд других нестандартных ситуаций, редко возникающих в сети и затрудняющих (иногда и исключающих) установление соединения в сети.
Если гамак состоит из независимых путей и альтернативный
путь определяется возвратом к узлу-источнику, то вероятность
установления соединения может быть оценена аналитически логико-вероятностным методом. Если требование независимости путей
в гамаке не выполняется и поиск альтернатив может производиться, начиная с предыдущего транзита, то для получения искомых
оценок целесообразно применить ускоренный метод статистического моделирования. В описываемой модели реализован подход, основанный на методе равномерного взвешенного моделирования.
3.3.2. Концепция моделирования установления соединения
Процесс установления соединения представляет собой посылку
и прохождение вызова от источника к адресату по путям, составляющим направление обмена между источником и адресатом. Направление обмена есть множество (дерево) путей − «гамак» кратчайших путей (ГКП), соединяющий источник вызова с адресатом.
В общем случае каждый путь состоит из цепочки транзитов. В свою
очередь каждый транзит (ветвь) представляет собой пучок каналов, соединяющих два смежных узла в такой цепочке. Вызов может
пройти транзит от одного узла к другому в том случае, если в пучке каналов этого транзита есть хотя бы один незанятый нагрузкой
канал соответствующей скорости. Если в транзите все каналы требуемой скорости заняты, то вызов через такой транзит не проходит
и должен быть передан по другому (обходному) пути.
Кроме фазы доставки вызова до адресата процесс установления
сквозного соединения включает фазу «обратной волны» коммутационных полей станций (узлов), через которые вызов прошел при
его доставке к конечной станции, и тем самым в промежуточных
станциях был зарегистрирован необходимый для сквозного соединения ресурс.
В общем случае сеть неоднородна: она может содержать два типа станций (узлов): станции, допускающие альтернативные исходящие пучки каналов, и станции, которые допускают только один ис280
ходящий пучок каналов в соответствии с номером, содержащемся
в поле вызова.
Взаимное сочетание названных типов станций обусловливает
особенности и влияет на характеристики процесса доставки вызова.
Если в транзите все каналы требуемой скорости заняты, то вызов через такой транзит не пойдет и должен быть передан по другому пути,
т. е. за счет рестарта возвращается либо к одной из предшествующих
станций первого типа, либо к станции-источнику для повторной посылки. Эта особенность должна быть отражена в модели.
Таким образом, особенностью задачи моделирования установления соединения на сети является большая размерность; наличие
альтернативных путей; возможность возврата вызова с последующих узлов на предыдущие; ограничение на число транзитов в соединении; стохастичность процесса доставки вызова до адресата.
С точки зрения прохождения вызова от станции к станции состояние транзита (ветви) бинарное, либо транзит полностью занят,
и вызов по нему не проходит (состояние транзита «1»), либо транзит
имеет хотя бы один незанятый канал требуемой скорости, и вызов
через такой транзит пройдет (состояние транзита «0»).
Соответственно и конечный результат установления соединения
имеет два исхода: либо вызов дойдет до адресата и в «обратной волне» подключением коммутационных полей станций будет установлено соединение за суммарное время (доставка вызова и подключение полей), не превышающее допустимое, либо вызов вообще не дойдет до адресата (во всех путях «гамака» наличествуют полностью
занятые нагрузкой транзиты), либо дойдет до адресата и будет установлено соединение, но за время, превышающее допустимое за счет
рестартов и повторных попыток доставки вызова по другим путям.
Подключения коммутационных полей в режиме «обратной волны»− детерминированный процесс: если вызов доставлен до адресата, то в рамках поставленной задачи подключения происходят всегда и практически каждое − за фиксированное время. Фактор случайности связан с фазой доставки вызова.
Факт доставки вызова устанавливается с помощью имитации
процесса доставки. При этом в силу возможности рестартов − возвращения вызова на предыдущие узлы − число транзитов, пройденных вызовом при его доставке к адресату, оказывается числом случайным. Именно этот аспект придает стохастичность процессу установления соединения. Продолжительность обработки вызова при
его прохождении через транзит, время подключения коммутационных полей в режиме «обратной волны» и, наконец, время рестартов
281
можно считать фиксированными величинами. Тогда время доставки вызова (установки соединения) – случайная величина, определяемая следующим выражением:
τус = ngtтр + nptов + rtr ,
(3.13)
где ng − число транзитов, пройденных вызовом при его доставке
адресату с учетом случившихся рестартов; np − число транзитов
в пути, по которому устанавливается соединение в режиме «обратной волны»; r − число рестартов, имевших место в зафиксированной
реализации процесса установления соединения. В общем случае
0 ≤ r < rдоп, где rдоп − допустимое число рестартов при установлении
соединения. При r > rдоп считается, что вызов адресату не доставлен; tтр, tов, tr – время прохождения транзита, подключения коммутационного поля в узле, рестарта, соответственно.
При имитации доставки вызова до адресата каждый прогон модели дает реализацию случайных величин ng, np и r, по значениям
которых в соответствии с выражением (3.13) подсчитывается время
доставки вызова τус. Если τус ≤ τдоп, то в результате испытания (одного прогона модели) имеем факт установления соединения. Если же
при доставке вызова τус > τдоп, либо при имитации доставки оказалось r > rдоп, либо вообще в «гамаке» не оказалось путей со свободными каналами требуемой скорости, то имеем в результате испытания факт неустановления соединения (рис. 3.3).
Входными данными для оценки являются структурная и потоковая метрики, гамаки (деревья) кратчайших путей и полученные
на их основе значения вероятностей полной занятости транзитов
(ветвей).
Кроме того, входными данными задачи являются ограничения,
при которых должно выполняться соединение (максимально допу-
Факт
доставки
Имитация
доставки
вызова
τ óñ ≤ τ äîï
τ óñ > τ äîï
τ > τ äîï
a
Факт недоставки
Рис. 3.3. Схема исходов имитации процесса установления
соединения ( a − все пути оказались без свободного ресурса,
т. е. непроводящими вызов)
282
стимое число транзитов в соединении, допустимое время установления соединения либо доставки вызова), время продвижения вызова
через транзит и подключения коммутационного поля, число рестартов (возвратов вызова для передачи его по обходным путям, время
выполнения рестарта)
Выходными данными задачи являются статистики, позволяющие оценить вероятность установления соединения (доставки вызова адресату) за время, не превышающее допустимое, и средние и
среднеквадратические значения, характеризующие процесс установления соединения, которые могут быть использованы при упрощенных аналитических расчетах.
3.3.3. Модель процесса установления соединения
С точки зрения установления соединения направление обмена
пары станций (i, j) можно представить в виде графа (см. рис. 3.1)
G = (A, L),
где A = (F, S) − множество узлов (станций), входящих в направление обмена
=
F {=
Fk }, k 1, K − множество узлов, отображающих
станции 1-го типа, допускающие альтернативные исходящие пути; S {=
=
Sw }, w 1,W – множество узлов, отображающих станции
2-го типа, допускающие единственный исходящий путь в соответствии с адресом вызова;
=
L {=
hv }, v 1, V – множество ветвей,
отображающих линии связи (транзиты), соединяющие узлы направления обмена; hv = (v1, …, vc) – упорядоченный вектор скоростей, на которых может осуществляться связь по данной hv ветви
(транзиту). Упорядоченность заключается в том, что vm′ > vm при
m < m ′; m, m ′ =
1, C. Полагаем, что установление соединения с требуемой скоростью vm может быть осуществлено, если в пучках транзитов пути, по которому доставлен вызов до адресата, были свобод1, C.
ными каналы со скоростями vm′ ≥ vm ; m, m ′ =
В качестве критерия эффективности ТМ примем вероятность
установления соединения за время, не превышающее допустимого.
В общем случае, в силу большой размерности сети для решения задачи оценки вероятности установления (неустановления) соединения на сети используем двухступенчатую выборку.
На первой ступени из генеральной совокупности станций сети
{Ai},=
i 1, K + W выбирается пара станций (i,j), i, j =1, K + W, i ≠ j,
для которой должна быть оценена возможность установления соединения.
283
Пара (i,j), в которой i − источник вызова и j − адресат, задает для
второй ступени входные данные, которыми являются записи файлов, содержащие состав ГПКij и соответствующие вероятности, характеризующие «закрытость» транзитов гамака.
При случайном выборе пары (i,j) вначале в соответствии с веро=
i 1, K + W выбирается номер
ятностями активности станций p(i),
станции − источник вызова, а затем в соответствии с условными вероятностями активности связей источника p ( j | i ), j =1, K + W, j ≠ i
разыгрывается номер станции-адресата.
Файлы вероятностей p(i) и p ( j | i ), i,j =1, K + W, j ≠ i организуются при решении задачи распределения потоков, причем
∑ l ik
=
p(i)
k
=
; p(i | j)
∑∑ l ik
i
k
l ij
∑ l ij
,
j,j ≠ i
где λik − интенсивность нагрузки, поступающей от k-го абонента,
подключенного к i-ой станции-источнику; λij − интенсивность обмена информацией между источником i и адресатом j, задаваемая матрицей нагрузки.
Процедура при случайном выборе пары станций повторяется N раз. Выходом цикла являются номера пары станций (i ,j), где
i − источник, j − адресат, и значение вероятности (если требуется)
p(i, j) = p(i)p(i|j).
Отметим, что для ускорения моделирования на первой выборочной ступени все множество гамаков {Ãij }, i, j =1, K + W, j ≠ i можно
декомпозировать на подмножества, используя методику, изложенную в разделе 3.4. Для объединения гамаков в подмножества достаточно учитывать близость условий передачи в основных путях гамаков.
На второй ступени производится расслоение по числу η транзитов, η = (ηmin, …, ηmax) в Гij, полностью занятых нагрузкой на требуемой скорости. Случайным образом в отдельном опыте разыгрывают η номеров полностью занятых транзитов в Гij, и на полученной
реализации Гij имитируется процесс доставки вызова адресату. По
факту доставки вызова фиксируются значения ng, np, и r. По результатам экспериментов вычисляются необходимые статистики.
Благодаря равновероятности генерирование реализации Xη предельно упрощается и сводится к «выбору наугад» номеров ветвей
(транзитов) из общего числа d, закрытых для вызова. Очередной номер определяется по формуле j = Ud + 1, где U − случайное число,
284
U ∈ [0,1], получаемое путем обращения к датчику случайных чисел.
Скобки означают округление в меньшую сторону. Составляющие
гамака Гij с этим номером полагаются равными единице.
3.3.4. Аналитико-статистический расчет
оценки вероятности установления (неустановления)
соединения на сети
Задача расчета характеристик установления/неустановления соединения может быть сведена к задаче оценивания математического
ожидания Mξ двоичной случайной величины (СВ) ξ, заданной в виде
функции ξ = f(αv), причем СВ αv = (α1, …, αd) имеет закон распределения p(α ∼ p), который известен. В данной задаче ξ ∈ {0,1} значение ξ = 0
соответствует установлению соединения, ξ = 1 – неустановлению соединения. Mξ = P{ξ = 1}имеет смысл вероятности неустановления соединения. Случайная величина ξ невырожденная, т. е. 0 < Mξ < 1.
С точки зрения наличия или отсутствия свободных каналов с достаточной для устанавливаемого соединения скоростью v случайную
величину αv интерпретируем как вектор av =a1v, ..., a vd , отображающий состояние транзитов, входящих в моделируемый гамак.
1,d, d − число ветвей (транзиСлучайная величина a vi ∈{0,1} , i =
тов) в моделируемом гамаке. Значение αi = 1 обозначает отсутствие
свободных каналов для скорости v в i-й ветви. Случайные величины a vi считаются невырожденными и независимыми. В этом случае для каждого значения скорости v СВ имеет конечное множество
значений v ∈ X, X = xj ; j = 1,n; n = 2d . Для нее распределение p(х)
задается набором вероятностей p(xj) = P(α = xj) = pj > 0, j = 1,n.
С учетом расслоения по η оценкуMξ находим в виде
(
{
)
}
Qˆ = Mξ
ηmax
∑ Mˆ ξ ( η) P ( Xη ), (3.14)
ηmin
где M̂ξ ( η) − оценка вероятности неустановления соединения при
η транзитах, непроводящих вызов.
Оценка M̂ξ ( η) находится методом РВМ. При выборе нового распределения считаем все возможные реализации гамака, содержащие η непроводящих ветвей (транзитов), равновероятными, т. е.
примем вероятность реализации x ∈ (Xη) в виде
1 C η , ω(x) =
η 
d
g(x) 
,
 0, ω(x) ≠ η 
где (x) − вес реализации x ∈ (Xη).
285
Условие нормировки Σg(x) = 1 при этом выполняется. Действительно, число различных блоков длины d и веса η равно Cdη, и каждый из них имеет вероятность 1/ Cdη. Остальные блоки имеют нулевую вероятность при моделировании слоя xη X. Новая усредняемая
функция при этом имеет вид
=
z(x)
ξ(x/η)p(x)
=
q(x)
 ξ(x/η)C η p(x), ω(x) =
η
d
.

0
, (
x
)
ω
≠
η

и соответственно оценка M̂ξ(η) получается в виде
N
N
1 2η
1 2η
(x)
z=
ξ(x | η)k Cdη p(x), ∑
∑
N2η k 1=
N2η k 1
=
ˆ ξ=
(ç )
M
(3.15)
где N2η – число разыгранных состояний (реализаций) гамака Гij,
в котором η ветвей оказались непроводящими для установления соединения; ξ(x | η)k − исход доставки-недоставки вызова при k-м испытании (k-й реализации Гij); ξ(x | η)k ∈(0,1).
Для задания состояния гамака Гij(η) на k-м розыгрыше применяем случайный выбор η номеров непроводящих ветвей (транзитов).
В результате вектор получает конкретную реализацию x, содержащую η единиц и d-η нулей. В соответствии с правилом прохождения
вызова по гамаку путей Гij и правилом установления соединения
вычисляем значение
ξ ( x | η)k =
f Ãkij 
 
и вероятность полученной реализации
p(x) = p Ãkij  .
 
Значение ξ(x | η)k =
1 имеет место, если вызов не дошел до адресата (все пути гамака оказались непроводящими), либо вызов дошел
до адресата, и установлено соединение, но за время τус > τдоп.
Таким образом, оценку вероятности неустановления соединения
между парой станций (i,j) при η непроводящих ветвей (транзитов)
в гамаке Гij определяем в виде
ˆ ξ ( η)
M
=
ij
286
Cdη
Nη
k
∑ p ( Ã=
ij | ξ ( x | η) k
Nη k=1
)
1.
( )
Вероятность p(x) = p Ãkij рассчитывается по формуле
( )
p Ãkij =
η
d −η
∏ p ( ah = 1) ∏ 1 − p ( al = 1), h ≠ l.
=
h 1=l 1
(
)
Вероятности p=
, h 1,d заданы при решении задачи расa vh 1=
пределения потоков. В частном случае при p a vh= 1= p:
(
=
P ( η) Cdη p η (1 − p )
)
d −η
.
Окончательная оценка вероятности неустановления соединения
между парой станций (i,j) имеет вид
ˆ ij=
Qˆ ij= M
ηmax
∑
ηmin
Cdη
Nη
(
)
∑ p Ãkij | ξ ( x | η)k= 1 .
Nη k=
1
Исходное выражение (3.14) для оценки вероятности неустановления соединения между парой станций (i,j) можно записать традиционно:
ˆ ξij =
Qˆ ij = M
ηmax
∑ P ( η) Mˆ ξij ( η),
ηmin
где P(η) − вероятность слоя векторов x ∈ X (множества гамаков) веˆ ij ( η) − оценка условной вероятности неустановления
са ω(x) = η; Mξ
соединения при η непроводящих вызов транзитах.
Интегральная оценка вероятности недоставки вызова, усредненная по выборке гамаков, вычисляется тривиально как
=
Qˆ
∑ pij Mˆ ξij .
ij
ˆ ij ( η) условной вероятности неустановления соединеОценку Mξ
ния при η непроводящих вызов транзитах можно определять в виде
Nη
ˆ ξij ( η) = 1 ,
M
Nη
где N1η − число испытаний из общего числа Nη, в которых СВ ξ принимает значения ξ = 1.
Такой способ вычисления оценки M̂ξ ( η) физически более прозрачен. Более того, можно ввести четыре счетчика в соответ287
ствии с возможными исходами отдельного шага имитации (см.
рис. 3.2):
– N1η – подсчет значений ξ = 1 при условии, что все пути оказались непроводящими для вызова;
– N2η – подсчет значений ξ = 1при условии r > rдоп;
– N3η − подсчет значений ξ = 1 при условии τус > τдоп;
– N4η – подсчет значений ξ = 0.
Nη, можно получить дифференПоскольку N1η + N2η + N3η + N4η =
циальные статистики, а именно условную вероятность:
– N1η Nη – неустановления соединения из-за того, что все пути
гамака оказались без свободного ресурса, т. е. непроводящими для
вызова;
– N2η Nη – неустановления соединения из-за того, что число транзитов при передаче вызова превысило допустимое;
– N3η Nη – неустановления соединения из-за того, что время
установления соединения превысило допустимое;
– N4η Nη – установления соединения. Напомним, что оценки получаются при условии, что в гамаке η непроводящих транзитов.
В частности, выражение
(1)
ˆ=
M
ξij
ηmax
∑
ηmin
)
ˆ ξ(1=
P ( η) M
ij ( η)
ηmax
∑
ηmin
P ( η)
N3η
Nη
есть оценка вероятности потери связности в направлении обмена Гij.
Представленный для связи тракт может оказаться неудовлетворительным по качеству, что порождает повторный вызов (рестарт)
вследствие отказа от соединения. Это не меняет схему имитации.
Линии (транзиты) могут быть «непрозрачными» (поврежденными)
с неодинаковыми вероятностями, причем не только независимо
друг от друга. Различия в вероятностях и зависимость между «непрозрачностью» (отказами) линий сказывается лишь на вычислении вероятности р(х), входящей в формулу M̂ξ ( η) (3.15).
Предложенные методы расчета функциональной надежности
сети отличаются высокой эффективностью за счет сочетания расслоенной выборки с равномерным взвешенным моделированием
в слоях. Расслоение обеспечивает высокую точность, а равномерное
взвешенное моделирование – простоту и скорость получения реализаций при моделировании редких событий.
288
Построенная в данном разделе аналитико-статистическая модель может быть использована не только для моделирования фазы
установления соединения между корреспондирующими абонентами, но и для оценки эффективности маршрутных таблиц.
3.4. Аналитико-статистический расчет временных характеристик
транспортировки пакетов по сети
При построении полной (топологически подобной) имитационной модели сети в целях оценки ее ВВХ возникает задача снижения
размерности модели.
Формально уменьшение размерности может быть сведено к выделению на структуре сети некоторого множества классов объектов
с последующей их заменой соответствующими моделями. Актуально при этом обеспечить однотипность моделей для представителей
различных кластеров. Важно также, чтобы эти модели с достаточной
полнотой отражали специфику процессов, определяющих ВВХ сети.
В качестве таких представителей различных кластеров целесообразно выбрать путь обмена информацией (ПОИ). Сеть декомпозируется на подмножества ПОИ. В каждое подмножество входят пути, близкие по условиям транспортировки пакетов. Моделью ПОИ
и объектом имитации может служить виртуальный канал (ВК),
представляющий собой некоторый маршрут в сети, состоящий из
последовательности узлов коммутации (УК) и каналов связи (КС) от
узла-источника до узла-адресата. Одна и та же модель ВК для представления разных кластеров будет отличаться только параметрами.
Для имитации взаимодействия с другими направлениями обмена информацией, т. е. учета влияния потоков, циркулирующих по
сети и являющихся транзитными в выделенном ВК, строится вероятностный эквивалент нерассматриваемой части сети в виде генератора фоновых потоков.
Такой подход даст выигрыш в том смысле, что имитируемый
объект будет существенно меньшей размерности. Как теоретическую основу данного подхода можно рассматривать метод расслоенной выборки, предлагая в качестве совокупности факторных признаков все множество ПОИ сети, поскольку передача информации
по отдельным направлениям обмена или маршрутам происходит
с некоторым дискретным распределением вероятностей использования маршрутов, а также с функциями распределения поступления сообщений в сеть и распределениями длительностей обслуживания на узлах коммутации и каналах связи.
289
3.4.1. Декомпозиция сети
на подмножестве путей обмена информации
Специфика декомпозиции ТКС заключается в том, чтобы при моделировании выделенной части воспроизвести взаимодействие процессов, протекающих во всей сети и влияющих на характеристики
выделенной части. Это требование реализуется при декомпозиции
ТКС на классы путей обмена информацией. Кластеризацию направлений можно выполнить по признакам ПОИ, по которому проложен
основной маршрут. При этом факторными признаками выступают
длина пути (число транзитных участков в ПОИ) и нагрузка, приходящаяся на УК и КС, составляющие рассматриваемый путь. Поскольку значения нагрузки УК и КС путей могут в сильной степени отличаться друг от друга, необходимо проранжировать УК и КС
сети: канал или узел будет обладать большим рангом, если на него приходится большая нагрузка. Определение значений нагрузки для каждого элемента сети можно осуществить в программе построения маршрутов, задав, кроме графа сети, производительность
µi каналов и узлов. Тогда в соответствии с матрицей нагрузки для
каждого элемента сети будет подсчитываться суммарная интенсивность λi входящего потока и значения нагрузки pi = λi/µi. На полученном множестве значений нагрузки узлов и каналов каждому
элементу назначается ранг.
Итак, пусть m1− количество рангов для УК, m2 − количество рангов для КС. Тогда для каждого пути прохождения информации дли-
(
)
ной в d транзитов набор признаков есть вектор Z = z(1) , ..., z(2d +1) ,
, i 1,(2d + 1) принимают определенные
компоненты которого z=
значения в зависимости от рангов элементов, составляющих путь.
Размерность вектора признаков 2d + 1 (d + 1 − число УК, d − число
КС) меняется в зависимости от длины пути, т. е. числа транзитных
участков.
Разбиение множества путей Ï = { π1, …, π Nd } проводится с помощью двухэтапной классификации объектов. На первом этапе по
признаку, характеризующему длину пути, образуем подмножества
в соответствии с градациями этого признака. Получим D подмноd
жеств Ï( ) , d = 1, D, где D− максимальное число транзитных участ( i)
ков для путей πi ∈ Ï, i =1, N. Далее, внутри каждого подмножества
Π(d) проводим разбиение на классы по степени значимости, используя процедуру кластерного анализа. В итоге любой объект πi ∈ Π(d)
290
(
)
характеризуется набором признаков zj = zj(1) ,..., zj(2d +1) , где компо-
(k)
k 1,d + 1 имеют диапазон изменения z1 ≤ z(jk) ≤ zm1
ненты zj , =
(zm1 − значение максимального ранга, назначенного УК; компонен(k)
d + 2, 2d + 1, имеют диапазон изменения z1 ≤ z(jk) ≤ zm2 ,
ты zj , k =
zm2 − значение максимального ранга, назначенного КС). При этом
элемент сети при наличии большей нагрузки обладает большим
значением ранга.
Группирование путей πi ∈ Π(d) в непустые непересекающиеся
подмножества, именуемые классами, осуществляется по критерию
близости объектов. Мера близости представляет собой функцию,
ставящую в соответствие каждой паре точек некоторое число Sij,
характеризующее степень сходства (близости) между объектами πi
и πj. Для нашего случая в качестве меры близости целесообразно
принять функцию
0, Sij′ > 1
(3.16)
.
Sij = 
1 − Sij′ ≤ 1

Здесь Sij′ − расстояние между точками πi и πj, определяемое в виде
=
Sij′
2d +1
∑ ( zi(k) − zj(k) ) b ,
k =1
где b − величина, характеризующая степень различия элементов,
(
)
обладающих одинаковым рангом; величина zi(k) − zj(k) b выражает
различие по k-му признаку объектов πi и πj.
С помощью меры близости (3.16) в один класс объединяются схожие между собой объекты, причем степень сходства у объектов,
принадлежащих к одному классу, должна быть больше, чем степень
сходства между объектами, относящимися к разным классам.
Для построения оптимального разбиения множества ПОИ в качестве критерия оптимальности классификации используем сумму
«внутренних» связей за вычетом некоторого порогового значения,
характеризующего существенность связей. Оптимальная по заданному критерию классификация удовлетворяет требованию: средняя связь внутри каждого класса превышает среднюю связь объектов этого класса как со всеми остальными классами объектов, так
и с отдельными объектами каждого другого класса.
291
Пусть а − число, выражающее уровень существенности связи
так, что связь Sij > а является существенной, и ( Sij − a ) > 0 указывает на сходство объектов, тогда как связь Sij < 0 является несущественной и величина Sij − a при Sij < 0 характеризует степень
различия между объектами πi и πj.
Классификация объектов характеризуется разбиением R = {R1, ...,
RL} множества объектов на непересекающиеся классы R1, .., RL. Показателем качества разбиения R = {R1, ..., RL} при значении а порога
существенности является число
=
f ( a, R )
L
∑ ∑
h 1i,j ⊂ Rh
=
(Sij − a).
(3.17)
Иначе говоря, в качестве показателя связи между πi и πj принимается Sij − a ; связи внутри класса Rh характеризуются значением ∑ (Sij − a) так, что f(a,R) есть сумма связей Sij − a внутри
(
i,j ⊂ Rh
)
(
)
разбиения R. Оптимальным будет то разбиение, которое максимизирует f(a,R) при заданном а по всем возможным разбиениям данного множества объектов.
Матрица S*, определяемая мерой близости (3.16), симметрична, и ее элементы принимают значения в диапазоне от 0 до 1, т. е.
Sij = Sji, 0 ≤ Sij ≤ 1. Условимся, что связи Sij объектов с самими собой
не рассматриваются, так что f ({πi },{πi } ) =
0 по определению.
Критерий оптимальности (3.17) позволяет проводить разбиение
на априорно не заданное число классов. К достоинствам показателя
(3.17) относится также возможность выбирать значение порога существенности связей на основе конкретной задачи. При различных
значениях порога оптимальными являются, вообще говоря, разные
разбиения. В задаче классификации путей прохождения информации от значения порога зависит в конечном счете точность оценки
для сети в целом.
3.4.2. Назначение рангов УК и КС.
Выбор порога существенности связей
Очевидно, что элементы сети, на которые приходится в общем-то
разная нагрузка, могут иметь одно и то же значение на введенной
шкале расстояний между объектами, т. е. обладать одним и тем же
значением ранга. Проблема в том, как определить диапазон изменения нагрузки, чтобы элементам сети, с разностью между значения292
ми их нагрузок, не выходящими за пределы этого диапазона, можно было назначить один и тот же ранг.
При решении этой проблемы исходим из цели задачи. Цель состоит в проведении классификации объектов множества Π = πi, …,
πNd по набору факторных признаков таким образом, чтобы результативные признаки объектов, входящих в один класс, отличались
между собой меньше, чем результативные признаки объектов, принадлежащих разным классам.
Нагрузка, приходящаяся на элементы сети, является факторным признаком. Точная зависимость исследуемой характеристики от факторных признаков неизвестна, иначе не было бы необходимости в имитационном моделировании. Но можно аппроксимировать эту зависимость приближенно, учитывая тот факт,
что каждый элемент объекта (в нашем случае УК, КС) вносит свое
влияние на исследуемую характеристику. Эту «долю влияния»
назовем составляющей результативного признака (СРП). В свою
очередь, по построенной приближенной зависимости искомой характеристики от факторных признаков можно назначить ранги
элементам сети, а затем определить и значение порога существенности а.
Пусть Ti = ϕ(ρi) выражает зависимость СРП от фактора ρi (нагрузки элемента i).Тогда, задав число b, как допустимое различие значений СРП в процентах либо долях, можно элементам i и j присвоить
одинаковый ранг при выполнении условия
1 − Ti / Tj ≤ b.
(3.18)
Рассматривая УК (КС) как систему M|D|1, пуассоновский поток на входе с интенсивностью λi сообщений в единицу времени
и детерминированное время обслуживания, можно оценить СРП
в виде [5]:
lTîá
=
T Tîá +
,
2 (1 − ρ)
где Tоб – постоянное время обслуживания.
Ранжирование элементов сети производится раздельно, сначала
для УК, затем для КС по следующей схеме:
1. Выбирается УК (КС), имеющий наименьшую нагрузку, проверяется выполнение условия (3.18) при сопоставлении характеристики выбранного узла (канала) с характеристиками всех остальных.
Всем УК (КС), для которых это условие выполняется, присваивается ранг 1.
293
2. Из оставшихся УК (КС) выбирается узел (канал) с наименьшей нагрузкой T qmin (q = 2) и выполняется процедура первого этапа.
Группе выбранных УК (КС) присваивается ранг
 T (1) − T (2) 
Z =  min (1) min  ,
 bT min 
где x ближайшее целое, не меньшее х.
3. Процедура повторяется для q = 3, 4, ... до тех пор, пока не будет
исчерпано все множество УК (КС).
Таким образом, ранжирование элементов определит диапазон
, k 1, 2d + 1. Число рангов m зависит от
изменения признаков Z k=
задания значения величин b. При малом b число рангов больше и
наоборот, при увеличении b число рангов уменьшается. Если Zmax–
максимальное значение ранга, назначенное УК (КС), а m − количество рангов, которое присвоено УК (КС), то в общем случае m ≤ Zmax.
Объект π (id) ∈Πd имеет 2d + 1 элементов (d – КС и (d + 1) – УК),
каждый из которых характеризуется некоторым рангом. Полное
совпадение рангов элементов двух объектов π(id) и π(jd) выражается совпадением значений векторов признаков Zi и Zj, и в соответствии с выражением (3.16) значение меры близости Sij = 1. В этом
случае разница ε результативных признаков объектов π(id) и π(jd)
будет иметь значение в пределах 0... (2d + 1)b. При полном расхождении векторов признаков двух объектов разница ε результативных
признаков не превышает величины
 Zm ( 2d + 1) + Zm d  b,
 1
2 
где Zm1, Zm2 − максимальные значения рангов УК и КС соответственно.
Значения функции Sij изменяются в пределах от 0 до 1. Чем больше сходство объектов, тем ближе значение к единице; чем больше
разница результативных признаков, тем ближе значение Sij к нулю.
Принимая во внимание, что область изменения функции Sij от
разницы результативных признаков невелика и наблюдается обратная зависимость Sij от разницы результативных признаков, можно
аппроксимировать изменение функции Sij(ε) = S(ε) линейной зависимостью (рис. 3.4):
S ( e ) =−
294
e − bZm1 (2d + 1) + Zm2 d
b  Zm1 (2d + 1) + Zm2 d − (2d + 1) 
.
(3.19)
S(ε)
1
a
0(2d + 1)ε maxε
Рис. 3.4. Аппроксимация функции S(ε)
Задавая εдоп – желательную степень однородности объектов внутри классов, по формуле (3.19) можно найти значение меры близости S(εдоп) = a, при котором достигается заданная степень однородности, т. е. расхождение результативных признаков объектов в одном классе не превышает εдоп (см. рис. 3.4):
a= −
e äîï − bZm1 ( 2d + 1) + Zm2 d
b  Zm1 ( 2d + 1) + Zm2 d − ( 2d + 1) 
. (3.20)
Значение величины εдоп задается в процентах и зависит от желательной степени подробности искомых характеристик. Затем выбирается значение параметра b, которое должно удовлетворять условию
e2äîï
e2äîï
(3.21)
<b<
.
2d + 1
(2d + 1) Bó (2d + 1) + Bêd
(
)
Значения Bу и Bк определяются следующим образом. При вычислении значений Ti = ϕ(ρi) для элементов сети получили множества
{Ti , i = 1,n; n − число УК}; {Tj, j = Tj , j=1, l; l − число КС}, из которых
определяются размахи СРП для УК и КС:=
D ó max Ti − min T
=
i , i 1,n;
=
D ê max Tj − min T
=
j , j 1, l и соответственно
Bó =
D ó 100
minTi
; Bê =
D ê 100
.
minTj
Рассмотрим пример. Пусть внутри подмножества путей длиной
в 3 транзита Π(3) нужно выделить классы. Расхождение результативных признаков внутри каждого класса должно быть не более 5%.
295
Также пусть при значении b = 6% выделено Zm1 = 6 для УК
и Zm2 = 7 для КС. Тогда имеем:
 Zm (2d + 1) + Zm d  b =
 1
2 
(24 + 21) ⋅ 0,006=
0,27;
 Zm (2d + 1) + Zm d − (2d + 1)  b = 38 ⋅ 0,006 = 0,228;
 1
2

a=
− (1 / 0,228 ) ⋅ ( 0,05 − 0 / 27) =
0,965.
Следовательно, в качестве порога существенности связей нужно взять а = 0,965, при котором максимальное значение критерия
(3.17) будет соответствовать оптимальному разбиению множества
объектов Π(3)на классы.
3.4.3. Алгоритм двуступенчатой декомпозиции сети
После того как определены способы назначения рангов и выбора порога существенности связей, укажем последовательность действий для разбиения множества объектов на классы с помощью двуступенчатой декомпозиции.
1. На первой ступени проводится ранжирование элементов сети
(узлов и каналов) по способу, изложенному в разделе 3.4.2.
1.1. По заданному значению ε с помощью (3.21) определяется значение разницы составляющих результативного признака b.
1.2. При заданных значениях нагрузки элементов сети и полученном значении b проверяется условие (3.18); при выполнении условия элементам назначается одинаковый ранг. В результате получаем значения рангов m1 для УК и m2 для КС, которые определяют
(
)
диапазон изменения компонентов вектора Z = z(1) ,..., z(2d +1) .
1.3. По признаку, характеризующему длину пути, множество П
разбивается на подмножества Πd, d = 1,..., D, где D − максимальное
число транзитных участков для путей πi ⊂ П.
2. Этапы второй ступени декомпозиции выполняются для каж1, D.
дого подмножества Π d , d =
2.1. По заданному допустимому значению εдоп и по формуле (3.20)
находится значение порога существенных связей a.
2.2. С помощью (3.16) строится матрица близости S = ||Sij||;
i, j = 1, Nd , Nd − размерность подмножества Πd.
2.3. Выполняется непосредственно сама классификация.
Для максимизации критерия f(a,R) (3.17) используются две последовательные процедуры [20]:
296
А. Объединение. Эта процедура применяется к разбиениям
(k)
(k)
R
=
R1 ,..., R L , (k 0, 1,...). Начальное разбиение k = 0 состо(k)
{
}
ит из Nd одноэлементных классов.
От разбиения R(k) переходим к разбиению R(k+1) с помощью объединения двух классов R(k) так, чтобы дать максимальное приращение показателю f(а,R). Для этого анализируются связи f R (sk), R (tk)
(
)
между классами и объединяются такие R (sk) и R (tk), суммарная
связь которых максимальна и положительна. Процесс прекращается, как только среди сумм f R (sk), R (tk) не будет положительных.
(
)
Б. Перемещение. Этот процесс применяется, начиная с разбиения R(k), полученного в результате предыдущей процедуры. Процесс состоит в последовательном перемещении каждого объекта
в порядке нумерации в тот класс, при котором показатель (3.17) получает наибольшее положительное приращение. Если перемещение любого объекта в другие классы не увеличивает f(а,R), процесс
заканчивается. Сходимость алгоритма гарантируется монотонным
ростом показателя (3.17) .
Таблица 3.2
Этапы
1-й
Вход
Содержание этапа
1. Значения нагрузки ρ, задание
величины ε
Выбор параметра b. РанЧисло рангов:
жирование элементов сети m1− УК,
с помощью условия (3.18) m2− КС
2. Множество
Разбиение множества Π по Подмножества
признаку – длина пути.
Ï(d) , d = 1, D
Величина ε
Выбор порога существен- Значение α
ности связей α по формуле
(3.20)
Векторы признаков
Построение матрицы бли(d )
по
зости множества Ï
формуле (3.16)
Ï = {Ï1 , ..., Ï N }
2-й
Выход
zi =
{
(1)
(2d =1)
zi , ..., zi
Множество
{
Ï(d) = Ï1 , ..., Ï Nd
матрица близости
S = Sij
}
}
Максимизация критерия
оптимальности (3.17)
S = Sij
i, j = 1, ..., Nd
Искомое разбиение
R = { R1 , ..., RL }
297
Этапы построения разбиения множества путей транспортировки
транзактов на непересекающиеся классы сведены в табл. 3.2.
Пример иллюстрации процесса классификации объектов.
Пусть Πd = {1,2,3,4,5,6,7,8,9,10} – начальное разбиение десяти
объектов, а = 0,70 и матрица значений меры близости между объектами Sij имеет следующий треугольный вид, поскольку Sij = Sji:
0,00 0,95 0,63 0,80 0,25 0,87 0,90 0,50 0,48 0,73
0,00 0,68 0,78 0,60 0,91 0,87 0,24 0,53 0,71
0,00 0,42 0,86 0,11 0,49 0,78 0,91 0,55
0,00 0,60 0,79 0,40 0,80 0,90 0,35
0,00 0,84 0,37 0,58 0,94 0,82
0,00 0,67 0,41 0,39 0,72
0,00 0,80 0,79 0,71
0,00 0,55 0,73
0,00 0,60
0,00
Применяя процедуры А и Б, имеем следующую последовательность разбиений:
Начальное Процедура А Процедура Б Процедура Б Процедура Б 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 1,2; 3; 4; 5; 6; 7; 8; 9; 10; 1,2,7; 3; 4; 5; 6; 8; 9; 10; 1,2,7,6; 3; 4; 5; 8; 9; 10; 1,2,7,6,10; 3; 4; 5; 8; 9; f (a,R) = 0,00;
f (a,R) = 0,25;
f (a,R) = 0,62;
f (a,R) = 0,97;
f (a,R) = 1,04.
Дальнейшее применение процедуры Б не дает приращения показателю f (a,R). Поэтому вновь применяем процедуру А к последнему
разбиению:
Процедура А 1,2,7,6,10; 5,9; 3; 4; 8; Процедура Б 1,2,7,6,10; 5,9,3; 4; 8; Процедура А 1,2,7,6,10; 5,9,3; 4,8; f (a,R) = 1,29;
f (a,R) = 1,64:
f (a,R) = 1,74.
Таким образом, окончательное разбиение подмножества Πd,
включающего десять объектов, содержит три класса объектов:
(1,2,7,6,10); (5,9,3); (4,8).
3.4.4. Точность оценки исследуемых характеристик
=
R { R1, …, RL } множества путей обмена
Построенное разбиение
информацией (маршрутов) дает возможность оценить искомые характеристики сети по классам и построить интегральную оценку
298
вида Qˆ S =
L
∑ ph Qˆh , где ph определяется как частота использования
h =1
путей общей совокупности, входящих в класс Rh.
Частота использования того или иного пути и соответствующего
класса путей определяется значениями интенсивностей потоков пакетов (кадров), передаваемых по соответствующим путям, т. е.
Nh
∑ l hi
ph =
i =1
 Nh

∑  ∑ l hi 
i 1

=
h 1=
L
,
где λhi − интенсивность потока пакетов, передаваемых по i-му пути
класса Rh;
Nh = |Rh|.
В частном случае при λhi = значение ph определяется долей объектов общей совокупности, входящих в класс Rh:
ph =
Nh
L
∑ Nh
.
h =1
Оценка среднего значения результативного признака отдельного
h-го класса Q̂ получается с помощью имитационной модели соответствующего пути – модели ВК:
=
Qˆ h
n
1 h
∑yi ( π ⊂ R=
h ) , h 1, L.
nh i =1
Оценка Q̂ представляет собой случайную величину со средним
квадратическим отклонением (стандартной ошибкой) [6]:
s=
Qˆ
h
sh
nh
1−
nh
,
Nh
где σh − среднее квадратическое отклонение отдельных значений результативного признака h-го класса [6]:
=
sh
n
1 h 2 h
∑ s ni ,
n i =1 hi
299
где nk − размер выборки из слоя совокупности объема Nh; n hi − объем выборки вторичной ступени (число пакетов, переданных по
ni-му пути за время имитации hi-го пути); s2h − выборочная оценi
ка дисперсии результативного признака, полученная по результаnh
там h-го имитационного эксперимента; n = ∑ n hi.
i =1
В частном случае, практически естественном при имитации
ПОИ, n hi = nh :
 1 nh 2 
=
sh
 ∑shi  .
 n i =1 
Оценка Qˆ =
L
∑ ph Qˆh
среднего для совокупности, будучи суммой
h =1
независимых случайных величин, является случайной величиной.
Стандартная ошибка оценки Q̂ − среднего значения для совокупности при расслоенном отборе, равна
=
sQˆ
L
∑ ph
h =1
n 
s2h 
1− h .

nh 
Nh 
При расслоенном отборе для достаточно больших объемах выборок оценка Q̂ нормально распределена, т. е. доверительный интервал может быть рассчитан по формуле
{Qˆ − ka sQˆ < Q < Qˆ + ka sQˆ }. (3.22)
При малых объемах выборки (n < 30, n = nh) вместо квантилей ka нормального распределения используются квантили ta
t-распределения (распределения Стьюдента) для вероятности ошибки [6].
Обычно объем выборки, извлекаемый из каждого слоя, пропорционален объему слоя, т. е. из класса, содержащего большее число путей, выбирается больше путей обмена для проведения имитационных экспериментов. В частности, можно воспользоваться условием [40]:
(3.23)
(nh Nh ) ≤ 0,05, исходя из которого определять число nh, так как объем каждого класса Nh известен после проведения классификации. Тогда для
определения стандартной ошибки оценки Q̂ при построении ин300
тервальной оценки результативного признака (3.22) можно пользоваться формулой
L
sQˆ = ∑ ph
h =1
s2h
.
nh
(3.24)
3.4.5. Методика и тестовый пример
ускоренного машинного анализа
временных характеристик сети
Классификация множества путей обмена информацией дает возможность исследования характеристик процесса функционирования ТКС относительно классов методом имитационного моделирования выделенных ПОИ, а затем по частным оценкам построить
общую оценку характеристик сети. Такой подход дает снижение
затрат машинных ресурсов за счет существенного сокращения размерности моделируемого объекта (вместо модели полной сети анализируется модель пути – выделенного маршрута) и в конечном
итоге обеспечивает ускорение исследования ТКС методом имитационного моделирования без снижения точности получаемых результатов.
Методика ускоренного анализа характеристик ТКС на основе машинной имитации путей обмена информацией состоит из следующих этапов.
1. Для заданного графа сети и синтезированных таблиц маршрутизации определяются кратчайшие маршруты с помощью известных эвристических методов [12]. Отметим, что содержание данного
этапа имеет место в любой методике анализа характеристик функционирования сети на основе машинной имитации.
2. Полученное множество путей обмена информацией классифицируется с помощью процедуры кластерного анализа (раздел 3.4.3).
Получив разбиение, удовлетворяющее введенному критерию оптимальности (3.17), определяется число nh путей обмена информацией
из каждого класса для проведения имитационных экспериментов
(рекомендация (3.23)).
3. Для конкретных путей обмена информацией, принадлежащих различным классам, с использованием модели ВК проводятся
имитационные эксперименты по определению характеристик процесса передачи информации на выделенных путях с последующим
построением (если в этом есть необходимость) обобщенных оценок
характеристик качества функционирования всей сети. Имитация
301
Таблица 3.3
Этапы
Входные данные
3-й
4-й
Выход
Топология сети
Определение кратчайших Таблица маршпутей для потоков от каж- рутизации
дого узла к каждому
потоков
Множество путей
Разбиение множества путей на классы с помощью
процедуры кластерного
анализа
Конкретные пути
транспортировки
пакетов. Модель
виртуального канала
Построение генератора
фоновых потоков. Имитация процесса функционирования выделенного
пути транспортировки
пакетов
Оценки по классам
Qˆ , h = 1, L
Построение общей оценки Интервальная
характеристик функцио- оценка Q̂
нирования TKC
1-й
2-й
Содержание этапа
Ï ={ π1 , π2 , ..., π N }
h
Разбиение
R = { R1 , ..., RL }
Оценки Qˆ h
для каждого
класса
h = 1, ..., L
взаимосвязи с процессом функционирования всей сети производится с помощью эквивалентных генераторов транзитных потоков, построение которых осуществляется каждый раз в моделирующем алгоритме на этапе настройки модели ВК на воспроизведение
функционирования заданного конкретного пути обмена информацией.
Этапы методики машинного анализа характеристик ТКС на основе декомпозиции сети на классы путей обмена сведены в табл. 3.3.
При проведении имитационных экспериментов матрица входящей нагрузки предполагалась равномерной с интенсивностью каждого из N(N – 1) потоков 0,1 пакета/с, длина пакета 1000 бит, скорость передачи в каналах 1200 бит/с.
В качестве тестового примера1 для сравнения затрат машинных
ресурсов 300WP4 Model; ATX–3303-1, HDD, 40 Gb при моделировании сети двумя способами была взята сеть с 18 узлами и 74 каналами, топология которой представлена на рис. 3.5. Целью постановки имитационных экспериментов являлось определение средней
задержки пакетов при заданной топологии сети, распределении
потоков по маршрутам, производительности узлов комутации и
пропускной способности каналов.
1
302
Численный эксперимент и обработка результатов выполнены Олзоевой С. И.
3
18
16
15
12
18
14
17
16
10 9
8
13
2
15
13
14
2
11
1
3
1
12
4
17
7
11
5
4
6
9
6
10
5
8
7
Рис. 3.5 Топология сети
При программе построения кратчайших путей произвольного
графа был сформирован состав всех деревьев кратчайших путей.
Для исследования характеристик функционирования сети с заданной топологией была составлена таблица маршрутизации (рис. 3.6),
где на пересечении i-й строки и j-го столбца указаны номера каналов, по которым производится передача пакетов от узла i к узлу j.
Нумерация каналов производится по графу топологии сети в порядке возрастания номеров узлов.
Задание таблицы маршрутизации пакетов эквивалентно заданию множества путей, по которым будет осуществляться передача потоков информации. Ранжирование каналов и узлов сети
проводилось в соответствии с алгоритмом ранжирования, приведенным в разделе 3.4.2. Допустимое различие значений составляющих результативных признаков при назначении одинакового
ранга элементам сети составляло 0,6 %, т. е. b = 0,006. При таком
значении b число рангов узлов коммутации m1 = 7, а число рангов для канала связи m2 = 9. Результаты ранжирования элементов сети при заданном распределении потоков определяют диапазон изменения компонент вектора признаков путей обмена информацией.
303
Классификация путей обмена информацией проводилась так,
чтобы результативные признаки объектов, входящих в один класс,
отличались между собой не более чем на 5%, т. е. на величинуε = 0,05.
Поскольку максимальная длина пути обмена из всего множества
путей равна трем (D = 3), то классификация с применением процедуры кластерного анализа проводилась отдельно для каждого из
подмножеств Π(j) транзитных путей, j = 1,2,3.
При заданных значениях b и ε пороги существенности связей,
определяемые по формуле (3.20), имеют следующие значения. Для
подмножества Π(1): a = 0,73; Π(2): a = 0,9; Π(3): a = 0,97.
В результате проведения классификации множества путей обмена информацией было выделено 7 классов. Из них 2 класса на подмножестве Π(1) − однотранзитных путей, 2 класса на подмножестве
Π(2)− двутранзитных путей, 3 класса на подмножестве Π(3)− трехтранзитных путей. Полученное разбиение удовлетворяет критерию
оптимальности (3.17). Число путей обмена информацией nh из каж-
0
11
13
17
21
24
31
35
38
i
43
44
53
55
61
63
64
68
72
1
0
14
18
21
24
31
35
38
43
44
53
55
61
63
64
68
73
2
12
0
18
22
25
31
35
38
43
44
53
55
61
63
64
71
73
3
12
15
0
22
25
32
35
38
42
45
53
55
61
63
64
69
73
4
11
15
19
0
27
33
35
38
43
44
53
55
61
63
64
68
72
5
11
15
20
23
0
32
37
38
42
45
53
55
58
62
67
69
74
6
11
13
20
23
26
0
37
38
43
46
53
55
59
62
64
69
72
4
11
15
19
23
27
33
0
38
42
46
53
55
58
62
67
69
74
5
11
15
20
23
28
32
36
0
42
47
53
57
58
62
65
69
74
j
7
11
13
20
21
28
34
37
39
0
48
53
55
58
62
66
69
72
7
11
13
20
21
29
34
37
40
43
0
53
55
59
62
66
69
72
7
11
13
20
21
29
34
37
40
43
49
0
56
59
62
66
69
72
7
11
13
20
21
29
34
37
41
43
50
54
0
60
62
65
70
72
8
11
13
20
21
28
34
37
41
42
51
54
57
0
63
65
70
74
8
11
13
20
21
29
34
37
40
43
52
53
55
61
0
66
70
74
Рис. 3.6. Вариант матрицы маршрутизации
304
8
11
13
17
21
30
31
35
41
43
52
54
57
61
63
0
70
74
9
11
16
20
21
30
32
36
38
42
45
53
57
61
63
67
0
74
10
12
16
18
21
30
31
35
38
43
44
53
55
61
63
67
71
0
дого класса для проведения имитационных экспериментов определялось из условия пропорциональности объему класса.
Для каждого выделенного пути обмена информацией проводилась имитация процесса его функционирования, в результате которой получены значения реализации Ti для i-го пути обмена. Подставляя значения Ti в выражение
n
1 h
Tˆh =
∑Ti ,
nh i =1
получим оценку среднего времени доставки пакетов для путей, принадлежащих h-му классу, и оценку среднего времени доставки сообщений по сети
Tˆ =
L
∑ phTˆh ,
(3.25)
h =1
где ph − вероятность класса.
Значения результатов имитационных экспериментов приведены
в табл. 3.4.
Таблица 3.4
Классы
Nh
ph
nh
Ti
Tˆh
2
s h nk
1-й
30
0,1
1
1,477
1,477
0
2-й
44
0,14
2
1,585
0,025
3,044
0,043
3,614
0,019
5,437
0
5,621
0,002
5,931
0,079
1,611
1,560
3,153
3-й
63
0,21
3
2,909
3,063
3,730
4-й
84
0,27
4
5-й
18
0,06
1
6-й
36
0,12
2
7-й
31
0,1
2
3,583
3,604
3,540
5,437
5,624
5,619
5,851
6,010
305
В табл. 3.4 приведены следующие обозначения:
Nh − количество путей, входящих в h-й класс;
ph − вероятность слоя, определяемая отношением объема h-го
класса к объему всего множества путей обмена информацией;
nh − количество путей обмена для проведения имитационных
экспериментов в слое h;
Ti − время доставки по i-му маршруту h-го класса;
Tˆh − среднее время доставки по маршрутам h-го класса;
s 2h nh − величины, необходимые для построения интервальной
оценки среднего времени доставки по сети;
σh − среднеквадратичное отклонение отдельных значений времени доставки h-го класса.
По формуле (3.25) и данным табл. 3.4 построена оценка среднего
времени доставки сообщений по сети Tˆh = 3,58. Стандартная ошибка оценки, для определения которой использовались значения ве0,068.
личин s 2h nh , согласно формуле (3.24) имеет значение: sTˆ =
При построении доверительного интервала оценки T̂ использовались квантили ta, t – распределения Стьюдента. Для доверительной вероятности p = 0,95 и числа степеней свободы = n – 1 = 14 величина ta имеет значение 1,76. Тогда интервальная оценка T̂ есть:
3,46 T̂ 3,70, т. е. значение T̂ с вероятностью p = 0,95 лежит в пределах указанного интервала.
График зависимости времени доставки сообщений по классам
путей обмена информацией по существу является графиком функции распределения времени доставки сообщений по сети (рис. 3.7).
В результате имитационного моделирования полной сети при
тех же исходных данных была получена оценка T̂ = 0,364, которая
входит в вышеприведенный интервал. Сравнение проведено по показателям, представленным в табл. 3.4.
Для получения оценки T̂ воспроизводился процесс доставки
15000 пакетов, исходя из условия, чтобы по каждому из 306 путей
прошло бы в среднем по 50 пакетов.
В табл. 3.5 представлены затрачиваемые машинные ресурсы при
моделировании сети по путям обмена информацией и при топологически подобном моделировании сети. Сравнение проведено по следующим показателям:
а) время, затрачиваемое на получение исходных данных для ИМ;
б) процессорное время, затрачиваемое на имитацию;
в) соотношение системного и процессорного времени;
г) степень подробности искомых характеристик.
306
6
5
4
3
2
1
0,1
0,1
0,21
0,2
0,06 0,12
0,1
Рис. 3.7. Распределение времени доставки сообщений по сети
Таблица 3.5
Время, мин
Подготовка исходных данных
Полная сеть
Пути транспортировки
пакетов
0,17
0,67
имитация
18
6
Соотношение системного
и процессорного времени
3,3
10
Для определения оценки T̂ при имитационном моделировании
процесса функционирования всей сети процессорного времени потребовалось в 3 раза больше, чем процессорного времени, необходимого для оценки той же характеристики, определяемой по результатам моделирования всех выделенных ПТП из различных классов.
Кроме того, исследование ТКС по методике ускоренного моделирования позволяет построить интервальную оценку среднего времени доставки пакетов, тогда как при имитационном моделировании
полной ТКС для построения доверительных интервалов требуется
иметь несколько десятков независимых реализаций, что связано
с большими затратами машинного времени.
Определяемыми характеристиками в модели полной сети при заданных топологии, распределении потоков, производительностях
307
УК, емкостях буферных накопителей, пропускных способностях
каналов являются:
– среднее время доставки по сети Tˆ ;
– вероятность потери сообщений по сети.
Определяемыми характеристиками в модели путей транспортировки пакетов (ПТП) являются:
– интервальная оценка Tˆ ;
– время доставки по ПТП;
– вероятность потери пакетов по ПТТ;
– вероятность своевременной доставки пакетов по ПТП.
Имитационную модель виртуального канала можно использовать не только как средство для определения среднего времени доставки сообщений по сети, а также и для решения некоторых задач
проектирования, связанных с исследованием пути транспортировки транзактов [22]. К ним относится задача оценки своевременной
доставки сообщений на конкретных направлениях обмена информацией, поскольку оценка превышения среднего по всем сообщениям времени доставки является довольно общей и не позволяет
оценить превышение задержки по отдельным путям. Из табл. 3.5
видно, что ИМ виртуального канала характеризуется высокими
показателями соотношений системного и процессорного времени.
Программа, реализующая имитационную модель ВК, характеризуется простотой настройки на любой конкретный путь сети, параметры которого являются входными данными модели.
Таким образом, полученные результаты позволяют сделать вывод о целесообразности применения методики ускоренного анализа
характеристик ТКС, позволяющей значительно сократить затраты
машинного времени, что дает возможность исследовать информационные сети большого размера.
Метод анализа характеристик сети, основанный на декомпозиции сети на классы путей обмена информацией и имитации процесса доставки сообщений по выделенным путям позволяет существенно снизить размерность задачи при моделировании сети.
Аналитическая часть метода (расслоение множества путей на классы, определение интенсивности фоновых потоков) реализуется детерминированными алгоритмами. Этот предваряющий имитацию
расчет для анализируемого варианта сети осуществляется один раз,
временные затраты несоизмеримо малы по сравнению со временем,
затрачиваемым на имитацию.
308
3.5. Имитационная модель виртуального канала (ВК)
Модель виртуального канала (рис. 3.8) предназначена для определения вероятностно-временных характеристик (ВВХ) доставки
пакетов по исследуемому пути при заданных характеристиках элементов пути, параметрах входящих потоков, алгоритмах обработки
и дисциплинах обслуживания очередей. Определение перечисленных характеристик задает целевое назначение имитационной модели ВК, а используемым объектом является процесс передачи информации по ВК.
3.5.1. Концептуальная модель виртуального канала
ВК представляет собой логический канал, по которому «транспортируются» протокольные блоки (ПБ) между двумя удаленными
узлами сети (см гл. 1) от узла-источника в узел-адресат.
Факторными признаками, влияющими на значения искомых характеристик, являются число транзитных участков, образующих
составной физический канал между источником и адресатом, и возможные задержки в узлах коммутации (УК) и каналах связи (КС).
Особенностью имитационной модели ВК является отображение
потоков, циркулирующих по сети и влияющих на процесс прохождения пакетов по выделенному (моделируемому) пути. Маршруты таких потоков проходят через один или несколько транзитных
участков выделенного пути и вносят задержки в процесс доставки
пакетов выделенного потока ВП, занимая ресурсы УК и КС выделенного пути.
Для учета влияния потоков, циркулирующих по сети и являющихся фоновыми, в выделенном ВК строится вероятностный эквивалент нерассматриваемой части сети в виде генератора фоновых
потоков, в котором учитывается взаимообусловленность параметров и процессов всей сети.
Генератор фоновых
потоков
Входные
данные
Имитация процессов
обмена информацией на
выделенном ПТП
Выходные
данные
Рис. 3.8. Концептуальную модель виртуального канала
309
3.5.2. Путь транспортировки транзактов
как объект моделирования
Путь транспортировки транзактов представляет собой некоторый маршрут в сети, состоящий из последовательности k УК и (k – 1)
КС, по которому осуществляется передача информации из узла источника x1 в узел-адресат xk. Поток (x1,xk), характеристики процесса передачи сообщений, который нас интересует, будем называть
выделенным (ВП) потоком.
Потоки, маршруты которых проходят через один или несколько
транзитных участков выделенного пути, названы фоновыми (транзитными). Фоновые потоки (ФП) вносят задержки в процесс доставки пакетов ВП, занимая ресурсы выделенного пути.
Фоновые потоки (рис. 3.9), обозначенные Х1, поступают на первый узел (коммутатор) x1 выделенного пути из смежных узлов
и покидают его, т. е. не коммутируются в исходящем порту выделенного пути. Сообщения потоков под цифрой 2 поступают на первый узел, проходят через один транзитный участок выделенного
пути (звено x1x2) и покидают его после обработки на УК x2. Потоки
под цифрой 3 также поступают на первый узел, проходят через два
транзитных участка, образуемых звеном x1x2x3выделенного пути.
Некоторые из них покидают выделенный маршрут после обработки на УК x3. Сообщения потоков под цифрой k поступают на УК x1,
проходят через (k–1) участков выделенного пути (звено x1x2x3…xk)
и покидают рассматриваемый путь в k-м узле. Потоки, поступающие, непосредственно на узел x2 могут быть образованы звеньями
x2x3, x2x3x4, x2x3x4…xk.
Отмеченные звенья могут принадлежать различным потокам,
циркулирующим по сети. Они являются как бы источниками парциальных фоновых потоков и образуют суммарный фоновый поток,
поступающий параллельно с выделенным на вход исходящего порта коммутатора (см. рис. 3.6). Поэтому интенсивность фонового потока в узле xi можно записать в виде
l ô i = ∑ ηl nij, j = 1, K, i < j < K,
(3.26)
n
где η = 1, если звено данного n-го маршрута входит в маршрут выделенного потока, в противном случае η = 0; i, j – исток и сток такого
звена n-го маршрута соответственно; n – порядковый номер маршрута в таблице маршрутизации сети; I – уровень узла в выделенном
маршруте; K – уровень стока.
310
1k + 1k((k – 1)/2 – 1)
X1
2
3
X3
X2
XK
k
Рис. 3.9. Множество потоков на выделенном ВК
Распределение вероятностей транзактов фоновых потоков, поступающих на узел i и уходящих с маршрута в j-м узле, определим
как частности в виде
l ij
(3.27)
pij=
, j= ( i + 1), K. l ô i
Имея матрицу трафика сети и таблицы маршрутизации потоков,
можно однозначно определить интенсивность входящего потока на
любом узле сети и по (3.26) сформировать интенсивности фоновых
потоков в соответствии с алгоритмом.
Распределение интервалов между поступлениями ПБ в фоновых
потоках неизвестно. Обычно на основе предельных теорем его принимают пуассоновским. Однако, реальный сетевой трафик определяют и как самоподобный (фрактальный) и описывают его распределениями с тяжелыми хвостами [39, 41]. Сумма фрактальных
потоков в общем случае к пуассоновскому потоку не сводится [4],
случайное их прореживание – тоже. Точные соотношения [5] показывают, что если первый (второй) момент прореживаемого потока
бесконечен, то и первый (второй) момент прореженного – тоже бесконечен.
3.5.3. Формализация узла коммутации
Структура ВК состоит из последовательности узлов коммутации
(УК), соединенных каналами связи (КС), по которым пакеты передаются между УК (рис. 3.10), и буферными накопителями для промежуточного хранения пакетов. В качестве узлов коммутации в сетях для хранения данных используются коммутаторы.
На любой узел сети поступают потоки из смежных УК и от непосредственно подключенных к нему абонентских пунктов. Маршруты некоторых из этих потоков имеют отдельные участки (звенья),
совпадающие с участками маршрута выделенного пути. Вместе
с выделенным такие потоки поступают в исходящий порт комму311
татора, увеличивая интенсивность входящего потока, подлежащего
передаче. Именно эти потоки являются фоновыми (рис. 3.11).
Они занимают ресурсы выделенного направления на время, необходимое для обработки и передачи их ПБ, тем самым влияя на
длины очередей в буферных накопителях канальных модулей (КМ)
исходящих портов коммутаторов.
В транспортировке пакетов через коммутатор выделим следующие этапы:
1. Прием кадра по входящему каналу, выделение пакета.
2. Транспортировка пакета по коммутирующей среде между портами.
3. Передача кадра по выходному интерфейсу (исходящему каналу).
Из принятого по входящему каналу кадра в канальном модуле порта выделяется пакет и переписывается в буферную память
Ф
Ф
λ1
Ф
λ2
λв
Выделенный
поток
λn
УК2
УК1
Выход
выделенного
потока
УКn
Выходы фоновых потоков
Рис. 3.10. Структура модели виртуального канала
КМ1
КМ2
…
КМ i
…
КМk–
КМk
СК
ВП
КМk+
…
КМj
ФП
…
КМS–
КМS
Рис. 3.11. Потоковая модель коммутатора:
ВП – выделенный поток; ФП – фоновый поток
312
для дальнейшей транспортировки к исходящему порту. Перед тем,
как транспортировать (коммутировать) принятый пакет на портполучатель, выполняются операции, связанные с определением
адреса исходящего порта, фрагментация кадра (если требуется) и
добавление каждому пакету (фрагменту) заголовка (tag).
Между поступающими на приемный порт кадрами соблюдается межкадровый интервал, длительности которого достаточно для
названных выше операций на приеме. Поэтому задержек при приеме кадров не возникает, прием кадра формализуется СМО М|D|1 без
очереди с соответствующим временем обслуживания t ïðì
, i = 1, S,
i
(S – количество портов коммутатора).
В общем случае доступ к внутренней среде коммутатора сопряжен с задержкой. Поэтому моделью этапа коммутации пакета между портами может служить СМО с ожиданием и с временем обслу1, S.
живания têîì , i =
К одному и тому же исходящему каналу (каналу передачи – ПРД)
могут быть адресованы пакеты из разных входящих каналов (каналов ПРМ), поэтому на входе канала ПРД может возникнуть очередь,
обусловленная доступом к передающему устройству.
Следовательно, моделью этапа передачи пакета по исходящему
каналу может служить СМО с ожиданием, где коммутационная
среда является источником требований (пакетов), а обслуживающим прибором – передатчик исходящего канала порта с временем
обслуживания t ïðä
j , j = 1, S lim , т. е. временем оформления и переx →∞
дачи кадра по исходящему каналу.
Таким образом, УК можно формализовать в виде трехфазной
системы массового обслуживания (рис. 3.12).
Для выделенного маршрута в отмеченном суммарном потоке на
входе исходящего КМ присутствует выделенный поток в окружении фоновых (см.рис. 3.11).
УК
Фаза
приема
Фаза
транспорта
Фаза
передачи
Рис. 3.12. Фазы узла коммутации
313
Время задержки пакета в коммутаторе определяется как интервал времени между моментом передачи последнего бита некоторого
ИК (информационного кадра) из КМ в исходящий канал и моментом приема первого бита ИК из входящего канала (рис. 3.13).
Таким образом, задержка передаваемых пакетов в коммутаторе
складывается из времен обработки на приеме t ïðì
j , транспортировки (коммутации) пакетов между портами по внутренней среде коммутатора τком и передачи по исходящему интерфейсу t ïðä
j .
Прием кадров и передача пакетов по исходящим каналам – стандартные процедуры. В первом приближении продолжительность
этих процедур можно определить в виде:
lj
ïðì li
, i 1, S; t ïðä
(3.28)
, i= j= 1, S,
t i= =
j =
vi
vj
где li и lj – длина пакетов в приемных и передающих каналах; vi и vj
скорости в приемных и передающих каналах соответственно (заметим для одного и того же порта vi = vj); S – количество портов коммутатора.
Время коммутации между портами коммутатора (τком) зависит
от специфики коммутационной системы.
Так, для коммутационной системы типа «Баньян» [18] время
(τком) можно определить в виде
li
t êîì = t ö log N,
ς
КМ
приема
(3.29)
Коммутация через
общую шину
Общая
шина
КМ
передачи
t
t
τпрм
τком
τпрд
t
tз
Рис. 3.13. Временная диаграмма обработки ИК (пакета) в коммутаторе
314
где τц − время коммутации одного машинного слова КЭ двоичной
матрицы; li , i = 1, S − длина протокольного блока (пакета), принятого по i-му входу; ς − длина машинного слова; N – количество каскадов (столбцов) в двоичной коммутационной матрице.
Для коммутационной схемы с общей шиной [38] непосредственное время транспортировки между портами (время обслуживания
соответствующей СМО) определено как
t êîì
=
Dl
S ( ni − 0,5), vø
(3.30)
где ∆l – размер кванта пакета (фрагмента), коммутируемого шиной
за один цикл обращения; vш − скорость шины коммутатора [бит/с];
l
ni =  i  − количество фрагментов, на которые разбивается паD
 l
кет  i при передаче по ОШ;  x  – ближайшее целое, не меньшее x.
Каждый порт коммутатора оснащен буферным пулом, ячейки
которого динамически распределяются между принимаемыми и
передаваемыми пакетами. Поскольку предварительное распределение ресурсов ВК обеспечивает вероятность потерь из-за переполнения буферов 10-9 и меньше, емкости буферов считаем неограниченными. Пакеты фоновых потоков после обработки на узле ВК, если
их адрес соответствует данному узлу, покидают выделенный путь и
больше не оказывают влияния на продвижение остальных пакетов.
Как показано выше, процессы функционирования в УК формализуются схемами СМО. Сам путь можно рассматривать как многофазную систему массового обслуживания, на каждую метафазу
которой, отображающую УК, поступают внешние и внутренние потоки. В каждой метафазе мы выделили три последовательно подключенные фазы (см. рис. 3.12).
Фаза приема ИК из входящего канала вносит фиксированное
время задержки пакета, зависящее от длины ИК и скорости приемного канала порта (3.28). Такую задержку достаточно просто учесть
при поступлении каждого пакета в очередной узел.
С учетом «приемной» задержки можно считать, что входящий
в узел имитируемый поток поступает непосредственно на вторую
фазу (рис. 3.12) – устройство коммутации (УК). Продолжительность
коммутации в зависимости от модели коммутатора определяется
уравнениями (3.29) или (3.30).
В исходящем КМ коммутатора сосредоточены все процедуры,
связанные с передачей пакета в исходящий канал. Поэтому исхо315
дящий КМ (см. рис. 3.12) можно рассматривать в имитационной модели как канал связи (КС). Время передачи по КС определяется выражениями (3.28).
Ко входу каждого исходящего порта УК ВК подключается генератор ФП, генерирующий поток с интенсивностью λф i; значение λф i
получаем в результате выполнения алгоритма формирования интенсивностей ФП. К первому узлу коммутации выделенного пути от
отдельного генератора поступают также пакеты ВП.
С точки зрения моделирования различиями между коммутацией пакетов между портами и передачей их по исходящим каналам
можно пренебречь, и оба эти структурных элемента рассматривать
как обслуживающие приборы (естественно, в общем случае− с разными законами обслуживания). Это упрощает структуру моделирующего алгоритма, но на экспериментатора возлагается обязанность
следить за правильным назначением соответствующих параметров.
Очевидно, что пакеты фонового потока, принятые в адресованный узел, в исходящий поток на дальнейшую передачу по ВК не поступают.
3.5.4. Алгоритм формирования
интенсивностей фоновых потоков
Интенсивности фоновых потоков формируются согласно выражению (3.26) поочередно для каждого из УК, входящих в маршрут
выделенного пути транспортировки транзактов. При этом исходными данным являются:
1) матрица тяготений L = ||λij||, i, j = 1, N (N – число узлов), в которой задана величина интенсивности потоков, проходящих по сети. Нумерация потоков упорядочена согласно возрастанию номеров
узлов-источников, потоки между УК1 и остальными (N – 1) узлами
пронумерованы от 1 до N – 1; потоки между УК2 и остальными (N –
1)узлами пронумерованы от N до 2 (N – 1) и т. д. Общее количество
потоков при наличии обмена информацией каждого УК с каждым
равняется N(N – 1);
2) таблица маршрутизации потоков, заданная в виде матрицы,
размерности N(N – 1)(D + 1); число строк равно числу потоков, число
столбцов – числу узлов максимального по длине маршрута. В каждой строке матрицы записаны номера узлов, составляющих маршрут потока, номер узла соответствует номеру строки. Для потоков,
маршрут которых состоит из числа узлов менее (D + 1), свободные
столбцы заполнены нулями. Узлы, записанные в первый столбец
матрицы маршрутизации, будем называть узлами, входящими
316
в маршрут на 1-м уровне, узлы 2-го столбца – соответственно, узлами 2-го уровня и т. д.
Фоновые потоки создаются транзитными потоками, имеющими
звенья, совпадающие с участками выделенного пути и проходящими через исходящие порты узлов выделенного маршрута в направлении конечного узла-адресата. Определим величину соответствующей интенсивности.
Выделенный поток имеет конкретный номер в таблице маршрутизации потоков. Допустим, его маршрут включает узлы с условными номерами x1, x2, x3, x4, …, K от истока к стоку. Влияние фоновых
потоков на задержку передачи кадров выделенного потока возможно в исходящих портах узлов x1, x2, x3, x4, …, (K – 1).
Интенсивности потоков, маршруты которых включают сдвоенные, строенные, счетверенные звенья, учитываются при вычислении суммарных интенсивностей фоновых потоков во всех узлах звена, кроме последнего.
Так, например, интенсивности потоков, маршруты которых
включают звенья x1–x2, x1–x2–x3, при вычислении интенсивности
фонового потока в узле x1 суммируются с интенсивностями потоков,
включающих звенья x1–x2 и x1–x2–x3; при вычислении интенсивности фонового потока в узле x2 интенсивность потоков этого тройного звена суммируется с интенсивностью потоков в звене x2–x3.
Значения интенсивностей фоновых потоков, поступающих на
узел x=
i , i 1,( K − 1) рассматриваемого пути и коммутируемых в исходящий порт того же узла xj, что и выделенный поток, определяются по следующей схеме:
1. i: = 1.
2. n: = 1 (номер строки в матрице маршрутизации потоков).
3. Просматривается n-я строка матрицы маршрутизации потоков.
4. Если узел xi входит в анализируемый маршрут, то проверяется: является ли узел xi+1 продолжением рассматриваемой строки матрицы маршрутизации потоков (ММП). Если да, то интенсивность потока, соответствующего рассматриваемой строке ММП,
суммируется с интенсивностью выделенного потока. Если звено
xi−xi+1 не входит в маршрут потока, соответствующего рассматриваемой строке, то переходят к п. 5.
5. Просмотрена последняя n-я строка в ММП. Если да (n = N(N – 1)),
то формирование суммарной интенсивности выделенного и фонового потоков для исходящего порта узла xi закончено. Если нет, то
переход к следующей строке ММП (n: = n + 1) и повторяют действия п. 3.
317
6. Проверяется значение i = (K– 1) индекса уровня узла xi. Если i = (K– 1), то формирование суммарных интенсивностей выделенного и фоновых потоков для исходящих портов всех узлов
x=
i , i 1,( K − 1) закончено. Переход к п. 7. Если нет, то i: = i+1. Переход к п. 2;
7. Вывод значений интенсивностей l i =l â + l ô
i , i =1,( K − 1).
По приведенному алгоритму определяются интенсивности потоков, используемых при расчете времени задержки при передаче
кадров в исходящих портах коммутаторов выделенного пути.
Примечание: современные управляемые коммутаторы анализируют проходящий через них трафик, что исключает необходимость
анализа матрицы маршрутизации потоков при вычислении фоновых потоков.
3.5.5. Особенности реализации
имитационной модели ВК
Имитационная модель строится по принципу особых состояний,
которые необходимы для правильного воспроизведения времени доставки пакетов. В силу того, что УсК и КС представлены одинаковой формализованной схемой, выделяются три особых состояния:
возникновение требования на передачу пакетов (приход пакетов
в систему); требование к ожиданию в очереди (УсК или КС); поступление требования на обслуживание прибором (УсК или КС). Первое состояние для КС возникает при окончании обслуживания пакетов в УсК. Оно является окончанием обработки на УсК. Принцип
особых состояний (ОС) хорошо сочетается с модульным принципом
организации программной реализации.
Схема функционирования моделирующего алгоритма включает
процедуры: ввод данных; генератор выделенного потока; генератор
фоновых потоков; программа диспетчера; организация особых состояний и их обслуживание; статистическая обработка результатов.
Поиск состояний производится по их последовательности в модели. Модули состояний (МС) получают управление от программыдиспетчера, в которой обсуждается изменение каждого состояния
и отражаются эти изменения в базе данных имитационной модели.
После окончания работы модуля обработки в соответствии с последовательностью событий программа-диспетчер передает управление следующему модулю обработки состояния.
Элементарные подпроцессы – обработка на узле и передача по
каналу связи имитируются не буквально, а соответствующим сдвигом времени от начала операции с тем, чтобы сохранить логическую
318
структуру и последовательность протекания во времени процесса
обработки и передачи ПБ (пакетов) по выделенному маршруту.
Формат пакета в модели целесообразно сделать одинаковым для
пакетов всех потоков и предусмотреть в формате поля для фиксирования: момента времени поступления пакета в выделенный путь
(timestart − момент генерации пакета); времени наступления очередного «особого» момента относительно момента генерации (timimmed);
времени обслуживания пакета; параметра, по которому определяется время обслуживания; приоритета пакета; адресата (номера узла
выделенного пути, после обработки в котором пакет покидает моделируемый ВК); состояния пакета−активный (true), когда пакет может обрабатываться или передаваться, или− пассивный (false).
В адресное поле пакетов ВП записывается идентификатор
J = k+1. Пакетам ФП, поступающим на i-й узел и покидающим выделенный путь после обработки в j-м узле, присваивается идентиj 1,(i + 1), k. После