Курс по сетевым технологиям
A A A

 

Принцип работы протокола 

EIGRP является разработкой компании Cisco. Он сочетает в себе все качества дистанционно-векторных и SPF протоколов. Поэтому является гибридным протоколом, однако все же относят его к дистанционно-векторным протоколам. 

Принцип работы такой как и у OSPF и RIP, однако OSPF учитывает только скорость канала, в то время как EIGRP учитывает следующие параметры для расчета оптимального маршрута: 

  • скорость канала
  • суммарную задержку на всем пути
  • загруженность канала
  • надежность маршрута
  • путь с максимальным объемом MTU

 

Однако на практике используются только пропускная способность и задержка. Итак рассмотрим по порядку как работает протокол. 

После включения маршрутизаторы рассылают Hello пакеты по адресу 224.0.0.10. В Ethernet сети интервал рассылки равен 5с, в сетях NBMA - 60 с. Получив пакет Hello маршрутизаторы заносят маршрутизатор-отправитель в таблицу соседей (Neighbour table) при условии, что: 

  • оба маршрутизатора относятся к одной автономной системе
  • аутентификация настроена правильно
  • коэффициенты К имеют одинаковые значения (об этом подробнее ниже)

 

 

С таймером Hello также связан таймер Hold. который имеет утроенное значение (то есть 15 с для Ethernet сетей и 180 с для NBMA). В течении данного времени маршрутизатор ждет Hello от соседа. Если не получает, то помечает его недостижимым.

 

Затем соседи отправляют друг другу свои таблицы маршрутизации (как в RIP) в пакетах Update по unicast адресам. Во всех остальных случаях пакеты Update отправляются по multicast адресам. Каждый пакет Update должен быть подтвержден пакетом Ack (Acknowledgment). Все пакеты Ack всегда отправляется по unicast адресу, то  есть конкретному получателю. Информация, полученная в пакете Update заносится в топологическую таблицу (Topology table):

 


После этого в работу включается алгоритм DUAL (Diffusing Update Algorithm), который рассчитывает оптимальный маршрут и,  если возможно, то и запасной, чтобы сразу переключиться в случае отказа основного. Вычисленные маршруты заносятся в таблицу маршрутизации (Routing table).

 

В случае отказа интерфейса или соседнего маршрутизатора маршрутизатор может отправить multicast  пакет Query c запросом дополнительной информации. Полученный Query пакет должен быть подтвержден пакетом Ack. На запрос Query всегда высылается unicast пакет Reply, который также подтверждается Ack:

 

 


Итак, EIGRP использует следующие пакеты: 

  • Hello - для установления и поддержания соседства
  • Update - рассылка таблицы маршрутизации
  • Query - запрос дополнительной информации
  • Reply - ответ на Query
  • Ack - подтверждение приема Update, Query, Reply

 

EIGRP не имеет промежуточных состояний как OSPF. Кроме того, он также не выбирает выделенного маршрутизатора.

 

 

Вычисление метрики и влияние на нее (Коэффициенты) 

Маршрутизатор вычисляет метрику по формуле:

метрика = [К1*полоса пропускания + (К2*полоса пропускания/(256 - загруженность) + К3*задержка] * [K5/(надежность + K4)]

 

По умолчанию коэффициенты К имеют следующие значения: К1=К3 = 1, К2=К4=К5=0. 

Кстати, значения коэффициентов передаются в Hello и должны у соседей совпадать, иначе состояние смежности не будет установлено. 

С учетом вышеуказанных коэффициентов формула принимает вид:

метрика = полоса пропускания + задержка

 

В свою очередь полоса пропускания вычисляется так:

полоса пропускания = (10000000/минимальная полоса пропускания на всем маршруте) * 256 

задержка = суммарная задержка на всем маршруте * 256

 

IOS знает значения задержки и полосы пропускания для каждого типа интерфейса. Однако эти значения можно изменить.

В расчетах задержка измеряется в десятках микросекунд, в то время как в настройках интерфейса указывается только в единицах микросекунд. Например, задержка интерфейса составляет 100 микросекунд, но для расчета используем 100/10 = 10.

 

Например, расчет маршрута  A→ B → C → D маршрутизатор А проводит так:





задержка = (задержка_AB + задержка_BC + задержка_CD) * 256

пропускная способность = (10000000/пропускная способность_AB) * 256 

метрика = пропускная способность + задержка

 

На практике, конечно же, не придется вручную считать метрику. Данная информация представлена лишь в ознакомительных целях. Однако мы можем управлять результатами расчета, меняя значения полосы пропускания и задержки.

Теперь изучим некоторые термины DUAL .чтобы понять таблицы маршрутизации и смежности:

  • Advertised distance (AD) - стоимость маршрута, объявляемая соседним маршрутизатором до сети назначения. Иными словами это просто метрика маршрута от соседнего маршрутизатора до сети назначения.
  • Feasible distance (FD) - стоимость маршрута от локального маршрутизатора до сети назначения. Иными словами это метрика маршрута от локального маршрутизатора до сети назначения.
  • Successor - оптимальный маршрут.
  • Feasible successor - резервный маршрут.

 

Для чего они необходимы?

Для выбора подходящих оптимального и резервного маршрутов. Например, маршрутизатор В до сети ISP имеет метрику 100. Именно эту метрику он и передает маршрутизатору А в качестве Advertised Distance (AD).

Маршрутизатор А уже рассчитывает свою метрику до сети ISP.  

Если до сети ISP существует более одного маршрута ( а в нашем случае они есть), то сначала сравниваются все вычисленные метрики. Маршрут с наименьшей метрикой попадает в таблицу маршрутизации и называется Successor. Затем сравниваются AD от соседних маршрутизаторов и чье AD окажется наименьшим, тот становится Feasible successor. 

В таблицу маршрутизации могут попасть несколько маршрутов для балансировки нагрузки, если их метрика совпадает либо соответствует установленному диапазону (об этом подробнее в следующем уроке). 

Резервный маршрут в таблицу маршрутизации не попадает, однако его можно увидеть в топологической таблице. Чтобы стать резервным маршрутом его AD должна быть меньше FD.