Збіжність протоколу eigrp
Збіжність протоколу EIGRP. таймери протоколу
Почнемо статтю з невеликого опису протоколу і принципом його роботи. Як відомо, даний протокол ставитися до класу дистанційно-векторних протоколів, але злегка вдосконалений і позбавлений основного недоліку дистанційно векторних протоколів, а саме максимального можливого кількості вузлів в ланцюжку маршруту.
Протокол в своїй роботі використовує механізм DUAL, який відповідає за швидку збіжність протоколу, а також за пошук оптимального маршруту.
Як працює цей протокол?
Протокол EIGRP складається з чотирьох основних компонентів:
• Neighbor Discovery / Recovery
• Reliable Transport Protocol
• DUAL Finite State Machine
• Protocol Dependent Modules
Neighbor Discovery / Recovery
Це механізм для пошуку сусідів, а також для визначення працездатності сусідів, які працюють по протоколу EIGRP. Цей механізм працює за допомогою відправки пакетів (Hello). Поки маршрутизатор отримує пакети Hello від сусідів, він знає, що його сусід доступний і працює. Після того як сусіди обміняються Hello повідомленнями і встановлять сусідство один з одним, вони зможуть почати обмінятися маршрутною інформацією.
Reliable Transport Protocol
Протокол відповідає за гарантовану, упорядковану доставку пакетів EIGRP всім сусідам. Він необхідний для передачі пакетів самого протоколу EIGRP: hello, update і т.д.
DUAL (DUAL Finite State Machine)
Алгоритм, який використовує протокол EIGRP для визначення маршрутів. Завдання алгоритму - визначення маршруту / маршрутів до мережі призначення уникаючи петель маршрутизації. Коли такий маршрут виявлений, алгоритм DUAL додає його в таблицю маршрутизації. Процес DUAL використовує механізм обміну повідомленнями, щоб встановити, чи існує альтернативний маршрут, переконатися в тому, що маршрут не створює маршрутних петель, і в разі виходу з ладу основного маршруту замінити неробочий маршрут в таблиці маршрутизації альтернативним.
Protocol Dependent Modules
Даний протокол дозволяє протоколу EIGRP працювати з декількома протоколами мережевого рівня ip, ipx, apple talk. Для кожного з яких будуються окремі таблиці - таблиця сусідів, таблиця топологій і так далі.
Таким чином, Protocol Dependent Modules дозволяє нам працювати з протоколами 3 рівня моделі OSI наприклад IP. Reliable Transport Protocol гарантує доставку службових повідомлень EIGRP. Neighbor Discovery / Recovery - допомагає нам з пошуком і відстеженням статусу наших сусідів EIGRP, а DUAL Finite State Machine вибирає оптимальний і альтернативний маршрут до мережі призначення, запобігаючи петлі маршрутизації.
Звідси можна виділити кілька напрямків зменшення часу збіжності:
1) Збільшення швидкості відправки hello повідомлень для пошуку сусідів
2) Зменшення часу виявлення проблем з сусідом
3) Підтримка в актуальному стані маршрутної інформації.
Перші два пункти зі списку налаштовуються зміною таймера відправки Hello повідомлень.
Тобто, чим частіше відправляємо повідомлення Hello, тим швидше ми визначимо, доступний сусід чи ні, швидше знайдемо сусіда, якщо ми його втратили. За замовчуванням Hello interval дорівнює 60 секунд для мереж NBMA (non-broadcast multiple access) і 5 секунд для інших типів мереж.
Налаштовується даний таймер на інтерфейсі маршрутизатора за допомогою такої команди:
Router (config-if) #ip hello-interval eigrp as_number interval_in_seconds
as_number - номер автономної системи EIGRP
interval_in_seconds - інтервал відправки Hello повідомлень
Так само як і в інших протоколах маршрутизації використовується таймер Hold-down timer. Таймер, за допомогою якого ми визначаємо, доступний наш сусід чи ні. Зазвичай даний таймер дорівнює 3 значенням Hello interval. Тобто, якщо від сусіда не отримуємо hello повідомлення протягом трьох інтервалів відправки даних повідомлень, то вважаємо - сусід недоступний. За замовчуванням, при використанні стандартних значень даний таймер дорівнює 180 секунд для мереж NBMA і 15 секунд для інших типів мереж.
Даний таймер можна змінити за допомогою такої команди:
Router (config-if) ip hold-time eigrp as_number holdown_timer_in_seconds
as_number - номер автономної системи EIGRP
interval_in_seconds - інтервал відправки Hello повідомлень
Третій пункт можна трохи змінити, налаштувавши Active timer, який відповідає за час зберігання маршруту в таблиці топології.
Active Timer - інтервал часу протягом якого маршрут може залишатися в стані active. Якщо таймер закінчиться до тих пір як будуть отримані всі відповіді від сусідів (Reply), то маршрутизатор переводить маршрут в стан stuck-in-active. Крім того, розриваються відносини сусідства з тими сусідами, від яких не було отримано відповіді.
Яким чином працює таймер?
Ви, напевно, вже знаєте, що протокол EIGRP становить кілька таблиць: таблицю маршрутизації, таблицю сусідів і таблицю топологій.

EIGRP topology table
У таблиці топології міститься інформація про сусідів і маршрутах, які вони оголосили нам. Так ось, в таблиці топології існує два стану passive і active.
Passive - маршрут до мережі призначення обчислений і може використовуватися для передачі трафіку.
Active - маршрут до мережі призначення не виявлено і відбувається його пошук через сусідів.
Якщо маршрут був в стані passive і зник, з якихось причин, то маршрут також переходить в статус active.
Таймер active, як раз і потрібен для визначення часу, протягом якого необхідно чекати відповіді від сусідів про доступність необхідного маршруту.
За замовчуванням цей таймер дорівнює 3 хвилинам.
Змінюється таймер за допомогою такої команди в налаштуваннях протоколу маршрутизації, вимірюється в хвилинах.
R1 (config-router) #timers active-time <1-65535>
На цьому опис основних таймерів протоколу EIGRP завершено.
Зараз трохи рекомендацій по налаштуванню даних таймерів.
Рекомендується Hello interval встановлювати рівним 2 секунди, Hold -timer 6 секунд. При проектуванні і настройки таймерів також необхідно перевіряти, щоб Hold -timer був нижче, ніж таймер active.
Протокол EIGRP вельми цікавий, але, на мій погляд, занадто пізно зробили його відкритим для всього світу, тим самим відкинувши його далеко за темпами впровадження в сучасних сетях.В статті спробував описати основні таймери протоколу, сподіваюся, кому то статтю буде корисна і стане в нагоді в майбутньому. Прошу залишати відгуки, а також теми нових статей, які є актуальними для вас.
Успіху і до нових зустрічей!
Best regards
Dmitry Sultanakhmetov