6. RIP

Описание

  • Стандартный открытый DV-протокол

    • Алгоритм Беллмана-Форда, 1969 год

    • Разрабатывался под ARPANET, позднее был адаптирован под IP

  • Рассылает пары "маршрут+метрика" каждые 30 секунд

  • Метрика - количество каналов до удаленной сети (не более 15)

  • Балансировка до 6 маршрутов равной стоимости

  • Очень прост в реализации

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

    • Кратковременно допускает возникновении петель маршрутизации

Сравнение версий RIP

  • Все версии рассылают маршруты из базы по таймеру

RIPv1

RIPv2

RIPng

Стандарт

RFC 1058

RFC 2453

RFC 2080

Протокол

Классовый IPv4

Безклассовый IPv4

IPv6

Транспорт

UDP 255.255.255.255:520

UDP 224.0.0.9:520

UDP [FF02::9]:521

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

нет

есть

есть

Next-Hop

нет

есть

есть

Метрика RIP

  • Метрика - Hop Count, не зависит от скоростей каналов

  • Из соседских анонсов выбирается маршрут с наименьшей метрикой

Split Horizon

  • Предотвращение временных петель при перестроении топологии

    • Маршрут не анонсируется через тот же интерфейс, где он был получен

    • Решает проблему "подсчета до бесконечности" (бесконечность в RIP = 16)

Route Poisoning

  • Механизм уведомления о недоступности маршрута

  • Маршрут отправляется с метрикой "бесконечность" (бесконечность=16)

Poison Reverse

  • Механизмы предотвращения петли при отключенном Split Horizon

  • Маршрут отправляется с метрикой "бесконечность" обратно в тот же интерфейс, через который был получен

  • Аналог Split Horizon

RIP в Cisco IOS

  • Административное расстояние - 120

  • Рассылка сообщений по таймеру раз в 30 секунд

  • Рассылка сообщений по факту возникновения смены топологии

    • Уведомление соседям о появлении нового маршрута

    • Включен Route Poisoning

    • Включен Split Horizon (в Cisco объединен с Poison Reverse)

  • По умолчанию работает RIPv1

  • В RIPv2 по умолчанию работает автоматическая агрегация по границам классовых сетей

Включение RIP на интерфейсе

  • Команда network в RIP задает классовую сеть для отбора интерфейсов, IP-адреса на которых попадают в эту сеть

    • Начинается рассылка анонсов

    • Приходящие анонсы обрабатываются роутером

    • Все connected маршруты с этих интерфейсов попадают в анонс

Passive-Interface

  • RIP включает в анонс все connected-сети на своих интерфейсах

    • Приходится включать его на клиентских интерфейсах

    • Отправка анонсов в эти сети нежелательна

  • Выход - пассивное участие RIP на интерфейсе

    • Сеть с интерфейса по-прежнему анонсируется

    • Анонсы не отсылаются (но принимаются, поэтому блокируем по ACL)

  • Если таких интерфейсов много, то можно настроить passive поведение по умолчанию и исключить нужные интерфейсы:

Отключение классового поведения

  • RIP по-умолчанию отправляет анонсы v1 и принимает любые анонсы

  • После переключения в v2 работает автоматическая агрегация на границе классовых сетей, отключаем:

Диагностика RIP

  • Убедится, что RIP включен на устройстве

  • Вывести только маршруты RIP

Включение RIPng

  • На интерфейсе включается только в явном виде

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

Диагностика RIPng

  • Убедится, что RIPng включен на устройстве

  • Вывести только маршруты RIPng

Default-Information Originate

  • Можно включить в анонс RIP маршрут по умолчанию из RIB и только если он есть в RIB

  • Для IPv4 задается в контексте процесса RIP

  • Для IPv6 задается в контексте интерфейса, есть две опции:

    • default-information originate добавляет в анонс маршрут по умолчанию

    • default-information originate only отправляет только маршрут по умолчанию (работает только в RIPng)

Агрегация маршрутов RIP

  • Отсылается только агрегатный маршрут, но не его компоненты

    • Хотя бы один компонент должен быть в RIB

  • Метрика агрегата - наименьшая метрика его компонентов

  • В RIB создается виртуальный маршрут на интерфейс Null0

    • DV-протоколы не могут анонсировать маршруты, которых нет в RIB

Таймеры RIP

  • RIP основан на таймерах

  • Flush и Invalid запускаются одновременно

Таймер

Значение

Описание

Update

30

Частота отправки анонсов на интерфейсах

Invalid

180

Время с последнего принятого анонса, после которого маршрут переходит в HoldDown

Holddown

180

Интервал, в течение которого маршрут признается глобального недоступным: сеть анонсируется с бесконечной метрикой, маршрутизатор не принимает анонсы этой сети, но остается в RIB

Flush

240

Время с последнего принятого анонса, после которого маршрут удаляется из RIB

База маршрутов RIP

  • Можно отобразить все маршруты в базе RIP и их состояние

Дебаг RIP

Редистрибуция

  • Процесс импорта маршрутов из RIB в таблицу топологии RIP

    • Connected

    • Static

    • Динамические (BGP/EIGRP/OSPF/IS-IS)

  • Каждому импортируемому префиксу нужно указать seed metric

    • Можно назначить метрику явно, неявно или через route-map

    • Префиксы без назначенной метрики получают метрику infinity

Route-map при редистрибуции RIP

  • С помощью Route-map можно отобрать префиксы для редистрибуции или назначить специальные метрики

Distribute-list

  • Позволяет фильтровать:

    • отправляемые и принимаемые префиксы (в т. ч. на уровне интерфейса)

    • импорт маршрутов других протоколов из RIB при редистрибуции

Манипуляции с AD

  • Можно задать AD префиксам RIP в RIB

    • по-умолчанию 120

Last updated