Дистанционно-векторный протокол
Самым распространенным протоколом обмена маршрутной информацией, основанным на алгоритме дистанционно-векторного типа, является протокол RIP (Routing Information Protocol) — протокол маршрутной информации. В качестве метрик различные реализации протокола RIP используют широкий спектр показателей, таких, как пропускная способность, задержки, надежность каналов связи, однако наиболее распространенной в протоколах данного типа является метрика, учитывающая количество хопов. RIP применяется в сравнительно небольших и относительно однородных сетях, где расстояние между двумя любыми узлами не должно превышать 15 хопов. Для определения оптимального маршрута до требуемого узла данный протокол использует дистанционно-векторный алгоритм Беллмана-Форда. Процесс работы протокола состоит в рассылке, получении и обработке векторов расстояний до сетей, находящихся в области действия протокола, т. е. в данной RIP-системе. Результатом работы протокола на каждом конкретном маршрутизаторе является таблица маршрутов, где каждой сети данной RIP-системы соответствует расстояние до этой сети, выраженное посредством метрики (например, в хопах), а также адрес следующего маршрутизатора, на который необходимо направлять пакеты для достижения ими заданного адреса. При этом информация о номере сети и адресе следующего маршрутизатора, хранящаяся в таблице, необходима для коммутации, т. е. пересылки поступающих пакетов, а информация о расстоянии до сети — метрика — используется при обработке векторов расстояний. Пример RIP-системы Вектором расстояний при этом называется совокупность пар значений: идентификатор сети — расстояние до этой сети.
Маршрутизаторы, работающие в RIP-системе, периодически производят широковещательную рассылку своих векторов расстояний, построенных на основе записей таблицы маршрутов, во все сети, к которым эти маршрутизаторы непосредственно подключены. Получив чужой вектор расстояний, маршрутизатор увеличивает расстояние на единицу, после этого сравнивает с данными из своей таблицы маршрутов. Если расстояние до какой-либо сети, увеличенное на единицу, в полученном векторе меньше, чем расстояние до этой же сети, указанное в таблице маршрутов, то происходит замена записи таблицы значениями, полученными в векторе расстояний. При этом в поле, содержащем адрес следующего маршрутизатора, записывается адрес маршрутизатора, приславшего данный вектор расстояний. В следующий раз при широковещательной рассылке в сеть будет передан уже вектор расстояний, построенный на основе измененной таблицы маршрутов. Если представить составную сеть упрощенно в виде графа, то подсети будут ребрами этого графа, а соединяющие их маршрутизаторы — вершинами. В исходном состоянии маршрутизаторы имеют информацию только о тех сетях, к которым они непосредственно подключены. При этом таблица маршрутов, например маршрутизатора M1, может выглядеть примерно так (табл.). Таблица маршрутов M1 (состояние 0)
Таблицы маршрутов других маршрутизаторов будут выглядеть аналогично, например для маршрутизатора М5 см. табл. Таблица маршрутов М5
После подачи питания на маршрутизаторы и их инициализации они начинают широковещательную рассылку своих векторов расстояний. При этом маршрутизатор Ml будет рассылать вектор типа:
• сеть А, расстояние 1; • сеть В, расстояние 1; • сеть F, расстояние 1, который получат маршрутизаторы М2, М3 и М4. Эти маршрутизаторы также будут рассылать свои векторы расстояний. Маршрутизатор Ml, получив эти векторы, увеличивает в них каждое расстояние на единицу и запоминает, от какого маршрутизатора получен тот или иной вектор. Допустим, что первым пришел вектор расстояний с маршрутизатора М3. Ml увеличивает все расстояния этого вектора на единицу и сравнивает с записями из своей таблицы маршрутов. Протокол RIP меняет запись в таблице маршрутов о какой-либо сети только в том случае, если расстояние до этой сети, указанное в полученном векторе, меньше, чем то, что содержится в этой таблице. Сведения о сетях Е и G в таблице не содержатся, поэтому в нее необходимо эти сведения добавить. При этом идентификаторы сетей и расстояния до них берутся из полученного вектора расстояний, а в качестве адреса следующего маршрутизатора записывается адрес маршрутизатора, приславшего этот вектор расстояний, в данном случае это маршрутизатор М3. Расстояние до сети F, указанное в векторе расстояний, больше, чем расстояние в таблице маршрутов, поэтому эта запись игнорируется. Таким образом, измененная таблица маршрутов Ml будет содержать следующие записи (табл.*). Аналогично, получив векторы расстояний от М2 и М4, маршрутизатор Ml обрабатывает пришедшие сведения и в соответствии с ними обновляет свою таблицу маршрутов (табл. **).
Таблица *. Таблица маршрутов M1 (состояние 1)
Таблица **. Таблица маршрутов M1 (состояние 2)
Данные о сетях Е и G, полученные от маршрутизаторов М2 и М4 игнорируются, поскольку в таблице М1 уже содержаться записи об этих сетях, пришедшие ранее от маршрутизатора М3 и имеющие значения расстояний, равные двум, т. е. являющиеся равнозначными по отношению к полученным позднее. Аналогичным образом происходят обновления таблиц маршрутов и на других маршрутизаторах. Внеся изменения в таблицу, каждый маршрутизатор снова рассылает вектор расстояний, который уже содержит обновленные данные.
При приеме таких векторов процесс их обработки не меняется: маршрутизатор увеличивает все содержащиеся в векторах расстояния на единицу, после этого сравнивает их с теми, что хранятся в его таблице маршрутов, которая может корректироваться в соответствии с результатами сравнения. На каждом маршрутизаторе для каждой записи в таблице маршрутов определено время жизни. Если в течение 180 секунд маршрутизатор не получает векторов, подтверждающих или устанавливающих новое значение расстояния до сети, которой соответствует данная запись, то такая сеть отмечается как недостижимая — расстояние до нее приравнивается 16. Спустя некий промежуток времени все записи о недостижимых сетях из таблицы маршрутов удаляются. В ходе обмена векторами расстояний и корректировки на их основе таблиц маршрутов наступает момент, когда в отсутствие каких-либо нарушений в топологии RIP-системы никакие векторы расстояний уже больше не внесут изменений ни в одну из таблиц. При этом между двумя любыми узлами определен некий оптимальный маршрут. Однако периодический обмен маршрутной информацией между маршрутизаторами по-прежнему необходим для оперативного и своевременного реагирования на изменения в топологии сети, например как в результате появления новых или обрывов существующих соединений, так и в результате отключения или включения в сеть дополнительных маршрутизаторов. Появление новых маршрутов практически не нарушает работу сети. Информация о новом маршруте в ходе работы протокола RIP распространяется среди маршрутизаторов, которые с учетом этой информации обновляют свои таблицы маршрутов. Изменение топологии сети в результате разрыва соединения в этой сети, отключения или выхода из строя маршрутизатора обрабатывается по аналогичному принципу. Например, если соединение маршрутизатора Ml с сетью F окажется по каким-либо причинам нарушенным, то маршрутизатор, обнаружив эти изменения, изменит свою таблицу маршрутов.
Расстояние до сети F, а также до всех сетей, доступных через F, будет равно 16. Поскольку расстояние между двумя любыми узлами RIP-системы не должно превышать 15 хопов, то расстояние, равное 16 хопам, будет соответствовать бесконечности, ЧТО ГОВОРИТ О ТОМ, ЧТО сеть недоступна. Пример RIP-системы обрыв связи с F)
Таким образом, таблица маршрутов Ml будет выглядеть следующим образом (табл.). Таблица маршрутов M1 (состояние 3)
На основании табл. строится вектор расстояний, который рассылается в сеть маршрутизатором Ml, чтобы другие маршрутизаторы, пересылающие пакеты через М1 в ставшие недоступными сети, изменили свои таблицы маршрутов. Поскольку процесс обмена сообщениями, содержащими векторы расстояний, идет постоянно, то спустя какое-то время маршрутизатор Ml получит векторы расстояний М2 и М4 Сравнив данные этих векторов, увеличенные на единицу, с данными своей таблицы маршрутов, М1 обнаружит, что существуют маршруты до сетей F, E и G, имеющие лучшую метрику, нежели 16. Изменив соответственно записи таблицы маршрутов, M1 определит новые «обходные» маршруты к ставшим недоступными ему в результате разрыва соединения сетям. При этом таблица маршрутов М1 будет выглядеть так (табл.). Таблица маршрутов М1 (состояние 4)
Однако очень часто подобные изменения в топологии сети приводят к возникновению сбоев и некорректной работе протокола RIP. Например, если после разрыва соединения маршрутизатора Ml с сетью F, Ml не успел оповестить другие маршрутизаторы о недоступности этой сети, то он получает вектор расстояний от маршрутизатора М2, построенный на основе его таблицы маршрутов (табл.). Проанализировав полученный вектор, Ml определяет, что полученная метрика расстояния до сети F лучше бесконечности, и корректирует свою таблицу маршрутов (табл.).
Таблица маршрутов M1 (состояние 5)
Таблица маршрутов M1 (состояние 6)
Таким образом происходит зацикливание: чтобы достичь сети F маршрутизатор М1 будет передавать пакеты маршрутизатору М2, который в свою очередь на основе таблицы маршрутов будет возвращать их обратно на Ml.
Еще одним примером некорректной работы RIP в результате нарушения соединения в сети является так называемый «счет до бесконечности». При этом маршрутизаторы последовательно обмениваются векторами, расстояние до недоступной сети в которых меньше 16. С каждым новым вектором это расстояние увеличивается на единицу. Обмен векторами, содержащими сведения о несуществующем маршруте, продолжается до тех пор, пока в таблицах маршрутов всех маршрутизаторов сети метрика этого маршрута не будет равна 16. Таким образом, разрыв соединения с одной из сетей обнаруживается не сразу, а спустя некоторое время, в течение которого считается, что вся составная сеть функционирует нормально. Существует несколько различных способов снизить вероятность некорректной работы протокола RIP. Для устранения вероятности появления зацикливания обычно используют некоторые ограничения на то, как и куда маршрутизаторы должны рассылать свои векторы расстояний. Например, маршрутная информация, хранящаяся в таблице на одном из маршрутизаторов, при рассылке векторов расстояний ни в коем случае не должна быть передана на тот же маршрутизатор, с которого она была получена.
Читайте также: III. ОРГАНИЗАЦИОННЫЕ АСПЕКТЫ ВНЕДРЕНИЯ ПРОТОКОЛА Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|