Нюансы EIGRP

Как много раз в твоей профессиональной жизни ты думал, что ты прекрасно знаешь ту или иную технологию. А потом внезапно узнаешь, что знаешь-то на самом деле неверно или знаешь, только процентов на 10. Очень интересное ощущение. Мы решили поделиться с тобой некоторыми нашими такими откровениями.

 

Нюанс 1

Например, тебе хорошо знаком этот протокол, если ты учился хотя бы на CCNA Routing and Switching. До недавнего времени этот протокол был закрытым, что называется, Cisco proprietary. А недавно Cisco открыла его большую часть в виде informational RFC. Любой человек может теперь познакомиться с его внутренним устройством. Именно этому протоколу будет посвещено это письмо.

Самым главной задачей любого протокола маршрутизации является построения маршрутов до сетей назначения. Причем эти маршруты должны быть кратчайшими и не содержащими петель. Внутри каждого протокола для этого используются свои алгоритмы и показатели для расчета (то есть метрика). Например у протокола динамической маршрутизации RIP в качестве метрики используется значение «хопов» до сети назначения. То есть количество маршрутизаторов, которые необходимо пакету преодолеть. чтобы попасть куда надо. EIGRP — гораздо более умный протокол, поэтому и метрика здесь гораздо более умная. Давай разберем ее.

Во всех учебных материалах CCNA и CCNP уровня говорится о том, что композитная метрика в протоколе маршрутизаии EIGRP состоит из 5 компонентов. Это расхожее заблуждение, на самом деле она состоит из 6. Вот и как после этого спокойно спать по ночам?

sashko_19584420_orig_.jpg ¬

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

1) Bandwidth. Берется как минимальное значение на всем пути до сети назначения. То есть, если у нас есть несколько участков (1000 Мбит/с, 10 Мбит/с и 100 Мбит/с), то в расчете будет использоваться только параметр 10 Мбит/с. После того, как мы определили это число (Bandwidthmin), значение BW для метрики мы расчитываем по формуле:

BW = 256 * 10^7 / Bandwidthmin

Причем не забываем, что в формуле мы берем число Bandwidthmin в kbps!

То есть для 10 Мбит/с будет BW = 256 * 10^7 / 10^4 = 256000

2) Delay. Самый не тривиальный компонент метрики. Рассчитается как сумма десятков микросекунд всех исходящих интерфесов к сети назначения. Чтобы понять, какое число это будет, мы должны посмотреть наш исходящий интерфейс (show interface gigabitethernet 0/0), найти там delay и поделить значение на 10. Это и будет число, которое мы будем использовать для расчета. Суммарная задержка так же умножается на 256.

D = 256 * (Delay1 + Delay2 + … + Delayn).

Про эти компоненты мы более или менее знаем, они всегда по умолчанию участвуют в формировании метрики для EIGRP. Теперь поговорим про 3 компонета, которые тоже известные, но по умолчанию не участвуют в формировании метрики:

3) Reliability. Надежность канала связи — рассчитывается как значение принятых с ошибкой фрэймов к общему числу принятых фреймов на данном интерфейсе. Выбирается минимальное значение на все пути до назачения и может принимать значения от 255 до 0. 255 — это 100% надежность канала, 230 — это 90% надежность и т.д. В современных сетях практически не используется. Несмотря на то, что это значение может динмаически изменяться, оно не является триггером для отправки обновлений (EIGRP Update).

4) Load. Загрузка канала — рассчитывается как отношение отношение текущей утилизации канала в исходящем к назначению направлении (Tx load) к пропускной способности канала (bandwidth). Выбирается как максимальное значение на всем  пути е к назачению. Аналогично, как и reliability, не смотря на регулярное динамическое изменение, не является тригегером для отправки обновления. Максимальное значение 255 — соответствует полностью загруженному каналау, минимальное значение 1 — полностью пустой канал.

5) MTU. Минимальный размер MTU на всем пути к назначению. По идее, предполагалось возможность избежать фрагментации IP пакетов, если передавать через интефейсы с максимальным MTU в 1500 байт. Однако, этот параметр вообще никак не влияет на расчет метрики. Не смотря на то, что это значение передается в EIGRP Update, оно никогда не используется для выбора лучшего маршрута.

Теперь внимание, срываем покров, 6 компонент. Возможно ты догадался уже, о чем сейчас пойдет речь,

6) Hop count. Да друзья, этот все тот же hop count, что и в RIP. И логика в нем такая же. По умолчанию, максимальный диаметр сети EIGRP — 100 хопов. Соответственно, если этот параметр стал 100, не важно какая метрика есть, маршрут будет объявлен недействительным и всем соседям будет отправлен EIGRP Update с максимальной (Infinity) метрикой. Значения этого параметра можно увеличить до 255. Однако в самом расчете композитной метрики он не участвует.

Итого. общая формула для расчета композитной метрики у нас выглядит так:

Metric = (K1 * BW + K2 * BW / (256 — Load) + K3 * D ) * (K5 / (K4 + Reliability).

Коэфициенты по умолчанию: K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0. Не смотря на то, что правый множитель K5 / (K4 + Reliability) дает тогда неопределенность ( мы 0 делим на 0), EIGRP по этому поводу не переживает и просто не учитывает.

nastroyka-setevogo-oborudovaniya

Нюанс 2

Мы поговорили про композитную метрику протокола динамической маршрутизации EIGRP. Сейчас мы посмотрим, как ей манипулировать.

В общем случае мы имеем 2 компонента: минимальную пропускную способность на всем канале и суммарную задержку в десятках микросекунд. Обычно, этого достаточно, но что делать, если мы хотим как-то повлиять на выбор маршрута?

Чтобы не заниматься топлением урановых ломов в ртути, опредилим задачу, где это может быть необходимо:

R1 #sh int gi 8/14 | i DLY

MTU 9216 bytes, BW 1000000 Kbit/sec, DLY 10 usec

Следуя указанной логике, при расчете метрики для протокола маршрутизации EIGRP компонент delay будет 256 (256 * 1 десяток микросекунд). Если у нас есть еще 10-гигабитные интерфейсы, то компонент delay будет точно такой же – 256 (256 * 1 десяток микросекунд). Соответственно, протокол сам не сможет выбрать, какой канал лучше, используя значения компонента по умолчанию. Логично, что здесь мы захотим изменить ситуацию.

На любом интерфейсе у нас доступны настройки bandwidth и delay:

R1(config)#int gi 2/6

R2(config-if)#?

Interface configuration commands:

bandwidth           Set bandwidth informational parameter

delay               Specify interface throughput delay

EIGRP не так давно перестал быть закрытым протоколом Cisco и стал informational RFP. Теперь любой желающий может познакомиться с его работой изнутри. И вот, что в нем написано:

When trying to manually influence EIGRP path selection through interface bandwidth/delay configuration, the modification of bandwidth is discouraged for following reasons:

 

? The change will only affect the path selection if the configured value is the lowest bandwidth over the entire path. Changing the bandwidth can have impact beyond affecting the EIGRP metrics. For example, quality of service (QoS) also looks at the bandwidth on an interface.

 

? EIGRP by default throttles to use 50 percent of the configured bandwidth. Lowering the bandwidth can cause problems like starving EIGRP neighbors from getting packets because of the throttling back. Configuring an excessively high bandwidth can lead EIGRP to consume more bandwidth than physically available, leading to packet drops.

 

? Changing the delay does not impact other protocols nor does it cause EIGRP to throttle back, and because, as it’s the sum of all delays, has a direct effect on path selection.

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

Не позволяйте мелочам остановить свои проекты по развитию сети, внедрению нового функционала или утянуть на дно работующую сеть. Будьте в теме, будьте компетентными. Добра тебе!

banner_m5

Нюанс 3

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

Начиная с версии IOS 15.0(1)M появилась возможность настраивать протокол EIGRP в именованном режиме (named mode). Чем это удобно именно для тебя:

1)    Вся настройка собрана в одном месте. Теперь не надо настраивать часть команд в режиме настройки процесса маршрутизации (router eirgp) а другую часть в режиме настройки интерфейсов (interface gig 0/1).

2)    Единообразная настройка для IPv6. Пропало различие в настройках протокола динамической маршрутизаии EIGRP для IPv4 и IPv6. Перевести сеть компании на IPv6 или Dual-Stack станет значительно проще.

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

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

 


Как ты настраивал EIGRP раньше:

Как это правильно делать сегоденя:
router eigrp 100network 10.0.0.0no auto-summary

exit

 

ipv6 router eigrp 100

no shutdown

exit

 

interface gig 0/1

ip hello-interval eigrp 100 3

ip hold-interval eigrp 100 10

ipv6 eigrp 100

ipv6 hello-interval eigrp 100 3

ipv6 hold-interval eigrp 100 10

 

interface gig 0/2

ip hello-interval eigrp 100 3

ip hold-interval eigrp 100 10

ipv6 eigrp 100

ipv6 hello-interval eigrp 100 3

ipv6 hold-interval eigrp 100 10

router eigrp NETWORK-LABaddress-family ipv4 unicast autonomous-system 100

network 10.0.0.0

 

af-interface default

hello-interval 3

hold-interval 10

 

address-family ipv6 unicast autonomous-system 100

 

af-interface default

hello-interval 3

hold-interval 10

И это только небольшое сравнение, основанное на простом примере:

1)    На маршрутизаторе работает протокол маршрутизации EIGRP для IPv4 и IPv6.

2)    Два интерфейса должны участвовать в EIGRP процессе (устанавливать и поддерживать соседства, передавать и принимать обновления, запросы и ответы)

3)    Таймеры для hello и hold должны быть уменьшены до 3 и 10 секунд соответственно

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

 

В заключение хочется сказать одно:  «Будь всегда в авангарде технического развития».

 

 

 


Комментарии:

One Response to Нюансы EIGRP

  1. Антон:

    Было бы неплохо сделать ролик/вебинар на новый режим EIGRP Named Mode, для многих фича нова и интересна

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hide me
Получать регулярно свежие материалы, лабораторные и вебинары
Email Имя
Show me