Протоколы IGRP и EIGRP.


Парням из фильма “Хочу все знать” посвящается…
Немного инфы по этим протоколам.
Протокол IGRP(Interior Gateway Routing Protocol) - типа “внутренний шлюзовой протокол маршрутизации” - разработан фирмой Cisco в 1980 году. Принадлежит к классу протоколов IGP. Работает по алгоритму вектора расстояния =). Текущая реализация предназначена для сетей TCP/IP. Когда значит этот протокол разрабатывали, умные дядьки поставили следующие задачи:
- Устойчивость в очень больших и сложных сетях;
- Чтоб все забыли про петли маршрутизации;
- Быстрое восстановление работоспособности сети при изменении топологии;
- Обеспечение распределение потока данных между маршрутами с одинаковой стоимостью.
Значит так. Таблицы маршрутизации у ентого протокола формируются путем обмена между маршрутизаторами служебной инфой (ну как у RIP). При запуске маршрутизатор содержит инфу тока о напрямую подконнектенных сетях. Затем он получает инфу о других логических сетях от соседних маршрутизаторов. В простейшем случае маршрутизатор ищет только один, наиболее предпочтительный путь к цели. Протокол поддерживает распределение потока на несколько маршрутов, которые имеют одинаковую метрику. Администратор может настраивать метрики вручную для принудитель­ного распределения графика, что позволяет направлять график через быстрые каналы. При этом резервирование каналов связи позволяет автоматически пере­ключать трафик на запасной канал в случае выхода из строя основной линии. Несколько каналов связи могут использоваться даже в том случае, если их мет­рики различаются.
В качестве этой самой метрики могут быть выбраны:
- Время задержки;
- Пропускная способность канала;
- Загруженность канала;
- Надежность канала.
Под временем задержки понимается время доставки графика к получателю в незагруженной сети. Пропускная способность канала - это его скорость, изме­ряемая количеством передаваемых бит в секунду. Загруженность канала показывает, какая часть пропускной способности занята в настоящий момент. Надежность же определяется количеством ошибок при передаче.
Кстати, протокол IGRP предусматривает широкий диапазон значений метрик. Напри­мер, надежность и загруженность канала связи могут принимать любое значение в интервале от 1 до 255. Пропускная способность канала может лежать в интервале от 1200 бит/с до 10 Гбит/с. Время задержки задается положительным целым числом, не превышающим 224. Такие широкие диапазоны метрик позволяют про­изводить очень точную их регулировку в большой сети с меняющейся производи­тельностью. При этом администратор сам определяет необходимый набор метрик.
Так вот, каждый маршрутизатор регулярно широковещательно рассылает всю свою таблицу маршрутизации всем своим соседям. После получения маршрутизатором этой ин­фы от соседа, он сравнивает полученную таблицу маршрутизации со своей. Т.е. маршруты в полученной таблице сравниваются маршрутизатором с мар­шрутами в его таблице маршрутизации. Если новый маршрут имеет лучшую метрику, то он может заменить существующий. Как видно, общая процедура напо­минает работу протокола RIP. Однако протокол IGRP модифицирован в трех основных направлениях:
1. Вместо простой метрики маршрута используется обобщенная метрика, ко­торая служит для более точной характеристики маршрута.
2. Вместо использования одного маршрута с наименьшей метрикой, график может распределяться по нескольким маршрутам, чьи метрики попадают в указанный диапазон.
3. Благодаря ряду дополнительных функций обеспечена большая устойчи­вость протокола при изменениях в сетевой топологии.
Маршрут, имеющий наименьшую обобщенную метрику, будет наиболее пред­почтительным. Если к одному получателю существует несколько маршрутов, маршрутизатор может передавать информацию по всем этим маршрутам (или некоторым из них). То, как именно будет происходить передача, зависит от обобщенной метрики каждого маршрута. Например, если один маршрут имеет обобщенную метрику 1, а другой - 3, то через маршрут, имеющий обобщенную метрику 1, будет послано в три раза больше данных (иными словами, этот мар­шрут будет использован в три раза чаще). Однако будут использованы только те маршруты, обобщенные метрики которых находятся в определенном диапазоне.
Для достижения устойчивости в больших сетях протокол IGRP использу­ет технологии Hold Down, Split-Horizon, Triggered Update и Poison Reverse. Эти алгоритмы разработаны для предотвращения применения маршрутизаторами ошибочных маршрутов. Как описано в RFC 1058, это проис­ходит, когда маршрут становится недоступным вследствие аппаратной ошибки одного из маршрутизаторов.
Для справки - технология Poison Reverse предназначена для предупрежде­ния образования крупных петель в отличие от технологии Split-Horizon, которая предотвращает петли из двух соседних маршрутизаторов. Технология Poison Re­verse основывается на следующем правиле: если в процессе работы метрика маршрута значительно увеличилась - это следствие образования петли, и дан­ный маршрут должен быть удален из таблицы маршрутизации. В реализации протокола IGRP фирмой Cisco сообщения об отмене маршрута отправляются в том случае, если его показатель увеличивается на 1.1 или более. Triggered Update заставляет маршрутизатор рассылать информацию об изме­нениях, даже если рассылка не укладывается во временной интервал рассылок (для алгоритма IGRP этот интервал составляет 90 с).
Фирма Cisco взяла да и разработала еще один протокол на нашу голову - EIGRP (Enhanced Interior Gateway Rou­ting Protocol, улучшенный IGRP ;). А он объединяет в себе достоинства алгорит­мов вектора расстояния и и еще состояния канала. К его достоинствам относятся: небольшой служебный трафик, быстрое восстановление после изменений в сете­вой топологии (фирма утверждает, что время сходимости, даже в больших сетях, составляет несколько секунд) и возможность использования маски подсети в сетях IP. Во как.
Протокол EIGRP представляет собой первую реализацию алгоритма DUAL (Distributed Update Algorithm, алгоритм распределенного обновления), который позволяет маршрутизатору восстанавливать свою работоспособность сразу же после изменения в сетевой топологии, что значительно увеличивает надежность распределенной сети. В большинстве случаев маршрутизаторы, работающие по протоколу EIGRP, перестраиваются в соответствии с новой топологией меньше, чем за одну секунду. Таким образом, хотя протокол EIGRP и перенял алгоритм вектора расстояния от протокола IGRP, он обладает возможностями протоколов, работающих по алгоритму состояния канала, таких как IS-IS и OSPF. Протокол поддерживает маски подсетей переменной длины, что позволяет организации более эффективно использовать выделенное ей адресное пространство. Протоко­лы маршрутизации RIP и IGRP не поддерживают передачу информации о мас­ках подсети. Поэтому для корректной работы таких маршрутизаторов в сети должны быть одинаковые маски подсетей.
Рассмотрим четыре базовых составляющих протокола:
- обнаружение соседа;
- надежный транспортный протокол;
- алгоритм DUAL;
- модуль, зависящий от протокола.
При обнаружении соседа маршрутизаторы динамически получают информа­цию о других маршрутизаторах, находящихся в сетях, подключенных к ним на­прямую. Маршрутизаторы также должны уметь определять, что их соседи недостижимы. Этот процесс выполняется при низкой загрузке сети с помощью периодической посылки небольших пакетов Hello. После того как пакет по­лучен, маршрутизатор считает, что его сосед функционирует нормально. Затем соседние маршрутизаторы обмениваются маршрутной информацией.
Надежный транспорт отвечает за гарантированную доставку сообщений про­токола EIGRP всем соседям. Данный процесс поддерживает как единичную, так и групповую адресацию. Однако надежность не является непременным условием доставки. Некоторые сообщения могут передаваться с гарантией доставки, а некоторые - нет. Например, в сети с поддержкой групповой передачи данных (Ethernet) нет необходимости посылать сообщения Hello всем соседям с гаран­тией доставки. Вместо этого маршрутизатор может послать одно сообщение группе соседей с указанием, что получение данного сообщения можно не под­тверждать. Это ускоряет процесс обмена и гарантирует, что время сходимости будет малым, даже в случае использования каналов связи с различными ско­ростями. Другие сообщения, например, об обновлении маршрутизации, требуют подтверждения; это указывается в самом сообщении.
А вот и пресловутый алгоритм DUAL. Он определяет путь передачи графика. Отслеживает инфор­мацию о маршрутах, получаемую от всех соседей, и затем выбирает маршрут к так называемому «возможному наследнику». Наследник - это соседний марш­рутизатор, который имеет наименьшую метрику до получателя и который гаран­тированно не является частью петли маршрутизации.
Модуль, зависящий от протокола, отвечает за взаимодействие с определен­ным протоколом сетевого уровня. Например, при использовании протокола IP данный модуль отвечает за инкапсуляцию сообщений EIGRP в IP-дейтаграммы.
Каждый маршрутрик хранит инфу о соседних маршрутриках. Еси появляется новый сосед, инфа о нем записывается в таблицу сосе­дей. Для каждого модуля, зависящего от протокола, поддерживается своя табли­ца соседей. Записи в таблице соседей содержат информацию, требующуюся для надежной доставки, например номер сообщения. Этот номер используется для проверки того, что сообщения от соседа пришли в том порядке, в котором он их отправил.
Протокол EIGRP обеспечивает быструю сходимость благодаря применению модели «запрос-ответ», при которой сообщения посылаются только тем маршру­тизаторам, на работу которых может повлиять произошедшее изменение в сете­вой топологии.
Тока смотрите перцы - при построении распределенной сети на базе протоколов маршрутизации IGRP или EIGRP необходимо учитывать, что их поддержка реализована, в ос­новном, только в маршрутизаторах фирмы Cisco. Протокол EIGRP может обес­печить меньшее время сходимости, чем протокол IGRP, но настраивать его сложнее. Кроме того, для получения максимального эффекта от этого протокола требуется производительный маршрутизатор с большим объемом оперативной памяти. Вот такие дела…