Олифер В.Г., Олифер Н.А. - Компьютерные сети. Принципы, технологии, протоколы (4-ое изд.) - 2010 - обработка (953099), страница 145
Текст из файла (страница 145)
Эта причина коренится в самом принципе работы дистанционно-векторных протоколов — использовании информации, полученной нз «вторых рук». Действительно, маршрутизатор К2 передает маршрутизатору К1 информацию о достижимости сети 201.36.14.0, за достоверность которой он сам не отвечает. ПРИМЕЧАНИЕ Не следует думать, что прн любых отказах интерфейсов н маршрутизаторов з сетях возникают кзршрутные петли. Если бы маршрутизатор К1 успел передать сообщение о недостижимости сети 10136,14.0 раньше ложной информации маршрутизатора К2, то маршрутная петля не образовалась 6н. Так что маршрутные петли даже без дополнительных методов борьбы с ними возникают в среднем не 6олее чем в половине потенциально возможных случаев. Методы борьбы с ложными маршрутами в протоколе Й!Р Хотя протокол К1Р не в состоянии полностью исключить в сети переходные состояния, когда некоторые маршрутизаторы пользуются устаревшей информацией о несуществующих маршрутах, имеется несколько методов, которые во многих случаях решают подобные проблемы.
Проблема с петлей, образующейся между соседними маршрутизаторами, надежно решается в помацью методе расещпаения гориэшгте. Этот метод'заключается в том, что маршрупгая 1ифсрмация о некоторой сети, хранящвкш в таблице маршрупгзации, никогда не передается 0мгу маршругизвпгру, от которого она пнгученю ВВК Глава! 7. Базовые протоколы ТСРДР Практически все сегодняшние маршрутизаторы, работающие по протоколу К1Р используют технику расщепления горизонта. Если бы маршрутизатор К2 в рассмотренном ранее примере поддерживал технику расщепления горизонта, то он бы не передал маршрутизатору К1 устаревшую информацию о сети 201.36.14.0, так как получил он ее именно от маршрутизатора К1. Однако расщепление горизонта не помогает в тех случаях, когда петли образуются не двумя, а большим числом маршрутизаторов. Рассмотрим более детально ситуацию, которая возникнет в сети, приведенной на рис.
17.17, в случае потери связи маршрутизатора К1 с сетью 201.36.14.0, Пусть все маршрутизаторы этой сети поддерживают технику расщепления горизонта. Маршрутизаторы К2 и КЗ не будут возвращать маршрутизатору в этой ситуации данные о сети 201.36.14.0 с метрикой 2, так как они получили эту информацию от маршрутизатора К1. Однако они будут передавать маршрутизатору информацию о достижимости сети 201.36.14.0 с метрикой 4 через себя, так как получили эту информацию по сложному маршруту, а не непосредственно от маршрутизатора К1.
Например, маршрутизатор К2 получает эту информацию по цепочке К4-КЗ-К1, поэтому маршрутизатор К1 снова может быть обманут, пока каждый из маршрутизаторов в цепочке КЗ-К4-К2 не вычеркнет запись о достижимости сети 201.36.14.0. Для предотвращения зацикливания пакетов по составным петлям при отказах связей применяются два других приема, называемые триггерными обновлениями и замораживанием изменений. Прием триггерных обновлений состоит в том, что маршрутизатор, получив данные об изменении метрики до какой-либо сети, не ждет истечения периода передачи таблицы маршрутизации, а передает данные об изменившемся маршруте немедленно. Этот прием может во многих случаях предотвратить передачу устаревших сведений об отказавшем маршруте, но он перегружает сеть служебными сообщениями, поэтому триггерные объявления также делаются с некоторой задержкой.
По этой причине возможна ситуация, когда регулярное обновление в каком-либо маршрутизаторе чуть опережает по времени приход триггерного обновления от предыдущего в цепочке маршрутизатора, и данный маршрутизатор успевает передать по сети устаревшую информацию о несуществующей маршруте.
Второй прием — ааморажнвание изменений — позволяет исключить подобные ситуации. Он связан с введением тайм-аута на принятие новых данных о сети, которая только что стала недоступной. Этот тайм-аут предотвращает принятие устаревших сведений о некотором маршруте от тех маршрутизаторов, которые находятся на некотором расстоянии от отказавшей связи и передают устаревшие сведения о ее работоспособности. Предполагается, что в течение тайм-аута «замораживания изменений» эти маршрутизаторы вычеркнут данный маршрут из своих таблиц, так как не получат о нем новых записей и не будут распространять устаревшие сведения по сети.
Протокол ОЗРИК Протокол ОВРР (Орел ЗЬогтезг РатЬ Р!гзг — выбор кратчайшего пути первым) является последним (он принят в 1991 году) протоколом, основанном на алгоритме состояния связей, и обладает многими особенностями, ориентированными на применение в больших гетерогенных сетях. ВВЗ Протокол ОЗРЕ Два этапа построения таблицы маршрутизации ОБРЕ разбивает процедуру построения таблицы маршрутизации на два этапа, к первому относится построение и поддержание базы данных о состоянии связей сети, ко второму— нахождение оптимальных маршрутов и генерация таблицы маршрутизации. Пвапровнив и поддержание базы данных о состоянии связей сети.
Связи сети могут быть представлены в виде графа, в котором вершинами графа являются маршрутизаторы и подсети, а ребрами — связи между ними (рис. 17.18). Каждый маршрутизатор обменивается со своими соседями той информацией о графе сети, которой он располагает к данному моменту. Этот процесс похож на процесс распространения векторов расстояний до сетей к протоколе К1Р однако сама информация качественно иная — зто информация о топвлоти сети. Сообщения, с помощью которых распространяется топологическая информация, кюываются объявлениями о состоянии связей (11п1с Ясаке Адчеггкзешепц 1.8А) сети. При транзитной передаче объявлений 15А маршрутизаторы не модифицируют информацию, кзк зто происходит в дистанционно-векторных протоколах, в частности в К1Р, а передают ге в неизменном виде. В результате все маршрутизаторы сети сохраняют в своей памяти идентичные сведения о текущей конфигурации графа связей сети.
Рмо. 17.16. Граф сети, построенный протоколом Оорр Для контроля состояния связей и соседних маршрутизаторов ОБРЕ-маршрутизаторы передают друг другу особые сообщения НЕ1ЛО каждые 10 секунд . Небольшой обьем этих гввбщений делает возможным частое тестирование состояния соседей и связей с ними.
В том случае, когда сообщения НЕ1 1.О перестают поступать от какого-либо непосредственного соседа, маршрутизатор делает вывод о том, что состояние связи изменилось с работоспособного на неработоспособное и вносит соответствующие коррективы в свою говокогнческую базу данных. Одновременно он отсылает всем непосредственным соседям вбьявление 15А об этом изменении, те также вносят исправления в свои базы данных к, в свою очередь, рассылают данное объявление ЕЯА своим непосредственным соседям.
Нктждвнив оптимальнык маршрутов и генерация таблицы маршрутизации. Задача накокдения оптимального пути на графе является достаточно сложной и трудоемкой. В протоколе ОБРЕ для ее решения используется итеративный алгоритм Дийкстры. Каждый 584 Глава 17. Базовые протоколы ТСР/1Р маршрутизатор сети, действуя в соответствии с этим алгоритмом, ищет оптимальные маршруты от своих интерфейсов до всех известных ему подсетей. В каждом найденном таким образом маршруте запоминается только один шаг — до следующего маршрутизатора. Данные об этом шаге и попадают в таблицу маршрутизации.
Если состояние связей в сети изменилось и произошла корректировка графа сети, каждый маршрутизатор заново ищет оптимальные маршруты и корректирует свою таблицу маршрутизации. Аналогичный процесс происходит и в том случае, когда в сети появляется новая связь или новый сосед, объявляющий о себе с помощью своих сообщений НЕЕЬО. При работе протокола ОБРЕ конвергенция таблиц маршрутизации к новому согласованному состоянию происходит достаточно быстро, быстрее, чем в сетях, в которых работают дистанционно-векторные протоколы.
Это время состоит из времени распространения по сети объявления ЕБА и времени работы алгоритма Дийкстры, который обладает быстрой сходимостью. Однако вычислительная сложность этого алгоритма предъявляет высокие требования к мощности процессора маршрутизатора. Когда состояние сети не меняется, то объявления о связях не генерируются, топологические базы данных и таблицы маршрутизации не корректируются, что экономит пропускную способность сети и вычислительные ресурсы маршрутизаторов. Однако у этого правила есть исключение; каждые 30 минут ОБРЕ-маршрутизаторы обмениваются всеми записями базы данных топологической информации, то есть синхронизируют их для более надежной работы сети. Так как этот период достаточно большой, то данное исключение незначительно сказывается на загрузке сети.
Метрики При поиске оптимальных маршрутов протокол ОБРЕ по умолчанию использует метрику, учитывающую пропускную способность каналов связи. Кроме того, допускается применение двух других метрик, учитывающих задержки и надежность передачи пакетов каналами связи. Для каждой из метрик протокол ОБРЕ строит отдельную таблицу маршрутизации. Выбор нужной таблицы происходит в зависимости от значений битов ТОБ в заголовке пришедшего 1Р-пакета. Если в пакете бит О (Ое!ау — задержка) установлен в 1, то для этого пакета маршрут должен выбираться из таблицы, в которой содержатся маршруты, минимизирующие задержку. Аналогично, пакет с установленным битом Т (ТЬгоцйЬрцг— пропускная способность) должен маршрутизироваться по таблице, построенной с учетои пропускной способности каналов, а установленный в единицу бит К (Ке11аЬ|11гу — надежность) указывает на то, что должна использоваться таблица, для построения которой критерием оптимизации служит надежность доставки.
Протокол ОБРЕ поддерживает стандартные для многих протоколов (например, для протокола покрывающего дерева) значения расстояний для метрики, отражающей пропускную способность: так, для сети Е1Ьегпес она равна 10, для Разе Егйегпег — 1, для канала Т-1', обладающего пропускной способностью 1,544 Мбит/с, — 65, для канала с пропускной способностью 56 Кбит/с — 1785. При наличии высокоскоростных каналов, таких как С)йаЬ11 Егйегпег или БТМ-16/64, администратору нужно задать другую шкалу скоростей, назначив единичное расстояние наиболее скоростному каналу.
' Т.1 — зто цифровой канал технологии РРН, рассматривавшейся в главе 11. Марцгрутиэация в неоднородных сетях При выборе оптимального пути на графе с каждым ребром графа связывается метрика, которая добавляется к пути, если данное ребро в него входит. Пусть в приведенном на рнс. 17.18 примере маршрутизатор К5 связан с маршрутизаторами К6 и К7 каналами Т-1, к иаршрутизаторы К6 и К7 связаны между собой каналом 56 Кбит/с.