8. EIGRP. RTP

Reliable Transport Protocol

  • Транспортный протокол для EIGRP, вложение в IP - 88

    • Гарантированная доставка для важной информации

    • Быстрая доставка для служебных сообщений

  • Активно использует мультикаст

    • Требует поддержку мультикаста или его эмуляцию на канальном уровне

    • Некоторые сообщения могут доставляться юникастом

    • Использует адреса 224.0.0.10 и FF02::A

Типы пакетов и сообщений RTP

  • Request и Probe в актуальной версии RFC не используются

Гарантированная доставка

  • EIGRP использует схему гарантированной доставки, похожую на TCP

  • Sequence Number

    • Глобальное для роутера значение, согласуется при соседстве, начинается с 0

    • Увеличивается на 1 при отправке любого пакета с гарантией доставки

    • 0 для пакетов, которым не требуется гарантия доставки

  • Acknowledge Number

    • Подтверждение любым юникастовым пакетом, в т.ч. пустым Hello (ACK)

    • Ненулевое поле AN, равное SN полученного пакета, подтверждает доставку

  • Надежно доставляются: Update, Query, SIA-Query, SIA-Reply

Использование мультикаста

  • EIGRP использует мультикаст там, где это возможно

    • Hello - всегда мультикаст (исключая ACK и static neighbors)

    • Update - мультикаст планово, юникаст для ретрансмитов и 3-way handshake

    • Query - мультикаст планово, юникаст для ретрансмитов, P2P и static neighbor

  • Для пакетов, требующих подтверждения, EIGRP использует схему:

    • Отправляет пакет мультикастом, если есть получатели

    • Ждет все подтверждения в течение RTO (Retransmission Timeout, зависит от SRTT)

    • Отправляет "задолженности" юникастом не подтвердившим соседям

    • До получения всех подтверждений от всех соседей последующие мультикастовые сообщения отправляются в режиме Conditional Receive ("пакет только для тех, кто получил все предыдущие пакеты")

  • Можно отключить использование мультикаста на интерфейсе (настроить соседа как статического, но тогда непрописанные соседи в канале, если они есть, отвалятся)

Установление соседства

  • Задачи:

    • Проверка непротиворечивости настройки

    • Проверка двусторонней связности

    • Синхронизация Sequence Number

    • Форсирование отправки таблицы топологии

  • Используются пакеты Hello и Null Update

    • Update без содержимого

    • Флаг Init

  • Проверяется совпадение параметров в Hello

    • AS Number

    • K-Values

Таймеры

  • В EIGRP для контроля соседства используется два таймера

    • Оба таймера контролирует отправитель

    • Hello Timer регулирует частоту отправки Hello на отправителе

    • Hold Timer указывает получателю время ожидания следующего Hello

  • Рекомендации

    • Желательно, чтобы таймеры совпадали на соседних устройствах

    • Желательно, чтобы Hold Timer был больше Hello Timer в 3 раза

  • Если в течение Hold Timer получатель не получит хотя бы одно Hello

    • Отправитель удаляется из базы соседей получателя

    • Получатель отправляет сообщение Peer Termination (Kn=255)

Анонс маршрутов

  • Задачи

    • Синхронизация таблицы топологии

  • Используются пакеты Update

    • Несколько префиксов в одном Update

    • Первично отправляются мультикастом

    • При отсутствии подтверждения ретрансмит до конкретного соседа осуществляется юникастом (не более 16 раз при неответе соседа)

  • Анонсы принимаются только от соседей

Таблица топологии

  • Все анонсы от соседей попадают в таблицу топологии

    • Feasible Successor: сосед, приславший прошедший FC маршрут

    • Non-Successor: сосед, приславший не прошедший FC маршрут

  • Прошедшие FC маршруты могут отправится в RIB

    • Все такие маршруты не содержат петли

    • Обычно в RIB отправляются маршруты с наименьшей метрикой, Successor

  • Префиксы в таблице топологии имеют состояния:

    • Passive - есть хотя бы один Feasible Successor, все в порядке

    • Active - нет ни одного Feasible Successor, но есть хотя бы один Non-Successor

  • Feasible Distance - наименьшая метрика за время нахождения маршрута в пассивном состоянии

Diffusing Updates

  • EIGRP рассылает информацию об изменениях в сети всем соседям

    • Соседи передают ее дальше, все роутеры в AS получат все изменения

  • DUAL использует два типа уведомлений:

    • Update - уведомляет о существовании пассивного префикса

    • Query - уведомляет о переходе префикса в активное состояние

DUAL Query/Reply

  • EIGRP использует Query/Reply для проверки на петлю Non-Successor

    • Один пакет может содержать запрос\ответ на несколько префиксов

    • Префиксы в Query отправляются с бесконечной метрикой (delay=MAXINT)

    • В Reply содержится актуальная метрика (возможно, бесконечная)

  • При получении Query:

    • В пассивном состоянии от не-Successor'а отправляется Reply

    • В пассивном состоянии от Successor'a при наличии других Feasible Successor'ов: Successor меняется, метрика обновляется, отправляется Reply

    • В активном состоянии от не-Successor'a: немедленно отправляется Reply

    • От Successor'a при отсутствии других Feasible Successor'ов: префикс становится активным, всем "достижимым" соседям рассылаются Query

      • Когда от всех соседей получены Reply, итоговый Reply отправляется соседу, а префикс переходит в пассивное состояние (возможно с бесконечной метрикой)

DUAL Stuck-in-Active

  • Если префикс перешел в активное состояние, EIGRP переводит его обратно в пассивное только после получения Reply от всех соседей

    • Если кто-то из соседей не отвечает на наш Query, мы не отвечаем Successor'у

    • Не понятно, кто тормозит процесс

  • SIA-Query позволяет немедленно "попинать" соседа

    • SIA-Reply подтверждает состояние Active, продляет Active Timer у префикса

    • SIA Time Interval =1/2 Active Timer (таймер равен 180 s), Cisco допускает до трех "продлений"

Stub-маршрутизаторы

  • Stub-маршрутизатор - "тупиковый"

    • Он не посылает соседям транзитные маршруты

    • Соседи не посылают ему Query

  • Удобное решение для филиальных подключений

    • Эффективно используется полоса WAN-каналов

    • Минимизируется проще, чем агрегация префиксов

Внутренние и внешние маршруты

  • Маршруты в EIGRP бывают двух типов:

    • Internal: все транзитные интерфейсы по маршруту принадлежат "нашей" AS

    • External: хотя бы один интерфейс по маршруту не входит в "нашу" AS

  • Все маршруты передаются с указанием атрибутов

    • IP-адрес сети и маска

    • Next Hop Forwarding Address

    • Вектор метрик

  • Для внешних маршрутов передаются дополнительные атрибуты

    • Router ID - уникальный идентификатор ASBR

    • External AS Number - идентификатор источника (ASN для EIGRP, PID для OSPF)

    • Administrative Tag - произвольная метка маршрута

    • External Protocol/External Protocol Metric - тип и метрика маршрута-источника

Таймеры

  • Hello Interval

    • 5 секунд на быстрых интерфейсах

    • 60 секунд на медленных интерфейсах

  • Hold Timer

    • Hello x 3

  • Active Timer

    • 90 секунд

Аутентификация

  • EIGRP поддерживает проверку подлинности входящих пакетов

    • При настроенной функции неподписанные пакеты игнорируются

  • Варианты аутентификации:

    • Отсутствует

    • MD5

    • SHA256

Last updated