68024

Протокол RIP (Routing Information Protocol)

Реферат

Информатика, кибернетика и программирование

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

Русский

2014-09-17

121 KB

8 чел.

Протокол RIP (Routing Information Protocol) предназначен для автоматического обновления таблицы маршрутов. При этом используется информация о состоянии сети, которая рассылается маршрутизаторами (routers). В соответствии с протоколом RIP любая машина может быть маршрутизатором. При этом, все маршрутизаторы делятся на активные и пассивные. Активные маршрутизаторы сообщают о маршрутах, которые они поддерживают в сети. Пассивные маршрутизаторы читают эти широковещательные сообщения и исправляют свои таблицы маршрутов, но сами при этом информации в сеть не предоставляют. Обычно в качестве активных маршрутизаторов выступают шлюзы, а в качестве пассивных - обычные машины (hosts).

В основу алгоритма маршрутизации по протоколу RIP положена простая идея: чем больше шлюзов надо пройти пакету, тем больше времени требуется для прохождения маршрута. При обмене сообщениями маршрутизаторы сообщают в сеть IP-номер сети и число "прыжков" (hops), которое надо совершить, пользуясь данным маршрутом. Надо сразу заметить, что такой алгоритм справедлив только для сетей, которые имеют одинаковую скорость передачи по любому сегменту сети. Часто в реальной жизни оказывается, что гораздо выгоднее воспользоваться оптоволокном с 3-мя шлюзами, чем одним медленным коммутируемым телефонным каналом.

Другая идея, которая призвана решить проблемы RIP, - это учет не числа hop'ов, а учет времени отклика. На этом принципе построен, например, протокол OSPF. Кроме этого OSPF реализует еще и идею лавинной маршрутизации. В RIP каждый маршрутизатор обменивается информацией только с соседями. В результате, информации о потере маршрута в сети, отстоящей на несколько hop'ов от локальной сети, будет получена с опозданием. Лавинная маршрутизация позволяет решить эту проблему за счет оповещения всех известных шлюзов об изменениях локального участка сети.

Внутренний протокол маршрутизации RIP

Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей (алгоритм Белмана-Форда). Протокол разработан в университете Калифорнии (Беркли), базируется на разработках фирмы Ксерокс и реализует те же принципы, что и программа маршрутизации routed, используемая в ОC UNIX (4BSD). Маршрут здесь характеризуется вектором расстояния до места назначения. Предполагается, что каждый маршрутизатор является отправной точкой нескольких маршрутов до сетей, с которыми он связан. Описания этих маршрутов хранится в специальной таблице, называемой маршрутной. Таблица маршрутизации RIP содержит по записи на каждую обслуживаемую машину (на каждый маршрут). Запись должна включать в себя:

IP-адрес места назначения. Метрика маршрута (от 1 до 15; число шагов до места назначения). IP-адрес ближайшего маршрутизатора (Gateway) по пути к месту назначения. Таймеры маршрута.

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

  1.  Циклические маршруты. Так как в протоколе нет механизмов выявления замкнутых маршрутов, необходимо либо слепо верить партнерам, либо принимать меры для блокировки такой возможности.
  2.  Для подавления нестабильностей RIP должен использовать малое значение максимально возможного числа шагов (<16).
  3.  Медленное распространение маршрутной информации по сети создает проблемы при динамичном изменении маршрутной ситуации (система не поспевает за изменениями). Малое предельное значение метрики улучшает сходимость, но не устраняет проблему.

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

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

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

В качестве примера мы рассмотрим сеть (см. Рисунок 4.2) из нескольких последовательно соединенных маршрутизаторов, где метрикой является число транзитных узлов на пути к точке назначения (как в протоколе RIP).

Распространение "хорошей" новости в сети

Рисунок 4.2

 

Пусть в начальный момент времени маршрутизатор A не был доступен, т. е. расстояние до него во всех таблицах - бесконечность. При включении А пошлет сообщение своему соседу - узлу B. Все остальные маршрутизаторы узнают об этом через последовательный обмен сообщениями (для простоты будем считать, что обмен между всеми соседними узлами происходит синхронно каждые несколько секунд).

Во время первого обмена узел B узнает, что A заработал и вносит в свою таблицу маршрутизации "1" как расстояние до A; все остальные узлы в этот момент по-прежнему считают A недоступным. При следующем обмене, спустя несколько секунд, узел C также узнает о появлении маршрутизатора A. В результате последовательности таких обменов информация достигнет и узла E, для которого стоимость маршрута до А будет "4".

Таким образом, для сети с максимальной длиной маршрута N сообщение о новом маршрутизаторе дойдет до самого удаленного узла в сети через N-1 циклов обмена таблицами маршрутизации. На этом этапе никаких проблем не возникает.

Теперь мы рассмотрим обратный случай (см. Рисунок 4.3), когда узел А перестает работать вследствие сбоя. При очередном обмене (мы будем считать его первым в этой серии) узел В не получает никакого сообщения от молчащего маршрутизатора А. Это верный сигнал о том, что у А возникли проблемы, и информацию о нем необходимо удалить из таблицы. Однако в то же самое время узел C сообщает, что ему известен путь до А и стоимость этого пути "2". Тот факт, что путь до А, объявленный узлом C, проходит через сам B (т. е. образуется петля), ускользает от внимания маршрутизатора, и он заносит в таблицу путь до неработающего А стоимостью "3".

Проблема возрастания до бесконечности.

Рисунок 4.3

Во время следующего обмена C замечает, что оба его соседа рекламируют путь до A стоимостью "3", и немедленно делает поправки в своей таблице. Теперь длина пути от С до A - "4". Если этот процесс не остановить, то он может продолжаться до бесконечности, и никто так и не узнает, что маршрутизатор А давно вышел из строя. Соответственно данные к А будут посылаться и дальше.

Эта проблема алгоритма вектора расстояний получила название проблемы возрастания до бесконечности (count-to-infinity problem). Она является основной причиной задания ограничений на максимальную длину пути во всех протоколах вектора расстояния.

Протокол RIP, например, считает маршрут длиной более чем в 15 транзитных узлов бесконечным. Такой путь будет немедленно удален из таблицы маршрутизации. Т. е. в последнем примере узел B поймет, что узел А недоступен, когда получит объявление пути до А со стоимостью "15". К сожалению, такая процедура занимает слишком много времени.

Для предотвращения образования ложных маршрутов используется несколько методов, один из них - метод расщепления горизонта (split-horizon). Данное правило не так сложно, как может показаться из названия: "Если известно, что путь до узла X лежит через соседний узел Y, то узлу Y не надо посылать объявления маршрута до X".

Мы рассмотрим тот же пример, что и на Рисунке 4.3 , но в условиях, когда действует правило расщепления горизонта. После выхода из строя маршрутизатора А узел В узнает о недееспособности А при первом же обмене. Узлу С правило расщепления горизонта запрещает посылать информацию об А на В, так как путь к А лежит через В. Таким образом, узел С не может теперь (непреднамеренно) обманывать своего соседа слева, и узел В тут же помечает маршрутизатор А как недоступный. После следующего обмена уже С узнает от В о недоступности А, вместе с тем ложная информация от узла D, который все еще считает маршрутизатор А действующим, на С не поступит.

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

Рассмотрим пример сети с избыточной топологией (см. Рисунок 3). В начальный момент времени А и B знают, что расстояние до узла D равно "2". После выхода D из строя маршрутизатор C, не получив от D сообщения, определяет, что узел D недоступен. А и В продолжают считать D доступным, но правило расщепления горизонта запрещает им сообщать эту ложную информацию маршрутизатору С. При следующем обмене C уведомляет A и B о недоступности D. Но одновременно с этим узел А получает от В сообщение о пути до D стоимостью "2", а узел В получает аналогичное сообщение от А.

Рисунок 3

Информация об аварии на D не будет услышана. Проблема возрастания до бесконечности возникла вновь.

В качестве метрики RIP использует число шагов до цели. Если между отправителем и приемником расположено три маршрутизатора (gateway), считается, что между ними 4 шага. Для всех непосредственно подключенных интерфейсов счетчик пересылок равен 1. Рассмотрим маршрутизаторы и сети, показанные на рисунке 4.5. Четыре пунктирные линии показывают широковещательные сообщения RIP.

Пример ситуации, когда правило расщепления горизонта не действует.

 Маршрутизатор R1 объявляет маршрут к N2 со счетчиком пересылок равным 1, послав широковещательное сообщение на N1. (Бессмысленно объявлять маршрут к N1 в широковещательном сообщении, посланном на N1.) Он также объявляет маршрут к N1 со счетчиком пересылок равным 1, послав широковещательное сообщение на N2. Точно так же, R2 объявляет маршрут к N2 с показателем 1 и маршрут к N3 с показателем 1. Если смежный с нами маршрутизатор объявил маршрут к удаленной сети со счетчиком пересылок равным 1, то для нас показатель к этой сети будет равен 2, так пакет необходимо послать сначала на наш маршрутизатор, чтобы получить доступ к сети. В примере, приведенном выше, показатель к N1 для R2 равен 2, так же как и показатель к N3 для R1.

Пример маршрутизаторов и сетей.

Рисунок 4.5

Так как каждый маршрутизатор посылает свои таблицы маршрутизации соседям, определяется каждая сеть в каждой автономной системе (AS). Если внутри AS существует несколько путей от маршрутизатора к сети, маршрутизатор выбирает путь с наименьшим количеством пересылок и игнорирует другие пути.

Величина счетчика пересылок ограничена значением 15, что означает, что RIP может быть использован только внутри AS, где максимальное количество пересылок между хостами составляет 15. Специальное значение показателя, равное 16, указывает на то, что на данный IP адрес не существует маршрута.

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

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

RIP сообщения инкапсулируются в UDP-дейтограммы, при этом передача осуществляется через порт 520.

Инкапсуляция RIP сообщения в UDP датаграмму.

Рисунок 3.4

Формат сообщения протокола RIP имеет вид, показанный на рис. 3.5. Поле команда определяет выбор согласно следующей таблице 4.1:

Таблица 4.1 - Значения кодов поля команда

Команда

Значение

1

Запрос на получение частичной или полной маршрутной информации;

2

Отклик, содержащий информацию о расстояниях из маршрутной таблицы отправителя;

3

Включение режима трассировки (устарело);

4

Выключение режима трассировки (устарело);

5-6

Зарезервированы для внутренних целей SUN Microsystem.

Поле версия для RIP равно 1 (для RIP-2 двум). Поле набор протоколов сети i определяет набор протоколов, которые используются в соответствующей сети (для Интернет это поле имеет значение 2). Поле расстояние до сети i содержит целое число шагов (от 1 до 15) до данной сети. В одном сообщении может присутствовать информация о 25 маршрутах. При реализации RIP можно выделить следующие режимы:

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

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

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

Формат сообщения RIP

Рисунок 3.5

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

  1.  RIP не работает с адресами субсетей. Если нормальный 16-бит идентификатор ЭВМ класса B не равен 0, RIP не может определить является ли не нулевая часть cубсетевым ID, или полным IP-адресом.
  2.  RIP требует много времени для восстановления связи после сбоя в маршрутизаторе (минуты). В процессе установления режима возможны циклы.
  3.  Число шагов важный, но не единственный параметр маршрута, да и 15 шагов не предел для современных сетей.

Протокол RIP-2 (RFC-1388, 1993 год) является новой версией RIP, которая в дополнение к широковещательному режиму поддерживает мультикастинг; позволяет работать с масками субсетей. На рис. 3.8 представлен формат сообщения для протокола RIP-2. Поле маршрутный демон является идентификатором резидентной программы-маршрутизатора. Поле метка маршрута используется для поддержки внешних протоколов маршрутизации, сюда записываются коды автономных систем. При необходимости управления доступом можно использовать первые 20 байт с кодом набора протоколов сети 0xFFFF и меткой маршрута =2. Тогда в остальные 16 байт можно записать пароль.

Формат сообщений протокола RIP-2

Рисунок 3.6


Расстояние до маршрутизатора М1

1

1

1

1

2

2

2

3

3

4

  

  

  

  

M1

M2

M3

M4

М5

0

1

2

3

4

1

3

3

5

5

7

7

2

2

4

4

6

6

8

3

3

3

5

5

7

7

4

4

4

4

6

6

8

  

  

  

  

M1

M2

M3

M4

М5

Расстояние до маршрутизатора М1

0

1

2

3

4

5

6


 

А также другие работы, которые могут Вас заинтересовать

77263. Плечевое сплетение. Нервы его подключичной части 15.59 KB
  Нервы его подключичной части В межлестничном промежутке выше подключичной артерии демонстрируют плечевое сплетение pi. brchilis которое образовано передними ветвями четырех нижних шейных и частично первого грудного спинномозговых нервов. Из этих пучков происходят длинные нервы иннервирующие кожу и мышцы свободного отдела верхней конечности. Из латерального пучка происходят: 1 мышечнокожный нерв п.
77264. Формирование спинномозгового нерва, его ветви, состав волокон. Межреберные нервы 14.99 KB
  СМН он отдает 4 ветви: менингеальную заднюю переднюю и белую соединительную. Передняя и задняя ветви r. При этом менингеальная и задняя ветви имеют сегментарный принцип иннервации передние ветви участвуют в образовании сплетений шейного плечевого поясничного и крестцового.
77266. Кресцовое сплетение и его нервы 162.82 KB
  Pltxus sacralis - образовано передними ветвями 4-5 поясничного и 4 верхних крестцовых. Распологается на передней поверхности грушевидной мышцы. Ветви делятся на короткие, которые заканчиваются в области тазового пояса, и длинные, направляющиеся к свободной нижней конечности
77267. Сегмент спинного мозга 56.3 KB
  Заднекорешковые волокна Вставочные рассеянные клетки spongios et terminlis 12 выше и нижележащие geltinos 37 выше и ниже Задние латеральные передние собственные пучки ДЯПРСМ.
77268. Канатики спинного мозга. Восходящие и нисходящие проводники спинного мозга 105.58 KB
  Задний канатик афферентные пути: fsciculus grcilis Голля центральные отростки псевдоуниполярных клеток 19 нижних спинномозговых узлов сознательная проприоцептивная и частично тактильная чувствительность от нижних конечностей и нижней части туловища fsciculus cunetus Бурдаха 12 верхних от рецепторов мышц верхних конечностей шеи и верхней части туловища fsciculus proprius posterior аксоны вставочных нейронов сегментарного аппарата zon rdiculris горизонтальные нервные волокна центральные отростки псевдоуниполярных клеток...
77269. Оболочки и межоболочечные пространства спинного мозга. Содержимое этих пространств. Фиксирующий аппарат спинного мозга 13.58 KB
  От латеральной части отходят ligment denticult во фронтальной плоскости в форме зубцов верхушки которых охватываются отростками паутинной оболочки и заканчиваются на внутренней поверхности твёрдой посередине между двумя СМН rchnoide mter spinlis паутинная оболочка прозрачная плёнка переходит в паутинную оболочку головного мозга в области formen mgnum; на уровне SII сливается с мягкой оболочкой. Её отростки образуют влагалища для пронизывающих её корешков СМН и зубчатых связок. От боковой поверхности отходят отростки в виде рукавов для...
77270. Продолговатый мозг, его развитие, внешнее и внутреннее строение (ядра, проводники), артерии продолговатого мозга 385.3 KB
  Серое вещество: 4 группы ядер nuclei grcilis et cunetus; nuclei olive; nuclei formtion reticulris; ядра IXXII пар черепных нервов Черепные нервы продолговатого мозга: nn hypoglossus XII пара ccessories XI пара vgus X пара glossophryngeus IX пара.
77271. Мост, его развитие, внешнее и внутреннее строение (ядра и проводники). Артерии моста 147.51 KB
  Артерии моста. Внутреннее строение: На поперечном срезе можно выделить основание моста базилярную часть вентральную часть prs bsilris ventrlis; покрышку моста tegmentum pontis дорсальную часть prs dorslis и трапециевидное тело corpus trpezoideum Серое вещество: nuclei proprii pontis; nuclei formtion reticulris; nuclei nterior et posterior corporis trpezoideum; ядра VVIII пар черепных нервов. Черепные нервы моста n. Белое вещество: В базальной части основании моста проходят: tr.