Содержание

Описание

RIP (Routing Information Protocol - протокол маршрутной информации) - протокол динамической маршрутизации, в основе которого лежит алгоритм Беллмана-Форда. Протокол обладает следующими характеристиками:

Алгоритм работы RIP

Рассмотрим пример распространения маршрутной информации в сети с использованием протокола RIP. Для этого рассмотрим следующую схему (рис. 1):

На маршрутизаторах необходимо настроить протокол RIP. Сеть WAN-1 является внешней, т.е. маршрут к этой сети должен быть добавлен в домен RIP как внешний.

Рисунок 1 - Схема сети для пояснения принципов работы RIP

В рассматриваемом примере сосредоточимся на распространении маршрутной информации от маршрутизатора R1, маршруты от других устройств будут распространяться аналогично.

Алгоритм работы протокола RIP в рассматриваемой схеме выглядит следующим образом:

  1. Запуск протокола RIP.
  2. Рассылка маршрутной информации.
  3. Добавление маршрутов в RIB.
  4. Добавление маршрутов в FIB.
  5. Контроль за таймерами.
  6. Контроль за изменениями в сети.

Запуск протокола RIP

На данном этапе на маршрутизаторах должен быть активирован протокол RIP и определён список интерфейсов, которые будут участвовать в работе RIP.

Определение списка выполняется с использованием команды "network A.B.C.D/M". Все сетевые интерфейсы, IP-адреса которых принадлежат указанному диапазону, участвуют в работе протокола RIP. Это значит, что с этих интерфейсов будет выполняться рассылка маршрутной информации, и информация о сетях, связанных с этими интерфейсами, будет передана другим маршрутизаторам.

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

Будем считать, что на маршрутизаторе R1 выполнены команды "network 10.10.13.0/30" и "network 10.10.12.0/30". В этом случае, маршрутизатор будет считать, что протокол RIP запущен на интерфейсах eth2 и eth3.

Рассылка маршрутной информации

Рассылка маршрутной информации о сетях, подключенных к маршрутизатору R1, выполняется в следующей последовательности:

Рисунок 2а - Рассылка маршрутной информации маршрутизатором R1

Рисунок 2б - Рассылка маршрутной информации маршрутизаторами R2 и R3

Добавление маршрутов в RIB

После обмена служебными сообщениями, маршрутизаторы добавляют полученные маршруты в RIB. При этом часть маршрутов отфильтровывается. При фильтрации маршрутной информации устройства руководствуются следующими принципами:

Будем считать, что маршрутизатор R4 получил служебное сообщение от маршрутизатора R2 раньше, чем от R3. Тогда, в соответствии с представленными принципами, маршрутизаторы добавляют в RIB следующую маршрутную информацию:

Маршрутизатор R2
Сеть назначенияМетрикаШлюз
10.10.12.0/301-
10.10.24.0/301-
10.10.13.0/30210.10.12.1
192.168.1.0/24210.10.12.1
Маршрутизатор R3
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
10.10.34.0/301-
10.10.12.0/30210.10.13.1
192.168.1.0/24210.10.13.1
Маршрутизатор R4
Сеть назначенияМетрикаШлюз
10.10.24.0/301-
10.10.34.0/301-
10.10.12.0/30210.10.24.1
10.10.13.0/30210.10.34.1
192.168.1.0/24310.10.24.1

Добавление маршрутов в FIB

Экспорт маршрутов из RIB в FIB сопровождается анализом значений distance, закреплёнными за источником маршрутов. За протоколом RIP закреплено значение distance = 120, поэтому часть из маршрутов, добавленных в RIB на предыдущем этапе будет отфильтрована. В частности, все маршруты с метрикой 1 будут отброшены, т.к. это маршруты к непосредственно присоединённым сетям, для которых используется значение distance = 0.

Контроль за таймерами

Рассылка маршрутной информации, рассмотренная выше, циклически повторяется. Период повторения равен величине update timer. По умолчанию update timer равен 30 секундам. Таким образом, каждые 30 секунд выполняется рассылка всей маршрутной информации в сети.

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

После того, как маршрут, полученный с помощью протокола RIP, помещён в RIB, запускается timeout timer, равный по умолчанию 180 секундам. Если в течении 180 секунд маршрутизатор не получает обновление маршрута, то маршрут будет помечен как недоступный, т.е. значение метрики такого маршрута устанавливается равным 16. Маршрутизатор не может использовать такой маршрут для передачи данных.

Обмен служебными данными RIP не является гарантированным, поэтому значение timeout timer должно быть больше, чем update timer. В противном случае, возможны ложные срабатывания и определение маршрутов как недоступных.

После добавления маршрута в RIB, помимо timeout timer, запускается garbage timer, значение которого по умолчанию равно 240 секунд. Если в течение 240 секунд маршрутизатор не получает обновление маршрутной информации, то такой маршрут будет удалён из таблицы маршрутизации.

Обновление маршрутной информации сбрасывает timeout timer и garbage timer в исходные значения.

Контроль за изменениями в сети

RIP является протоколом динамической маршрутизации, поэтому должен адаптироваться к изменениям в сети. Среди изменений можно выделить три сценария:

Появление нового канала связи

Добавим в рассматриваемую схему новый канал связи между маршрутизатором R1 и WAN-2 (рис. 3а). В этом случае, сеть WAN-2 будет внешней по отношению к протоколу RIP, а значит маршрут к этой сети будет распространяться аналогично маршруту к сети WAN-1: маршрутизатор R1 будет анонсировать эту сеть с метрикой 1, R2 и R3 инкрементируют значение метрики и передадут маршрут R4. Алгоритм действий при появлении новых маршрутизаторов, включённых в домен RIP, будет аналогичным.

Рисунок 3а - Пример рассылки служебных сообщений при появлении нового канала связи

Выход из строя канала связи

Рассмотрим сценарий, в котором вышел из строя канал связи между маршрутизаторами R1 и R3 (рис. 3б):

Рисунок 3б - Пример рассылки служебных сообщений при выходе из строя канала связи

Время, в течение которого распространяется обновлённая информация зависит от размеров сети и зависит от значения update timer. Учитывая, что максимальный размер сети - 16 хопов, а update timer по умолчанию равен 30 секундам, то в худшем сценарии время распространения информации о недоступности канала связи будет равно 15*30 = 450 секунд.

Выход из строя маршрутизатора

Дополним схему двумя коммутаторами SW1 и SW2 (рис. 3в) и рассмотрим сценарий выхода из строя маршрутизатора R1.

При выходе из строя маршрутизатора R1, он не успевает отправить обновление маршрутной информации о своей недоступности маршрутизаторам R2 и R3. Кроме того, R2 и R3 не узнают о недоступности R1, поскольку они непосредственно подключены к коммутаторам SW1 и SW2, которые не поддерживают работу протокола RIP. В этом случае, маршрутизаторы сети будут считать R1 доступным на протяжении timeout timer и будут использовать маршруты, связанные с R1. В частности, в таблице маршрутизации всех маршрутизаторов будут активны маршруты к сетям 10.10.12.0/30, 10.10.13.0/30 и 192.168.1.0/24.

Рисунок 3в - Пример рассылки сообщений при выходе из строя маршрутизатора R1

Возникновение ложных маршрутов

Упростим рассматриваемую схему, оставив два маршрутизатора R1 и R3 (рис. 4а). Будем считать, что маршрутизаторы обменялись маршрутной информацией и таблицы маршрутизации устройств находятся в актуальном состоянии.

Рисунок 4а - Схема сети для сценария возникновения ложных маршрутов

Маршрутизатор R1
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/241-
Маршрутизатор R3
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/24210.10.13.1

Пусть канал связи между маршрутизатором R1 и внешней сетью WAN-1 вышел из строя (рис. 4б). Маршрутизатор R1 устанавливает для такого маршрута метрику равную 16, однако не формирует служебное сообщение с обновлённой маршрутной информацией, т.к. значение update timer равно 25 секунд. В то же время update timer на маршрутизаторе R3 равен 3 секундам.

Рисунок 4б - Возникновение неисправности с каналом связи R1 - WAN-1

Маршрутизатор R1
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/2416-
Маршрутизатор R3
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/24210.10.13.1

Через 3 секунды после выхода из строя канала связи R1 - WAN-1 истекает время update timer маршрутизатора R3, поэтому R3 отправляет обновление маршрутной информации маршрутизатору R1 (рис. 4в). Это обновление содержит информацию о сетях 10.10.13.0/30 и 192.168.1.0/24. Маршрутизатор R1 добавляет в RIB маршрут к сети 192.168.1.0/24, т.к. его метрика лучше чем у маршрута, который уже добавлен в RIB.

Образовалась петля маршрутизации, каждый из маршрутизаторов, передавая трафик в сеть 192.168.1.0/24, ссылается на другой маршрутизатор. Таким образом трафик будет передаваться маршрутизаторами друг другу до истечения значения TTL. Помимо образования петли маршрутизации стоит обратить внимание на то, что оба маршрута являются ложными, т.к. связь с сетью 192.168.1.0/24 потеряна.

Рисунок 4в - Отправка служебного сообщения с маршрутной информацией маршрутизатором R3

Маршрутизатор R1
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/24310.10.13.2
Маршрутизатор R3
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/24210.10.13.1

Использование ложного маршрута будет продолжаться до истечения timeout timer на маршрутизаторе R3, после чего R3 установит для этого маршрута значение метрики равной 16. В следующей рассылке маршрутной информации маршрутизатор R1 передаст маршрутизатору R3 сведения о маршрутах к сетям 10.10.13.0/30 и 192.168.1.0/24 (рис. 4г). Поскольку метрика маршрута к сети 192.168.1.0/24 будет равна 3, что меньше 16, то маршрутизатор R3 добавит ложный маршрут в RIB, инкрементируя значение метрики.

Обмен ложным маршрутом будет продолжаться до того момента, пока значение метрики не достигнет недопустимого значения 16. При настройках по умолчанию это произойдёт через 36 минут после неисправности канала связи между R1 и WAN-1.

Рисунок 4г - Отправка служебного сообщения с маршрутной информацией маршрутизатором R1

Маршрутизатор R1
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/24310.10.13.2
Маршрутизатор R3
Сеть назначенияМетрикаШлюз
10.10.13.0/301-
192.168.1.0/24410.10.13.1

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

Перечисленные механизмы позволяют адаптировать протокол RIP для современных сетей, т.к. существование ложных маршрутов на протяжении 36 минут или время схождения протокола, равное 450 секундам, является недопустимым для многих сервисов.

Особенности протокола RIP

К особенностям протокола RIP можно отнести следующие пункты:

Дополнительные материалы

Прочее

  1. RFC 1058
  2. RFC 2454
  3. RFC 2080
  4. Команда ARDA
  5. Команда ARIP
  6. Команда RIP