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