Алгоритмы маршрутизации

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

Цели, которые ставятся при разработке алгоритмов маршрутизации

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

•     оптимальность;

•      простота и минимальный объем передаваемой служебной информации;

•     надежность и устойчивость алгоритма;

•     быстрая сходимость;

•      гибкость.

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

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

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

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

Формирование петли маршрутизации проиллюстрировано на рис. 6.3. Пакет поступает на маршрутизатор Router 1 в момент времени tl. Этот маршрутизатор уже получил сообщение об обновлении маршрута, и следовательно, ему известно, что следующим переходом на оптимальном маршруте к получателю является маршрутизатор Router 2, поэтому Router 1 пересылает пакет на маршрутизатор Router 2. Однако Router 2 еще не получил сообщение об обновлении маршрута, и, по его данным, следующим переходом на оптимальном маршруте к получателю является маршрутизатор Router 1. Соответственно, Router 2 пересылает пакет обратно на маршрутизатор Router 1. В результате пакет будет перемешаться между этими двумя маршрутизаторами, пока на маршрутизаторе Router 2 не будут обновлены маршруты или не будет превышено максимально допустимое количество переходов.

Рис. 6.3. Медленная сходимость и петли маршрутизации препятствуют прохождению пакетов

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

Типы алгоритмов маршрутизации

можно классифицировать по следующим критериям:

•     статическая или динамическая маршрутизация;

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

•     линейная или иерархическая маршрутизация;

•      выполнение алгоритма на исходном узле или на промежуточных маршрутизаторах;

•      внутридоменная или междоменная маршрутизация;

•      маршрутизация по состоянию канала или дистанционно-векторная маршрутизация.

Статическая и динамическая маршрутизация

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

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

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

Единственный маршрут или несколько маршрутов

Некоторые сложные протоколы маршрутизации допускают существование нескольких маршрутов к одному получателю. В отличие от алгоритмов, вычисляющих только один маршрут, эти протоколы позволяют распределить потоки данных по нескольким каналам. Преимущества таких алгоритмов очевидны: они значительно ускоряют передачу данных и повышают ее надежность. Такую технологию обычно называют распределением нагрузки (load sharing).

Линейная и иерархическая маршрутизация

Одни алгоритмы маршрутизации работают в линейном пространстве, а другие строят иерархии маршрутов. В системах с линейной маршрутизацией (flat routing) все маршрутизаторы равноправны. В системах с иерархической маршрутизацией некоторые маршрутизаторы образуют аналог маршрутной магистрали. Пакеты поступают от периферийных маршрутизаторов на магистральные маршрутизаторы и передаются по магистрали, пока не достигнут зоны, где расположен получатель. Затем они с последнего магистрального маршрутизатора передаются получателю через один или несколько периферийных маршрутизаторов.

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

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

Алгоритмы, выполняемые на узлах-источниках и на маршрутизаторах

В некоторых алгоритмах маршрутизации весь маршрут определяется узлом- источником. Обычно такой подход называется маршрутизацией на источнике (source muting). В системах с маршрутизацией на источнике маршрутизаторы выполняют только функции запоминания адресов и пересылки пакетов следующему узлу.

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

Внутридоменная и междоменная маршрутизация

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

по состоянию канала и дистанционно-векторные алгоритмы

по состоянию канала (link-state), которые также называют алгоритмами определения кратчайшего маршрута, распространяют информацию о маршрутах по всем узлам объединенной сети. Однако каждый маршрутизатор посылает только ту часть таблицы маршрутизации, которая описывает состояние его собственных каналов. В таких алгоритмах в таблице маршрутизации каждого маршрутизатора составляется картина всей сети. Дистанционно-векторные алгоритмы маршрутизации (также называемые алгоритмами Беллмана-Форда) тоже требуют от каждого маршрутизатора отправки всей таблицы маршрутизации или ее части, но только своим соседям. В сущности, алгоритмы маршрутизации по состоянию канала рассылают небольшие обновления всем остальным маршрутизаторам, а дистанционно-векторные алгоритмы отправляют больше информации, но только соседним маршрутизаторам. При использовании дистанционно-векторных алгоритмов (distance vector algorithm) маршрутизатор имеет информацию лишь о своих соседях.

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

Метрики маршрутов

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

Для определения оптимального маршрута алгоритмы маршрутизации используют множество различных метрик. В сложных алгоритмах маршрутизации выбор маршрута осуществляется по нескольким метрикам, образующим составную (гибридную) метрику. Для определения наилучшего маршрута используются следующие метрики:

•     длина маршрута;

•     надежность;

•     задержка;

•      полоса пропускания;

•      нагрузка;

•     затраты на передачу.

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

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

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

Полоса пропускания характеризует пропускную способность канала. При прочих равных условиях 10-мегабитовый канал Ethernet предпочтительнее, чем выделенная линия с полосой пропускания 64 Кбит/с. Хотя полоса пропускания характеризует максимальную пропускную способность канала, маршруты, проходящие по каналам с большей полосой пропускания, не всегда оказываются лучше маршрутов, проходящих по более медленным линиям. Например, если быстрый канал загружен больше, то для передачи по нему пакета получателю может потребоваться больше времени, чем при использовании более медленного, но менее загруженного канала.

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

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

Сетевые протоколы

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

Термины маршрутизируемый протокол (routed protocol) и протокол маршрутизации (routing protocol) часто ошибочно воспринимают как равноценные и взаимозаменяемые. Маршрутизируемыми являются протоколы, данные которых передаются по маршрутам объединенной сети, такие, например, как Internet Protocol (IP), DECnet, AppleTalk, Novell NetWare, OSI, Banyan VINES и Xerox Network System (XNS). Протоколы маршрутизации, напротив, представляет собой протоколы, реализующие алгоритмы маршрутизации. Иными словами, протоколы маршрутизации используются промежуточными системами для составления таблиц, по которым определяются маршруты маршрутизируемых протоколов. Протоколами маршрутизации являются такие протоколы, как Interior Gateway Routing Protocol (IGRP), Enhanced Interior Gateway Routing Protocol (Enhanced IGRP), Open Shortest Path First (OSPF), Exterior Gateway Protocol (EGP), Border Gateway Protocol (BGP), Intermediate System-to-Intermediate System (IS-IS) и Routing Information Protocol (RIP). Более подробно маршрутизируемые протоколы и протоколы маршрутизации будут рассмотрены в последующих главах.

Основные принципы управления сетями

введение

В данной главе описаны функции, общие для большинства архитектур и протоколов lf|. управления сетью. Здесь также представлены пять концептуальных областей управле- щ ния, опр^еленныхкЭДеждународной организацией по стандартизации (International Organization for Standardization — ISO). Подробнее эти технологии, протоколы и плат- * форм]ы управления сетьр рассматриваются в части VIII, "Управление сетями".

Что понимается под управлением сетью?

Под управлением се^ыо не всегда понимается одно и то же. В некоторых случаях pef| идет о единственном сетевом консультанте, который следит за работой сети при^омощи устаревщещ анализатора протоколов. В других случаях для управления сетью ислбльзует^ распределенная база данных, автоопрос сетевых устройств и вы- сокопрокзводител^йе рабочие станции, составляющие в реальном времени графи- ^ф^и-^зменений сетевой топологии и объема передаваемых данных. В общем смысле ^ под управлениемеетью понимают службу, использующую разнообразные средства, приложения и у<пт>ойсдаа, которые упрощают для сетевых менеджеров мониторинг и поддержку сетЬ’й|| щ

Историческая справка

начале 80-х годов прошлого века наблюдалось бурное развитие компьютерных ^ сетей. Осознав >экЬномическую выгоду и повышение производительности труда от применения сетевых технологий, компании стали создавать новые сети и расширять существующие почти с той же скоростью, с какой появлялись новые сетевые техно- логии и продукты. К середине 80-х годов XX века некоторые компании начали испытывать. трудности от применения слишком большого количества различных (иногда а несовместимых) сетевых технологий, и этих трудностей становилось все больше.

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

Архитектура системы управления сетью

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

Управляющие элементы также могут опрашивать конечные станции для того, чтобы проверить значения отдельных переменных. Агенты, работающие на управляемых устройствах, отвечают на все вопросы, независимо от того, являются ли они автоматическими или инициированы пользователем. Агенты представляют собой программные модули, которые сначала собирают информацию об управляемых устройствах, на которых они работают, затем сохраняют ее в специальной базе данных и предоставляют (самостоятельно или по запросу) управляющим элементам, принадлежащим системам управления сетью (Network Management Systems — NMS) по протоколу управления сетью, такому, например, как простой протокол управления сетью (Simple Network Management Protocol — SNMP) или информационный протокол общего управления (Common Management Information Protocol — CMIP). Управляющими прокси-серверами называются объекты, которые предоставляют управляющую информацию от имени других объектов. Типичная архитектура системы управления сетью показана на рис. 7.1.

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2005. — 1040 с.: ил. – Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100