Enhanced Interior Gateway Routing Protocol
Enhanced Interior Gateway Routing Protocol (EIGRP) — это проприетарный протокол динамической маршрутизации, разработанный компанией Cisco Systems. Относится к классу гибридных протоколов, сочетая в себе черты дистанционно-векторных (Distance Vector) и протоколов состояния каналов (Link-State). EIGRP предназначен для автоматического обмена информацией о маршрутах между маршрутизаторами в пределах одной автономной системы (AS), что позволяет строить и поддерживать топологию сети без ручного вмешательства администратора.
Протокол был представлен в 1994 году как эволюционное развитие протокола IGRP (Interior Gateway Routing Protocol), также разработанного Cisco. В 2013 году компания Cisco опубликовала спецификацию EIGRP в виде информационного RFC 7868, сделав протокол открытым стандартом, однако его реализация в стороннем оборудовании остаётся ограниченной из-за патентных ограничений и сложности алгоритмов.
История и развитие
EIGRP был создан для устранения недостатков своего предшественника IGRP, который имел ограничения по метрике (максимальное значение 24 бита) и не поддерживал маски переменной длины (VLSM). Первая версия EIGRP появилась в операционной системе Cisco IOS версии 9.21.
В 1990-е годы EIGRP стал одним из ключевых протоколов для корпоративных сетей Cisco, обеспечивая быструю сходимость (convergence) и низкое потребление полосы пропускания по сравнению с OSPF. В 2005 году вышла версия EIGRP для IPv6 (EIGRPv6), которая была полностью переработана для работы с адресацией нового поколения.
В 2013 году компания Cisco передала спецификацию EIGRP в IETF (Internet Engineering Task Force), что привело к публикации RFC 7868. Это позволило другим производителям (например, Juniper, Huawei) реализовать ограниченную поддержку протокола, хотя полная совместимость с оборудованием Cisco остаётся проблематичной из-за недокументированных особенностей.
Архитектура и принципы работы
Основные компоненты
EIGRP использует несколько ключевых компонентов для своей работы:
- Протокол обнаружения соседей (Neighbor Discovery) — маршрутизаторы обмениваются Hello-пакетами для установления и поддержания отношений смежности. Периодичность отправки Hello-пакетов по умолчанию составляет 5 секунд на широковещательных сетях (Ethernet) и 60 секунд на нешироковещательных (Frame Relay, ATM).
- Надёжный транспортный протокол (Reliable Transport Protocol, RTP) — обеспечивает доставку пакетов EIGRP с подтверждением (ACK) для критически важных обновлений (Update, Query, Reply). Для Hello-пакетов и ACK используется ненадёжная доставка.
- Таблица соседей (Neighbor Table) — хранит информацию о каждом обнаруженном соседнем маршрутизаторе: IP-адрес, интерфейс, время удержания (hold time), последовательность пакетов.
- Таблица топологии (Topology Table) — содержит все известные маршруты к каждой сети, включая альтернативные. Каждый маршрут характеризуется метрикой, статусом (Passive или Active) и информацией о возможных преемниках (successor).
- Таблица маршрутизации (Routing Table) — содержит только лучшие маршруты (successor), которые активно используются для пересылки пакетов.
Алгоритм DUAL
Основой EIGRP является алгоритм Diffusing Update Algorithm (DUAL), разработанный Джо Гарсией-Луной-Асевесом (J.J. Garcia-Luna-Aceves). DUAL обеспечивает:
- Отсутствие петель маршрутизации — алгоритм гарантирует, что маршруты, выбранные в качестве successor, не образуют циклов.
- Быструю сходимость — при отказе канала или маршрутизатора DUAL немедленно переключается на резервный маршрут, если он существует (feasible successor).
- Минимальную служебную нагрузку — обновления рассылаются только при изменении топологии, а не периодически, как в RIP.
Ключевые понятия DUAL:
- Successor — маршрут с наименьшей метрикой, который помещается в таблицу маршрутизации.
- Feasible Successor — резервный маршрут, который удовлетворяет условию выполнимости (feasibility condition): его объявленная метрика (advertised distance) меньше, чем метрика successor (feasible distance). Если такой маршрут существует, при отказе основного переключение происходит мгновенно.
- Feasible Distance (FD) — наименьшая метрика, достигнутая для данной сети.
- Advertised Distance (AD) — метрика, объявленная соседним маршрутизатором для данной сети.
Если feasible successor отсутствует, маршрут переходит в состояние Active, и маршрутизатор рассылает Query-пакеты всем соседям, запрашивая альтернативные пути. Этот процесс может занять некоторое время (до нескольких секунд), но не приводит к петлям.
Метрика EIGRP
EIGRP использует составную метрику, которая по умолчанию рассчитывается на основе двух параметров:
- Полоса пропускания (Bandwidth) — минимальная полоса пропускания (в килобитах в секунду) на всём пути к сети.
- Задержка (Delay) — суммарная задержка (в десятках микросекунд) на всех интерфейсах пути.
Формула метрики по умолчанию (K1=1, K2=0, K3=1, K4=0, K5=0):
``text Метрика = (B1 + B2) * 256 где B1 = 10^7 / минимальная полоса пропускания (кбит/с) B2 = суммарная задержка (в десятках мкс) ``
Дополнительно могут использоваться коэффициенты K4 и K5 для учёта надёжности (reliability) и загрузки (load), но в стандартных конфигурациях они отключены. Значения коэффициентов K задаются командой metric weights в Cisco IOS.
Форматы пакетов
EIGRP использует пять типов пакетов:
| Тип пакета | Назначение |
|---|---|
| Hello | Обнаружение и поддержание соседства |
| Update | Передача информации о маршрутах (полная или инкрементальная) |
| Query | Запрос альтернативных маршрутов при переходе в состояние Active |
| Reply | Ответ на Query-запрос |
| ACK | Подтверждение получения Update, Query или Reply |
Все пакеты EIGRP инкапсулируются непосредственно в IP-пакеты с протокольным номером 88. Для IPv4 используется мультикаст-адрес 224.0.0.10, для IPv6 — FF02::A.
Особенности и преимущества
- Быстрая сходимость — благодаря алгоритму DUAL и использованию feasible successor, EIGRP восстанавливает маршрутизацию за доли секунды при наличии резервного пути.
- Низкое потребление полосы пропускания — обновления рассылаются только при изменениях топологии, а не периодически (как в RIP). Используется инкрементальная рассылка (partial update).
- Поддержка VLSM и CIDR — EIGRP поддерживает маски переменной длины и бесклассовую междоменную маршрутизацию.
- Автоматическая суммаризация — на границах сетей EIGRP может автоматически суммировать маршруты до классовых границ (по умолчанию включена для IPv4, отключена для IPv6).
- Поддержка множества протоколов — EIGRP может переносить информацию о маршрутах для IPv4, IPv6, а также для протоколов канального уровня (например, IPX и AppleTalk, хотя эти реализации устарели).
- Аутентификация — поддерживается аутентификация с помощью MD5 или SHA-256 для защиты от подделки пакетов.
Недостатки и критика
- Проприетарность — несмотря на публикацию RFC 7868, реализация EIGRP на оборудовании сторонних производителей (Juniper, Huawei, MikroTik) имеет ограничения и может быть несовместима с Cisco.
- Сложность конфигурации — настройка EIGRP требует понимания алгоритма DUAL, метрик и фильтрации маршрутов.
- Отсутствие поддержки многоадресной рассылки — EIGRP не поддерживает мультикаст-маршрутизацию (например, PIM), что ограничивает его использование в сетях с IPTV или видеоконференциями.
- Проблемы с масштабируемостью — в очень крупных сетях (более 1000 маршрутизаторов) EIGRP может создавать значительную нагрузку на процессор при пересчёте топологии.
- Ограниченная поддержка внешних маршрутов — EIGRP плохо справляется с редистрибуцией большого количества маршрутов из других протоколов (например, BGP).
Применение
EIGRP широко используется в корпоративных сетях, построенных на оборудовании Cisco, особенно в сетях среднего размера (от 10 до 500 маршрутизаторов). Он часто применяется:
- В офисных сетях с несколькими филиалами, где требуется быстрая сходимость при отказах каналов.
- В сетях провайдеров доступа (ISP) для внутренней маршрутизации в пределах автономной системы.
- В сочетании с OSPF или BGP для гибридных решений (например, EIGRP внутри AS, BGP на границе).
В сетях, где используется оборудование разных производителей, предпочтение обычно отдаётся OSPF или IS-IS, так как они являются открытыми стандартами.
Интересные факты
- EIGRP был разработан как альтернатива OSPF, который в середине 1990-х годов считался слишком сложным для небольших сетей.
- Алгоритм DUAL был запатентован компанией Cisco, что долгое время препятствовало его реализации в открытом ПО.
- В 2010 году компания Cisco выпустила версию EIGRP для IPv6 (EIGRPv6), которая использует отдельный процесс и не имеет обратной совместимости с EIGRP для IPv4.
- В операционной системе Linux существует реализация EIGRP с открытым исходным кодом — проект Quagga (позднее FRRouting), но она не поддерживает все возможности протокола.
Источники
- RFC 7868 — Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP)
- Cisco IOS IP Routing: EIGRP Configuration Guide, Cisco Systems
- Doyle, J., Carroll, D. — Routing TCP/IP, Volume I (2nd Edition), Cisco Press, 2005
- White, R., Tretter, A. — EIGRP for IP: Basic Operation and Configuration, Addison-Wesley, 2000
- Garcia-Luna-Aceves, J.J. — Loop-Free Routing Using Diffusing Computations, IEEE/ACM Transactions on Networking, 1993
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →