EIGRP
Введение
Enhanced Interior Gateway Routing Protocol (EIGRP) – это улучшенный протокол маршрутизации, разработанный компанией Cisco. Он является гибридным, сочетающим преимущества дистанционно-векторных и состояниевых протоколов маршрутизации.
История появления
EIGRP был представлен в 1993 году как преемник IGRP (Interior Gateway Routing Protocol). Он устраняет недостатки IGRP и RIP, такие как медленная сходимость и ограниченные метрики, обеспечивая быструю адаптацию к изменениям сети.
Ключевые особенности
- Быстрая сходимость – EIGRP использует алгоритм DUAL (Diffusing Update Algorithm), который позволяет быстро адаптироваться к изменениям сети, минимизируя задержки при перестроении маршрутов.
- Поддержка VLSM и CIDR – позволяет использовать переменную длину маски подсети и безклассовую маршрутизацию, что улучшает гибкость управления адресным пространством.
- Эффективное использование сетевых ресурсов – EIGRP передает только изменения в топологии, а не полные таблицы маршрутизации, что снижает нагрузку на сеть и процессор маршрутизатора.
- Балансировка нагрузки – поддержка балансировки нагрузки по нескольким маршрутам с разными метриками (Equal-Cost Multi-Path и Unequal-Cost Load Balancing).
- Поддержка нескольких сетевых протоколов – EIGRP изначально разрабатывался для работы с IPv4, IPv6, а также с IPX и AppleTalk, что делало его универсальным в мультипротокольных средах.
- Автоматическое обнаружение соседей – маршрутизаторы EIGRP автоматически устанавливают соседство и поддерживают связь с помощью Hello-пакетов.
- Использование надёжного транспортного протокола RTP (Reliable Transport Protocol) – обеспечивает надежную доставку обновлений маршрутизации.
- Гибкая настройка метрик – возможность использования различных параметров (пропускная способность, задержка, надежность, загруженность) для выбора оптимального маршрута.
- Автоматическое обнаружение петель – DUAL предотвращает образование петель в маршрутизации, что повышает стабильность сети.
Балансировка нагрузки
EIGRP поддерживает два типа балансировки нагрузки:
Equal-Cost Multi-Path (ECMP)
ECMP позволяет использовать несколько маршрутов с одинаковой метрикой для одного и того же направления. Если маршрутизатор EIGRP обнаруживает несколько путей с равной метрикой до сети назначения, он может использовать их одновременно для балансировки нагрузки, что повышает пропускную способность сети и распределяет нагрузку равномерно. По умолчанию в EIGRP поддерживается до 4 равных маршрутов, но этот параметр можно увеличить до 16 с помощью команды:
router eigrp 1
maximum-paths 8
Unequal-Cost Load Balancing (UCLB)
В отличие от ECMP, Unequal-Cost Load Balancing позволяет использовать несколько маршрутов с разными метриками, если их значение не превышает установленный коэффициент Feasibility Distance. Это регулируется параметром variance. Например, если основной маршрут имеет метрику 1000, а альтернативный – 1500, маршрутизатор EIGRP будет использовать оба маршрута, если параметр variance установлен в 2 (1500 ≤ 1000 × 2):
router eigrp 1
variance 2
Этот механизм позволяет более гибко распределять трафик и использовать доступные ресурсы более эффективно.
Принцип работы DUAL
Что такое DUAL?
DUAL (Diffusing Update Algorithm) – это алгоритм маршрутизации, который обеспечивает быструю сходимость EIGRP и предотвращает образование петель. Он позволяет маршрутизаторам быстро адаптироваться к изменениям в топологии без необходимости пересчёта всей таблицы маршрутизации.
Основные понятия DUAL:
- Feasible Distance (FD) – наименьшая метрика до сети назначения.
- Reported Distance (RD) – метрика, которую сообщает соседний маршрутизатор.
- Feasible Successor (FS) – резервный маршрут, который может быть немедленно использован при отказе основного.
- Successor – основной маршрут с наименьшей метрикой.
Механизм работы DUAL
- Маршрутизатор получает информацию о маршрутах от соседей и сохраняет их в топологической таблице.
- Для каждой сети выбирается Successor (маршрут с наименьшей FD).
- Если у маршрутизатора есть Feasible Successor (FS), он немедленно переключается на него в случае отказа основного маршрута, что позволяет избежать задержек и запроса новых маршрутов у соседей.
- Если FS отсутствует, маршрутизатор отправляет Queryзапрос соседям и ожидает Reply с новыми маршрутами.
- Такой механизм предотвращает петли и минимизирует время простоя сети.
Пример работы DUAL
Предположим, что маршрутизатор имеет два пути до сети 10.1.1.0/24:
- Основной маршрут через R2 с FD = 1000 и RD = 800.
- Альтернативный маршрут через R3 с FD = 1200 и RD = 900.
Так как RD альтернативного маршрута (900) меньше FD основного маршрута (1000), этот маршрут становится Feasible Successor, и при отказе основного маршрута переключение произойдет мгновенно, без повторного вычисления.
Фундаментальные принципы работы
Основы работы EIGRP
- EIGRP использует DUAL для обеспечения быстрой сходимости.
- Маршрутизаторы EIGRP обмениваются Hello-пакетами для установления соседства.
- После формирования соседства происходит обмен маршрутными таблицами.
- Только изменения в топологии отправляются другим маршрутизаторам, снижая нагрузку на сеть.
Таблицы EIGRP
EIGRP использует три таблицы:
- Таблица соседей (Neighbor Table) – список подключенных соседних маршрутизаторов.
- Топологическая таблица (Topology Table) – все возможные маршруты, собранные от соседей.
- Таблица маршрутизации (Routing Table) – лучший маршрут к каждой сети.
Метрики EIGRP
EIGRP использует составную метрику, включающую:
- Bandwidth (Пропускная способность) – минимальная скорость канала.
- Delay (Задержка) – суммарная задержка по маршруту.
- Reliability (Надежность) – измеряет частоту ошибок канала.
- Load (Загруженность) – процент использования канала.
Формула расчета метрики: $Metric=[K1×Bandwidth+(K2×Bandwidth)/(256−Load)+K3×Delay]×K5/(Reliability+K4)Metric = [K1 \times Bandwidth + (K2 \times Bandwidth) / (256 - Load) + K3 \times Delay] \times K5 / (Reliability + K4)$
По умолчанию: K1 = 1, K3 = 1, K2 = K4 = K5 = 0.
Конфигурация и настройка EIGRP
Включение EIGRP и объявление сетей
Настройка выполняется в режиме конфигурации маршрутизатора (router eigrp <AS-номер>), где AS-номер (Autonomous System) должен совпадать на всех маршрутизаторах, использующих один домен маршрутизации.
Пример настройки на маршрутизаторе:
Router(config)# router eigrp 100 # Включаем EIGRP с номером AS 100
Router(config-router)# network 192.168.1.0 0.0.0.255
Router(config-router)# network 10.0.0.0 0.255.255.255
Разбор команд:
router eigrp 100— активирует EIGRP с номером автономной системы (AS) 100.network 192.168.1.0 0.0.0.255— включает EIGRP на интерфейсах, имеющих IP-адреса в сети 192.168.1.0/24.network 10.0.0.0 0.255.255.255— включает EIGRP на интерфейсах, относящихся к сети 10.0.0.0/8.
Важно: Маска 0.0.0.255 — это обратная маска (wildcard mask). Она указывает, какие части IP-адреса можно изменять.
Отключение авто-саммаризации
По умолчанию EIGRP автоматически суммирует маршруты на границах основных классовых сетей (Class A, B, C). Чтобы отключить авто-саммаризацию и избежать проблем с маршрутизацией, используйте:
Router(config-router)# no auto-summary
Настройка пассивных интерфейсов
Если интерфейс не должен участвовать в обмене маршрутной информацией, но должен анонсировать сеть, можно сделать его пассивным:
Router(config-router)# passive-interface GigabitEthernet0/1
Или отключить маршрутизационные обновления на всех интерфейсах, кроме указанных:
Router(config-router)# passive-interface default
Router(config-router)# no passive-interface GigabitEthernet0/0
Настройка аутентификации EIGRP
Для защиты маршрутизации можно настроить аутентификацию с помощью MD5:
Router(config)# key chain EIGRP_KEY
Router(config-keychain)# key 1
Router(config-keychain-key)# key-string mysecurekey
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip authentication mode eigrp 100 md5
Router(config-if)# ip authentication key-chain eigrp 100 EIGRP_KEY
Изменение метрики
Метрика EIGRP по умолчанию учитывает пропускную способность и задержку. Можно вручную настроить метрику:
Router(config-router)# metric weights 0 1 0 1 0 0
Где параметры означают:
- 1-й параметр (K1) — Пропускная способность (Bandwidth).
- 2-й параметр (K2) — Нагрузку (Load).
- 3-й параметр (K3) — Задержку (Delay).
- 4-й параметр (K4) — Надежность (Reliability).
- 5-й параметр (K5) — MTU (обычно не используется).
Пример: Изменение задержки на интерфейсе
Router(config)# interface GigabitEthernet0/0
Router(config-if)# delay 1000
Настройка суммаризации маршрутов
Для уменьшения таблицы маршрутизации можно вручную настроить суммаризацию:
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip summary-address eigrp 100 192.168.0.0 255.255.252.0
Это создаст агрегированный маршрут 192.168.0.0/22.
Настройка границы распределения (Redistribution)
Если маршрутизатор должен работать с другим протоколом (например, OSPF), необходимо выполнить перераспределение маршрутов:
Router(config-router)# redistribute ospf 1 metric 1000 100 255 1 1500
Где параметры означают:
- 1000 — пропускная способность (Bandwidth).
- 100 — задержка (Delay).
- 255 — надежность (Reliability).
- 1 — загрузка (Load).
- 1500 — MTU.
Диагностика и устранение неисправностей
Проверка соседей
show ip eigrp neighbors
Просмотр топологической таблицы
show ip eigrp topology
Просмотр маршрутной таблицы
show ip route eigrp
Детальная информация о протоколе
show ip protocols
Преимущества и недостатки EIGRP
Преимущества:
- Быстрая сходимость благодаря DUAL.
- Эффективное управление пропускной способностью.
- Поддержка CIDR и VLSM.
- Возможность работы с разными протоколами (IPv4, IPv6, IPX, AppleTalk).
Недостатки:
- Протокол проприетарный (работает только на оборудовании Cisco).
- Требует больше ресурсов процессора и памяти.
- Не является стандартом IETF (в отличие от OSPF и IS-IS).
Сравнение EIGRP с другими протоколами
| Характеристика | RIP | IGRP | EIGRP | OSPF |
|---|---|---|---|---|
| Тип | Distance-vector | Distance-vector | Hybrid | Link-state |
| Сходимость | Медленная | Средняя | Быстрая | Быстрая |
| Поддержка VLSM/CIDR | Нет | Нет | Да | Да |
| Балансировка нагрузки | Да | Да | Да | Да |
| Поддержка нескольких протоколов | Нет | Да | Да | Нет |
| Масштабируемость | Низкая | Средняя | Высокая | Высокая |
Заключение
EIGRP – мощный и эффективный протокол маршрутизации, который предлагает быструю сходимость и гибкость. Однако его использование ограничено оборудованием Cisco. Важно понимать принципы его работы, настройки и диагностики для эффективного управления сетевой инфраструктурой.