Протокол EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol — улучшенный протокол маршрутизации внутренних шлюзов) — это дистанционно-векторный протокол динамической маршрутизации, разработанный компанией Cisco Systems. EIGRP сочетает в себе принципы дистанционно-векторных протоколов с некоторыми свойствами протоколов состояния каналов, что позволяет ему обеспечивать быструю сходимость сети, эффективное использование пропускной способности и масштабируемость в корпоративных сетях. Протокол является проприетарным, однако в 2013 году Cisco опубликовала его базовую спецификацию в виде информационного RFC 7868.
История
Разработка EIGRP началась в начале 1990-х годов как эволюция более раннего протокола IGRP (Interior Gateway Routing Protocol), также созданного Cisco. IGRP, выпущенный в 1985 году, был дистанционно-векторным протоколом, использующим метрику на основе пропускной способности, задержки, надёжности, загрузки и максимального размера пакета. Однако IGRP имел ограничения: он не поддерживал бесклассовую адресацию (CIDR) и медленно сходился при изменениях топологии.
EIGRP, представленный в 1994 году, устранил эти недостатки. Он ввёл поддержку масок подсети переменной длины (VLSM), бесклассовую маршрутизацию и алгоритм DUAL (Diffusing Update Algorithm) для обеспечения безпетлевой сходимости. В отличие от IGRP, EIGRP передаёт обновления только при изменении топологии (триггерные обновления), а не периодически, что значительно снижает нагрузку на сеть.
В 2013 году Cisco опубликовала RFC 7868, описывающий EIGRP как открытый стандарт, что позволило другим производителям реализовать протокол в своих устройствах. Однако на практике EIGRP остаётся преимущественно используемым в сетях на оборудовании Cisco.
Алгоритм DUAL
Основой EIGRP является алгоритм DUAL (Diffusing Update Algorithm — диффузный алгоритм обновления), разработанный Дж. Дж. Гарсией-Луна-Асевесом. DUAL гарантирует безпетлевую сходимость и минимизирует время восстановления после сбоев.
Основные понятия
- Feasible Distance (FD) — наименьшая метрика до сети назначения, известная маршрутизатору.
- Reported Distance (RD) — метрика, сообщаемая соседним маршрутизатором для конкретного маршрута.
- Feasible Successor — соседний маршрутизатор, чья RD меньше текущей FD. Он может использоваться как резервный маршрут без риска образования петли.
- Successor — основной маршрутизатор (сосед) с наименьшей FD, через который проходит текущий маршрут.
Процесс сходимости
Когда основной маршрут (через Successor) выходит из строя, маршрутизатор проверяет, есть ли Feasible Successor. Если он существует, новый маршрут активируется немедленно, без отправки запросов соседям. Если Feasible Successor отсутствует, маршрутизатор переходит в активное состояние и отправляет запросы всем соседям, ожидая ответов. Этот процесс может распространяться по сети, но DUAL гарантирует отсутствие петель.
Метрика EIGRP
EIGRP использует составную метрику, основанную на нескольких параметрах. По умолчанию учитываются пропускная способность (bandwidth) и задержка (delay), но могут быть включены надёжность (reliability), загрузка (load) и максимальный размер пакета (MTU). Формула метрики:
**Метрика = (K1 BW + (K2 BW) / (256 - Load) + K3 Delay) (K5 / (Reliability + K4))**
Где K1–K5 — весовые коэффициенты, по умолчанию K1 = 1, K3 = 1, остальные равны 0. Таким образом, базовая метрика вычисляется как:
Метрика = (10^7 / BW_min) + (Delay_sum / 10)
Где BW_min — минимальная пропускная способность на пути (в кбит/с), а Delay_sum — сумма задержек всех интерфейсов на пути (в микросекундах). Это позволяет EIGRP выбирать маршруты с наименьшей задержкой и наибольшей пропускной способностью.
Типы пакетов
EIGRP использует пять типов пакетов для обмена информацией:
- Hello — пакеты для обнаружения и поддержания соседства. Отправляются каждые 5 секунд (по умолчанию) на широковещательных сетях (Ethernet) и каждые 60 секунд на медленных линиях (например, Frame Relay).
- Update — содержат информацию о маршрутах. Отправляются только при изменениях топологии.
- Query — запросы к соседям о маршрутах, когда Feasible Successor отсутствует.
- Reply — ответы на запросы.
- Acknowledgment — подтверждения получения Update, Query или Reply.
Классификация и режимы работы
EIGRP может работать в двух режимах:
- Классический режим — использует автономные системы (AS) и требует настройки одинакового номера AS на всех маршрутизаторах.
- Именованный режим (Named Mode) — введён в Cisco IOS 15.0(1)M, позволяет более гибко настраивать протокол, включая поддержку IPv4 и IPv6 в одном экземпляре.
EIGRP поддерживает как IPv4, так и IPv6 (через расширение EIGRP for IPv6).
Применение
EIGRP широко применяется в корпоративных сетях, построенных на оборудовании Cisco, благодаря следующим преимуществам:
- Быстрая сходимость — благодаря алгоритму DUAL, сеть восстанавливается за секунды.
- Низкая нагрузка на пропускную способность — триггерные обновления и частичные обновления маршрутов.
- Поддержка VLSM и CIDR — эффективное использование адресного пространства.
- Поддержка маршрутизации между автономными системами — через редистрибуцию с другими протоколами (OSPF, BGP).
Однако в сетях с оборудованием других производителей (Juniper, Huawei) EIGRP не поддерживается, что ограничивает его применение в мультивендорных средах.
Сравнение с другими протоколами
| Характеристика | EIGRP | OSPF | RIP |
|---|---|---|---|
| Тип | Дистанционно-векторный | Состояние каналов | Дистанционно-векторный |
| Метрика | Составная (BW, Delay) | Стоимость (Cost) | Hop count |
| Сходимость | Быстрая (DUAL) | Быстрая (SPF) | Медленная (периодические обновления) |
| Масштабируемость | Высокая | Высокая | Низкая |
| Поддержка VLSM | Да | Да | Нет (RIP v1) / Да (RIP v2) |
| Проприетарность | Изначально Cisco | Открытый стандарт | Открытый стандарт |
Недостатки и критика
Основные недостатки EIGRP:
- Проприетарность — несмотря на публикацию RFC, большинство реализаций остаются в устройствах Cisco, что ограничивает совместимость.
- Сложность настройки — требует понимания алгоритма DUAL и метрик, особенно в крупных сетях.
- Отсутствие поддержки в открытых ОС — хотя существуют реализации для Linux (например, Quagga), они не получили широкого распространения.
- Потенциальная нестабильность при неправильной настройке — неправильные весовые коэффициенты могут привести к выбору неоптимальных маршрутов.
Интересные факты
- EIGRP был разработан как замена IGRP, и оба протокола могут обмениваться маршрутами через редистрибуцию.
- В 2016 году Cisco объявила о прекращении поддержки EIGRP в некоторых версиях IOS, но протокол остаётся популярным в существующих сетях.
- Алгоритм DUAL используется не только в EIGRP, но и в некоторых других протоколах, например, в Babel.
Источники
- RFC 7868 — Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP), 2013.
- Документация Cisco IOS — «EIGRP Configuration Guide», Cisco Systems.
- Гарсия-Луна-Асевес, Дж. Дж. — «Loop-Free Routing Using Diffusing Computations», IEEE/ACM Transactions on Networking, 1993.
- Халворсен, О. — «Computer Networking: A Top-Down Approach», 7-е издание, Pearson, 2016.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →