Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Содержание

Описание

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

  • первая версия протокола RIP разработан в 1969 году, описана в RFC 1058;
  • вторая версия протокола RIP разработана в 1994 году, описана в RFC 2454. Эта версия является основной для использования в IPv4-сетях. Между первой и второй версиями отсутствует обратная совместимость;
  • существует версия протокола RIP, разработанная для IPv6-сетей. Эта версия называется RIPng и описана в RFC 2080;
  • протокол RIP является внутренним протоколом маршрутизации дистанционно-векторного типа;
  • в качестве метрики используется число хопов, т.е. число маршрутизаторов, через которое проходит путь к сети назначения. Максимальное значение метрики - 16, что ограничивает размер сети, в которой может быть использован протокол RIP;
  • за протоколом RIP версии 2 зарезервирован адрес групповой рассылки 224.0.0.9. В первой версии протокола используется широковещательный адрес 255.255.255.255;
  • для передачи служебной информации используются UDP-датаграммы, за протоколом закреплён порт 520;
  • первая версия протокола RIP поддерживает только передачу маршрутов о классовых сетях, вторая - бесклассовых;
  • для протокола RIP используется значение distance 120;
  • протокол RIP поддерживает аутентификацию: маршрутная информация будет принята только от маршрутизатора, для которого совпало значение ключа.

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

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

  • сеть состоит из четырёх маршрутизаторов R1, R2, R3 и R4, соединённых по кольцевой схеме;
  • маршрутизатор R1 имеет внешний канал связи с сетью WAN-1;
  • для каждого из каналов связи выделена IP-адресация;
  • на маршрутизаторах необходимо настроить протокол 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, выполняется в следующей последовательности:

  • Этап 1: маршрутизатор R1 формирует служебные сообщения с маршрутной информацией. Служебные сообщения содержат информацию о сетях 10.10.13.0/30 и 10.10.12.0/30, т.к. интерфейсы, связанные с этими сетями включены в протокол RIP на этапе запуска протокола. Также в служебные сообщения включается информация о сети 192.168.1.0/24, т.к. по условиям задачи маршрутизатор R1 должен выполнять редистрибуцию внешних маршрутов. Значение метрики для каждой из сетей устанавливается равным 1.
  • Этап 2: маршрутизатор рассылает служебные сообщения, сформированные на этапе 1 (рис. 2а). Рассылка выполняется через интерфейсы eth2 и eth3, включённые в RIP на этапе запуска протокола.

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

  • Этап 3: маршрутизаторы R2 и R3 формируют служебные сообщения для передачи маршрутной информации маршрутизатору R4:
    • R2: маршрутизатор включает в служебное сообщение сети 192.168.1.0/24 и 10.10.13.0/30, полученные от маршрутизатора R1, инкрементируя значение метрики. Информация о сети 10.10.12.0/30, полученная от маршрутизатора R1, игнорируется, т.к. маршрутизатор R2 непосредственно подключен к этой сети. Вместо этого маршрутизатор R2 включает в служебное сообщение сеть 10.10.12.0/30 с метрикой 1, анонсируя сеть самостоятельно. Кроме того в служебное сообщение включается информация о сети 10.10.24.0/30.
    • R3: маршрутизатор включает в служебное сообщение сети 192.168.1.0/24 и 10.10.12.0/30, полученные от маршрутизатора R1, инкрементируя значение метрики. Информация о сети 10.10.13.0/30, полученная от маршрутизатора R1, игнорируется, т.к. маршрутизатор R3 непосредственно подключен к этой сети. Вместо этого маршрутизатор R3 включает в служебное сообщение сеть 10.10.13.0/30 с метрикой 1, анонсируя сеть самостоятельно. Кроме того, в служебное сообщение включается информация о сети 10.10.34.0/30.
  • Этап 4: маршрутизаторы R2 и R3 отправляют служебные сообщения, сформированные на предыдущем этапе, маршрутизатору R4 (рис. 2б). Следует иметь в виду, что маршрутизаторы R2 и R3 отправляют маршрутную информацию маршрутизатору R1, но этот процесс будет опущен в рамках рассматриваемого примера.

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

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

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

  • в RIB может быть добавлен только один маршрут к сети назначения;
  • в RIB добавляется маршрут с меньшим значением метрики;
  • в 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 в исходные значения.

ЗАЧЕМ garbage timer?

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

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

  • появление нового канала связи;
  • выход из строя канала связи;
  • выход из строя маршрутизатора.
Появление нового канала связи

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

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

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

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

  • Этап 1: интерфейсы eth3 маршрутизатора R1 и eth1 маршрутизатора R3 перейдут в статус down.
  • Этап 2: маршрутизаторы R1 и R3 установят в RIB маршруту к сети 10.10.13.0/30 значение метрики 15.
  • Этап 3: в соответствии с истечением update timer, маршрутизаторы R1 и R3 сформируют служебное сообщение, включающее известную маршрутную информацию. В это сообщение включается путь к недоступной сети.
  • Этап 4: маршрутизаторы R2 и R4 получают служебные сообщения от R1 и R3, инкрементируют значение метрики и помещают маршрут в RIB. В RIB маршрутизаторов R2 и R4 уже есть маршрут к сети 10.10.13.0/30 с метрикой 2, но т.к. источниками новых маршрутов с худшей метрикой являются те же маршрутизаторы, то маршрут в RIB будет заменён на маршрут с метрикой 16. Таким образом все маршрутизаторы сети получат информацию о недоступности канала связи.

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

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

Для современных сетей время схождения, равное 450 секундам, является недопустимым, поэтому в RIP был добавлен механизм тригерных обновлений. Он заключается в том, что информация об изменениях в сети распространяется маршрутизаторами мгновенно без привязки к update timer.

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

Дополним схему двумя коммутаторами 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

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













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

Пример с двумя маршрутизаторами, рассылающие друг другу тухлый маршрут.

Механизмы борьбы с возникновением ложных маршрутов: split-horizont и poison-reverse.



Достоинства и недостатки




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

Прочее

  1. RFC 1058
  2. RFC 2454
  3. RFC 2080
  • No labels