DATE: 08-06-2001 TIME: 18:38:54

Протоколы динамической машрутизации

Протоколы дирамической маршрутизации (routing protocols) подразделяются на внешние

(Exterior Gateway Protocols - EGPs) и внутренние (Interior Gateway Protocols - IGPs).

Внутренние протоколы (Interior Gateway Protocols)

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

  • Internet Gateway Routing Protocol (IGRP)
  • Enhanced Internet Gateway Routing Protocol (Enhanced IGRP)
  • Open Shortest Path First (OSPF)
  • Routing Information Protocol (RIP)
  • Intermediate System-to-Intermediate System (IS-IS)

Внешние протоколы (Exterior Gateway Protocols)

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

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

  • Border Gateway Protocol (BGP)
  • Exterior Gateway Protocol (EGP)

Выбор протокола

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

  • Размер и сложность топологии сети
  • Необходимость поддержки масок переменной длины (VLSM) - поддерживаются в EIGRP, IS-IS, OSPF, BGP
  • Объемы траффика по сети
  • Соображения безопасности
  • Соображения надежности
  • Типичные задержки распространения пакетов по сети
  • Организационные требования
  • Планируемый рост и изменение структуры сети

Основы роутинга

Введение

Роутинг (routing) - транспортирование информации по сети от отправителя к получателю. На этом пути в данном процессе участвует как минимум один промежуточный узел. Роутинг часто противопоставляют бриджингу (bridging), который, на первый взгляд, занимается тем же самым. Основным различием между ними является то, что бриджинг происходит на уровне 2 семиуровневой модели OSI, а роутинг - на уровне 3. Из этого следует, что решение о направлении пакета к получателю эти процессы принимают на основании разной информации.

Компоненты роутинга

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

Определение пути

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

Роутер выбирает оптимальный путь из нескольких известных ему путей, сравнивая их метрики.

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

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

Алгоритмы роутинга

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

Цели создания

Их как правило несколько:

  • Оптимальность
  • Простота и малые накладные расходы
  • Надежность и стабильность
  • Быстрая сходимость
  • Гибкость

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

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

Простота

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

Надежность

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

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

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

Гибкость

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

Типы алгоритмов

Алгоритмы роутинга можно подразделить на следующие типы:

  • Статические или динамические
  • Одно- или многопутевые
  • Плоские или иерархические
  • Внутридоменные или междоменные
  • Состояния линка (Link-State) или дистанции (Distance Vector)

Статические или динамические

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

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

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

Одно- или многопутевые

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

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

Плоские или иерархические

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

Системы роутинга часто объединяют группы по логическому признаку и называют эти группы

доменами (domains), автономными системами (autonomous systems) или областями (areas). В иерархических системах роутеры внутри домена могут общаться между собой, а некоторые из них (не все) могут общаться еще и с роутерами, находящимися за пределами домена. В сложных системах подобная иерархия может содержать несколько уровней.

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

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

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

Состояние линка (Link State) или дистанция (Distance Vector)

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

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

О Компании
Новости
Продукты и Услуги
Клиенты
Контактная информация
Login
Оборудование
Услуги технической службы
Обучение
Документация


Cisco Systems

Home