Полезная информация

*

Internetworking Technology Overview.

ГЛАВА 23. Routing Information Protocol (RIP).



Библиографическая справка


Протокол Информации Маршрутизации (RIP) является протоколом маршрутизации, который был первоначально разработан для Универсального протокола PARC Xerox (где он назывался GWINFO) и использовался в комплекте протоколов ХNS. RIP начали связывать как с UNIX, так и с TCP/IP в 1982 г., когда версию UNIX, называемую Berkeley Standard Distribution (BSD), начали отгружать с одной из реализацией RIP, крторую называли "трассируемой" (routed) (слово произносится "route dee"). Протокол RIP, который все еще является очень популярным протоколом маршрутизации в сообществе Internet, формально определен в публикации "Протоколы транспортировки Internet" XNS (XNS Internet Transport Protocols) (1981 г.) и в Запросах для комментария (Request for Comments - RFC) 1058 (1988 г.).

RIP был повсеместно принят производителями персональных компьютеров (РС) для использования в их изделиях передачи данных по сети. Например, протокол маршрутизации AppleTalk (Протокол поддержания таблицы маршрутизации - RTMP) является модернизированной версией RIP. RIP также явился базисом для протоколов Novell, 3Com, Ungermann-Bass и Banyan. RIP компаний Novell и 3Com в основном представляет собой стандартный RIP компании Xerox. Ungermann-Bass и Banyan внесли незначительные изменения в RIP для удовлетворения своих нужд.


Формат таблицы маршрутизации


Каждая запись данных в таблице маршрутизации RIP обеспечивает разнообразную информацию, включая конечный пункт назначения, следующую пересылку на пути к этому пункту назначения и показатель (metric). Показатель обозначает расстояние до пункта назначения, выраженное числом пересылок до него. В таблице маршрутизации может находиться также и другая информация, в том числе различные таймеры, связанные с данным маршрутом. Типичная таблица маршрутизации RIP показана на Рис. 23-1.


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


Формат пакета (Реализация IP)


На Рис. 23-2 изображен формат пакета RIP для реализаций IP так, как он определен в RFC 1058.


ПРИМЕЧАНИЕ: На Рис. 23-2 представлен формат RIP, используемый для сетей IP в Internet. В некоторые другие варианты RIP внесены незначительные изменения формата и (или) имен файлов, которые здесь перечислены, но функциональные возможности базового алгоритма маршрутизации те же самые.



Первое поле в пакете RIP-это поле команд (command). Это поле содержит целое число, обозначающее либо запрос, либо ответ. Команда "запрос" запрашивает отвечающую систему об отправке всей таблицы маршрутизации или ее части. Пункты назначения, для которых запрашивается ответ, перечисляются далее в данном пакете. Ответная команда представляет собой ответ на запрос или чаще всего какую-нибудь незатребованную регулярную корректировку маршрутизации. Отвечающая система включает всю таблицу маршрутизации или ее часть в ответный пакет. Регулярные сообщения о корректировке маршрутизации включают в себя всю таблицу мааршрутизации.

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

За 16-битовым полем, состоящим из одних нулей, идет поле идентификатора семейства адресов (аddress family identifier). Это поле определяет конкретное используемое семейство адресов. В сети Internet (крупной международной сети, об'единяющей научно-исследовательские институты, правительственные учреждения, университеты и частные предприятия) этим адресным семейством обычно является IP (значение=2), но могут быть также представлены другие типы сетей.

Следом за еще одним 16-битовым полем, состоящим из одних нулей, идет 32-битовое поле адреса (address). В реализациях RIP Internet это поле обычно содержит какой-нибудь адрес IP.

За еще двумя 32-битовыми полями из нулей идет поле показателя RIP (metric). Этот показатель представляет собой число пересылок (hop count). Он указывает, сколько должно быть пересечено транзитных участков (роутеров) об'единенной сети, прежде чем можно добраться до пункта назначения.

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

Как и другие протоколы маршрутизации, RIP использует определенные таймеры для регулирования своей работы. Таймер корректировки маршрутизации RIP (routing update timer) обычно устанавливается на 30 сек., что гарантирует отправку каждым роутером полной копии своей маршрутной таблицы всем своим соседям каждые 30 секунд. Таймер недействующих маршрутов (route invalid timer) определяет, сколько должно пройти времени без получения сообщений о каком-нибудь конкретном маршруте, прежде чем он будет признан недействительным. Если какой- нибудь маршрут признан недействительным, то соседи уведомяются об этом факте. Такое уведомление должно иметь место до истечения времени таймера отключения маршрута (route flush timer). Когда заданное время таймера отключения маршрута истекает, этот маршрут удаляется из таблицы маршрутизации. Типичные исходные значения для этих таймеров- 90 секунд для таймера недействующего маршрута и 270 секунд для таймера отключения маршрута.


Характеристики стабильности


RIP определяет ряд характеристик, предназначенных для более стабильной работы в условиях быстро изменяющейся топологии сети. В их число входит ограничение числа пересылок, временные удерживания изменений (hold-downs), расщепленные горизонты (split-horizons) и корректировки отмены (poison reverse updates).


Ограничение числа пересылок

RIP разрешает максимальное число пересылок, равное 15. Любому пункту назначения, который находится дальше, чем на расстоянии 15 пересылок, присваивается ярлык "недосягаемого". Максимальное число пересылок RIP в значительной мере ограничивает его применение в крупных об'единенных сетях, однако способствует предотвращению появления проблемы, называемой счетом до бесконечности (count to infinity), приводящей к зацикливанию маршрутов в сети. Проблема счета до бесконечности представлена на Рис. 23-3.



Рассмотрим, что случится, если на Рис. 23-3 канал Роутера 1 (R1) (канал а), связывающий его с сетью А, откажет. R1 проверяет свою информацию и обнаруживает, что Роутер 2 (R2) связан с сетью А каналом длиной в одну пересылку. Т.к. R1 знает, что он напрямую соединен с R2, то он об'являет о маршруте из двух пересылок до сети А и начинает направлять весь трафик в сеть А через R2. Это приводит к образованию маршрутной петли. Когда R2 обнаруживает, что R1 может теперь достичь сеть А за две пересылки, он изменяет запись своих собственных данных в таблице маршрутизации, чтобы показать, что он имеет тракт длиной в 3 пересылки до сети А. Эта проблема, а также данная маршрутная петля будут продолжаться бесконечно, или до тех пор, пока не будет навязано какое-нибудь внешнее граничное условие. Этим граничным условием является максимальное число пересылок RIP. Когда число пересылок превысит 15, данный маршрут маркируется как недосягаемый. Через некоторое время этот маршрут удаляется из таблицы.


Временные удерживания изменений

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

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

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


Расщепленные горизонты

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



Pоутер 1 (R1) первоначально об'являет, что он располагает каким- то маршрутом до Сети А. Pоутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отсылаемую обратно роутеру R1, т.к. R1 ближе к Сети А. Правило расщепленного горизонта гласит, что R2 должен исключить (попасть на) этот маршрут при любых корректировках, которые он отправляет в R1.

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


Корректировки отмены маршрута

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


Данный документ подготовлен для HTML версии Владимиром Плешаковым.
Версия: 0.1

Vladimir V. Pleshakov , pvv@quorus.ru.