Открыть сервис

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 →