Опубликован: 07.08.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 17:

Моделирование сетей, сетевая надежность и сетевые драйверы

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >

17.3. Сетевая надежность

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

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

И если требование надежности определить как работоспособность всех элементов, надежность Интернета окажется равной нулю, ведь всегда найдется неисправный или отключенный узел или рабочая станция. Если же определить надежность системы как возможность коммуникации между, скажем, 1000 каких-либо узлов или рабочих станций, то надежность Интернет окажется практически равной единице. Конечно, если ваша рабочая станция не попадет в число этих 1000 узлов, вы вряд ли согласитесь с утверждением абсолютной надежности. Понятно поэтому, что оба определения совершенно неприемлемы. Не нужно думать, что случай оценки надежности локальной сети, содержащей, например, 100 рабочих станций, много проще.

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

Прежде чем переходить к теоретической части, посмотрим, что можно сделать для улучшения надежности сети с практической точки зрения. Конечно, этому будет способствовать использование RAID-систем жестких дисков, катастрофоустойчивой системы дублирования резервных копий дисков в удаленных узлах, размещенных в разных зданиях, и т.д.. Но не следует снимать со счета дублирование базовых серверов: DNS, NTP (если они нужны), почтовых серверов, серверов баз данных и пр. Внутри локальной сети повышению надежности может способствовать применение протокола STP, который может автоматически обеспечить обход отказавшего участка LAN (если применение динамического протокола внутренней маршрутизации невозможно или нежелательно, например, по соображениям безопасности). Во многих случаях крайне важно задублировать шлюз сети, ведущий в Интернет, так как его отказ оставит всех пользователей сети без связи. Компания CISCO и многие другие фирмы разработали протоколы резервирования маршрутизаторов. В этих протоколах два или более устройств совместно используют виртуальные IP и МАС-адреса, которые указаны в сетевом сегменте для шлюза по умолчанию. Для реализации такой схемы существует три протокола:

  • HSRP (Hot Standby Router Protocol - протокол горячего резервирования маршрутизаторов) компании CISCO;
  • IPSTB (IP Standby Protocol) компании DEC;
  • VIRP (Virtual Router Redundancy Protocol - протокол избыточного виртуального маршрутизатора).

Компания CISCO поддерживает только протокол HSRP. В этом протоколе один из маршрутизаторов является основным (primary), а второй - резервным (standby). После ввода этого протокола в строй все запросы и весь трафик шлюза обслуживаются основным маршрутизатором. Дублирующий маршрутизатор остается пассивным до выхода основного из строя (решение не самое дешевое, если учесть стоимость маршрутизатора, даже если дублирующий прибор проще и дешевле основного).

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

Выход из строя рабочей станции (терминальный узел) создает проблемы ее пользователю, остальные пользователи Интернет, скорее всего, этого не заметят, но отказ сервера скажется на работе всех его клиентов, в том числе и удаленных. Выход же из строя маршрутизатора (если это транзитный узел) может оказать влияние на работу целого региона. Отсюда видно, что отдельные узлы могут по-разному влиять на работу сети в целом. Даже в классе серверов можно выделить группы разного влияния на уровень надежности. Например, отказ сервера IN-ADDR.ARPA практически парализует работу всех программ traceroute. Еще худшее воздействие окажет выход из строя регионального сервера DNS. Именно по этой причине такие серверы обычно дублируются (даже в локальных сетях). Существуют и другие серверы, которые влияют на реализацию определенных сетевых функций (почтовые серверы, серверы баз данных в системах платежей, серверы центров сертификации и пр.). Очевидно, что влияние на надежность сети может оказывать не только оборудование или ОС, но и прикладные программы.

Этим список факторов, влияющих на надежность, не исчерпывается. Если пользователь не может получить доступ к определенному сетевому ресурсу, это очень часто связано не с отказом оборудования или программы, а просто с перегрузкой одного из участков сети по дороге к указанному ресурсу (некомпетентность пользователя в данном анализе не рассматривается). Здесь имеется в виду не только ограничение пропускной способности, но и возможное увеличение задержки доставки, что достаточно критично в случае, например, IP-телефонии или видео-конференций. Таким образом, параметры надежности часто зависят от вектора загрузок (список значений загрузок каналов, влияющих на доступ и качество обслуживания). По этой причине, формулируя задачу оценки надежности, нужно определить, какие из параметров важны: связность, пропускная способность, время восстановления связности или минимизация задержек обслуживания.

Если мы рассмотрим в качестве примера полный граф с четырьмя узлами, размещенными в вершинах квадрата (6 ребер), то расчет связности такой сети будет включать комбинаторику перебора ребер и учет распределения вероятности обрыва каждой из связей. Нетрудно понять, что если попытаться проанализировать надежность структурированной локальной сети с сотней ЭВМ, задача окажется на много порядков сложней, я уже не говорю об Интернете в целом. Обычно множественность в таких задачах равна N! (где N - число узлов в графе связей). В любом случае в качестве исходных данных должны использоваться значения надежности отдельных узлов и каналов, вычисленные или измеренные с учетом тех факторов, влияние которых вы хотите учесть. Во многих случаях бывает нужно сделать предположение относительно распределения вероятности отказа рассматриваемых сетевых элементов. Кроме того, надо решить, какая оценка вам нужна: для работы сети в среднем или для функционирования в экстремальных условиях. Ради упрощения проблемы часто делается предположение об идентичности распределений и даже равенстве вероятности отказа для всех узлов. Понятно, что такие предположения делают полученный результат весьма приблизительным. По этой причине даже оценки границ надежности довольно часто корректны лишь по порядку величины. Во многих случаях, когда требуется получить оценку надежности конкретной сети, неплохие результаты может дать расчет по методу Монте-Карло.

По этой причине, прежде чем писать и запускать программу расчета надежности сети надо научиться оценивать: а хватит ли имеющихся вычислительных ресурсов для решения поставленной задачи в текущем тысячелетии. Для этого существует математические методы оценки сложности алгоритмов [ А. V. AHO, J. D.Ullman, "Foundation of Computer Science", Computer Science Press, 1992, или V.V. Leeuwen, "Algorithms and Complexity", The MIT Cambridge, Massachusetts, Elsevier Science Publishers, 1990 ]. Из-за сложности прямых вычислений многие исследователи ограничиваются лишь оценкой возможных границ надежности. На практике, даже используя самые производительные вычислительные системы, можно оценить надежность сети с ограниченным числом узлов. Для больших сетей доступными являются лишь оценки нижней или верхней границы надежности.

За отправную точку примем сеть G =(V,E), в которой V - набор узлов или вершин графа сети, а Е - набор неориентированных ребер или набор ориентированных дуг. Большинство исследований по сетевой надежности посвящены к -терминальным мерам. Пусть имеется набор из К узлов и узел s \in K(k=|K|). Задана сеть G, и все дуги графа, описывающего сеть, имеют вероятность надежности р. Тогда к-терминальная мера надежности определяется как ( Pr - вероятность):

Rel(G,s,K,p)=Pr[существует~хотя~бы~один~работающий~путь~от~s~до~каждого~ узла~из~набора~К]

То есть, надежность сети с графом G для набора узлов К и выбранного узла s при вероятности иметь надежную связь для всех ребер графа p равна вероятности того, что узел s имеет хотя бы один доступный путь до каждого из узлов К. Обычно эта величина соответствует определенному временному интервалу. Следует помнить, что для локальных сетей не может быть двух путей от s до любого из узлов K.

Существует два важных частных случая мер: 2-терминальная мера с |К|=2 и всетерминальная мера, где К=V. Эти меры принято обозначать Rel_2(G,s,p) и Rel_А(G,s,p), соответственно ( Rel - надежность).

Читателю, рассчитывающему найти какие-то формулы, подставив в которые число узлов, вероятности отказа каналов и требования к пропускной способности, можно получить оценку надежности сети, читать далее данную лекцию не стоит. Таких формул просто не может существовать для сколько-нибудь сложных сетевых топологий (сети с несколькими десятками машин и структурированной схемой соединений уже относятся к такому типу). Формулы, которые представлены ниже, демонстрируют алгоритмы или модели оценки надежности и, как правило, не имеют практического значения. В остальной части данной статьи верхний индекс U - соответствует ограничению надежности сверху, а L - ограничению снизу.

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

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

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

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

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

Области применения

Сети с коммутацией пакетов, уровень опорной сети.

Первые сети с коммутацией пакетов были разработаны в 1960-х. Их создали с целью поделить высокоскоростные каналы между большим количеством пользователей. Трафик, порождаемый одним пользователем, имеет много всплесков и пауз. Трафик нескольких пользователей можно динамически разнести по времени и передавать по одному соединению. ARPANET была первой крупной сетью с коммутацией пакетов. Большая часть исследований в области сетевой надежности до и после 1970 г. велась именно для ARPANET. Надежность ARPANET в основном рассматривалась с точки зрения связанности сети. Считалось, что сеть функционирует, если она остается связанной, т.е. пока каждый из пользователей специфицированного субнабора связан друг с другом. Такой подход был оправдан, так как в ARPANET использовалась динамическая маршрутизация, так что данные могли быть направлены в обход отказавших узлов. Хотя имелась возможность транспортировки данных по другому маршруту, в сети могли возникнуть перегрузки и задержки, вызванные падением общей пропускной способности сети.

При сравнении ARPANET с коммерческими опорными сетями с коммутацией пакетов, используемыми в 1980-х годах, такими, как Telnet и Tymnet, ясно, что коммерческие сети много компактнее. Как следствие, вероятность нарушения связанности в коммерческих сетях много меньше, но, как правило, загрузка каналов там достаточно высока. Отсюда напрашивается вывод, что следует более детально вычислять параметры сетевой надежности и учитывать перегрузки и пропускную способность сети. Будем считать, что сеть работоспособна, если она связана и параметры сетевой работоспособности, коими могут быть средние задержки, не превышают заданных пределов.

Сегодня сеть ArpaNet может показаться топологически достаточно простой, но даже для такой сети расчет надежности отнюдь не простая задача даже при оценке простой связности.

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

Опорный уровень в сетях с коммутацией каналов.

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

Связные сети

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

Локальные оптоволоконные сети для передачи голоса

Оптические кабели - одно из последних достижений современной технологии. Телекоммуникационные сети всего мира переводятся на использование этой техники (смотри, например, T. Flanagan, "Fiber Network Survivability" IEEE Communication Magazine 28 (1990) 46-53 ). Основным преимуществом оптической среды передачи по сравнению с передачей по медным кабелям является существенный рост пропускной способности и снижение уровня шумов. Именно по этой причине многие телефонные сети общего пользования осуществляют быстрый переход на оптику. Как, однако, оказалось, в проблематике надежности сетей существуют более важные проблемы, и именно их следует изучать. А именно: пропускная способность оптоволоконных сетей чрезвычайно высока, поэтому структура таких сетей, в отличие от обычных, имеет более распределенный характер. Старые сети были более разветвленными и имели большое число связей, вопрос сетевой надежности стоял не так остро. При проектировании современных сетей следует серьезно отнестись к проблеме сетевой надежности, т.к. перебои в работе даже одного из оптических каналов могут вызвать разрыв сети.

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

Архитектуры переключателей и компьютеров, устойчивые к сбоям.

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

Прочие применения

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

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

Причины возникновения сбоев

Механизмы потерь и причины их возникновения относительно хорошо изучены в классической теории надежности. Например, в электронных системах деградация узлов происходит, когда они подвергаются непрерывному тепловому воздействию. В результате такие узлы случайным образом выходят из строя. Анализ надежности для подобных систем обычно включает в себя изучение этих случайных процессов и параметры их распределений. При анализе сетевой надежности часть механизмов, вызывающих потери, известна также как и параметры их функций распределения. Но остается много не менее важных механизмов, о функции распределения которых мы ничего не можем сказать. Например, существует много публикаций о возникновении отказов в работе оптоволоконных сетей, вызванных естественными причинами, такими, как пожары, или ошибками оператора транзитной сети, который совместно использовал канал. Таким образом, трудно построить модель сбоев в канале, удовлетворяющую реальной частоте сбоев. Обычно, прогноз частоты сбоев в сети строится на основе исторического анализа или результатов измерений. Более подробное рассмотрение проблемы представлено в книге M.O. Ball, C.J. Colbourn, J.S. Provan, "Network Reliability".

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989