Протокол маршрутизации RIP

Протокол RIP является одним из первых, которые были использованы в информационно - вычислительных сетях вообще и в сети Internet - в частности. Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей (алгоритм Бэлмана-Форда). Протокол разработан в университете Калифорнии (Беркли), базируется на разработках фирмы Xerox и реализует те же принципы, что и программа маршрутизации «routed», используемая в ОС Unix (4BSD). Последняя версия протокола RIP Version 2 [RFC 2453, 1721, 1722, 1723, 1724].

Маршрут здесь характеризуется вектором расстояния до места назначения. Предполагается, что каждый маршрутизатор является отправной точкой нескольких маршрутов до сетей, с которыми он связан. Каждый маршрутизатор, на котором запущен протокол RIP, содержит таблицу маршрутизации. Данная таблица содержит по одной записи для каждого места назначения, которое доступно через систему, на которой запущен протокол RIP. Каждая запись содержит, по крайней мере, следующие поля:

• IP-адрес места назначения.

• Маска подсети места назначения.

• IP-адрес ближайшего шлюза по пути до места назначения. Если узел назначения находится в одной из непосредственно подключенных сетей, то информация в данном поле является необязательной.

• Метрика, которая представляет конечную стоимость доставки датаграммы от текущего маршрутизатора до места назначения. Данная метрика является суммой стоимостей, назначенных для каждой из сетей, через которые пройдет датаграмма. Метрика является целым числом от 1 до 15 включительно.

• Флаг, указывающий, что информация о маршруте недавно изменилась;

• Различные таймеры, связанные с маршрутом.

Записи о подключенных сетях устанавливаются маршрутизатором, используя информацию, собранную средствами, которые протокол RIP не регламентирует. Системный администратор также может добавлять дополнительные записи о маршрутах. Данные записи являются «статическими маршрутами».

Первым двум полям записи мы обязаны появлению термина вектор расстояния (место назначение - направление; метрика - модуль вектора). Периодически (раз в 30 сек.) каждый маршрутизатор посылает широковещательно (мультикастово в RIP-2) копию своей таблицы маршрутизации всем соседям-маршрутизаторам, с которыми связан непосредственно. Маршрутизатор-получатель просматривает таблицу. Если в таблице присутствует новый путь или сообщение о более коротком маршруте, или произошли изменения длин пути, эти изменения фиксируются получателем в своей маршрутной таблице.

Протокол RIP должен обрабатывать два типа ошибок:

1. Бесконечный счетчик. Медленное распространение маршрутной информации по сети создает проблемы при динамичном изменении маршрутной ситуации (система не поспевает за изменениями). Малое предельное значение метрики улучшает сходимость, но не устраняет проблему. Проблема решается с помощью алгоритма Split Horizon.

2. Циклические маршруты. Проблема решается с помощью механизма Triggered Up-date.

Несоответствие маршрутной таблицы реальной ситуации типично не только для RIP, но характерно для всех протоколов, базирующихся на векторе расстояния, где информационные сообщения актуализации несут в себе только пары кодов: адрес места назначение и расстояние до него. Но все перечисленные методы и некоторые другие известные алгоритмы, решая одну проблему, часто вносят другие. Многие из этих методов могут при определенных условиях вызвать лавину широковещательных сообщений, что также дезорганизует сеть. Именно малая скорость установления маршрутов в RIP (и других протоколах, ориентированных на вектор расстояния) и является причиной их постепенного вытеснения другими протоколами.

В RIP сообщения инкапсулируются в udp-дейтограммы, при этом передача осуществляется через порт 520. В качестве метрики RIP использует число шагов до цели. Если между отправителем и приемником расположено три маршрутизатора, то считается, что между ними 4 шага. Такой вид метрики не учитывает различий в пропускной способности или загруженности отдельных сегментов сети. Применение вектора расстояния не может гарантировать оптимальность выбора маршрута, ведь, например, два шага по сегментам сети Ethernet обеспечат большую пропускную способность, чем один шаг через последовательный канал на основе интерфейса RS-232.

Маршрут по умолчанию имеет адрес 0.0.0.0. Каждому маршруту ставится в соответствие таймер тайм-аута и "сборщика мусора". Тайм-аут-таймер сбрасывается каждый раз, когда маршрут инициализируется или корректируется. Если со времени последней коррекции прошло 3 минуты или получено сообщение о том, что вектор расстояния равен 16, маршрут считается закрытым. Но запись о нем не стирается, пока не истечет время "уборки мусора" (2 мин). При появлении эквивалентного маршрута переключения на него не происходит, таким образом, блокируется возможность осцилляции между двумя или более равноценными маршрутами

При реализации RIP можно выделить следующие режимы:

• Инициализация, определение всех "живых" интерфейсов путем посылки запросов, получение таблиц маршрутизации от других маршрутизаторов. Часто используются широковещательные запросы.

• Получен запрос. В зависимости от типа запроса высылается адресату полная таблица маршрутизации, или проводится индивидуальная обработка.

• Получен отклик. Проводится обновление таблицы маршрутизации (удаление, исправление, добавление).

• Регулярные обновления. Каждые 30 секунд вся или часть таблицы маршрутизации посылается всем соседним маршрутизаторам. Могут посылаться и специальные запросы при локальном изменении таблицы.

5.1. Область применения протокола, достоинства, недостатки

Протокол RIP является внутридоменным алгоритмом для работы в современных (в плане размера) автономных областях. Он не предназначен для использования в более сложных по архитектуре сетях. С появлением протоколов OSPF и IS-IS начало бытовать мнение о том, что RIP устарел. Несмотря на то, что новые внутридоменные протоколы превосходят RIP по большинству позиций, данный протокол все-таки имеет ряд преимуществ. В основном они проявляются при его использовании в сетях малого размера. При этом RIP налагает небольшие расходы в плане используемой пропускной способности канала и времени, используемого для конфигурации и управления. Протокол RIP также легок для внедрения, особенно по сравнению с новыми внутридоменными протоколами.

Протокол RIP обладает рядом специфических ограничений:

• Применение протокола ограничено сетями, в которых максимальный сегмент (диаметр сети) составляет 15 хопов.

• Протокол зависит от механизма "счет до бесконечности" для решения необычных ситуаций. Таким образом, если система состоит из нескольких сотен подсетей, и при этом возникает зацикливание процесса маршрутизации (который вовлекает все подсети), тогда решение зацикливания потребует либо много времени (если частота маршрутных пакетов обновления ограничена), либо пропускной полосы (если обновления рассылаются всякий раз, когда происходят изменения в сети).

• Протокол использует фиксированные метрики для сравнения альтернативных маршрутов. Это не подходит для случаев, когда маршруты необходимо выбирать, основываясь на параметрах реального времени - измеряемая задержка, надежность или загруженность канала.

• Число шагов важный, но не единственный параметр маршрута, да и 15 шагов не предел для современных сетей.

5.2. Классификация

Протокол RIP является:

• динамическим;

• одномаршрутным;

• одноуровневым;

• с интеллектом в маршрутизаторе;

• внутридоменным;

• алгоритмом вектора расстояний.