Характеристики протокола:
- RIPv1 и RIPv2 используют UDP порт 520.
- RIPng использует UDP порт 521.
- Для передачи сообщений RIPv1 в адресе получателя используется широковещательный адрес 255.255.255.255, а RIPv2 - мультикаст адрес 224.0.0.9.
Таймеры протокола
- Update timer - частота отправки обновлений протокола, по истечению таймера отправляется обновление. По умолчанию равен 30 секундам.
- Invalid timer - Если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как Invalid, то есть с метрикой 16. По умолчанию таймер равен 180 секундам.
- Flush timer (garbage collection timer) - По умолчанию таймер равен 240 секундам, на 60 больше чем invalid timer. Если данный таймер истечет до прихода обновлений о маршруте, маршрут будет исключен из таблицы маршрутизации. Если маршрут удален из таблицы маршрутизации то, соответственно, удаляются и остальные таймеры, которые ему соответствовали.
- Holddown timer - Запуск таймера произойдет после того, как маршрут был помечен как не достижимый. До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли и по этому маршруту передается трафик. По умолчанию равен 180 секундам. Таймер не является стандартным, добавлен в реализации Cisco.
Описание работы протокола
Когда маршрутизатор отправляет обновление RIP, он добавляет к метрике маршрута, которую он использует, 1 и отправляет соседу. Сосед получает обновление, в котором указано какую метрику для полученного маршрута ему использовать.
Маршрутизатор отправляет каждые 30 секунд все известные ему маршруты соседним маршрутизаторам. Но, кроме этого, для предотвращения петель и для улучшения времени сходимости, используются дополнительные механизмы:
- Split horizon - если маршрут достижим через определенный интерфейс, то в обновление, которое отправляется через этот интерфейс не включается этот маршрут;
- Triggered update - обновления отправляются сразу при изменении маршрута, вместо того чтобы ожидать когда истечет Update timer;
- Route poisoning - это принудительное удаление маршрута и перевод в состояние удержания, применяется для борьбы с маршрутными петлями.
- Poison reverse - Маршрут помечается, как не достижимый, то есть с метрикой 16 и отправляется в обновлениях.
В обновлениях RIPv2 могут передаваться до 25 сетей.
Базовые настройки
router(conf)# router rip
router(conf-router)# version 2
router(conf-router)# network <классовая сеть>
RIPv2 бесклассовый протокол маршрутизации, но в команде network может быть указана только классовая сеть. Даже если указать сеть с маской, которая не соответствует классовой, RIP автоматически преобразует её в классовую сеть. Команда network указывает только на каких интерфейсах включить RIP, а фактическая сеть и маска будет взята из настроек интерфейса.
Включение RIP для классовой сети (команда network) значит включение его на всех интерфейсах, которые являются частью этой сети. А включение RIP на интерфейсе означает, что маршрутизатор:
- отправляет с него обновления RIP,
- слушает обновления RIP на 520 порту,
- анонсирует сеть интерфейса соседям.
Для того чтобы отключить эти функции на интерфейсе:
Функция
Как отключить
Отправление обновлений
Указать интерфейс как passive
Ожидание обновлений
Фильтровать входящие обновления с помощью distribute list
Анонсирование сети
Фильтровать исходящие обновления с помощью distribute list на остальных интерфейсах (указать сеть интересующего интерфейса)
Особенности анонсирования сетей
- RIP по умолчанию выполняет суммирование маршрутов на границах сетей.
- RIP не анонсирует суперсети (сети, у которых маска меньше классовой, например, 192.168.0.0/20)
- RIP анонсирует маршруты к хостам (маска 32)