Протоколы 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 Reverse основывается на следующем правиле: если в процессе работы метрика маршрута значительно увеличилась - это следствие образования петли, и данный маршрут должен быть удален из таблицы маршрутизации. В реализации протокола IGRP фирмой Cisco сообщения об отмене маршрута отправляются в том случае, если его показатель увеличивается на 1.1 или более. Triggered Update заставляет маршрутизатор рассылать информацию об изменениях, даже если рассылка не укладывается во временной интервал рассылок (для алгоритма IGRP этот интервал составляет 90 с).
Фирма Cisco взяла да и разработала еще один протокол на нашу голову - EIGRP (Enhanced Interior Gateway Routing 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, но настраивать его сложнее. Кроме того, для получения максимального эффекта от этого протокола требуется производительный маршрутизатор с большим объемом оперативной памяти. Вот такие дела…