Содержание

EIGRP

EIGRP * усовершенствованный дистанционно-векторный протокол динамической маршрутизации, разработанный компанией Cisco.

Это проприетарный протокол. Часть его спецификации открыли в 2013 году, но его реализацией все еще управляет Cisco.

Итак, чем хорош EIGRP?

ряд мифов

Основные характеристики протокола

Основные характеристики EIGRP:

Терминология протокола

Описание работы протокола

Связь между таблицами.

RTP и типы сообщений EIGRP

RTP управляет процессом отправки и получения пакетов EIGRP.

RTP обеспечивает:

Все сообщения EIGRP инкапсулируются в IP-пакеты, номер EIGRP в поле protocol IP-пакета — 88.

EIGRP использует 5 типов сообщений:

Отношения соседства и пакеты Hello

Для установления отношений соседства EIGRP использует пакеты hello:

Для того чтобы маршрутизаторы стали соседями должны выполняться такие условия:

Для того чтобы маршрутизаторы стали EIGRP-соседями у них не обязаны совпадать Hello и Hold time.

Маршрутизатор использует значения таймеров полученные от соседа.

Если на одном из маршрутизаторов изменены Hello или Hold time, то соседи этого маршрутизатора будут использовать эти значения. Для того чтобы сам маршрутизатор использовал другие значения, необходимо изменить таймер на соответствующем интерфейсе соседа.

Информация о всех обнаруженных соседях содержится в таблице соседей.

Таблица соседей (neighbor table) — список непосредственно присоединенных маршрутизаторов (на которых работает EIGRP) с которыми маршрутизатор установил отношения соседства. Одна таблица соседей существует для каждого PDM.

EIGRP может анонсировать сети secondary-адресов, но hello-пакеты отправляются с primary-адреса.

Обновления (Update)

После того как маршрутизаторы стали соседями, они начинают обмениваться обновлениями (Update).

Эти пакеты могут быть отправлены конкретному маршрутизатору (unicast) или группе маршрутизаторов (multicast).

Процесс обмена обновлениями:

Обновления EIGRP:

DUAL

Diffusing Update Algorithm (DUAL) — логика которую использует EIGRP для вычисления новых маршрутов.

Терминология:

Пример выбора лучшего маршрута и feasible successor

Для изображенной топологии расписаны три маршрута от R1 через маршрутизаторы R2, R3 и R4 к сети хоста H2.

Возле каждого соединения подписана его стоимость.

Соседний маршрутизатор Роль соседнего маршрутизатора Статус маршрута FD AD Feasible condition
R2 Не выбран Не выбран R1R2+R2R5 = 70 R2R5 = 60 Не выполняется
R3 Feasible successor Резервный маршрут R1R3+R3R5 = 60 R3R5 = 30 Выполняется AD < FD (R3R5 < R1R4R5)
R4 Successor Лучший маршрут R1R4+R4R5 = 50 R4R5 = 30 Лучший маршрут

Таблица топологии

Таблица топологии (topology table) — список маршрутов выученных от каждого соседа.

Если сосед сообщает локальному маршрутизатору о маршруте, то сосед должен использовать этот маршрут для передачи трафика. Другими словами, маршрутизатор отправляет соседям только те маршруты, которые сам использует (то есть, они находятся в таблице маршрутизации).

Это правило обязательно должно соблюдаться для всех дистанционно-векторных протоколов.

Демонстрация этого правила есть в примерах в разделе Примеры настроек и демонстрация работы EIGRP.

В таблице топологии также хранится метрика, которую сообщает каждый сосед для каждого destination (AD) и метрика, которую локальный маршрутизатор будет использовать для того чтобы достигнуть destination через соседа (FD).

Таблица топологии обновляется, когда изменяется непосредственно присоединенный маршрут или интерфейс или когда соседний маршрутизатор сообщает об изменении маршрута.

Записи в таблице топологии могут находиться в двух состояниях: active и passive.

Маршрут находится в состоянии passive, когда маршрутизатор не выполняет пересчет маршрута, и в состоянии active — если выполняется пересчет маршрута.

Пересчет выполняется, когда для сети назначения нет feasible successor.

Маршрутизатор инициирует пересчет отправляя запрос (отправляет query packet) каждому соседнему маршрутизатору.

Если у соседа есть маршрут к сети назначения, то он отвечает (отправляет reply packet), если маршрута нет — сосед отправляет запрос своим соседям.

Маршрутизатор сравнивает все FD для достижения конкретной сети, выбирает маршрут с наименьшим FD и помещает его в таблицу маршрутизации.

В таблице топологии может хранится 6 маршрутов к сети получателя (основной и запасные).

Таймеры протокола

Если в ответ на отправку любого multicast-пакета, который требует подтверждения о получении, не было отправлено подтверждение (ACK), то пакет будет передаваться unicast соседу, который не отвечает.

Если подтверждение не было получено после того как отправлено 16 unicast пакетов, то сосед считается неактивным.

Метрика EIGRP

Метрика EIGRP основана на таких 5 компонентах (по умолчанию используются только два):

По умолчанию для подсчета метрики используются bandwidth и delay.

Остальные критерии не рекомендуется использовать, так как это приведет к частым пересчетам маршрутов.

Вычисление метрики маршрута

EIGRP подсчитывает метрику с использованием коэффициентов.

По умолчанию значения коэффициентов такие: K1 = K3 = 1, K2 = K4 = K5 = 0.

Общая метрика вычисляется при помощи значений bandwidth (пропускной способности) и delay (задержки). Используется следующая формула для вычисления значения bandwidth :

bandwidth = (10000000/bandwidth(i)) * 256

Где bandwidth(i) является наименьшей пропускной способностью (bandwidth) из всех исходящих интерфейсов по пути в сеть назначения представленная в килобитах.

Формула для вычисления значения delay:

delay = delay(i) * 256

где delay(i) является суммой всех задержек (delays) сконфигурированных на исходящих интерфейсах по пути в сеть назначения в десятках микросекунд (microseconds).

Задержка (delay) показываемая командой ip eigrp topology или show interface указана в микросекундах, соответственно это значение нужно поделить на 10 перед использованием в этой формуле.

EIGRP использует полученные значения при подсчете общей метрики.

При вычислении метрики, когда K5 = 0 (значение по умолчанию), используется такая формула:

Metric = (K1 * bandwidth) + [(K2 * bandwidth) / (256 - load)] + (K3 * delay)

Если значения коэффициентов K1, K2, K3 равны значениям по умолчанию, то формула превращается в такую:

Metric = bandwidth + delay

Если K5 не равно 0, то дополнительно выполняется такая операция:

Metric = metric * [K5 / (reliability + K4)]

Значения K-коэффициентов передаются в hello-пакетах.

Обычно не рекомендуется изменять эти коэффициенты.

Типы маршрутов EIGRP

EIGRP поддерживает несколько типов маршрутов, у каждого типа маршрута своё значение administrative distance:

Базовые настройки

Создание процесса EIGRP:

dyn1(config)# router eigrp <AS>

Номер автономной системы должен быть одинаковым на всех маршрутизаторах, которые должны обмениваться информацией по протоколу EIGRP.

Для того чтобы маршрутизаторы начали обмениваться информацией, необходимо включить EIGRP на интерфейсах.

Включение EIGRP на интерфейсах:

dyn1(config)# router eigrp 100
dyn1(config-router)# network <network> [wildcard mask]

Параметры команды network:

Команда network делает следующее:

Сеть интерфейса анонсируется только если интерфейс в состоянии up/up.

Команда network включает EIGRP на текущих интерфейсах и на всех следующих, которые появятся и совпадут с сетью, которая указана в команде network.

Пример базовых настроек

На схеме подписаны сети, которые используются и интерфейсы маршрутизаторов, которые находятся в этих сетях.

Четвертый октет во всех IP-адресах соответствует номеру маршрутизатора.

В примере настроены различные варианты использования команды network.

Это сделано специально для того чтобы показать как её можно использоваться вместе с wildcard маской и без.

Выбор варианта при настройке реальной сети будет зависеть от того, какие интерфейсы должны быть задействованы.

На dyn1 EIGRP включен на всех интерфейсах, IP-адреса которых начинаются на 192.168.1 и 192.168.3 (по умолчанию используется классовая маска /24):

router eigrp 100
network 192.168.1.0
network 192.168.3.0

На dyn2 EIGRP включен на всех интерфейсах, IP-адреса которых начинаются на 192.168:

router eigrp 100
network 192.168.0.0 0.0.255.255

На dyn4 EIGRP включен на всех интерфейсах независимо от адреса интерфейса:

router eigrp 100
network 0.0.0.0

На dyn6 EIGRP включен на конкретных интерфейсах:

router eigrp 100
network 192.168.8.6 0.0.0.0
network 192.168.9.6 0.0.0.0
network 192.168.10.6 0.0.0.0
Управление информацией о маршрутах

Маршрут по умолчанию

Маршрут по умолчанию EIGRP может быть настроен с помощью команды:

dyn1(config)# ip default-network <network-number>

Например, для топологии изображенной на рисунке, задана такая ip default-network для dyn1:

dyn1(config)# ip default-network 192.168.1.0

На dyn1 после добавления этой команды добавляется маршрут по умолчанию отмеченный *.

Таблица маршрутизации до задания ip default-network на dyn5:

dyn5#sh ip route

Gateway of last resort is not set

C    192.168.4.0/24 is directly connected, FastEthernet0/0
C    192.168.5.0/24 is directly connected, FastEthernet1/0
D    192.168.1.0/24 [90/286720] via 192.168.4.3, 00:00:08, FastEthernet0/0
D    192.168.2.0/24 [90/30720] via 192.168.4.3, 00:00:08, FastEthernet0/0
D    192.168.3.0/24 [90/30720] via 192.168.4.3, 00:00:08, FastEthernet0/0

Таблица маршрутизации после задания ip default-network на dyn5:

dyn5#sh ip route

Gateway of last resort is 192.168.4.3 to network 192.168.1.0

C    192.168.4.0/24 is directly connected, FastEthernet0/0
C    192.168.5.0/24 is directly connected, FastEthernet1/0
D*   192.168.1.0/24 [90/286720] via 192.168.4.3, 00:00:38, FastEthernet0/0
D    192.168.2.0/24 [90/30720] via 192.168.4.3, 00:02:24, FastEthernet0/0
D    192.168.3.0/24 [90/30720] via 192.168.4.3, 00:02:24, FastEthernet0/0

Суммирование маршрутов

Суммарные маршруты EIGRP:

Отключение автоматического суммирования маршрутов:

dyn3(config-router)#no auto-summary

После отключения автоматического суммирования на локальном маршрутизаторе появляются такие сообщения:

dyn3(config-router)#no auto-summary
dyn3(config-router)#
  * Sep 10 04:10:41.989: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.2.1 (FastEthernet0/0) is resync: summary configured
  * Sep 10 04:10:41.993: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.4.5 (FastEthernet2/0) is resync: summary configured

На соседе этого маршрутизатора:

dyn5(config-router)#
  * Sep 10 04:27:19.917: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.4.3 (FastEthernet0/0) is resync: peer graceful-restart

graceful-restart: это обычное Hello сообщение с выставленными К коэффициентами в максимальное значение равное 255. Такого типа Hello сообщение посылает роутер после специфических изменений. Если у вас роутер со старым релизом IOS - тогда будет сообщение типа K-values mismatch. Реакция идентичная.

Суммарный маршрут настраивается на интерфейсе:

dyn3(config-if)#ip summary-address eigrp <AS-number> <address> <mask> [admin-distance]

По умолчанию у суммарного маршрута EIGRP administrative distance — 5.

AD суммарного маршрута используется для того чтобы определить помещать ли маршрут в null0 для суммарного маршрута в таблицу маршрутизации.

AD является локальным параметром и не передается соседям. У соседей суммарный маршрут будет с AD = internal = 90.

Если необходимо чтобы маршрут в null0 не помещался в таблицу маршрутизации, то необходимо указать AD = 255.

Пример задания суммарного маршрута:

dyn3(config-if)#ip summary-address eigrp 1 172.16.0.0 255.255.0.0

Leak-map

Leak-map позволяет отдельно анонсировать специфический маршрут из суммарного маршрута.

Правила использования leak-map:

Указание leak-map для суммарного маршрута:

dyn3(config-if)# ip summary-address eigrp <AS-number> <address> <mask> [leak-map <map-name>]

Фильтрация маршрутов

Входящие или исходящие обновления EIGRP могут фильтроваться на любом интерфейсе или для всего процесса EIGRP.

Входящий фильтр не позволяет указанным сетям попасть в таблицу топологии EIGRP и, как следствие, в таблицу маршрутизации.

Фильтрация маршрутов с помощью distribute list:

dyn5(config-router)# distribute-list <acl | gateway | prefix | route-map> <in|out> [interface]

Перераспределение маршрутов

Перераспределение маршрутов (route redistribution) — передача маршрутов выученные с помощью одного протокола маршрутизации в другой протокол маршрутизации.

Кроме того, статические маршруты или непосредственно присоединенные сети, также могут быть перераспределены и, после этого, будут передаваться с помощью соответствующего протокола маршрутизации.

Для того чтобы перераспределить маршруты из одного источника в другой, должна быть как минимум одна точка где они перераспределяются.

То есть, должен быть маршрутизатор, который это выполняет.

Например, если перераспределяются маршруты протокола OSPF в маршруты EIGRP, то на таком маршрутизаторе должны быть настроены оба протокола, а затем правила перераспределения маршрутов из одного протокола в другой.

Если настроено перераспределение маршрутов в EIGRP из другого протокола маршрутизации, то маршрутизатор поместит в процесс EIGRP:

При настройке перераспределения маршрутов в EIGRP обязательно надо указывать начальную метрику.

Иначе перераспределение не будет работать.

Перераспределение маршрутов в EIGRP:

dyn3(config-router)# redistribute <protocol> [process-id] [match <route-type>]
[metric <metric-value>] [route-map <map-tag>]

Параметры команды redistribute:

Перераспределенные маршруты в EIGRP обозначаются как внешние.

Пример внешнего маршрута в таблице маршрутизации:

dyn6#sh ip route eigrp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

**D EX  192.168.1.0/24 [170/2573568] via 192.168.8.4, 00:00:26, FastEthernet0/0**

D     192.168.2.0/24 [90/30720] via 192.168.8.4, 00:26:09, FastEthernet0/0

D     192.168.3.0/24 [90/33280] via 192.168.8.4, 00:26:09, FastEthernet0/0

D     192.168.4.0/24 [90/30720] via 192.168.8.4, 00:26:09, FastEthernet0/0

Для внешних маршрутов EIGRP использует значение AD 170, а для внутренних 90.

Это значит, что если одинаковый маршрут был получен как внутренний и как внешний, то внутренний выиграет.

Балансировка нагрузки

Балансировка нагрузки между маршрутами с одинаковой метрикой

По умолчанию EIGRP выполняет балансировку нагрузки между 4 маршрутами с одинаковой метрикой.

Для старых версий IOS это число настраивается в диапазоне от 1 до 6. В поздних версиях количество одновременно используемых маршрутов увеличено до 16.

Для того чтобы отключить балансировку нагрузки, надо установить количество маршрутов равным 1.

Изменение количества маршрутов, между которыми выполняется балансировка нагрузки:

dyn1(config-router)# maximum-paths 6

В зависимости от того как маршрутизатор обрабатывает пакет балансировка нагрузки выполняется per-packet или per-destination:

При тестировании балансировки нагрузки надо учитывать, что, например, если пинговать маршрутизаторы или с маршрутизаторов с fast-switching интерфейсами, генерируется локальный трафик, который process-switched.

Балансировка нагрузки между маршрутами с разной метрикой

EIGRP может распределять трафик между несколькими маршрутами с различной метрикой.

Это регулируется заданием variance:

dyn3(config-router)# variance 2

Значение variance может быть от 1 до 128. Это множитель, на который будет умножаться FD текущего лучшего маршрута для определения feasible маршрутов.

Балансировка нагрузки может выполняться только между feasible routes и только они попадут в таблицу маршрутизации.

Маршрут считается feasible при выполнении двух условий:

Дополнительные настройки балансировки нагрузки

Без дополнительных настроек с помощью команды traffic-share, EIGRP балансирует нагрузку между маршрутами независимо от метрики.

Включение балансировки по принципу, чем меньше метрика маршрута, тем больше передается по нему трафика (обратно пропорционально метрике):

dyn3(config-router)# traffic-share balanced

Несмотря на то, что есть несколько маршрутов, отправлять трафик только по маршрутам с наименьшей метрикой:

dyn3(config-router)# traffic-share min

При использовании traffic-share min, если есть маршруты, которые попали в нужный диапазон, то они будут помещены в таблицу маршрутизации, но фактически не будут использоваться. Наличие маршрутов в таблице маршрутизации уменьшает время сходимости сети, в случае если маршрут с минимальной метрикой пропадёт.

Балансировать трафик отправляя его на различные исходящие интерфейсы:

dyn3(config-router)# traffic-share min across-interfaces

Изменение параметров протокола

Изменение таймеров

Изменения интервала отправки hello-пакетов:

router(config-if)# ip hello-interval eigrp <asn> <seconds>

Изменения hold-интервала:

router(config-if)# ip hold-time eigrp <asn> <seconds>
По умолчанию hello-интервал 5 секунд для большинства интерфейсов или 60 секунд на некоторых типах(nbma networks like FR). Hold-интервал соответственно 15 или 180 секунд, то есть 3 интервала hello.

Однако, если изменить hello-интервал, то hold-интервал не изменится.

Отключение Active timer:

router(config-router)# timers active-time disabled

Изменение K-коэффициентов и max-hop

Изменение K-коэффициентов:

dyn3(config-router)# metric weights <TOS> <K1>  <K2>  <K3>  <K4>  <K5>

Опции команды:

По умолчанию у EIGRP значение maximum-hops равно 100.

То есть, маршрут, который достижим через 100 hop'ов считается недостижимым.

Изменение значения maximum-hops:

dyn3(config-router)# metric maximum-hops <1-255>

Для того чтобы обозначить маршрут как недостижимый в нём выставляется значение задержки равное 0xFFFFFF.

Просмотр информации

Просмотр информации о соседях:

dyn3#sh ip eigrp neighbors
IP-EIGRP neighbors for process 1
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
(sec)         (ms)         Cnt Num
1   192.168.4.5             Fa2/0             14 00:00:57  161       966  0  16
0   192.168.2.1             Fa0/0             12 00:00:57  180     1080  0  16

Пояснения к выводу команды sh ip eigrp neighbors:

Показывает версию IOS соседа и stub настройки:

dyn3#sh ip eigrp neighbors detail

Маршруты в таблице маршрутизации полученные по EIGRP:

dyn3# sh ip route eigrp
D    192.168.5.0/24 [90/30720] via 192.168.4.5, 00:02:04, FastEthernet2/0
D    192.168.1.0/24 [90/284160] via 192.168.2.1, 00:02:04, FastEthernet0/0

Просмотр информации о настройках EIGRP (значения K-коэффициентов, значение maximum-hop и др.):

dyn3#sh ip protocols
Routing Protocol is "eigrp 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 1
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is not in effect
Maximum path: 6
Routing for Networks:
192.168.2.0
192.168.3.0
192.168.4.0
Routing Information Sources:
Gateway         Distance      Last Update
192.168.4.5           90      00:03:30
192.168.2.1           90      00:03:30
Distance: internal 90 external 170

Информация об интерфейсах на которых настроен EIGRP:

dyn3#sh ip eigrp interfaces
IP-EIGRP interfaces for process 1

Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa0/0              1             0/0           180            0/1               680             0
Fa1/0              0             0/0             0              0/1                 0               0
Fa2/0              1             0/0           161            0/1               552             0

Таблица топологии EIGRP:

dyn3#sh ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(192.168.4.3)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status

P 192.168.1.0/24, 1 successors, FD is 284160
via 192.168.2.1 (284160/281600), FastEthernet0/0
P 192.168.2.0/24, 1 successors, FD is 28160
via Connected, FastEthernet0/0
P 192.168.3.0/24, 1 successors, FD is 28160
via Connected, FastEthernet1/0
P 192.168.4.0/24, 1 successors, FD is 28160
via Connected, FastEthernet2/0
P 192.168.5.0/24, 1 successors, FD is 30720
via 192.168.4.5 (30720/28160), FastEthernet2/0

Статистика по переданным пакетам:

dyn3#sh ip eigrp traffic
IP-EIGRP Traffic Statistics for AS 1
Hellos sent/received: 50219/37525
Updates sent/received: 39/31
Queries sent/received: 0/0
Replies sent/received: 0/0
Acks sent/received: 20/21
Input queue high water mark 5, 0 drops
SIA-Queries sent/received: 0/0
SIA-Replies sent/received: 0/0
Hello Process ID: 224
PDM Process ID: 219

EIGRP accounting:

dyn3#sh ip eigrp accounting
IP-EIGRP accounting for AS(1)/ID(192.168.4.3)
Total Prefix Count: 5  States: A-Adjacency, P-Pending, D-Down
State Address/Source   Interface        Prefix   Restart  Restart/
Count     Count   Reset(s)
A    192.168.4.5      Fa2/0                 1        0        0
A    192.168.2.1      Fa0/0                 1        0        0

Поиск неисправностей и команды отладки

Просмотр отправленных и полученных пакетов EIGRP:

dyn3# debug ip eigrp

Пример вывода команды debug ip eigrp:

  * Sep 27 16:14:35.302: IP-EIGRP(Default-IP-Routing-Table:1): Processing incoming UPDATE packet
  * Sep 27 16:14:35.302: IP-EIGRP(Default-IP-Routing-Table:1): Int 10.1.12.0/24 M 2172416 - 1657856 514560 SM 2169856 -
  * Sep 27 16:14:35.306: IP-EIGRP(Default-IP-Routing-Table:1): route installed for 10.1.12.0  ()
  * Sep 27 16:14:36.018: IP-EIGRP(Default-IP-Routing-Table:1): Processing incoming UPDATE packet
  * Sep 27 16:14:36.018: IP-EIGRP(Default-IP-Routing-Table:1): Int 10.1.24.0/24 M 2174976 - 1657856 517120 SM 2172416 -
  * Sep 27 16:14:36.022: IP-EIGRP(Default-IP-Routing-Table:1): route installed for 10.1.24.0  ()


Описание полей в выводе:
  * Int — указывает, что далее следует информация о внутренней сети назначения;
  * Ext — указывает, что далее следует информация о внешней (external) сети назначения;
  * SM — метрика маршрута, которую анонсирует сосед;
  * M — метрика маршрута, которая состоит из суммы метрики анонсируемой соседом и стоимости пути между локальным маршрутизатором и соседом:
    * Первой число — метрика маршрута,
    * Последующие два числа — inverse  bandwidth и delay, соответственно.

==== Очистка отношений соседства ====

Для того чтобы удалить соседа, маршруты полученные от него и заново начать процесс установки отношений соседства, необходимо выполнить команду:
<code>
dyn5# clear ip eigrp neighbors [ip-address]

При выполнении команды отношения соседства разрываются, пример выполнения команды:

dyn5# clear ip eigrp neighbors 192.168.2.3
dyn5#
  * Jul 27 19:13:31.923: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.2.3 (FastEthernet1/0) is down: manually cleared
  * Jul 27 19:13:36.327: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.2.3 (FastEthernet1/0) is up: new adjacency


Очистить все отношения соседства, соответственно очищается вся таблица топологии:
<code>
dyn5# clear ip eigrp neighbors

Очистить все отношения соседства для указанного интерфейса:

dyn5# clear ip eigrp neighbors [interface]

Синхронизироваться с соседом без разрыва отношений соседства:

dyn5# clear ip eigrp neighbors soft
  * Jul 27 19:08:16.503: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.2.3 (FastEthernet1/0) is resync: manually cleared


===== Дополнительные возможности =====

==== Bandwidth utilization ====


По умолчанию EIGRP использует на всех serial-интерфейсах bandwidth T1 (1,544 Mbps).

Для point-to-point Frame Relay:
  * По умолчанию используется bandwidth T1,
  * Должна быть настроена вручную и равна значению CIR PVC.

Для multipoint Frame Relay, ATM, ISDN PRI:
  * EIGRP использует bandwidth физического интерфейса, делит ее на количество соседей на этом интерфейсе для получения значения bandwidth, которое использует для отдельного соседа.
  * Если на multipoint интерфейсе разные CIR у соседей, то берется минимальное значение CIR, умножается на количество соседей и bandwidth настраивается равным полученному значению.

Настройка процента bandwidth, который будет использовать EIGRP:
<code>
dyn3(config-if)#ip bandwidth-percent eigrp <AS-number>  <percent>

Аутентификация EIGRP

Создание цепочки ключей:

dyn3(config)#key chain passw
dyn3(config-keychain)#key 1
dyn3(config-keychain-key)#key-string password1

Настройка аутентификации:

dyn3(config-if)#ip authentication mode eigrp 1 md5
dyn3(config-if)#ip authentication key-chain eigrp 1 passw

EIGRP Stub

Если маршрутизатор получает информацию о том, что его сосед stub-маршрутизатор, то он не отправляет ему запросы о каких-либо маршрутах.

Настройка EIGRP stub маршрутизатора:

dyn3(config-router)#eigrp stub [connected | leak-map | receive-only | redistributed | static | summary]

Опции команды eigrp stub:

EIGRP Stuck in Active (SIA)

Если один из соседей не отвечает на запрос о маршруте в течение 3 минут (по умолчанию), то маршрут попадает в состояние SIA и маршрутизатор разрывает отношение соседства с соседом, который не ответил на запрос.

Сброс (reset) отношений соседства с соседом означает, что локальный маршрутизатор переводит все маршруты, известные через соседа, в состояние active и отправляет все маршруты о которых он знает соседу.

Active Process Enhancement

Для улучшения реагирования маршрутизатора на состояние active маршрута, дополнительно введены два типа сообщений:

Graceful Shutdown

Когда процесс EIGRP завершается, маршрутизатор отправляет широковещательное goodbye сообщение.

Это позволяет соседям маршрутизатора сразу обнаружить то, что маршрутизатор и, соответственно, маршруты доступные через него, более недоступны.

Goodbye сообщение отправляется в hello-пакетах. В таком пакете все K-коэффициенты выставляются равными 255.

Примеры настроек и демонстрация работы EIGRP

Таблица топологии

Пример таблицы

Топология для примера:

Пример таблицы топологии на R3:

R3#sh ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(150.1.3.3)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status

P 150.1.7.7/32, 1 successors, FD is 1709056
via Redistributed (1709056/0)
P 155.1.23.0/24, 1 successors, FD is 2169856
via Connected, Serial1/3
P 150.1.2.2/32, 1 successors, FD is 1709056
via Redistributed (1709056/0)
P 150.1.2.0/24, 1 successors, FD is 2297856
via 155.1.23.2 (2297856/128256), Serial1/3
P 155.1.37.0/24, 1 successors, FD is 1709056
via Redistributed (1709056/0)
P 192.10.1.0/24, 1 successors, FD is 2195456
via 155.1.23.2 (2195456/281600), Serial1/3

Таблица топологии на R2:

R2#sh ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(150.1.2.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status

P 150.1.7.7/32, 1 successors, FD is 2221056
via 155.1.23.3 (2221056/1709056), Serial1/1
P 155.1.23.0/24, 1 successors, FD is 2169856
via Connected, Serial1/1
P 150.1.2.0/24, 1 successors, FD is 128256
via Connected, Loopback0
P 155.1.37.0/24, 1 successors, FD is 2221056
via 155.1.23.3 (2221056/1709056), Serial1/1
P 192.10.1.0/24, 1 successors, FD is 281600
via Connected, Ethernet0/0

Подробная информация о внутреннем маршруте на R3:

R3#sh ip ei topology 192.10.1.0/24
EIGRP-IPv4 Topology Entry for AS(100)/ID(150.1.3.3) for 192.10.1.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2195456
Descriptor Blocks:
155.1.23.2 (Serial1/3), from 155.1.23.2, Send flag is 0x0
Composite metric is (2195456/281600), route is Internal
Vector metric:
Minimum bandwidth is 1544 Kbit
Total delay is 21000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 150.1.2.2

Подробная информация о внешнем маршруте на R2:

R2#sh ip eigrp topology  155.1.37.0/24
EIGRP-IPv4 Topology Entry for AS(100)/ID(150.1.2.2) for 155.1.37.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2221056
Descriptor Blocks:
155.1.23.3 (Serial1/1), from 155.1.23.3, Send flag is 0x0
Composite metric is (2221056/1709056), route is External
Vector metric:
Minimum bandwidth is 1500 Kbit
Total delay is 20100 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 150.1.3.3
External data:
AS number of route is 100
External protocol is OSPF, external metric is 0
Administrator tag is 0 (0x00000000)

Таблица маршрутизации на R2:

R2#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

150.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        150.1.2.0/24 is directly connected, Loopback0
D EX     150.1.7.7/32 [170/2221056] via 155.1.23.3, 00:04:19, Serial1/1
155.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        155.1.23.0/24 is directly connected, Serial1/1
D EX     155.1.37.0/24 [170/2221056] via 155.1.23.3, 00:04:19, Serial1/1
192.10.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.10.1.0/24 is directly connected, Ethernet0/0
Конфигурации устройств

Настройка OSPF на R1:

router ospf 100
network 0.0.0.0 255.255.255.255 area 0

Настройка OSPF и EIGRP на R3:

router eigrp 100
network 155.1.23.0 0.0.0.255
redistribute ospf 100 metric 1500 10 255 1 1500
no auto-summary
!
router ospf 100
network 155.1.23.0 0.0.0.255 area 0
network 155.1.37.0 0.0.0.255 area 0

Настройка EIGRP на R2:

router eigrp 100
network 0.0.0.0
no auto-summary

FD is Inaccessible

На изображенной топологии, по сравнению с предыдущей, добавилась настройка OSPF на R2.

Например, происходит перевод сети с EIGRP на OSPF. И предыдущая схема была первым этапом, когда одна часть сети работала по OSPF, а другая – по EIGRP. И выполнялось перераспределение маршрутов на R3.

Теперь на R2 поднят OSPF и часть маршрутов приходят и как внешние EIGRP, из-за настроенного перераспределения, и как внутренние маршруты OSPF.

Маршруты которые не попали в таблицу маршрутизации из-за того, что был лучший кандидат (по значению AD), видны в таблице топологии EIGRP с максимальной метрикой и отмечены как Inaccessible. Данные маршруты «проиграли» OSPF (AD = 110) из-за того, что это внешний маршруты EIGRP, а у них значение AD = 170.

Маршруты отмечены в таблице топологии FD is Inaccessible:

R2#sh ip eigrp topology

EIGRP-IPv4 Topology Table for AS(100)/ID(150.1.2.2)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - reply Status, s - sia Status

P 150.1.7.7/32, 0 successors, **FD is Inaccessible**

via 155.1.23.3 (2221056/1709056), Serial1/1

P 155.1.23.0/24, 1 successors, FD is 2169856

via Connected, Serial1/1

P 150.1.2.2/32, 0 successors, **FD is Inaccessible**

via 155.1.23.3 (2221056/1709056), Serial1/1

P 150.1.2.0/24, 1 successors, FD is 128256

via Connected, Loopback0

P 155.1.37.0/24, 0 successors, **FD is Inaccessible**

via 155.1.23.3 (2221056/1709056), Serial1/1

P 192.10.1.0/24, 1 successors, FD is 281600

via Connected, Ethernet0/0

Более подробная информация о маршруте с такой пометкой:

R2#sh ip eigrp topology 155.1.37.0/24

EIGRP-IPv4 Topology Entry for AS(100)/ID(150.1.2.2) for 155.1.37.0/24

State is Passive, Query origin flag is 1, 0 Successor(s), FD is **4294967295**

Descriptor Blocks:

155.1.23.3 (Serial1/1), from 155.1.23.3, Send flag is 0x0

Composite metric is (2221056/1709056), route is External

Vector metric:

Minimum bandwidth is 1500 Kbit

Total delay is 20100 microseconds

Reliability is 255/255

Load is 1/255

Minimum MTU is 1500

Hop count is 1

Originating router is 150.1.3.3

External data:

AS number of route is 100

External protocol is OSPF, external metric is 0

Administrator tag is 0 (0x00000000)

Проверка маршрута в таблице маршрутизации (маршрут есть в таблице маршрутизации, только получен он по OSPF):

R2#sh ip route 155.1.37.0

Routing entry for 155.1.37.0/24

**Known via "ospf 100"**, distance 110, metric 74, type intra area

Last update from 155.1.23.3 on Serial1/1, 00:07:15 ago

Routing Descriptor Blocks:

  * 155.1.23.3, from 150.1.7.7, 00:07:15 ago, via Serial1/1
Конфигурации устройств

Настройка OSPF на R1:

router ospf 100
network 0.0.0.0 255.255.255.255 area 0

Настройка OSPF и EIGRP на R3:

router eigrp 100
network 155.1.23.0 0.0.0.255
redistribute ospf 100 metric 1500 10 255 1 1500
no auto-summary
!
router ospf 100
network 155.1.23.0 0.0.0.255 area 0
network 155.1.37.0 0.0.0.255 area 0

Настройка EIGRP и OSPF на R2:

router eigrp 100
network 0.0.0.0
no auto-summary
!
router ospf 100
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0

EIGRP маршрутизатор передает соседям только те маршруты, которые сам использует

В это подразделе будет пример, который демонстрирует следующее правило:

:маршрутизатор отправляет соседям только те маршруты EIGRP, которые сам использует (то есть, они находятся в таблице маршрутизации)

Схема:

На всех маршрутизаторах настроен EIGRP.

Таблица маршрутизации на R1:

R1#sh ip route
150.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        150.1.2.0/24 [90/2323456] via 155.1.37.3, 00:01:18, Ethernet0/3
C        150.1.7.0/24 is directly connected, Loopback0
L        150.1.7.7/32 is directly connected, Loopback0
155.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        155.1.23.0/24 [90/2195456] via 155.1.37.3, 00:01:18, Ethernet0/3
C        155.1.37.0/24 is directly connected, Ethernet0/3
L        155.1.37.7/32 is directly connected, Ethernet0/3
D     192.10.1.0/24 [90/2221056] via 155.1.37.3, 00:01:18, Ethernet0/3

Таблица маршрутизации на R3:

R3#sh ip route
150.1.0.0/16 is variably subnetted, 4 subnets, 2 masks
D        150.1.2.0/24 [90/2297856] via 155.1.23.2, 00:08:02, Serial1/3
C        150.1.3.0/24 is directly connected, Loopback0
L        150.1.3.3/32 is directly connected, Loopback0
D        150.1.7.0/24 [90/409600] via 155.1.37.7, 00:06:47, Ethernet0/0
155.1.0.0/16 is variably subnetted, 6 subnets, 2 masks
C        155.1.13.0/24 is directly connected, Serial1/2
L        155.1.13.3/32 is directly connected, Serial1/2
C        155.1.23.0/24 is directly connected, Serial1/3
L        155.1.23.3/32 is directly connected, Serial1/3
C        155.1.37.0/24 is directly connected, Ethernet0/0
L        155.1.37.3/32 is directly connected, Ethernet0/0
D     192.10.1.0/24 [90/2195456] via 155.1.23.2, 00:08:02, Serial1/3

Таблица маршрутизации на R2:

R2#sh ip route
150.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        150.1.2.0/24 is directly connected, Loopback0
L        150.1.2.2/32 is directly connected, Loopback0
D        150.1.7.0/24 [90/2323456] via 155.1.23.3, 00:07:51, Serial1/1
155.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        155.1.23.0/24 is directly connected, Serial1/1
L        155.1.23.2/32 is directly connected, Serial1/1
D        155.1.37.0/24 [90/2195456] via 155.1.23.3, 00:07:51, Serial1/1
192.10.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.10.1.0/24 is directly connected, Ethernet0/0
L        192.10.1.2/32 is directly connected, Ethernet0/0

Правило будет показано на сети 150.1.7.0/24 (loopback R1), поэтому сначала проверка его доступности:

R2#ping 150.1.7.7

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.7.7, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/16/16 ms

Если на R3 настроить статический маршрут в сеть 150.1.7.0/24, то он заменит маршрут полученный по EIGRP в таблице маршрутизации:

R3(config)#ip route 150.1.7.0 255.255.255.0 155.1.37.7

R3#sh ip route

150.1.0.0/16 is variably subnetted, 4 subnets, 2 masks

D        150.1.2.0/24 [90/2297856] via 155.1.23.2, 00:10:30, Serial1/3

C        150.1.3.0/24 is directly connected, Loopback0

L        150.1.3.3/32 is directly connected, Loopback0

**S        150.1.7.0/24 [1/0] via 155.1.37.7**

155.1.0.0/16 is variably subnetted, 6 subnets, 2 masks

C        155.1.13.0/24 is directly connected, Serial1/2

L        155.1.13.3/32 is directly connected, Serial1/2

C        155.1.23.0/24 is directly connected, Serial1/3

L        155.1.23.3/32 is directly connected, Serial1/3

C        155.1.37.0/24 is directly connected, Ethernet0/0

L        155.1.37.3/32 is directly connected, Ethernet0/0

D     192.10.1.0/24 [90/2195456] via 155.1.23.2, 00:10:30, Serial1/3

В таблице топологии на R3 теперь он отмечен как inaccessible:

R3#sh ip eigrp topology

EIGRP-IPv4 Topology Table for AS(100)/ID(150.1.3.3)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - reply Status, s - sia Status

P 150.1.7.0/24, 0 successors, **FD is Inaccessible**

via 155.1.37.7 (409600/128256), Ethernet0/0

P 155.1.23.0/24, 1 successors, FD is 2169856

via Connected, Serial1/3

P 150.1.2.0/24, 1 successors, FD is 2297856

via 155.1.23.2 (2297856/128256), Serial1/3

P 155.1.37.0/24, 1 successors, FD is 281600

via Connected, Ethernet0/0

P 192.10.1.0/24, 1 successors, FD is 2195456

via 155.1.23.2 (2195456/281600), Serial1/3

На R2 маршрута нет, так как R3 его больше не анонсирует:

R2#sh ip route 150.1.7.0 255.255.255.0
% Subnet not in table

R2#sh ip route
150.1.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        150.1.2.0/24 is directly connected, Loopback0
L        150.1.2.2/32 is directly connected, Loopback0
155.1.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        155.1.23.0/24 is directly connected, Serial1/1
L        155.1.23.2/32 is directly connected, Serial1/1
D        155.1.37.0/24 [90/2195456] via 155.1.23.3, 00:10:49, Serial1/1
192.10.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.10.1.0/24 is directly connected, Ethernet0/0
L        192.10.1.2/32 is directly connected, Ethernet0/0

Теперь с R2 не доступен loopback R1:

R2#ping 150.1.7.7

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.7.7, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)