Опубликован: 03.10.2011 | Уровень: для всех | Доступ: платный

Лекция 9: Общие сведения о маршрутизирующих протоколах

< Лекция 8 || Лекция 9: 12 || Лекция 10 >

9.2. Протоколы вектора расстояния и состояния канала

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

Протоколы состояния соединения или канала (Link-state) быстро реагируют на изменения в сети, рассылая модификации при изменениях в сетевой топологии всем маршрутизаторам в пределах некоторой области сети. Протоколы состояния канала создают таблицы маршрутизации на основе информации, хранящейся в специальной базе данных ( link-state database ). В базе данных хранится один или несколько путей к адресату назначения, из которых выбирается первый кратчайший путь (shortest path first), который и помещается в таблицу маршрутизации. Если первый путь становится недоступным, то из базы данных оперативно, без дополнительных вычислений, может быть выбран другой.

Когда происходят изменения в маршрутах или каналах (пропадают ранее существовавшие или появляются новые), маршрутизатор, первым заметивший изменение в сети, создает извещение о состоянии этого соединения (Link-State Advertisement – LSA ). Сообщение LSA затем передается всем соседним маршрутизаторам. Каждый маршрутизатор, получив копию LSA, модифицирует свою базу данных и транслирует LSA всем соседним устройствам. Волновое распространение пакетов (flooding), когда каждое сетевое устройство пересылает пакеты LSA всем своим соседям, предопределяет, что все устройства маршрутизации создадут базы данных, которые согласованно будут отражать сетевую топологию перед модификацией таблиц маршрутизации.

Наиболее известным в сети Internet протоколом типа distance-vector является Routing Information Protocol (RIP), который использует в качестве метрики число переходов ( hop count ) на пути к адресату назначения.

Другим типичным протоколом вектора расстояния является Interior Gateway Routing Protocol ( IGRP ), который был разработан в корпорации Cisco. Для работы в больших сложных сетях на смену ему пришел протокол Enhanced IGRP (EIGRP), который включает много особенностей протоколов как типа link-state, так и distance-vector. Поэтому он был назван гибридным протоколом (hybrid). Разработчики корпорации Cisco относят его к протоколам distance-vector.

Протокол вектора расстояния RIP Version 1 ( RIPv1 ), или просто RIP, использует счетчик переходов (hop count) в качестве метрики, чтобы определить направление и расстояние до определенного соединения в составной сети. Если существует несколько путей, то RIP выберет путь с наименьшим числом маршрутизаторов или переходов (hops) к адресату назначения. Однако выбранный маршрут не всегда является лучшим путем к адресату, поскольку выбранный маршрут с наименьшим числом устройств может характеризоваться меньшей скоростью передачи (меньшей полосой пропускания) по сравнению с альтернативными маршрутами. Кроме того, RIP не может направлять пакеты далее 15 переходов (15 hops), поэтому он рекомендован для работы в малых и средних сетях. Протокол RIPv1 требует, чтобы все устройства в сети применяли одинаковую маску подсети, поскольку RIP не включает информацию о маске подсети в модификацию (update) маршрутизации. Такой метод получил название маршрутизации на основе классов (classful routing).

Протокол вектора расстояния RIP Version 2 ( RIPv2 ) обеспечивает маршрутизацию на основе префикса CIDR (см. лекцию 7), поскольку в модификацию маршрутизации включена информация о маске подсети (о префиксе). Такой метод получил название бесклассовой маршрутизации (classless routing). При этом внутри одной сети могут существовать подсети с масками переменной длины (Variable-Length Subnet Masking – VLSM).

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

Наиболее известными в сети Internet протоколами типа Link-state являются протокол Open Shortest Path First (OSPF), а также протокол Intermediate System-to-Intermediate System (IS-IS).

OSPF является маршрутизирующим протоколом состояния канала, разработанным фирмой Engineering Task Force (IETF). Он предназначен для работы в больших гибких составных сетях. Он может работать с оборудованием разных фирм-производителей, поэтому получил широкое распространение.

Протокол граничного шлюза ( Border Gateway Protocol – BGP ) относится к внешним протоколам External Gateway Protocol (EGP). Протокол обеспечивает обмен маршрутизирующей информацией между автономными системами, гарантирует выбор пути, свободный от маршрутных петель (loop-free). Протокол BGP применяется основными сетевыми компаниями, в том числе Интернет-провайдерами. Протокол BGP принимает решение о выборе маршрута на основе сетевой политики.

9.3. Протокол RIP

Протокол RIP для своей работы использует алгоритм Беллмана- Форда. Пример функционирования алгоритма в сети из четырех последовательно соединенных маршрутизаторов приведен на рис. 9.3, где Сеть 1 непосредственно присоединена к маршрутизатору А, поэтому метрика пути к Сети 1 равна 0.

Сеть из последовательно соединенных маршрутизаторов

Рис. 9.3. Сеть из последовательно соединенных маршрутизаторов

Согласно алгоритму Беллмана-Форда маршрутизатор В получает информацию о пути в Сеть 1 от маршрутизатора А, добавляет 1 к значению вектора расстояния, т. е. увеличивает метрику (hop count) до единицы и затем посылает копию таблицы маршрутизации маршрутизатору С. В свою очередь, маршрутизатор С повышает значение метрики до 2 и обменивается маршрутной информацией с маршрутизатором D, который увеличивает значение метрики до 3. То есть результирующий вектор, или расстояние в сети, поэтапно увеличивается.

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

Образование маршрутных петель в сети

Рис. 9.4. Образование маршрутных петель в сети

Метрика пути из маршрутизатора D в Сеть 1 была равна 3 переходам. Если, например, вышла из строя Сеть 1 ( рис. 9.4), то начинается обновление маршрутной информации. При этом может возникнуть маршрутная петля.

  1. Маршрутизатор А посылает обновление об изменении маршрутов маршрутизатору В и он прекращает передачу пакетов данных в Сеть 1. Но поскольку маршрутизаторы С, Е и D еще не получили обновления, они продолжают передачу.
  2. Маршрутизатор В отправляет обновления маршрутизаторам С и Е, они прекращают отправлять пакеты в Сеть 1, но маршрутизатор D – продолжает. Он пока еще считает, что имеется путь в Сеть 1 через маршрутизатор С и метрика равна 3 переходам.
  3. Если маршрутизатор D отправит обновление маршрутизатору Е, то в нем он укажет, что существует маршрут в Сеть 1 через маршрутизатор С, но метрика равна 4 переходам.
  4. Маршрутизатор Е обновит свою таблицу маршрутизации и перешлет обновление маршрутизатору В с метрикой в 5 переходов, и так далее по кольцу.
  5. В этом случае любой пакет, предназначенный Сети 1, будет передаваться по кольцу (по петле) от маршрутизатора D к маршрутизатору С, затем к В, Е и снова D.

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

Меры борьбы с маршрутными петлями

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

  1. В протоколе вектора расстояния RIP максимальное значение метрики не может превышать 15. Поэтому, как только при обмене маршрутной информацией ( рис. 9.4) возрастающая на каждом шаге метрика достигает значения 16, Сеть 1 будет считаться недостижимой и пакет отбрасывается.
  2. В заголовке сетевого протокола IP (см. рис. 8.5) имеется поле времени жизни TTL , из значения которого при прохождении каждого маршрутизатора вычитается 1. Таким образом, число устройств, через которые может пройти пакет, ограничено. При обнулении значения TTL маршрутизатор отбрасывает пакет и отправителю с помощью протокола ICMP посылается сообщение о недостижимости сети.
  3. Принцип расщепления горизонта (split horizon) также позволяет бороться с маршрутными петлями. При описании возникновения маршрутной петли ( рис. 9.4) показано, что если маршрутизатор D отправит обновление маршрутизатору Е и в нем укажет, что есть альтернативный маршрут в Сеть 1 через маршрутизатор С, то маршрутизатор Е модернизирует свою таблицу маршрутизации и перешлет обновление маршрутизатору В. Таким образом, маршрутизатор В может ошибочно считать, что имеется путь к Сети 1, но с худшей метрикой. Однако ранее маршрутизатор В уже получил от маршрутизатора А информацию, что Сеть 1 недостижима. Принцип расщепления горизонта указывает, что нельзя посылать информацию маршрутизатору В о Сети 1 в обратном направлении, т. е. от маршрутизатора С или Е.
  4. Пометка недоступного маршрута запрещенной метрикой (route poisoning). В этом случае маршрутизатор, имеющий какой-то маршрут к сети, сразу же после получения сообщения о недостижимости данной сети включает в соответствующую строку таблицы маршрутизации запрещенное значение метрики, равное 16. Обычно этот метод используется совместно с принципом расщепления горизонта и механизмом мгновенной рассылки объявлений об изменении топологии сети.
  5. При методе мгновенных обновлений (triggered update) их рассылка производится сразу, как только маршрутизатор обнаружит какие-либо изменения в сети, не дожидаясь окончания периода обновления. Последующие маршрутизаторы также мгновенно рассылают информацию об изменении в сети. Это приводит к ускорению конвергенции сети.
  6. Таймер удержания информации (holddown timer) запускается на маршрутизаторе, когда от соседнего устройства приходит информация о том, что ранее доступная сеть становится недоступной. Это дает больше времени для распространения информации об изменениях по всей сети. Возможны разные варианты действия протокола вектора расстояния:
    1. если до истечения времени таймера удержания информации от того же устройства приходит обновление, что сеть снова стала достижимой, то протокол помечает сеть как доступную и выключает таймер;
    2. если до истечения времени таймера приходит обновление от другого маршрутизатора с лучшей метрикой, чем была ранее, то протокол помечает сеть как доступную и выключает таймер;
    3. если до истечения времени таймера приходит обновление от другого маршрутизатора с худшей метрикой, то это обновление игнорируется.

Таким образом, указанные меры борьбы с маршрутными петлями позволяют маршрутизаторам избегать их. Но время конвергенции протокола RIP велико, по сравнению с протоколами состояния канала linkstate. Поэтому протокол RIP используется только в малых сетях. Однако у названного протокола есть важное достоинство: для его функционирования требуется существенно меньшие объем оперативной памяти и быстродействие центрального процессора. Поэтому данный протокол разработан для новой версии адресации IPv6.

Для обеспечения маршрутизации на основе префикса CIDR и возможности использования сетевых масок переменной длины VLSM разработан и эксплуатируется протокол вектора расстояния RIPv2. Однако все другие параметры у него аналогичны протоколу RIPv1.

Краткие итоги

  1. Совокупность сетей, представленных набором маршрутизаторов под общим административным управлением, образует автономную систему.
  2. Маршрутизаторы функционируют в дейтаграммных сетях с коммутацией пакетов, где все возможные маршруты уже существуют.
  3. Маршрутизаторы при использовании алгоритма вектора расстояния обмениваются таблицами маршрутизации с соседними маршрутизаторами через определенные интервалы времени.
  4. Протоколы состояния канала создают полную картину топологии сети и вычисляют кратчайший путь ко всем сетям назначения. Обмен маршрутной информацией проводится только при изменениях топологии.
  5. Определение наиболее рационального (оптимального) пути производится маршрутизатором на основе критерия – метрики.
  6. Маршрутная информация может быть сконфигурирована сетевым администратором – при этом реализуется статическая маршрутизация.
  7. Маршрутизаторы блокируют широковещательные передачи, поэтому широковещательный шторм может быть только в пределах домена.
  8. Маршрутизирующие протоколы разделяют сетевую информацию между маршрутизаторами.
  9. Сходимость – процесс согласования между всеми маршрутизаторами сети информации о доступных маршрутах.
  10. Первый кратчайший путь к сети назначения, вычисленный протоколом состояния канала, помещается в таблицу маршрутизации. В базе данных может храниться несколько путей к адресату назначения.
  11. Когда происходят изменения в маршрутах или каналах, маршрутизатор, первым заметивший изменение в сети, создает извещение о состоянии этого соединения (LSA) и передает его всем соседним маршрутизаторам.
  12. При маршрутизации на основе классов (classful routing) информация о маске подсети в модификацию (update) не включается.
  13. При бесклассовой маршрутизации (classless routing) информация о маске подсети включается в обновления (update).
  14. Для протоколов вектора расстояния существует возможность возникновения маршрутных петель, для борьбы с которыми разработан ряд методов.
  15. Принцип расщепления горизонта (split horizon) определяет, что нельзя посылать информацию маршрутизатору об изменениях в сети в обратном направлении.
  16. После получения сообщения о недостижимости сети маршрутизатор включает в соответствующую строку таблицы маршрутизации запрещенное значение метрики (равное 16 в протоколе RIP).
  17. Метод мгновенных обновлений (triggered update) производит рассылку модификаций сразу, как только маршрутизатор обнаружит какие-либо изменения в сети, не дожидаясь окончания периода обновления.

Вопросы

  1. Что такое автономная система?
  2. Как маршрутизаторы обмениваются таблицами маршрутизации с соседями при использовании алгоритма вектора расстояния?
  3. Когда маршрутизаторы обмениваются маршрутной информацией при использовании протокола состояния канала?
  4. На основании чего производится определение оптимального пути к сети назначения?
  5. Что такое статическая и динамическая маршрутизация?
  6. Что означает термин "сходимость"?
  7. Где хранится полная информация о топологии сети при использовании протокола состояния канала?
  8. Когда создается извещение о состоянии соединения LSA?
  9. В каких типах маршрутизации информация о маске подсети включается в обновления?
  10. Какие методы разработаны для борьбы с маршрутными петлями в протоколах вектора расстояния?
  11. Какую функцию выполняет Время жизни (TTL) ?
  12. Чем характеризуется принцип расщепления горизонта?

Упражнения

  1. Объясните в чем различие протоколов вектора расстояния и состояния канала.
  2. Укажите наиболее часто используемые метрики протоколов маршрутизации.
  3. Объясните, в чем различие методов маршрутизации на основе классов и бесклассовой маршрутизации.
  4. Объясните, как формируется метрика пути к Сети 1 ( рис. 9.4) на маршрутизаторах A, B, C, D.
  5. Объясните, как образуется маршрутная петля в сети ( рис. 9.4).
  6. Объясните, как позволяет бороться с маршрутными петлями принцип расщепления горизонта.
  7. Объясните, как позволяет бороться с маршрутными петлями пометка недоступного маршрута запрещенной метрикой.
  8. Объясните, как функционирует таймер удержания информации в борьбе с маршрутными петлями.
< Лекция 8 || Лекция 9: 12 || Лекция 10 >
Александр Хованский
Александр Хованский
в курсе построение сетей на базе коммутаторов и маршрутизаторов некорректно задан вопрос. звучит так сколько портов сконфинурировать в VLAN0 для управления коммутатором. (поменяйте например на VLAN1 или VLAN управления ) 0-го VLAN не может быть
Денис Кобзов
Денис Кобзов
Россия, Ноябрьск
Дмитрий Наумов
Дмитрий Наумов
Россия