EIGRP K-Values Mismatch: ошибка расчета метрики и сбой соседства
- Соседство EIGRP не устанавливается, переход в состояние
UPблокируется. - В консоли маршрутизатора циклически фиксируется:
%DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 10.1.1.2 is down: K-value mismatch. - Вывод
show ip eigrp neighborsпуст при наличии сетевой связности. - Разногласия в вычислении классических метрик (Classic Metrics) и расширенных 64-битных метрик (Wide Metrics).
1. Архитектура K-values в EIGRP
EIGRP использует 5 базовых весовых коэффициентов для расчета композитной метрики:
- K1 = Bandwidth (Пропускная способность, по умолчанию = 1)
- K2 = Load (Загрузка канала, по умолчанию = 0)
- K3 = Delay (Задержка, по умолчанию = 1)
- K4 = Reliability (Надежность, по умолчанию = 0)
- K5 = MTU/Reliability factor (по умолчанию = 0)
- K6 = Extended attributes (Jitter/Energy в Named Mode Wide Metrics, по умолчанию = 0)
Если значения K-коэффициентов в пакетах EIGRP Hello не совпадают бит-в-бит, смежность никогда не установится.
2. Проверка текущих K-values на маршрутизаторах
show ip protocols | include metric weight
! Либо:
show ip eigrp topology | include metric weightПример стандартного вывода: EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0.
3. Исправление K-values в классическом режиме (Classic EIGRP)
router eigrp 100
! Сброс K-значений к заводским дефолтным (K1 K2 K3 K4 K5):
metric weights 0 1 0 1 0 04. Исправление K-values в EIGRP Named Mode
router eigrp ENTERPRISE
address-family ipv4 unicast autonomous-system 100
! Синхронизация K1..K6 весов:
metric weights 0 1 0 1 0 0 0
exit-address-family5. Отладка пакетов Hello
debug eigrp packets hello
undebug all Частые вопросы (FAQ)
Почему не рекомендуется изменять K-values (K2, K4, K5)?
Использование динамических параметров загрузки (Load) и надежности (Reliability) приводит к постоянному пересчету метрик маршрутов при колебаниях трафика, что вызывает нестабильность DUAL и флаппинг маршрутов.
Передает ли EIGRP значения K-values в каждом Hello пакете?
Да, K-коэффициенты передаются в Type-Length-Value (TLV) заголовка каждого Hello-пакета, и валидация происходит при получении каждого пакета.
Что означает первый ноль в команде 'metric weights 0 1 0 1 0 0'?
Первый аргумент — это параметр ToS (Type of Service). В современных реализациях Cisco IOS он всегда равен 0.
Могут ли подружиться Classic EIGRP и Named EIGRP?
Да, при условии, что в Named Mode используются классические коэффициенты и совпадают результирующие K-values и номер автономной системы (AS).