Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
47
Добавлен:
11.04.2015
Размер:
4.78 Mб
Скачать

8.1 Внутренний протокол маршрутной информации rip

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

8.1.2. IP – адрес места назначения.

Метрика маршрута (от 1 до 15; число шагов до места назначения). Для измерения расстояния между сетью – источником и сетью – приемником RIP использует единую маршрутную метрику – счетчик узлов. Каждому узлу по пути от источника к приемнику присваивается значение счетчика узлов. Обычно оно равно 1, когда маршрутизатор получает сообщение об обновлении маршрутов с новой или измененной записью о сети – приемнике, он увеличивает значение метрики в обновленном маршруте на 1 и заносит сеть в свою маршрутную таблицу.

8.1.3. IP – адрес ближайшего маршрутизатора (Gateway) по пути к месту назначения.

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

8.1.4. RIP посылает сообщение об обновлении маршрутов через регулярные интервалы, а также при изменении топологии сети. Когда маршрутизатор получает информацию об обновлении маршрутов, куда входят измененные записи маршрутной таблицы, он обновляет свою маршрутную таблицу, занося в нее новый маршрут. Значение метрики маршрута увеличивается на 1, и в качестве отправителя сообщения указывается следующий узел. RIP–маршрутизаторы запоминают только наилучший маршрут к приемнику (маршрут с наименьшим значением метрики). После обновления маршрутной таблицы маршрутизатор немедленно начинает передачу сообщения об обновлении маршрутов, чтобы сообщить другим маршрутизаторам в сети о произошедших изменениях. Эта информация посылается независимо от плановых, регулярных обновлений, посылаемых RIP – маршрутизаторами.

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

  1. Циклические маршруты. Так как в протоколе нет механизмов выявления замкнутых маршрутов, необходимо либо слепо верить параметрам, либо принимать меры для блокировки такой возможности.

  2. Для подавления нестабильности RIP должен использовать малое значение максимально возможного числа шагов (<16).

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

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

Рисунок 82 - Иллюстрация, поясняющая возникновение циклических маршрутов при использовании вектора расстояния

На верхней части рисунка показана ситуация, когда маршрутизаторы указывают маршрут до сети <А> в соответствии со стрелками. На нижней части связь на участке GW1 <сеть А> оборвана, а GW2 по-прежнему продолжает оповещать о ее доступности с числом шагов, равным 2. При этом GW1, восприняв эту информацию (если GW2 успел передать свою маршрутную информацию раньше GW1), может перенаправить пакеты, адресованные сети А, на GW, а в своей маршрутной таблице будет характеризовать путь до сети А метрикой 3. При этом формируется петля маршрутов. Последующая широковещательная передача маршрутных данных GW1 и GW2 не решит эту проблему быстро. Так после очередного обмена путь от GW2 до сети А будет характеризоваться метрикой 5. Этот процесс будет продолжаться до тех пор, пока метрика не станет равной 16, а это займет слишком много циклов обмена маршрутной информацией.

8.1.6. Проблема может быть решена следующим образом. Маршрутизатор запоминает, через какой интерфейс получена маршрутная информация, и через этот интерфейс эту информацию уже не передает. В рассмотренном выше примере GW2 не станет посылать информацию по пути к сети А маршрутизатору GW1, от которого он получил эти данные. В этом случае в маршрутной таблице GW1 путь до А исчезнет сразу. Остальные маршрутизаторы узнают о недостижимости сети А через несколько циклов. Существуют и другие пути преодоления медленных переходных процессов. Если производится оповещение о коротком пути, все узлы–получатели воспринимают эти данные немедленно. Если же маршрутизатор закрывает какой-то путь, его отмена фиксируется остальными лишь по тайм–ауту. Универсальным методом исключения ошибок при маршрутизации является использование достаточно большой выдержки, перед тем как использовать информацию об изменении маршрутов. В этом случае к моменту изменения маршрута эта информация станет доступной всем участникам процесса маршрутизации. Но все перечисленные методы и некоторые другие известные алгоритмы, решая одну проблему, часто вносят другие. Многие из этих методов могут при определенных условиях вызвать лавину широковещательных сообщений, что также дезорганизует сеть. Именно малая скорость установления маршрутов в RIP и является причиной их постепенного вытеснения другими протоколами.

Но даже усовершенствование, изложенное выше, не всегда срабатывает. На рисунке 83 приведен пример, когда переходной процесс, несмотря на усовершенствование, будет идти долго. При обрыве связи В-Г узлы А и Б сообщают узлу В, что они потеряли связь с узлом Г. Узел В делает вывод, что Г не достижим, о чем и сообщает узлам А и Б. К сожалению, А знает, что Б имеет проход к Г длиной 2, из чего он делает вывод о достижимости Г за три шага. Аналогично рассуждает Б о возможности достижимости Г через А. Далее при последующих рассылках метрика доступности Г характеризуется все большими значениями, до тех пор пока не станет равной «бесконечности».

В RIP сообщения инкапсулируются в UDP – дейтограммы, при этом передача осуществляется через порт 520. В качестве метрики RIP использует число шагов до цели. Если между отправителем и приемником расположено три маршрутизатора (gateway), считается, что между ними 4 шага. Такой вид метрики не учитывает различий в пропускной способности или загруженности отдельных сегментов сети.

Рисунок 83 - Пример топологии, где переходной процесс осуществляется медленно, даже при усовершенствовании алгоритма

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

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

Команда (1-6)

Версия (1)

Нулевое поле

Набор протоколов сети (2)

Нулевое поле

IP адрес сети

Нулевое поле

Нулевое поле

Расстояние до сети 1 (метрика)

Набор протоколов сети (2)

Нулевое поле

IP адрес сети 2

Нулевое поле

Нулевое поле

Дистанция до сети 2 (метрика)

..

Рисунок 84 - Формат протокола RIP

Поле «Команда» определяет выбор согласно таблице 6:

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

Команда

Значение

1

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

2

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

3

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

4

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

5

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

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

Поле «ВЕРСИЯ» для RIP равно 1 (для RIP-2 равно 2).

«НУЛЕВОЕ ПОЛЕ» в протоколе RIP фактически не используется. Оно добавляется исключительно для обеспечения обратной совместимости с нестандартными версиями RIP и содержит нулевое значение.

Поле «НАБОР ПРОТОКОЛОВ СЕТИ I» определяет набор протоколов, которые используются в соответствующей сети (для Интернет это поле имеет значение 2).

Поле «РАССОТЯНИЕ ДО СЕТИ i» содержит целое число шагов (от 1 до 15) до данной сети. В одном сообщении может присутствовать информация о 25 маршрутах. При реализации RIP можно выделить следующие режимы:

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

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

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

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

  1. RIP не работает с адресами субсетей. Если нормальный 16–бит индикатор ЭВМ класса В не равно 0, RIP не может определить, является ли не нулевая часть субсетевым ID, или полным IP адресом.

  2. RIP не требует много времени для восстановления связи после себя в маршрутизаторе (минуты). В процессе установления режима возможны циклы.

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

8.1.8. Протокол RIP-2 (рисунок 83.) является новой версией RIP, которая в дополнение к широковещательному режиму поддерживает мультикастинг; позволяет работать с масками субсетей.

Поле маршрутный демон является идентификатором резидентной программы–маршрутизатора.

Поле метка маршрута используется для поддержки внешних протоколов маршрутизации, сюда записываются коды автономных систем. При необходимости управления доступом можно использовать первые 20 байт с кодом набора протоколов сети 0хFFFF и меткой маршрута равной 2. Тогда остальные 16 байт можно записать в пароль.

Поле адрес – IP–адрес записи.

Поле метрика определяет, сколько узлов (транзитных участков между маршрутизаторами) нужно пройти по пути к приемнику. Для действующих маршрутов эта величина находится в диапазоне между 1 и 15, а для недействующих она равна 16.

8.1.9.В формате протокола RIP–2 поле «КОМАНДА» означает тоже, что и в протоколе RIP (рисунок 85.).

Поле «ВЕРСИЯ» для протокола RIP–2 равно 2.

«МЕТКА МАРШРУТА» служит для распознавания внутренних маршрутов (опознаваемых RIP) и внешних маршрутов (опознаваемых другими протоколами).

Остальные поля идентичны полям протокола RIP.

Команда (1-6)

Версия (1)

Нулевое поле

Набор протоколов сети (2)

Нулевое поле

IP адрес сети 1

Нулевое поле

Нулевое поле

Расстояние до сети 1 (метрика)

Набор протоколов сети (2)

Нулевое поле

IP адрес сети 2

Нулевое поле

Нулевое поле

Дистанция до сети 2 (метрика)

..

Рисунок 85 - Формат протокола RIP–2

Соседние файлы в папке Методичка по протоколам