img

Понимание EIGRP: обзор, базовая конфигурация и проверка

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Есть большое количество крупных компании с сетью, содержащих более 500 маршрутизаторов Cisco (и тысячи коммутаторов Cisco Catalyst). Какой используется протокол маршрутизации, поддерживающий все эти маршрутизаторы в согласии о доступных маршрутах? Это усовершенствованный протокол маршрутизации внутреннего шлюза (EIGRP). Именно этому посвящена данная статья, которая является первой из серии статей, посвященных EIGRP (Enhanced Interior Gateway Routing Protocol).

Эта серия статей рассматривает фундаментальные концепции EIGRP. Все статьи из цикла EIGRP:

  1. Часть 1. Понимание EIGRP: обзор, базовая конфигурация и проверка
  2. Часть 2. Про соседство и метрики EIGRP
  3. Часть 2.2. Установка K-значений в EIGRP
  4. Часть 3. Конвергенция EIGRP – настройка таймеров
  5. Часть 4. Пассивные интерфейсы в EIGRP
  6. Часть 5. Настройка статического соседства в EIGRP
  7. Часть 6. EIGRP: идентификатор роутера и требования к соседству

Полное руководство по EIGRP в PDF

PDF - это удобно 👾 Все статьи из цикла про EIGRP (Enhanced Interior Gateway Routing Protocol) мы свели в единый PDF домкумент, который вы можете скачать и читать в дороге.


Основы EIGRP

Существует давняя дискуссия о фундаментальной природе EIGRP. По своей сути, является ли EIGRP протоколом маршрутизации состояния канала или протоколом маршрутизации вектора расстояния? Или же это гибридный протокол маршрутизации (то есть комбинация того и другого)? Вы найдете много литературы, поддерживающей идею о том, что EIGRP является гибридным протоколом маршрутизации, утверждая, что соседи EIGRP изначально обмениваются своей полной таблицей маршрутизации, во многом похожей на протокол маршрутизации вектора расстояния, и EIGRP отправляет только обновления маршрутизации на основе сетевых изменений, во многом напоминающие протокол маршрутизации состояния канала.

Многие сетевые инженеры пришли к убеждению, что EIGRP-это "продвинутый протокол маршрутизации вектора расстояния". Их рассуждения по этому поводу: рассмотрим фундаментальную характеристику протокола маршрутизации состояния канала, которая заключается в том, что маршрутизаторы поддерживают таблицу топологии, указывающую, как маршрутизаторы связаны между собой. Эти маршрутизаторы (говоря о протоколах маршрутизации, таких как OSPF и IS-IS) затем запускают алгоритм Дейкстры на этой топологии, чтобы определить "кратчайший" путь к целевой сети с точки зрения конкретного маршрутизатора. EIGRP не поддерживает представление о топологии сети и не выполняет алгоритм Дейкстры. Скорее всего, таблица топологии EIGRP содержит список доступных сетей, а также информацию о "расстоянии" до этих сетей.


Характеристики EIGRP

Давайте начнем наш обзор EIGRP, рассмотрением нескольких основных характеристиках EIGRP:

  • Быстрая конвергенция: если пропадает связь в сети, во многих случаях EIGRP может быстро перенаправить поток данных, обойдя место сбоя связи. Обычно это происходит не более чем за 3 секунды. Эта быстрая конвергенция становится возможной благодаря тому, что EIGRP имеет резервный маршрут к сети, и этот резервный маршрут готов взять на себя управление в случае сбоя основного маршрута.
  • Высокая масштабируемость: в то время как протокол маршрутизации, такой как RIP, имеет ограничение в пятнадцать переходов маршрутизатора, EIGRP может масштабироваться для поддержки очень крупных корпоративных сетей.
  • Балансировка нагрузки с использованием каналов с разной метрикой: по умолчанию и EIGRP, и OSPF балансируют трафик нагрузки по нескольким каналам, ведущим к определенной целевой сети, если стоимость (то есть значение метрики протокола маршрутизации) одинакова. Однако EIGRP может быть настроен для балансировки нагрузки между каналами с неравными стоимостями. Это стало возможным благодаря функции дисперсии.
  • Поддержка маски подсети переменной длины (VLSM): в отличие от RIP версии 1, EIGRP отправляет информацию о маске подсети как часть объявления маршрута.
  • Коммуникации через мультикаст: в EIGRP спикер маршрутизатор взаимодействует с другими EIGRP-спикер маршрутизаторами через мультикаст. В частности, EIGRP для IPv4 использует адрес многоадресной рассылки 224.0.0.10, в то время как EIGRP для IPv6 использует адрес многоадресной рассылки ff02::a.
  • Больше не проприетарный протокол: в то время как Cisco первоначально представила EIGRP как Cisco-proprietary протокол маршрутизации, в последние годы EIGRP был открыт для других поставщиков. В частности, EIGRP стал открытым стандартом в 2013 году, а информационный RFC EIGRP (RFC 7868) был опубликован в 2016 году.
  • Поддержка нескольких протоколов: EIGRP изначально был разработан для поддержки маршрутизации нескольких протоколов, включая IPv4, IPX и AppleTalk. Хотя современные сети редко используют IPX или AppleTalk, EIGRP теперь может поддерживать IPv6, который набирает популярность. Данная поддержка нескольких протоколов становится возможной благодаря Protocol-Dependent Modules (PDM), где существует отдельный PDM, обрабатывающий решения о маршрутизации для каждого маршрутизируемого протокола (например, IPv4 и IPv6).
  • Алгоритм диффузионного обновления (DUAL): алгоритм EIGRP, используемый для отслеживания маршрутов, известных соседним маршрутизаторам. DUAL также используется для определения наилучшего пути к целевой сети (то есть к маршруту-преемнику) и любых приемлемых резервных путей к этой целевой сети (то есть к возможным маршрутам-преемникам).
  • Суммирование: чтобы уменьшить количество записей в таблице топологии EIGRP (или таблице IP-маршрутизации маршрутизатора), EIGRP имеет возможность суммировать несколько сетевых объявлений в одно сетевое объявление. Это обобщение можно настроить вручную. Однако EIGRP имеет функцию автоматического суммирования маршрутов, которая суммирует сети на классовых границах сети.
  • Обновления: полные обновления таблицы топологии EIGRP отправляются при обнаружении новых соседей. В противном случае будут отправлены частичные обновления.

Обзор настройки

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

router eigrp asn
network net-id wildcard-mask

Команда router eigrp asn запускает процесс маршрутизации EIGRP на маршрутизаторе для автономной системы (AS), заданной переменной asn. Эта команда также переводит вас в режим настройки маршрутизатора. Оттуда вы можете выполнить вторую команду, network net-id wildcard-mask. Эта вторая команда использует комбинацию сетевого адреса и маски подсети для указания диапазона одного или нескольких IP-адресов, и любой интерфейс маршрутизатора, чей IP-адрес принадлежит этому диапазону IP-адресов, затем участвует в процессе маршрутизации EIGRP. Тем не менее, существуют некоторые правила и модели поведения, которые следует учитывать при выполнении этих команд:

  • EIGRP-спикер маршрутизаторы должны быть такими же, как и для формирования соседства.
  • После того как маршрутизатор включает EIGRP на интерфейсах, соответствующих команде network EIGRP, он пытается обнаружить соседей с помощью многоадресной рассылки приветственных сообщений EIGRP.
  • Если в команде network не указана маска подсети, то указанный сетевой адрес должен быть классовым сетевым адресом.
  • Если в команде network не указана маска подсети, а указан классовый сетевой адрес, то все интерфейсы, IP-адреса которых подпадают под классовую сеть (например, 172.16.1.1 /24 подпадает под 172.16.0.0 /16), будут участвовать в процессе маршрутизации EIGRP.

Чтобы проиллюстрировать эти понятия, рассмотрим следующий пример:

топология EIGRP

Конфигурация EIGRP на маршрутизаторах OFF1, OFF2 и OFF3

! Router OFF1
router eigrp 1
network 10.1.1.0 0.0.0.З
network 10.1.1.5 0.0.0.0
network 192.0.2.0
! Router OFF2
router eigrp 1
network 10.0.0.0
network 198.51.100.0
! Router OFFЗ
router eigrp 1
network 0.0.0.0

Конфигурация EIGRP на маршрутизаторах OFF1, OFF2 и OFF3 начинается с команды router eigrp 1. Эта команда говорит каждому маршрутизатору начать процесс маршрутизации EIGRP в автономной системе 1. Поскольку номера автономной системы должны совпадать между EIGRP-спикер-соседями, все три маршрутизатора используют один и тот же номер автономной системы 1. Кроме того, обратите внимание, как меняется конфигурация при использовании команды network:


Команда network 10.1.1.0 0.0.0.3 на роутере OFF1

На маршрутизаторе OFF1 команда network 10.1.1.0 0.0.0.3 задает сетевой адрес 10.1.1.0 с обратной маской 0.0.0.3, которая соответствует 30-битной маске подсети (то есть маске подсети 255.255.255.252). Поскольку IP-адрес интерфейса Gig 0/1 маршрутизатора OFF1 10.1.1.1 / 30 попадает в эту подсеть, этот интерфейс проинструктирован участвовать в процессе EIGRP.


Команда network 10.1.1.5 0.0.0.0 на роутере OFF1

Команда network 10.1.1.5 0.0.0.0 указывает конкретный IP-адрес, а не всю подсеть (или можно утверждать, что это подсеть, содержащая один IP-адрес). Мы знаем, что он указывает только один IP-адрес из-за маски подсети 0.0.0.0. Напомним, что в маске подсети мы имеем ряд непрерывных нулей, за которыми следует ряд непрерывных единиц (в двоичном коде). Двоичные нули соответствуют позиции битов в IP-адресе, определяющие адрес сети, а бинарные единицы соответствуют позиции битов в IP-адресе, который указывает адрес узла. Однако в том случае, когда у нас все нули, как в нашем случае, у нас есть сеть с одним и только одним IP-адресом (то есть маска подсети равна /32). Поскольку IP-адрес совпадает с IP-адресом интерфейса Gig 0/2 маршрутизатора OFF1, этот интерфейс также участвует в процессе маршрутизации EIGRP.


Команда network 192.0.2.0 на роутере OFF1

Последняя команда network на маршрутизаторе OFF1 - это network 192.0.2.0. Интересно, что эта команда фактически была введена как сеть 192.0.2.0 0.0.0.255, но поскольку 0.0.0.255 является обратной маской, соответствующей маске подсети по умолчанию сети класса C (в данном случае 192.0.2.0 /24), она подразумевается, но не показывается. IP-адрес интерфейса Gig 0/3 маршрутизатора OFF1 192.0.2.1 / 24 действительно попадает в подсеть класса C, заданную командой network. Таким образом, Gig 0/3 также начинает участвовать в процессе маршрутизации EIGRP маршрутизатора OFF1.


Команда network 10.0.0.0 на роутере OFF2

Команда network 10.0.0.0 на маршрутизаторе OFF2, не имеет обратной маски. Однако помните, что из ранее обсуждавшейся команды network (на маршрутизаторе OFF1) обратная маска подсети не отображается, если она отражает естественную маску заданной подсети. Основываясь на этой логике, мы можем заключить, что если мы намеренно опустим аргумент обратной маски из команды network, то предполагаемая обратная маска будет маской подсети, соответствующей классовой маске подсети сети, указанной в команде network. В этом случае первый октет сети, указанный в команде network address, равен 10. 10 в первом октете адреса указывает, что мы имеем дело с адресом класса А, который имеет маску подсети по умолчанию 255.0.0.0 и, следовательно, обратную маску по умолчанию 0.0.0.255. Поскольку интерфейсы Gig 0/1 и Gig 0/2 маршрутизатора OFF2 подпадают под этот классовый сетевой оператор, оба интерфейса участвуют в процессе маршрутизации EIGRP маршрутизатора OFF2.


Команда network 198.51.100.0 на роутере OFF2

Как и предыдущая команда network, команда маршрутизатора OFF2 network 198.51.100.0 была введена без указания обратной маски. Поскольку первый октет адреса равен 198, мы можем заключить, что у нас есть сеть класса C, чья маска подсети по умолчанию равна 255.255.255.0, а обратная маска по умолчанию равна 0.0.0.255. IP-адрес (198.51.100.1 /24) интерфейсного Gig 0/3 на маршрутизаторе OFF2 живет в пределах указанной подсети 198.51.100.0 /24. Таким образом, интерфейс участвует в процессе маршрутизации EIGRP.


Команда network 0.0.0.0 на роутере OFF3

Напомним, что оператор network EIGRP, вопреки распространенному мнению, не указывает сеть для объявления. Скорее, он определяет диапазон одного или нескольких IP-адресов, и любой интерфейс с IP-адресом в этом диапазоне проинструктирован участвовать в процессе маршрутизации EIGRP. Это означает, что, если мы хотим, чтобы все интерфейсы на маршрутизаторе участвовали в одном и том же процессе маршрутизации EIGRP, мы могли бы дать команду network 0.0.0.0, чтобы указать все возможные IP-адреса. Поскольку IP-адрес каждого отдельного интерфейса подпадает под категорию "все возможные IP-адреса", все интерфейсы на маршрутизаторе OFF3 проинструктированы участвовать в процессе маршрутизации EIGRP. Кроме того, сетевые адреса этих участвующих интерфейсов (вместе с информацией о подсети для этих сетевых адресов) затем объявляются через EIGRP.


Проверка

Процесс проверки EIGRP - это нечто большее, чем просто проверка того, что между всеми маршрутизаторами сформировались соседские отношения и что все маршрутизаторы изучили все маршруты в сети. Процесс верификации должен помочь нам убедиться в том, что наши изначальные требования были выполнены. Например, нам нужно найти соответствующие маршруты, определенные интерфейсы и конкретных соседей, которые будут отображаться в таблицах EIGRP. Как только определимся с нашими изначальными целями проектирования и ожидаемыми результатами, мы можем применить команды проверки EIGRP, показанные в таблице ниже:


Ключевые команды проверки EIGRP

Ключевые команды проверки EIGRP

В следующих примерах показаны результаты выполнения каждой из этих команд после их выполнения на маршрутизаторе OFF1, показанном в предыдущей топологии.

Вывод результатов команды show ip route на маршрутизаторе OFF1:

Вывод результатов команды show ip route на маршрутизаторе OFF1

Обратите внимание, как маршруты, изученные с помощью EIGRP, показаны с литерой D в левом столбце. Этот код D указывает на маршрут, изученный через EIGRP. Эти маршруты включают 10.1.1.8/30, 198.51.100.0/24 и 203.0.113.0 /24. Также обратите внимание на выделенные числовые значения 90 в каждом EIGRP-изученном маршруте. 90 - это административное расстояние EIGRP (то есть его правдоподобность по сравнению с другими источниками маршрутизации), где более низкие значения административного расстояния предпочтительны по сравнению с более высокими значениями.

Вывод из команды show ip protocols на маршрутизаторе OFF1

show ip protocols на маршрутизаторе OFF1

Вывод информации команды show ip protocols на EIGRP-спикер маршрутизаторе, как видно выше, предлагает нам несколько точек данных. Например, в разделе Routing for Networks: вы видите список сетей, указанных командой network в режиме конфигурации EIGRP. В разделе Routing Information Sources: вы можете видеть IP-адреса соседей EIGRP, которые являются 10.1.1.2 (то есть маршрутизатором OFF2) и 10.1.1.6 (то есть маршрутизатором OFF3) нашей топологии. Также в этом разделе вы можете увидеть административное расстояние (AD) до наших соседей. Поскольку эти соседи являются EIGRP-спикер маршрутизаторами, у них есть EIGRP AD по умолчанию 90. Наконец, обратите внимание на метрический вес K1=1, K2=0, K3=1, K4=0, K5=0 части выходного сигнала. В следующей статье мы узнаем, как EIGRP вычисляет свою метрику и как этот расчет включает в себя K-значения.

Вывод из команды show ip eigrp interfaces на маршрутизаторе OFF1

show ip eigrp interfaces на маршрутизаторе OFF1

Выходные данные show ip eigrp interfaces, рассмотренные выше, указывают на то, что Gig 0/1, Gig 0/2 и Gig 0/3 маршрутизатора OFF1 участвуют в процессе маршрутизации EIGRP. В частности, этот процесс предназначен для EIGRP AS 1. Также обратите внимание, что соседство EIGRP было установлено с другим маршрутизатором, подключенным от интерфейса Gig 0/1 маршрутизатора OFF1, и другим от интерфейса Gig 0/2. Доказательством этих соседских отношений является наличие числа, превышающего 0 в колонке Peers. Поскольку интерфейс Gig 0/3 маршрутизатора OFF1 не формировал соседство с любыми другими маршрутизаторами, говорящими на EIGRP, в его столбце Peers стоит 0.

Вывод из команды show ip eigrp neighbors на маршрутизаторе OFF1:

show ip eigrp neighbors на маршрутизаторе OFF1

В то время как выводимые данные из команды show ip eigrp interfaces указывали, что у нас было несколько соседей EIGRP, выходные данные из команды show ip eigrp neighbors, как видно выше, предлагают более подробную информацию об этих соседях. В частности, сосед, связанный с интерфейсом маршрутизатора OFF1 по Gig 0/1, имеет IP-адрес 10.1.1.2, а сосед соединен с интерфейсом маршрутизатора OFF1 по Gig0/2 имеет IP-адрес 10.1.1.6.

Вывод из команды show ip eigrp topology [all-links] на маршрутизаторе OFF1:

show ip eigrp topology [all-links] на маршрутизаторе OFF1

Одной из наиболее распространенных команд, используемых для проверки EIGRP и устранения неполадок, является show ip eigrp topology, как показано в приведенном выше примере. Выходные данные этой команды показывают маршруты-преемники (то есть предпочтительные маршруты) и возможные маршруты-преемники (то есть резервные маршруты), известные процессу маршрутизации EIGRP. Пожалуйста, имейте в виду, что появление маршрута в таблице топологии EIGRP не гарантирует его присутствия в таблице IP-маршрутизации маршрутизатора. В частности, маршруты-преемники, присутствующие в таблице топологии EIGRP, являются только кандидатами для попадания в таблицу IP-маршрутизации маршрутизатора. Например, маршрутизатор может обладать более достоверной информацией о маршрутизации для сети, такой как статически настроенный маршрут с административным расстоянием 1. Если EIGRP действительно является наиболее правдоподобным источником маршрутизации для конкретной сети, то эта сеть будет введена в таблицу IP-маршрутизации маршрутизатора. Кроме того, обратите внимание, как добавление аргумента all-links в приведенном выше примере показывает еще больше маршрутов (они выделены). Разница заключается в том, что аргумент all-links предписывает команде show ip eigrp topology отображать все изученные EIGRP маршруты, даже если некоторые из маршрутов не считаются маршрутами-преемниками или возможными маршрутами-преемниками.

Теперь, когда вы знаете базу, почитайте про соседство и метрики EIGRP

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В начале 2000-х, когда идея мессенджеров только формировалась, расширяемый протокол обмена сообщениями и информацией о присутств
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетев
img
Система доменных имен (DNS – Domain Name System) обеспечивает сетевую коммуникацию. DNS может показаться какой-то невидимой сило
img
Wi-Fi это технология, которая использует радиоволны для отправки и получения сигналов от находящихся поблизости устройств, чтобы
img
BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный для обмена информацией о маршрутизации и доступно
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до се
21 ноября
20:00
Бесплатный вебинар
Введение в Docker