|
Методы борьбы с ложными
маршрутами в протоколе RIP
Несмотря на то что протокол RIP не
в состоянии полностью исключить переходные
состояния в сети, когда некоторые
маршрутизаторы пользуются устаревшей
информацией об уже несуществующих
маршрутах, имеется несколько методов,
которые во многих случаях решают подобные
проблемы.
Ситуация с петлей, образующейся
между соседними маршрутизаторами,
описанная в предыдущем разделе, надежно
решается с помощью метода, получившем
название расщепления горизонта (split horizon).
Метод заключается в том, что маршрутная
информация о некоторой сети, хранящаяся в
таблице маршрутизации, никогда не
передается тому маршрутизатору, от
которого она получена (это следующий
маршрутизатор в данном маршруте). Если
маршрутизатор М2 в рассмотренном выше
примере поддерживает технику расщепления
горизонта, то он не передаст маршрутизатору
Ml устаревшую информацию о сети 201.36.14.0, так
как получил ее именно от маршрутизатора Ml.
Практически все сегодняшние
маршрутизаторы, работающие по протоколу RIP,
используют технику расщепления горизонта.
Однако расщепление горизонта не
помогает в тех случаях, когда петли
образуются не двумя, а несколькими
маршрутизаторами. Рассмотрим более
детально ситуацию, которая возникнет в сети,
приведенной на рис. 5.26, в случае потери
связи маршрутизатора 2 с сетью А. Пусть все
маршрутизаторы этой сети поддерживают
технику расщепления горизонта.
Маршрутизаторы М2 и МЗ не будут возвращать
маршрутизатору в этой ситуации данные о
сети 201.36.14.0 с метрикой 2, так как они
получили эту информацию от маршрутизатора
Ml. Однако они будут передавать
маршрутизатору информацию о достижимости
сети 201.36.14.0 с метрикой 4 через себя, так как
получили эту информацию по сложному
маршруту, а не от маршрутизатора Ml
непосредственно. Например, маршрутизатор М2
получил эту информацию по цепочке М4-МЗ-М1.
Поэтому маршрутизатор Ml снова может быть
обманут, пока каждый из маршрутизаторов в
цепочке МЗ-М4-М2 не вычеркнет запись о
достижимости сети 1 (а это произойдет через
период 3 х 180 секунд).
Для предотвращения зацикливания
пакетов по составным петлям при отказах
связей применяются два других приема,
называемые триггерными обновлениями (triggered
updates) и замораживанием изменений (hold down).
Способ триггерных обновлений
состоит в том, что маршрутизатор, получив
данные об изменении метрики до какой-либо
сети, не ждет истечения периода передачи
таблицы маршрутизации, а передает данные об
изменившемся маршруте немедленно. Этот
прием может во многих случаях
предотвратить передачу устаревших
сведений об отказавшем маршруте, но он
перегружает сеть служебными сообщениями,
поэтому триггерные объявления также
делаются с некоторой задержкой. Поэтому
возможна ситуация, когда регулярное
обновление в каком-либо маршрутизаторе
чуть опередит по времени приход
триггерного обновления от предыдущего в
цепочке маршрутизатора и данный
маршрутизатор успеет передать по сети
устаревшую информацию о несуществующем
маршруте.
Второй прием позволяет исключить
подобные ситуации. Он связан с введением
тайм-аута на принятие новых данных о сети,
которая только что стала недоступной. Этот
тайм-аут предотвращает принятие устаревших
сведений о некотором маршруте от тех
маршрутизаторов, которые находятся на
некотором расстоянии от отказавшей связи и
передают устаревшие сведения о ее
работоспособности. Предполагается, что в
течение тайм-аута «замораживания изменений»
эти маршрутизаторы вычеркнут данный
маршрут из своих таблиц, так как не получат
о нем новых записей и не будут
распространять устаревшие сведения по сети.
|