Моделирование сетей, сетевая надежность и сетевые драйверы
Аннотация: Аналитическое и симуляционное моделирование. Элементы теории массового обслуживания. Проблемы оценки надежности сетей. Принципы работы сетевых драйверов.
Ни один проект крупной сети со сложной топологией в настоящее время не обходится без исчерпывающего моделирования будущей сети. Программы, выполняющие эту задачу, достаточно сложны и дороги. Целью моделирования является определение оптимальной топологии, адекватный выбор сетевого оборудования, определение рабочих характеристик сети и возможных этапов будущего развития. Ведь сеть , слишком точно оптимизированная для решений задач текущего момента, может потребовать серьезных переделок в будущем. Моделирование используется для исследования характеристик новых модификаций протоколов, методы работы с очередями, для оптимизации параметров качества обслуживания.
На модели можно опробовать влияние всплесков загрузки, воздействие большого потока широковещательных запросов или реализовать режим коллапса (для Ethernet ), что вряд ли кто-то может себе позволить в работающей сети. В процессе моделирования выясняются следующие параметры:
- предельные пропускные способности различных фрагментов сети и зависимости потерь пакетов от загрузки отдельных станций и внешних каналов;
- время отклика основных серверов в самых разных режимах, в том числе таких, которые в реальной сети крайне нежелательны. Оптимизация конфигурации, например, почтового или WEB-сервера;
- влияние установки новых серверов на перераспределение информационных потоков (Proxy, Firewall и т.д.);
- решение оптимизации топологии при возникновении узких мест в сети (размещение серверов, DNS, внешних шлюзов, организация опорных каналов и пр.);
- выбор того или иного типа сетевого оборудования (например, 10BaseTX, 100BaseFX, GE или 10GE ) или режима его работы (например, cut-through, store-and-forward для мостов и переключателей и т.д.);
- выбор внутреннего протокола маршрутизации и его параметров (например, метрики);
- определение предельно допустимого числа пользователей того или иного сервера;
- оценка необходимой полосы пропускания внешнего канала для обеспечения требуемого уровня QOS. Выбор и оптимизация параметров системы обслуживания очередей;
- оценка влияния мультимедийного трафика на работу локальной сети, например, при подготовке видеоконференций;
- выбор протоколов и схемы опорной сети сервис-провайдера и т.д.
Перечисленные задачи предъявляют различные требования к программам. В одних случаях достаточно провести моделирование на физическом ( MAC ) уровне, в других нужен уже уровень транспортных протоколов (например, UDP и TCP ), а для наиболее сложных задач нужно воспроизвести поведение прикладных программ. Все это должно приниматься во внимание при выборе или разработке моделирующей программы. Ведь нужно учесть, что ваша машина должна в той или иной мере воспроизвести действия всех машин в моделируемой сети. Таким образом, машина эта должна быть достаточно быстродействующей, и, несмотря на это, моделирование одной секунды работы сети может занять при определенных условиях не один час.
Задачи моделирования обработки очередей в виртуальном канале с целью оценки параметров качества облуживания требуют не столь значительных ресурсов. Но с учетом перебора возможных значений параметров конфигурации это также может занять много часов.
Результаты моделирования должны иметь точность 10-20%, этого достаточно для большинства целей и не требует слишком много машинного времени. Следует иметь в виду, что для моделирования поведения реальной сети надо знать все ее рабочие параметры: длины кабеля от концентратора до конкретной ЭВМ, задержки используемых кабелей, задержки концентраторов (этот параметр часто отсутствует в документации и его придется брать из документации на сетевой протокол , например, из IEEE 802.3). Параметры могут быть определены и прямым измерением. Чем точнее вы воспроизводите поведение сети, тем больше машинного времени это потребует. Кроме того, вам предстоит сделать некоторые предположения относительно распределения загрузки для конкретных ЭВМ и других сетевых элементов, задержек в переключателях, мостах, времени обработки запросов в серверах. Здесь нужно учитывать и характер решаемых на ЭВМ задач: www/ ftp — сервер или обычная персональная рабочая станция создают различные сетевые трафики. Определенное влияние на результат могут оказывать и используемые ОС. В случае моделирования реальной сети можно произвести соответствующие измерения, что иногда тоже не слишком просто. Учитывая сложность моделирования на одной ординарной ЭВМ, следует ограничиваться моделированием не более чем одной минуты для каждого из наборов параметров (этого времени достаточно для копирования практически любого файла через локальную сеть ). Исключение может составлять моделирование внешнего трафика, но в этом случае весь локальный трафик должен рассматриваться как фоновый.
Современные распределенные технологии дают новые возможности для решения задач моделирования.
17.1. Аналитическое моделирование
Определение характеристик сети до того, как она будет введена в эксплуатацию, имеет первостепенное значение . Это позволяет отрегулировать характеристики локальной сети на стадии проектирования. Решение этой проблемы возможно путем аналитического или статистического моделирования. По существу, в данном разделе речь идет об описании сети в рамках теории массового обслуживания.
Аналитическая модель сети представляет собой совокупность математических соотношений, связывающих между собой входные и выходные характеристики сети. При выводе таких соотношений приходится пренебрегать какими-то малосущественными деталями или обстоятельствами.
Телекоммуникационная сеть при некотором упрощении может быть представлена в виде совокупности процессоров (узлов), соединенных каналами связи. Сообщение, пришедшее в узел, некоторое время пребывает в очереди до того, как оно будет обработано. Время передачи или полное время задержки сообщения равно:
,
где , и соответственно — время распространения, время обслуживания и время ожидания . Одной из задач аналитического моделирование является определение среднего значения . При больших загрузках основной вклад дает ожидание обслуживания . Для описания очередей в дальнейшем будет использована нотация Д. Дж. Кенделла:
,
где — процесс прибытия: — процесс обслуживания; — число серверов (узлов); — максимальный размер очереди ( по умолчанию — ); — число клиентов ( по умолчанию — ); — схема работы буфера ( по умолчанию FIFO ). Буквы и представляют процессы прихода и обслуживания и обычно заменяются следующими буквами, которые характеризуют закон, соответствующий распределения событий:
- — постоянная вероятность;
- — марковское экспоненциальное распределение;
- — обобщенный закон распределения;
- — распределение Эрланга порядка ;
- — гиперэкспоненциальное распределение порядка .
Наиболее распространенными схемами работы буферов являются FIFO (First- In -First-Out), LIFO (Last- In -First-Out) и FIRO (First- In -Random-Out). Например, запись означает очередь , для которой времена прихода и обслуживания соответствует экспоненциальному распределению, имеется два сервера, длина очереди и число клиентов могут быть сколь угодно большими, а буфер работает по схеме FIFO . Среднее значение длины очереди при заданной средней входной частоте сообщений и среднем времени ожидания определяется на основе теоремы Литла (1961):
Для варианта очереди входной процесс характеризуется распределением Пуассона со скоростью поступления сообщений . Вероятность поступления сообщений на вход за время равно:
, .
Пусть
Тогда среднее время ожидания :