Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Дистанционно-векторный протокол




 

Самым распространенным протоколом обмена маршрутной информацией, основанным на алгоритме дистанционно-вектор­ного типа, является протокол RIP (Routing Information Proto­col) — протокол маршрутной информации.

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

RIP применяется в сравнительно небольших и относительно однородных сетях, где расстояние между двумя любыми узлами не должно превышать 15 хопов.

Для определения оптимального маршрута до требуемого узла данный протокол использует дистанционно-векторный алгоритм Беллмана-Форда.

Процесс работы протокола состоит в рассылке, получении и обработке векторов расстояний до сетей, находящихся в облас­ти действия протокола, т. е. в данной RIP-системе.

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

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

 
 

Пример RIP-системы

Вектором расстояний при этом называется совокупность пар значе­ний: идентификатор сети — расстоя­ние до этой сети.

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

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

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

Если представить составную сеть упрощенно в виде графа, то подсети будут ребрами этого графа, а соединяющие их маршрутизаторы — вершинами.

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

Таблица маршрутов M1 (состояние 0)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   Ml
В   Ml
F   Ml

Таблицы маршрутов других маршрутизаторов будут выглядеть аналогично, например для маршрутизатора М5 см. табл.

Таблица маршрутов М5

Сеть назначения Расстояние до сети Следующий маршрутизатор
С   М5
D   М5

 

После подачи питания на маршрутизаторы и их инициализа­ции они начинают широковещательную рассылку своих векторов расстояний. При этом маршрутизатор Ml будет рассылать вектор типа:

• сеть А, расстояние 1;

• сеть В, расстояние 1;

• сеть F, расстояние 1,

который получат маршрутизаторы М2, М3 и М4. Эти маршрути­заторы также будут рассылать свои векторы расстояний. Маршру­тизатор Ml, получив эти векторы, увеличивает в них каждое рас­стояние на единицу и запоминает, от какого маршрутизатора по­лучен тот или иной вектор.

Допустим, что первым пришел вектор расстояний с маршру­тизатора М3. Ml увеличивает все расстояния этого вектора на единицу и сравнивает с записями из своей таблицы маршрутов. Протокол RIP меняет запись в таблице маршрутов о какой-либо сети только в том случае, если расстояние до этой сети, указанное в полученном векторе, меньше, чем то, что содержится в этой таблице. Сведения о сетях Е и G в таблице не содержатся, поэто­му в нее необходимо эти сведения добавить. При этом идентифи­каторы сетей и расстояния до них берутся из полученного вектора расстояний, а в качестве адреса следующего маршрутизатора за­писывается адрес маршрутизатора, приславшего этот вектор рас­стояний, в данном случае это маршрутизатор М3. Расстояние до сети F, указанное в векторе расстояний, больше, чем расстояние в таблице маршрутов, поэтому эта запись игнорируется.

Таким образом, измененная таблица маршрутов Ml будет со­держать следующие записи (табл.*).

Аналогично, получив векторы расстояний от М2 и М4, мар­шрутизатор Ml обрабатывает пришедшие сведения и в соответст­вии с ними обновляет свою таблицу маршрутов (табл. **).

 

Таблица *. Таблица маршрутов M1 (состояние 1)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   Ml
В   Ml
Е   М3
F   M1
С   М2

Таблица **. Таблица маршрутов M1 (состояние 2)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   Ml
В   Ml
С   М2
D   М4
Е   М2
F   Ml
G   М3

Данные о сетях Е и G, полученные от маршрутизаторов М2 и М4 игнорируются, поскольку в таблице М1 уже содержаться за­писи об этих сетях, пришедшие ранее от маршрутизатора М3 и имеющие значения расстояний, равные двум, т. е. являющиеся равнозначными по отношению к полученным позднее.

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

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

На каждом маршрутизаторе для каждой записи в таблице мар­шрутов определено время жизни. Если в течение 180 секунд маршрутизатор не получает векторов, подтверждающих или устанав­ливающих новое значение расстояния до сети, которой соответст­вует данная запись, то такая сеть отмечается как недостижимая — расстояние до нее приравнивается 16. Спустя некий промежуток времени все записи о недостижимых сетях из таблицы маршрутов удаляются.

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

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

Появление новых маршрутов практически не нарушает работу сети. Информация о новом маршруте в ходе работы протокола RIP распространяется среди маршрутизаторов, которые с учетом этой информации обновляют свои таблицы маршрутов.

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

Например, если соединение маршрутизатора Ml с сетью F окажется по каким-либо причинам нарушенным, то маршрутизатор, обнаружив эти изме­нения, изменит свою таблицу мар­шрутов.

 
 

Расстояние до сети F, а также до всех сетей, доступных через F, будет равно 16. Поскольку расстояние ме­жду двумя любыми узлами RIP-сис­темы не должно превышать 15 хопов, то расстояние, равное 16 хопам, будет соответствовать бесконечно­сти, ЧТО ГОВОРИТ О ТОМ, ЧТО сеть недоступна. Пример RIP-системы обрыв связи с F)

 

Таким образом, таблица маршрутов Ml будет выглядеть сле­дующим образом (табл.).

Таблица маршрутов M1 (состояние 3)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   M1
В   M1
С 2 М2
D 2 М4
Е   М3
F   M1
G   МЗ

На основании табл. строится вектор расстояний, который рассылается в сеть маршрутизатором Ml, чтобы другие маршру­тизаторы, пересылающие пакеты через М1 в ставшие недоступ­ными сети, изменили свои таблицы маршрутов.

 
 

Поскольку процесс обмена сообщениями, содержащими век­торы расстояний, идет постоянно, то спустя какое-то время мар­шрутизатор Ml получит векторы расстояний М2 и М4

Сравнив данные этих векторов, увеличенные на единицу, с данными своей таблицы маршрутов, М1 обнаружит, что сущест­вуют маршруты до сетей F, E и G, имеющие лучшую метрику, не­жели 16. Изменив соответственно записи таблицы маршрутов, M1 определит новые «обходные» маршруты к ставшим недоступ­ными ему в результате разрыва соединения сетям.

При этом таблица маршрутов М1 будет выглядеть так (табл.).

Таблица маршрутов М1 (состояние 4)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   Ml
В   Ml
С   М2
D   М4
Е   М2
F   М2
G   М4

Однако очень часто подобные изменения в топологии сети приводят к возникновению сбоев и некорректной работе прото­кола RIP.

Например, если после разрыва соединения маршрутизатора Ml с сетью F, Ml не успел оповестить другие маршрутизаторы о недоступности этой сети, то он получает вектор расстояний от маршрутизатора М2, построенный на основе его таблицы мар­шрутов (табл.).

Проанализировав полученный вектор, Ml определяет, что по­лученная метрика расстояния до сети F лучше бесконечности, и корректирует свою таблицу маршрутов (табл.).

 

Таблица маршрутов M1 (состояние 5)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   М2
В   Ml
С   М2
D   М5
Е I М2
F   Ml
G   M3

Таблица маршрутов M1 (состояние 6)

Сеть назначения Расстояние до сети Следующий маршрутизатор
А   Ml
В   Ml
С   М2
D   М4
Е   М2
F   М2
G   М2

Таким образом происходит зацикливание: чтобы достичь сети F маршрутизатор М1 будет передавать пакеты маршрутизатору М2, который в свою очередь на основе таблицы маршрутов будет возвращать их обратно на Ml.

Еще одним примером некорректной работы RIP в результате нарушения соединения в сети является так называемый «счет до бесконечности». При этом маршрутизаторы последовательно об­мениваются векторами, расстояние до недоступной сети в кото­рых меньше 16. С каждым новым вектором это расстояние увели­чивается на единицу. Обмен векторами, содержащими сведения о несуществующем маршруте, продолжается до тех пор, пока в таблицах маршрутов всех маршрутизаторов сети метрика этого маршрута не будет равна 16.

Таким образом, разрыв соединения с одной из сетей обнару­живается не сразу, а спустя некоторое время, в течение которого считается, что вся составная сеть функционирует нормально.

Существует несколько различных способов снизить вероят­ность некорректной работы протокола RIP.

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

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

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...