Типы алгоритмов маршрутизации. Плюсы и минусы. Статическая и динамическая маршрутизация

Таблица маршрутизации

Маршрутизация. Задача маршрутизации

Маршрутизация пакетов включает в себя две основные задачи:

Определение оптимального маршрута пересылки пакета по составной сети;

Собственно пересылка пакета по сети.

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

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

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

Таблица маршрутизации, создаваемая по умолчанию на компьютере с Windows Server 2003 (одна сетевая карта, IP-адрес: 192.168.1.1, маска подсети: 255.255.255.0), имеет следующий вид:

В приведенной таблице имеются следующие поля:

Network Destination (адрес назначения) – адрес хоста или подсети, для которых задан маршрут в таблице;

Netmask (маска подсети) – маска подсети для адреса назначения;

Gateway (шлюз – другое название маршрутизатора) – адрес для передачи пакета;

Interface (интерфейс) – адрес собственного порта маршрутизатора (сетевой карты), на который следует передать пакет. Любой маршрутизатор содержит не менее двух портов. В компьютере в роли маршрутизатора с Windows Server 2003 портами являются сетевые карты;

Metric (метрика) – число маршрутизаторов (число хопов), которые необходимо пройти для достижения хоста назначения. Для двух маршрутов с одинаковыми адресами назначения выбирается маршрут с наименьшей метрикой. Значение 20 в таблице соответствует 100-мегабитной сети Ethernet.

Кратко опишем записи в таблице по умолчанию.

0.0.0.0 – маршрут по умолчанию (default route). Эта запись выбирается в случае отсутствия совпадений с адресом назначения. В приведенной таблице маршруту по умолчанию соответствует шлюз 192.168.1.2 – это адрес порта маршрутизатора, который связывает данную подсеть с другими подсетями;

127.0.0.0 – маршрут обратной связи (loopback address), все пакеты с адресом, начинающимся на 127, возвращаются на узел-источник;

192.168.1.0 – адрес собственной подсети узла;

192.168.1.1 – собственный адрес узла (совпадает с маршрутом обратной связи);

192.168.1.255 – адрес широковещательной рассылки (пакет с таким адресом попадает всем узлам данной подсети);

224.0.0.0 – маршрут для групповых адресов;

255.255.255.255 – адрес ограниченной широковещательной

Алгоритмы маршрутизации могут различаться по нескольким характеристикам:

По задачам, решаемым алгоритмом;

По принципу сбора и представления информации о сети;

По методу расчета оптимального маршрута.

Кроме того, алгоритмы маршрутизации должны максимально удовлетворять следующим требованиям:

Выбираемый маршрут должен быть наиболее оптимальным;

Реализация алгоритма должна быть простой, а его функцио­нирование не требовательным к вычислительным мощностям;

Алгоритм должен обладать высокой отказоустойчивостью;

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

Таким образом, алгоритмы маршрутизации можно классифи­цировать следующим образом:

По актуальности используемых маршрутов:

статические; динамические;

По принципу обмена маршрутной информацией:

состояния канала; дистанционно-векторные.

По количеству определенных маршрутов:

одномаршрутные; многомаршрутные;

По используемой структуре маршрутизации:

одноуровневые; иерархические;

По отношению к домену:

внутридоменные; междоменные;

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

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

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

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

Алгоритмы маршрутизации могут быть классифицированы по типам. Например, алгоритмы могут быть:

  • 1. Статическими или динамическими
  • 2. Одномаршрутными или многомаршрутными
  • 3. Одноуровневыми или иерархическими
  • 4. С интеллектом в главной вычислительной машине или в роутере
  • 5. Внутридоменными и междоменными
  • 6. Алгоритмами состояния канала или вектора расстояний

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

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

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

Одномаршрутные или многомаршрутные алгоритмы

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

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

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

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

Алгоритмы с игнтеллектом в главной вычислительной машине или в роутере

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

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

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

Внутридоменные или междоменные алгоритмы

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

Алгоритмы состояния канала или вектора расстояния

Алгоритмы состояния канала (известные также как алгоритмы "первоочередности наикратчайшего маршрута") направляют потоки маршрутной информации во все узлы об"единенной сети. Однако каждый роутер посылает только ту часть маршрутной таблицы, которая описывает состояние его собственных каналов. Алгоритмы вектора расстояния (известные также как алгоритмы Бэлмана-Форда) требуют от каждогo роутера посылки всей или части своей маршрутной таблицы, но только своим соседям. Алгоритмы состояния каналов фактически направляют небольшие корректировки по всем направлениям, в то время как алгоритмы вектора расстояний отсылают более крупные корректировки только в соседние роутеры.

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

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

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

  • 1. Длина маршрута
  • 2. Надежность
  • 3. Задержка
  • 4. Ширина полосы пропускания
  • 6. Стоимость связи

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

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

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

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

Алгоритмы маршрутизации могут быть классифицированы по типам:

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

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

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

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

5.Внутридоменные или междоменные алгоритмы. Некоторые алгоритмы маршрутизации действуют только в пределах доменов; другие - как в пределах доменов, так и между ними.

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



7.Адаптивные алгоритмы - алгоритмы динамической маршрутизации. Они самые реальные и самые распространенные. Автоматическое построение таблиц маршрутизации, эти алгоритмы адаптированы к изменениям в сети. К адаптивным алгоритмам предъявляются следующие требования:

Адитивность – скорость адаптивности алгоритма к изменениям в сети. Для достижения скорости алгоритмы должны быть простыми

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

Сходимость алгоритма – это когда алгоритм после некоторого времени приводит к однозначному результату.

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

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

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

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

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

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

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

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

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

Гибкость.

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

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

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

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

Формирование петли маршрутизации проиллюстрировано на рис. 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 с.: ил. – Парал. тит. англ.