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