Протокол динамической маршрутизации RIP
Работа механизма маршрутизации.
Пусть хост S отправляет датаграмму в Internet, например, по адресу 140.51.120.30.Так как адрес не принадлежит ветке S, над ним проводится операция AND с маской 255.255.255.192 для определения подсети, которой он может принадлежать. Так как такой сети нет, датаграмма отправляется на шлюз по умолчанию для данного хоста, а именно на 210.20.30.70, который используется как шлюз до хоста R. Теперь он займется выбором пути данной датаграммы.
После того, как датаграмма попала на хост R, хост проверяет ее адрес назначения – 140.51.120.30, на принадлежность какой-нибудь из подсетей, указанных в его таблице маршрутизации. Такой сети там не оказывается. Хост R отправляет датаграмму на свой шлюз по умолчанию – 210.20.30.254 через свой интерфейс 210.20.30.200. Далее эта датаграмма попадает в Internet и переправляется получателю.
Если получатель датаграммы отправил ответную датаграмму, то она пройдет соответственно через адреса 210.20.30.200 ®210.20.30.70 ®210.20.30.
Протокол Информации Маршрутизации (RIP) повсеместно принят производителями персональных компьютеров для использования в их изделиях передачи данных по сети.
RIP поддерживает только самые лучшие маршруты к пункту назначения. Если новая информация обеспечивает лучший маршрут, то эта информация заменяет старую маршрутную информацию. Изменения в топологии сети могут вызывать изменения в маршрутах, приводя к тому, например, что какой-нибудь новый маршрут становится лучшим маршрутом до конкретного пункта назначения. Когда имеют место изменения в топологии сети, то эти изменения отражаются в сообщениях о корректировке маршрутизации. Например, когда какой-нибудь маршрутизатор обнаруживает отказ одного из каналов или другого маршрутизатора, он повторно вычисляет свои маршруты и отправляет сообщения о корректировке маршрутизации. Каждый маршрутизатор, принимающий сообщение об обновлении маршрутизации, в котором содержится изменение, корректирует свои таблицы и распространяет это изменение.
В каждом отдельном пакете 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), приводящей к зацикливанию маршрутов в сети. Проблема счета до бесконечности представлена на рис.4.3.
Рассмотрим, что случится, если на Рис.4.3. канал маршрутизатора R1 (канал а), связывающий его с сетью А, откажет. R1 проверяет свою информацию и обнаруживает, что маршрутизатор R2 связан с сетью А каналом длиной в одну пересылку. Т.к. R1 знает, что он напрямую соединен с R2, то он объявляет о маршруте из двух пересылок до сети А и начинает направлять весь трафик в сеть А через R2. Это приводит к образованию маршрутной петли. Когда R2 обнаруживает, что R1 может теперь достичь сеть А за две пересылки, он изменяет запись своих собственных данных в таблице маршрутизации, чтобы показать, что он имеет тракт длиной в 3 пересылки до сети А. Эта проблема, а также данная маршрутная петля будут продолжаться бесконечно, или до тех пор, пока не будет навязано какое-нибудь внешнее граничное условие. Этим граничным условием является максимальное число пересылок RIP. Когда число пересылок превысит 15, данный маршрут маркируется как недосягаемый. Через некоторое время этот маршрут удаляется из таблицы.
Временные удерживания изменений.Временные удерживания изменений используются для того, чтобы помешать регулярным сообщениям о корректировке незаконно восстановить в правах маршрут, который оказался испорченным. Когда какой-нибудь маршрут отказывает, соседние маршрутизаторы обнаруживают это. Затем они вычисляют новые маршруты и отправляют сообщения об обновлении маршрутизации, чтобы информировать своих соседей об изменениях в маршруте. Эта деятельность приводит к появлению целой волны коррекций маршрутизации, которые фильтруются через сеть.
Приведенные в действие корректировки неодновременно прибывают во все устройства сети. Поэтому возможно, что какое-нибудь устройство, которое еще не получило информацию о каком-нибудь отказе в сети, может отправить регулярное сообщение о корректировке (в котором маршрут, который только что отказал, все еще числится исправным) в другое устройство, которое только что получило уведомление об этом отказе в сети. В этом случае это другое устройство теперь будет иметь (и возможно, рекламировать) неправильную маршрутную информацию.
Команды о временном удерживании указывают маршрутизаторам, чтобы они на некоторое время придержали любые изменения, которые могут оказать влияние на только что удаленные маршруты. Этот период удерживания обычно рассчитывается таким образом, чтобы он был больше периода времени, необходимого для внесения кокого-либо изменения о маршрутизации во всю сеть. Удерживание изменений предотвращает появление проблемы счета до бесконечности.
Расщепленные горизонты.Расщепленные горизонты используют преимущество того факта, что никогда не бывает полезным отправлять информацию о каком-нибудь маршруте обратно в том направлении, из которого пришла эта информация. Для иллюстрации этого положения рассмотрим рис. 4.4.
Маршрутизатор R1 первоначально объявляет, что он располагает каким-то маршрутом до Сети А. Маршрутизатору R2 нет оснований включать этот маршрут в свою корректировку, отсылаемую обратно маршрутизатору R1, т.к. R1 ближе к сети А.
Правило расщепленного горизонта гласит, что R2 должен исключить этот маршрут при любых корректировках, которые он отправляет в R1.
Правило расщепленного горизонта помогает предотвратить маршрутные петли между двумя узлами. Например, рассмотрим случай, когда отказывает интерфейс R1 с Сетью А. При отсутствии расщепленных горизонтов R2 продолжает информировать R1 о том, что он может попасть в Сеть А через R1. Если R1 не располагает достаточным интеллектом, то он действительно может выбрать маршрут, предлагаемый R2, в качестве альтернативы для своей отказавшей прямой связи, что приводит к образованию петли маршрутизации. И хотя временное удерживание изменений должно предотвращать это, применение расщепленного горизонта обеспечивает дополнительную стабильность алгоритма.
Корректировки отмены маршрута.В то время как задачей расщепленных горизонтов является предотвращение образования маршрутных петель между соседними маршрутизаторами, корректировки отмены предназначены для устранения более крупных маршрутных петель. В основе их действия лежит положение о том, что увеличение значения показателей маршрутизации обычно указывает на наличие маршрутных петель. В этом случае отправляются корректировки отмены для удаления данного маршрута и помещения его в состояние временного удерживания.