Особенности протокола маршрутизации EIGRP
Привет! В этой статье я расскажу про интересные особенности протокола маршрутизации EIGRP.
Основы EIGRP отлично описаны в одной из статей цикла СДСМ: 6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация.
В первой половине статьи кратко описаны некоторые факты об этом протоколе, а во второй — несколько интересных примеров с топологией и командами.
Факты про EIGRP
А если K5 = 0, то формула имеет такой вид:
где min_bandwidth — это пропускная способность наихудшего линка в kbps,
а total_delay — это сумма задержек всех линков в мкс (микросекундах).
EIGRP Split Horizon
Про эту проблему в сетях вида Hub-and-Spoke (Frame Relay, DMVPN) + EIGRP написано почти в каждой книге. Так зачем про это рассказывать в очередной раз, да ещё и с примером, спросите вы? А давайте посмотрим внимательно, здесь очень легко можно угодить в ловушку. Рассмотрим следующую топологию Frame-Relay сети:
Скачать топологию со стартовыми файлами конфигурации для GNS3 можно здесь. Используемый образ IOS: c3640-jk9s-mz.124-16.bin
Ничего особенного правда? 2 виртуальных соединения (PVC), одна общая сеть 192.168.123.0/24, работает всё на физических интерфейсах, а не на саб-интерфейсах. На каждом роутере также настроен Loopback адрес. EIGRP включён на всех интерфейсах.
Посмотрим таблицу маршрутизации на хабе R1:
У R1 есть маршруты ко всем сетям. А теперь на споуке R2:
У R2 почему-то нет маршрута к сети 3.3.3.0/24.
Вы наверняка уже мысленно кричите: «Да что тут такого? Очевидно, что необходимо отключить split horizon на интерфейсе s0/0 роутера R1!»
Давайте проверим с помощью команды show ip interface s0/0:
.
И в этот момент можно легко растеряться. Это ведь была отличная догадка!
Но я всё же попробую команду no ip split-horizon eigrp 100:
А теперь проверим таблицу маршрутизации:
О! Появился маршрут.
Проверим пинг:
Пингуется, всё отлично.
Так в чём же дело? Почему команда show ip interface s0/0 показала, что split horizon отключён, если на самом деле он был включён? Ответ прост. Эта строка говорит лишь о том, что split horizon выключен для протокола RIP.
А как тогда посмотреть для EIGRP? Вообще-то никак, кроме наличия строки в текущей конфигурации:
Кстати, в IOS 15 появилась возможность это проверить с помощью команды show ip eigrp interfaces detail s0/0.
Вот такая интересная особенность.
Но, наверное, вся статья задумывалась исключительно ради следующего примера.
EIGRP Router-ID
Рассмотрим внимательно топологию:
Скачать файл топологии с начальной конфигурацией для GNS3 можно здесь. Используемый образ IOS: c3640-jk9s-mz.124-16.bin.
4 роутера, 2 роутинг домена: OSPF area 0 и EIGRP AS 100. Роутер R1 выполняет редистрибьюцию в обе стороны. Loopback0 R1 анонсирован в домен EIGRP, Loopback1 R1 не анонсирован никуда.
Давайте посмотрим на таблицу маршрутизации роутера R2:
Отлично, маршруты к ospf сетям 172.16.x.0/24 видны, как D EX (EIGRP External, AD 170).
А теперь на таблицу маршрутизации R3:
.
А где маршруты к ospf сетям?
Давайте глянем на соседей R1:
Всё нормально, правда? И потом, R3 ведь видит другие EIGRP маршруты: например, 2.2.2.0/24 и 1.1.1.0/24. Следующим шагом было бы логично посмотреть роут-мепы на R1 и R2. Но в данном примере я их не использовал. Если не знать в чём причина, то отдебажить данную проблему трудно. Поэтому давайте посмотрим в чём дело. На R1 и R3 используем команду show ip eigrp topology:
Да, проблема в одинаковых eigrp router-id. Есть одна замечательная, спрятанная в IOS, команда (не видна с помощью «?»), которая поможет понять, что происходит: show ip eigrp events на R3.
[Данная команда может помочь и при других проблемах с EIGRP]
Мы видим, что R3 всё же получает маршруты к сетям 172.16.x.0/24, но отбрасывает их из-за дубликата router-id.
Оказывается, что в общем случае EIGRP всё равно, какие router-id у вас в AS. Ровно до тех пор, пока на одном из роутеров с одинаковым router-id не настроена редистрибьюция. Тогда инжектированные маршруты получают специальную метку с router-id роутера, который сделал редистрибьюцию. Если роутер получает маршрут с такой меткой и видит, что его router-id совпадает, то такой маршрут отбрасывается. Router-id определяется также, как и в OSPF: специальной командой или наивысший Loopback адрес, или наивысший IP адрес, если нет Loopback.
В данном случае на роутере R1 есть Loopback1: 11.11.11.11, а на R3 была использована команда eigrp router-id 11.11.11.11. Отменим её с помощью ключевого слова no и проверим таблицу маршрутизации снова:
Маршруты появились, проблема решена!
В реальной сети гораздо более вероятно, что на двух роутерах могут быть случайно настроены одинаковые Loopback адреса. Никогда не слышав о данной проблеме, траблшутинг может превратиться в увлекательное занятие и потрепать немало нервов.
Если вы чувствуете, что знаете EIGRP достаточно хорошо, то я рекомендую попробовать EIGRP Troubleshoot Lab от GNS3Vault.
Бонус! Key Chain
Это мало относится к EIGRP, но из троицы протоколов маршрутизации EIGRP, OSPF, BGP лишь EIGRP использует key chain для аутентификации. Key chain позволяет использовать разные ключи в разное время. К примеру, можно бесшовно сменить пароль аутентификации EIGRP, не обвалив «adjacency». Но посмотрим мы на немного другое. У этого механизма есть интересная особенность. Наверняка все знают, что команда service password-encryption использует взламываемый алгоритм (Type 7). В интернете можно найти много сайтов, которые восстановят пароль из такого хеша. Но, оказывается, что можно заставить сам роутер восстановить пароль. Давайте, я покажу как. Сначала создаём пользователя с паролем в локальной базе данных и включаем service password-encryption:
Смотрим running config и копируем значение хеша:
Теперь создаём key chain, номер ключа и вводим этот хеш:
А теперь используем команду show key chain:
Клёво, правда? 🙂
Надеюсь, что вам понравилось!
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Протокол EIGRP
Как следует из названий, проприетарный протокол компании Cisco System EIGRP (Enhanced Interior Gateway Routing Protocol), это протокол «внутреннего шлюза». EIGRP имеет множество преимуществ по сравнению с протоколом RIP (Routing Information Protocol) и своим непосредственным предшественником, протоколом IGRP (Interior Gateway Routing Protocol). По существу, EIGRP это расширенная версия протокола IGRP. Как и RIP, IGRP известен как дистанционно – векторный протокол, но по сравнению с ним он имеет улучшенные характеристики алгоритма расчета оптимального пути до пункта назначения. Метрики IGRP основываются на таких параметрах как полоса пропускания и задержка, в тоже время для протокола RIP важным является длинна маршрута, выраженная в «хопах», то есть количестве узлов на пути следования.
Полный курс по Сетевым Технологиям
В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer
Протокол EIGRP включает в себя алгоритмы, которые часто встречаются в продвинутых протокол маршрутизации, которые работают по принципу «состояния канала». EIGRP использует оптимизированный по сравнению с RIP и IGRP метод предотвращения петель в сети, обеспечивая 100 – процентную гарантию отсутствия петель.
Важное преимущество EIGRP – это высокий показатель масштабируемости и высокая скорость сходимости сети. Итак, давайте разберем конкретные преимущества EIGRP по сравнению с IGRP:
EIGRP представляется как гибридный протокол, который содержит в себе как функционал дистанционно – векторного протокола маршрутизации, так и «состояния канала». Перечислим следующие характеристики:
Компоненты EIGRP
Протокол EIGRP (Enhanced Interior Gateway Routing Protocol) состоит из 4 – х важных компонентов:
Речь пойдет о технологии, которую используют маршрутизаторы Cisco чтобы обнаружить присутствие напрямую подключенных маршрутизаторов соседей. Процесс обнаружения, позволяет маршрутизаторам использовать небольшие пакеты с маленькой нагрузкой, в рамках которых они передают сообщения «Hello». Отправка подобных пакетов позволяет определить, нормально ли функционирует сосед, или же он недоступен. Маршрутизатор отвечает на эти сообщения, и только после этого маршрутизаторы начинают работу. В случае не ответа, маршрутизатор считается неактивным и процесса коммуникаций не происходит.
Или другими словами, надежный транспортный протокол. Обеспечивает надежную и гарантированную доставку юникаст или мультикаст сообщения соседям маршрутизаторам. В рамках эффективного использования RTP, маршрутизаторы используют его только по необходимости.
Алгоритм маршрутизации, который используется EIGRP для расчета, определения и отслеживания маршрутов без петель. DUAL использует метрики для определения наиболее оптимального маршрута основываясь на «feasible successor» (или «возможный приемник»,о котором мы расскажем во второй части статьи).
Независимые модули, которые используются протоколом EIGRP в рамках сетевого уровня модели OSI для отправки и получения сообщений. Модуль IP для протокола EIGRP носит название IP-EIGRP и предназначен для отправки и получения EIGRP пакетов инкапсулированных в IP – пакеты. IP-EIGRP взаимодействует с DUAL для вычисления маршрутов, которые в дальнейшем хранятся в таблицах маршрутизации.
Во второй части статьи мы продолжим рассказ о таблицах маршрутизации EIGRP
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Принципы работы протокола EIGRP
В данной статье поговорим о EIGRP и обсудим принципы работы данного протокола. EIGRP является дистанционно-векторным протоколом, иногда говорят о его гибридности, но это не так. Почитайте начало статьи о OSPF и вы поймете почему EIGRP именно дистанционно-векторный протокол. EIGRP — усовершенствованный дистанционно-векторный протокол динамической маршрутизации, разработанный компанией Cisco. Начнем разбираться. Будем использовать следующую топологию:

Запустим EIGRP на vIOS1 и на vIOS2, посмотрим как передается информация между маршрутизаторами. Как только на маршрутизаторе активируется EIGRP, то маршрутизатор начинает отправлять Hello пакеты. Перечислим также другие типы сообщений, которые используются в EIGRP.
Пакет содержит в себе параметры коэффициентов (K1, K2, K3, K4, K5, K6), Таймер Hold Time и номер Autonomous System. Коэффициенты (K1, K2, K3, K4, K5, K6) используются при подсчете метрики и о них мы поговорим позже, как и о таймерах EIGRP. Сейчас важно поговорить о Autonomous System (AS). Для активации EIGRP, определенному процессу EIGRP необходимо присвоить номер, как и в OSPF. Но в отличии от OSPF, данный параметр нельзя выбирать случайно для каждого маршрутизатора, он должен совпадать у всех маршрутизаторов. Если маршрутизатор получит Hello-пакет с AS отличным, чем у него, то отношения соседства не будет.
Для того чтобы маршрутизаторы стали соседями должны выполняться такие условия:
Как видите в Update пакете не содержится какая-либо метрика, а только информация типа Bandwidth, Delay, MTU и т.д., получив данную информацию, маршрутизатор сам высчитывает метрику по коэффициентам K1-K6. Данные пакеты могут отправлятся как к конкретному маршрутизатору, так и мультикастовой расслыкой. В целом, есть три типа обновлений:
Можно заметить, что помимо перечисленных нами Hello и Update, присутствуют также Hello (ACK) и количество равно количеству Update пакетов, отправленных на мультикастовый адрес. Все дело в протоколе RTP. Протокол RTP управляет процессом передачи пакетов EIGRP и обеспечивает:
Вот такая формула, выглядит устрашающе, но самое хорошее в ней, что ее можно не знать, просто знать что что-то такое существует. И еще одна приятная фишка в том, что по умолчанию коэффициенты EIGRP такие:
Таблица топологии (topology table) — список маршрутов выученных от каждого соседа. В таблице топологии также хранится метрика, которую сообщает каждый сосед для каждого маршрута (AD) и метрика, которую локальный маршрутизатор будет использовать для того чтобы достигнуть маршрут через соседа (FD).
Надо пояснить, что такое AD и FD. Настроим EIGRP на всех наших маршрутизаторах. Также, чтоб избежать сложных чисел в метрике, изменим коэффициенты с K1 = 1 K2 = 0 K3 = 1 K4 = 0 K5 = 0 на K1 = 0 K2 = 0 K3 = 1 K4 = 0 K5 = 0. Тем самым, у нас будет формула 256*Delay и также мы получаем легкий способ манипуляцией метриками при помощи изменения параметра delay на интерфейсах. Учитывая, что на интерфейсах delay = 1 sec, то каждый линк, если пользоваться терминологией OSPF, стоит 256. Посмотрим какова таблица топологии на vIOS1:
vIOS1#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(192.168.1.1)
Codes: P — Passive, A — Active, U — Update, Q — Query, R — Reply,
r — reply Status, s — sia Status
P 192.168.3.0/24, 1 successors, FD is 512
via 192.168.13.3 (512/256), GigabitEthernet0/0
P 192.168.2.0/24, 1 successors, FD is 512
via 192.168.12.2 (512/256), GigabitEthernet0/3
P 192.168.25.0/24, 1 successors, FD is 512
via 192.168.12.2 (512/256), GigabitEthernet0/3
P 192.168.35.0/24, 1 successors, FD is 512
via 192.168.13.3 (512/256), GigabitEthernet0/0
P 192.168.12.0/24, 1 successors, FD is 256
via Connected, GigabitEthernet0/3
P 192.168.45.0/24, 1 successors, FD is 512
via 192.168.14.4 (512/256), GigabitEthernet0/2
P 192.168.0.0/24, 1 successors, FD is 256
via Connected, GigabitEthernet0/1
P 192.168.13.0/24, 1 successors, FD is 256
via Connected, GigabitEthernet0/0
P 192.168.14.0/24, 1 successors, FD is 256
via Connected, GigabitEthernet0/2
P 192.168.5.0/24, 3 successors, FD is 768
via 192.168.12.2 (768/512), GigabitEthernet0/3
via 192.168.13.3 (768/512), GigabitEthernet0/0
via 192.168.14.4 (768/512), GigabitEthernet0/2
Если взглянуть, например, на сеть — 192.168.5.0/24, можно заметить три пути через vIOS2, vIOS3 и vIOS4 с одинаковыми метриками. Для 192.168.5.0/24 FD по всем путям равно — 768, а AD — 512. Дадим определение из другой статьи и попытаемся объяснить:
P 192.168.5.0/24, 3 successors, FD is 768 via 192.168.14.4 (768/512), GigabitEthernet0/2
P 192.168.5.0/24, 1 successors, FD is 512 via 192.168.45.5 (512/256), GigabitEthernet0/1
AD на vIOS1 = FD на vIOS4. Немого запутанно, но постараемся объяснить логику работы. Маршрутизатор, который анонсирует маршрут, отправляет параметры (Bandwithd, Delay и т.д.) маршрута в Update сообщении без учета линка между маршртузатором, которому делается анонс. То есть, vIOS4 учитывает только параметры двух линков: vIOS4 Gi0/1 — vIOS5 Gi0/1 и vIOS5 Gi0/0 — VPC. Получив Update, vIOS1, подставляя полученные параметры в формулу, рассчитывает что? Правильно — AD =512. После берет параметры линка, откуда пришел маршрут, vIOS1 Gi0/2 — vIOS4 Gi0/2 и подставляет опять в формулу. Считает, получает число 256 и складывает с AD (512), получаем FD — 768. Вот такие дела! Но для чего весь этот ритуал?
А все для того, что создать специальное правило под названием Feasible condition, который является одним из средств по защите от образования петель и быстрой сходимости.
Дадим определения следующих терминов:
Делается это при помощи команды delay на интерфейсе. Сейчас у нас как было сказано — delay = 1 и метрика равна 256. Посмотрим какие метрики у нас получаться для сети 192.168.5.0/24 на маршрутизаторе vIOS1:
vIOS1#show 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, H — NHRP, l — LISP
a — application route
+ — replicated route, % — next hop override, p — overrides from PfR
Gateway of last resort is not set
D 192.168.2.0/24 [90/512] via 192.168.12.2, 06:01:31, GigabitEthernet0/3
D 192.168.3.0/24 [90/1024] via 192.168.13.3, 06:01:28, GigabitEthernet0/0
D 192.168.5.0/24 [90/1024] via 192.168.14.4, 06:01:28, GigabitEthernet0/2
D 192.168.25.0/24 [90/1024] via 192.168.14.4, 06:01:28, GigabitEthernet0/2
D 192.168.35.0/24 [90/1024] via 192.168.14.4, 06:01:28, GigabitEthernet0/2
D 192.168.45.0/24 [90/768] via 192.168.14.4, 06:01:28, GigabitEthernet0/2
Что будет с остальными двумя маршрутами — они будут проверены на условие FS (Feasible condition). Маршрут через vIOS3 проходит это условие AD (via vIOS3) = 768 1024) и не будет учитываться в целях защиты от образования петли. Все маршруты, полученные через Update, но не прошедшие проверку FC, можно увидеть при помощи команда show ip eigrp topology all-links. Не совсем очевидно почему условие FS защищает от образования петель, сейчас попытаемся объяснить. Важно знать, что при изучении протокола EIGRP жизненно важно понимать принцип условия FC и цели для которых он используется. Рассмотрим немного видоизмененную топологию ( добавлен линк между vIOS2 и vIOS4), а также используем максимально примитивную метрику:
Маршрут до сети 192.168.5.0/24 будет таким с AD и FD:
12= AD на vIOS2 = Gi0/3 vIOS3 + Gi0/2 vIOS4 + Gi0/1 vIOS5 + eth0 VPC5, где Gi0/1 vIOS5 + eth0 VPC5 = FD = 10 — это и есть FD vIOS4 и невозможно, чтоб AD
Тренинг Cisco 200-125 CCNA v3.0. День 49. Введение в EIGRP
Сегодня мы начнем изучение протокола EIGRP, которое наравне с изучением OSPF является важнейшей темой курса CCNA.
Позже мы вернемся к разделу 2.5, а сейчас сразу после раздела 2.4 перейдем к разделу 2.6 «Настройка, проверка и устранение неполадок EIGRP по протоколу IPv4 (за исключением аутентификации, фильтрации, ручного суммирования, перераспределения и конфигурации stub)».
Сегодня у нас будет вводный урок, на котором я расскажу вам о концепции усовершенствованного внутреннего протокола маршрутизации шлюзов EIGRP, а на двух следующих уроках мы рассмотрим настройку и устранение неполадок роботы данного протокола. Но сначала я хочу сообщить вам следующее.
В течение нескольких последних уроков мы изучали OSPF. Сейчас я хочу, чтобы вы вспомнили, что когда много месяцев назад мы изучали протокол RIP, то говорили о маршрутных петлях Loop и технологиях, предотвращающих зацикливание трафика. Как можно предотвратить возникновение маршрутных петель при использовании OSPF? Можно ли использовать для этого такие методы, как «отравление маршрута» Route Poison или «расщепленный горизонт» Split Horizon? Это вопросы, на которые вы должны ответить самостоятельно. Можете использовать другие тематические ресурсы, но найдите ответы на эти вопросы. Я хочу, чтобы вы научились находить ответы самостоятельно, работая с разными источниками, и попрошу оставлять свои комментарии под этим видео, чтобы я смог увидеть, сколько из моих учеников справились с этой задачей.
Что такое EIGRP? Это гибридный протокол маршрутизации, который объединяет полезные функции как дистанционно-векторного протокола, такого, как RIP, так и протокола отслеживания состояния канала типа OSPF.
EIGRP является проприетарным протоколом Cisco, который был предоставлен для общего пользования в 2013 году. Из протокола отслеживания состояния канала он взял себе алгоритм установления соседства, в отличие от RIP, который не создает соседей. RIP также обменивается таблицами маршрутизации с другими участниками протокола, однако OSPF, прежде чем начать такой обмен, формирует соседство. Таким же образом работает EIGRP.
Протокол RIP каждые 30 секунд выполняет периодические обновления полной таблицы маршрутизации и рассылает информацию обо всех интерфейсах и всех маршрутах всем своим соседям. EIGRP не выполняет периодического полного обновления информации, используя вместо этого концепцию рассылки сообщений Hello, так, как это делает OSPF. Каждые несколько секунд он посылает Hello, чтобы убедиться, что сосед все еще «жив».
В отличие от дистанционно-векторного протокола, который изучает всю топологию сети, прежде чем принять решение о формировании маршрута, EIGRP наподобие RIP создает маршруты на основании слухов. Когда я говорю «слухи», то имею ввиду, что когда сосед сообщает что-то, EIGRP с этим безоговорочно соглашается. Например, если сосед говорит, что знает, как достичь 10.1.1.2, EIGRP верит ему, не спрашивая: «Откуда ты это узнал? Расскажи мне о топологии всей сети!».
До 2013 года, если вы использовали только инфраструктуру Cisco, то могли пользоваться EIGRP, так как этот протокол был создан еще в 1994 году. Однако многие компании, даже используя оборудование Cisco, не желали работать с этим проколом. По моему мнению, на сегодня EIGRP является лучшим протоколом динамической маршрутизации, поскольку намного легче в использовании, однако люди все ещё предпочитают OSPF. Думаю, это связано с тем, что они не хотят «привязывать» себя к продукции Cisco. Но Cisco сделала этот протокол общедоступным потому что он поддерживает сетевое оборудование сторонних производителей, например, Juniper, и если вы объединитесь с компанией, которая не использует оборудование Cisco, у вас не возникнет никаких проблем.
Давайте совершим небольшой экскурс в историю сетевых протоколов.
Протокол RIPv1, появившийся в 1980-х годах, имел ряд ограничений, например, максимальное число хопов, равное 16, в связи с чем не мог обеспечить маршрутизацию в обширных сетях. Чуть позже разработали внутренний протокол маршрутизации шлюза IGRP, который был намного лучше RIP. Однако он больше был дистанционно-векторным протоколом, чем протоколом состояния каналов. В конце 80-х годов появился открытый стандарт – протокол отслеживания состояния каналов OSPFv2 для протокола IPv4.
В начале 90-х Cisco решила, что протокол IGRP необходимо улучшить и выпустила усовершенствованный внутренний протокол маршрутизации шлюза EIGRP. Он был намного эффективнее OSPF, потому что сочетал в себе черты и RIP, и OSPF. Когда мы начнем его изучение, вы убедитесь, что настраивать EIGRP намного легче, чем OSPF. Cisco постаралась сделать протокол, который бы обеспечивал максимально быструю конвергенцию сети.
В конце 90-х годов была выпущена обновленная бесклассовая версия протокола RIPv2. В 2000-х годах появились третья версия OSPF, RIPng и EIGRPv6, которые поддерживали протокол IPv6. Мир постепенно приближается к полному переходу на IPv6, и разработчики протоколов маршрутизации хотят быть к этому готовы.
Если вы помните, мы изучали, что при выборе оптимального маршрута RIP, как дистанционно-векторный протокол, руководствуется только одним критерием — минимальным количеством хопов, или минимальным расстоянием до интерфейса назначения. Так, роутер R1 выберет прямой маршрут к роутеру R3 не смотря на то, что скорость на этом маршруте – 64 кбит/с — в разы меньше скорости на маршруте R1-R2-R3, равной 1544 кбит/с. Протокол RIP посчитает оптимальным медленный маршрут длиной в один хоп, а не быстрый маршрут длиной 2 хопа.
OSPF изучит всю топологию сети и примет решение для связи с роутером R3 использовать маршрут через роутер R2 как более быстрый. В качестве метрики RIP использует число хопов, а метрикой OSPF является стоимость, которая в большинстве случаев пропорциональна пропускной способности канала.
EIGRP также ориентируется на стоимость маршрута, однако его метрика намного сложнее метрики OSPF и опирается на множество факторов, включая пропускную способность Bandwidth, задержку Delay, надежность Reliability, загруженность Loading и максимальный размер пакета MTU. Например, если какой-то узел будет загружен больше остальных, EIGRP проанализирует загруженность всего маршрута и выберет другой узел с меньшей загрузкой.
В курсе CCNA мы будем учитывать только такие факторы формирования метрики, как Bandwidth и Delay, именно их будет использовать формула метрики.
Дистанционно-векторный протокол RIP использует два понятия: расстояние и направление. Если у нас имеется 3 роутера, и один из них соединен с сетью 20.0.0.0, то выбор будет осуществляться по расстоянию – это хопы, в данном случае 1 хоп, и по направлению, то есть по какому пути – верхнему или нижнему – отправлять трафик.
Кроме того, RIP использует периодическое обновление информации, рассылая полную таблицу маршрутизации по всей сети каждые 30 секунд. Это обновление выполняет 2 функции. Первая – собственно обновление таблицы маршрутизации, вторая – проверка жизнеспособности соседа. Если устройство не получает ответное обновление таблицы или новую информацию о маршруте от соседа в течение 30 с, оно понимает, что маршрут к соседу больше нельзя использовать. Роутер отсылает обновление каждые 30 секунд чтобы узнать, «жив» ли ещё сосед и действителен ли еще маршрут.
Как я сказал, для предотвращения маршрутных петель используют технологию Split Horizon. Это означает, что обновление не отсылается обратно тому интерфейсу, с которого пришло. Вторая технология для предотвращения петель – это Route Poison. Если связь с изображенной на картинке сетью 20.0.0.0 прервалась, роутер, к которому она была подсоединена, отсылает соседям «отравленный маршрут», в котором сообщает, что данная сеть теперь доступна в 16 хопов, то есть практически не достижима. Вот таким образом работает протокол RIP.
Как же работает EIGRP? Если вы помните из уроков про OSPF, этот протокол выполняет три функции: устанавливает соседство, при помощи LSA обновляет базу LSDB в соответствии с изменениями топологии сети и строит таблицу маршрутизации. Установление соседства достаточно сложная процедура, использующая множество параметров. Например, проверка и изменение соединения 2WAY – некоторые соединения остаются в состоянии двусторонней связи, некоторые переходят в состояние FULL. В отличие от OSPF, в протоколе EIGRP подобного не происходит – он проверяет всего 4 параметра.
Как и OSPF, этот протокол каждые 10 секунд отсылает сообщение Hello, содержащее 4 параметра. Первый – это критерий аутентификации, если она была предварительно настроена. При этом все устройства, с которыми устанавливается соседство, должны иметь одинаковые параметры аутентификации.
Второй параметр служит для проверки принадлежности устройств к одной автономной системе, то есть для установления соседства по протоколу EIGRP оба устройства должны иметь одинаковый номер автономной системы. Третий параметр служит для проверки того, что сообщения Hello рассылаются с одного IP-адреса источника Source IP.
Четвертый параметр используется для проверки совпадения переменных коэффициентов K-Values. Протокол EIRGP использует 5 таких коэффициентов от К1 до К5. Если вы помните, при значении K=0 параметры игнорируется, если же K=1, то параметры используются в формуле вычисления метрики. Таким образом, значения К1-5 для разных устройств должны совпадать. В курсе CCNA мы будем принимать значения этих коэффициентов по умолчанию: К1 и К3 равны 1, а К2, К4 и К5 равны 0.
Итак, если эти 4 параметра совпадают, EIGRP устанавливает отношения соседства, и устройства заносят друг друга в таблицу соседей. Далее выполняются изменения в таблице топологии.
Все сообщения Hello отсылаются на мультикастовый IP-адрес 224.0.0.10, а обновления в зависимости от настройки отсылаются на юникастовые адреса соседей либо на мультикастовый адрес. Это обновление поступает не по UDP или TCP, а использует другой протокол под названием RTP, Reliable Transport Protocol, или «транспортный протокол надежности». Этот протокол проверяет, получил ли сосед обновление, и как следует из его названия, его ключевой функцией является обеспечение надежности связи. Если обновление не дошло до соседа, передача будет повторяться, пока тот его не получит. В OSPF механизм для проверки устройства-получателя отсутствует, поэтому система не знает, получили соседние устройства обновления или нет.
Если вы помните, RIP каждые 30 секунд рассылает обновление полной топологии сети. EIGRP делает это только в случае, если в сети появилось новое устройство или произошли какие-либо изменения. Если изменилась топология подсети, протокол разошлет обновление, но не полной таблицы топологии, а только записи с этим изменением. Если изменилась какая-то подсеть, будет обновлена только ее топология. Это выглядит как частичное обновление, которое происходит, когда это требуется.
Как вам известно, OSPF рассылает LSA каждые 30 минут независимо от того, произошли ли в сети какие-либо изменения. EIGRP не будет рассылать никаких обновлений на протяжении длительного промежутка времени до тех пор, пока в сети не произойдет каких-либо изменений. Поэтому EIGRP намного эффективнее OSPF.
После того, как роутеры обменялись пакетами обновлений, наступает третий этап –формирование таблицы маршрутизации на основе метрики, которая вычисляется по приведенной на рисунке формуле. Она подсчитывает стоимость и в зависимости от этой стоимости принимает решение.
Предположим, что R1 отослал Hello роутеру R2, а тот прислал Hello роутеру R1. Если все параметры совпадают, роутеры создают таблицу соседей. В эту таблицу R2 заносит запись о роутере R1, а R1 создает запись об R2. После этого роутер R1 отсылает обновление в подключенную к нему сеть 10.1.1.0/24. В таблице маршрутизации это выглядит как информация об IP-адресе сети, интерфейсе роутера, обеспечивающим с ней связь, и стоимости маршрута через этот интерфейс. Если вы помните, стоимость EIGRP равна 90, а дальше указывается значение расстояния Distance value, о котором мы поговорим позже.
Полностью формула метрики выглядит намного сложнее, так как включает в себя значения коэффициентов К и различные преобразования. На сайте Cisco приведен полный вид формулы, однако если вы сделаете подстановку значений коэффициентов по умолчанию, то она преобразуется в более простой вид – метрика будет равняться (bandwidth + Delay) * 256.
При изучении EIGRP мы должны усвоить четыре определения: Feasible Distance (возможное расстояние), Reported Distance (объявленное расстояние), Successor (соседний маршрутизатор с наименьшей стоимость пути к сети назначения) и Feasible Successor (резервный соседний маршрутизатор). Чтобы понять, что они означают, рассмотрим следующую топологию сети.
Начнем с создания таблицы маршрутизации R1 с целью выбора наилучшего маршрута к сети 10.1.1.0/24. Возле каждого из устройств показана пропускная способность в кбит/с и задержка в мс. Мы используем интерфейсы GigabitEthernet с пропускной способностью 100 мбит/с, или 1000000 кбит/с, интерфейсы FastEthernet со скоростью 100000 кбит/с, Ethernet со скоростью 10000 кбит/с и серийный интерфейс со скоростью 1544 кбит/с. Эти величины можно узнать, если просмотреть в настройках роутера характеристики соответствующих физических интерфейсов.
Пропускная способность Serial-интерфейсов по умолчанию равна 1544 кбит/с, и даже если у вас имеется линия 64 кбит/с, пропускная способность все равно будет 1544 кбит/с. Поэтому вам как сетевому администратору нужно убедиться, что вы используете правильное значение bandwidth. Для конкретного интерфейса его можно задать с помощью команды bandwidth, а с помощью команды delay вы можете изменить значение задержки по умолчанию. Вы можете не беспокоиться по поводу значений bandwidth по умолчанию для интерфейсов GigabitEthernet или Ethernet, но будьте внимательны при выборе скорости линии, если используете Serial-интерфейс.
Обратите внимание, что на данной схеме задержка обозначена будто бы в миллисекундах ms, но в действительности это микросекунды, просто у меня нет буквы μ для правильного обозначения микросекунд μs.
Внимательно отнеситесь к следующему обстоятельству. Если вы введете команду show interface g0/0, система отобразит задержку в десятках микросекунд, а не просто в микросекундах.
Подробно мы рассмотрим этот вопрос в следующем видео, посвященном настройке EIGRP, пока что запомните, что при подстановке значений задержки в формулу 100 μs со схемы превращается в 10, так как формула использует десятки микросекунд, а не единицы.
На схеме я обозначу красными точками интерфейсы, к которым относятся показанные пропускные способности и задержки.
Это значение роутер R5 отошлет роутеру R2, причем для R2 оно станет объявленным расстоянием Reported Distance, то есть величиной, которую ему сообщил сосед. Таким образом, объявленное расстояние RD для всех остальных устройств будет равно возможному расстоянию FD устройства, которое вам его сообщило.
Роутер R2 проводит вычисления FD по своим данным, то есть делит 10 7 на 10 5 и получает 100. Затем он добавляет к этому значению сумму задержек на маршруте до внешней сети: задержку R5, равную одному десятку микросекунд, и собственную задержку, равную десяти десяткам. Суммарная задержка составит 11 десятков микросекунд. Прибавляем её к полученной сотне и получаем 111, умножаем эту величину на 256 и получаем значение FD=28416. Аналогично поступает роутер R3, получая после проделанных вычислений значение FD=281856. Роутер R4 вычисляет значение FD=3072 и передает его R1 как RD.
Обратите внимание, что роутер R1 при вычислении FD подставляет в формулу не свою пропускную способность 1000000 кбит/с, а меньшую пропускную способность роутера R2, которая равна 100000 кбит/с, потому что в формуле всегда используется минимальная пропускная способность интерфейса, ведущего к сети назначения. В данном случае на пути к сети 10.1.1.0/24 расположены роутеры R2 и R5, но поскольку bandwidth пятого роутера больше, в формулу подставляется наименьшее значение bandwidth роутера R2. Суммарная задержка на пути R1-R2-R5 составляет 1+10+1 (десятков) = 12, приведенная пропускная способность равна 100, и сумма этих чисел, умноженная на 256, даст значение FD=30976.
Итак, все устройства вычислили FD своих интерфейсов, и роутер R1 имеет 3 маршрута, ведущих к сети назначения. Это маршруты R1-R2, R1-R3 и R1-R4. Роутер выбирает минимальное значение возможного расстояния FD, которое равно 30976 – это маршрут к роутеру R2. Этот роутер становится Successor’ом, или «преемником». В таблице маршрутизации указывается также Feasible Successor (резервный преемник) – он означает, что в случае разрыва связи между R1 и Successor, маршрут будет осуществляться через резервный роутер Feasible Successor.
Feasible Successors назначается согласно единственному правилу: объявленное расстояние RD этого маршрутизатора должно быть меньше, чем FD роутера на участке к Successor’у. В нашем случае R1-R2 имеет FD=30976, RD на участке R1-R3 равно 281856, а RD на участке R1-R4 равно 3072. Так как 3072




















