Олифер В.Г., Олифер Н.А. - Компьютерные сети. Принципы, технологии, протоколы (4-ое изд.) - 2010 - обработка (953099), страница 143
Текст из файла (страница 143)
Глава 17. Базовые протоколы ТСР/1Р В дистанционно-векторных алгоритмах (РЪА) каждый маршрутизатор периодически и игирохоеещательно рассылает по сети вектор, компонентами которого являются расстояния (измеренные в той или иной метрике) от данного маршрутизатора до всех известных ему сетей. Пакеты протоколов маршрутизации обычно называют обьлвленияни о расстояниях, так как с их помощью маршрутизатор объявляет остальным маршрутизатораМ известные ему сведения о конфигурации сети. Получив от некоторого соседа вектор расстояний (дистанций) до известных тому сетей, маршрутизатор наращивает компоненты вектора на величину расстояния от себя до данного соседа. Кроме того, он дополняет вектор информацией об известных ему самому других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений других маршрутизаторов.
Обновленное значение вектора маршрутизатор рассылает своим соседям. В конце концов, каждый маршрутизатор узнает через соседние маршрутизаторы информацию обо всех имеющихся в составной сети сетях и о расстояниях до них. Затем он выбирает из нескольких альтернативных маршрутов к каждой сети тот маршрут, который обладает наименьшим значением метрики. Маршрутизатор, передавший информацию о данном маршруте, отмечается в таблице маршрутизации как следующий (пехг Ьор). Дистанционно-векторные алгоритмы хорошо работают толью в набольший сетях..
В больших сетях онн периодически засоряют линии связи ингеяо1/вгг()ягтРвфнюхя, $7о(еу.ве наменеянл конФигурации не всецш корректно могут отрабатыввтьрварщритм(В(егог11 тра,'гак,как маршрутизаторы не имеют точного лредстаелееег'о топология(мйей всей, а р$е4срея(ызт.только косвенной информацией -. ееквжгрм(вгсехдбгшй, Наиболее распространенным протоколом, основанным на дистанционно-векторном алгоритме, является протокол В1Р (см. далее). Алгоритмы состояния связей (1.БА) обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети.
Все маршрутизаторы работают на основании одного и того же графа, что делает процесс маршрутизации более устойчивым к изменениям конфигурации. Каждый маршрутизатор использует граф сети для нахождения оптимальных по некоторому критерию маршрутов до каждой из сетей, входящих в составную сеть. Чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами НЕЫ О со своими ближайшими соседями. В отличие от протоколов ОУА, которые регулярно передают вектор расстояний, протоколы 1.5А ограничиваются короткими сообщениями, а передача более объемных сообщений происходит только в тех случаях, когда с помощью сообщений НЕ(.10 был установлен факт изменения состояния какой-либо связи.
В результате служебныг),грлфнк, создаваемый лротшюлвмн МА, гораздо менее ннтвнснвньяг, чем у лротоколоа 1ДГгь Протоколами, основанными на алгоритме состояния связей, являются протокол 1Я-1Б стека ОЯ (этот протокол используется также в стеке ТСР/1Р) н протокол ОВРР стеки ТСР/1Р Протокол й!р Протокол й!Р Протокол К1Р (Конг!пя 1п(огшайоп Ргогосо! — протокол маршрутной информации) является внутренним протоколом маршрутизации дистанционно-векторного типа. Будучи простым в реализации, этот протокол чаще всего используется в небольших сетях.
Для 1Р имеются две версии К1Р— К1ру! и К1ру2. Протокол К1 Ру! не поддерживает масок. Протокол К1ру2 передает информацию о масках сетей, поэтому он в большей степени соответствует требованиям сегодняшнего дня. Так как построение таблиц маршрутизации в обеих версиях протокола принципиально не отличается, в дальнейшем для упрощения записей будет описываться работа версии !.
Построение таблицы маршрутизации Для измерения расстояния до сети стандарты протокола К1Р допускают различные виды нетрик: холы, значения пропускной способности, вносимые задержки, надежность сетей (то есть соответствующие признакам П, Т и К в поле качества сервиса 1Р-пакета), а также любые комбинации этих метрик. Метрика должна облалать свойством аддитивносши— нетрика составного пути должна быть равна сумме метрик составляющих этого пути. В большинстве реализаций К1Р используется простейшая метрика — количество хопов, то есть количество промежуточных маршрутизаторов, которые нужно преодолеть пакету до сети назначения.
Рассмотрим процесс построения таблицы маршрутизации с помощью протокола К1Р на примере составной сети, изображенной на рис. !7.!7. Мы разделим этот процесс на 5 этапов. Зяяо. т т. т т. Сеть, построенная на маршрутизаторах й!Р Зная ! — создание минвлииьной таблицы. Данная составная сеть включает восемь 1Р- мгей, связанных четырьмя маршрутизаторами с идентификаторами: К1, К2, ИЗ и К4 Маршрутизаторы, работающие по протоколу К1Р могут иметь идентификаторы, однако Глава 17. Базовые протоколы ТСР/!Р для протокола они не являются необходимыми. В К1Р-сообщениях эти идентификаторы не передаются. В исходном состоянии иа каждом маршрутизаторе программным обеспечением стека ТС Р/ 1Р автоматически создается минимальная таблица маршрутизации, в которой учитываются только непосредственно подсоединенные сети. На рисунке адреса портов маршрутизаторов в отличие от адресов сетей помещены в овалы.
Таблица 17.1 позволяет оценить примерный вид минимальной таблицы маршрутизации маршрутизатора К1. Таблица 17.1. Минимальная таблица маршрутизации маршругнэагора й1 Минимальные таблицы маршрутизации в других маршрутизаторах будут выглядеть соответственно, например, таблица маршрутизатора К2 будет состоять из трех записей (табл. 17. 2). Таблица 17.2. Минимальная таблица маршрутизации маршрутизатора й2 Этан 2 — рассылка минимальной таблицы соседям. После инициализации каждый маршрутизатор начинает посылать своим соседям сообщения протокола К!Р, в которых содержится его минимальная таблица. К! Р-сообщения передаются в дейтаграммах протокола !Л)Р и включают два параметра для каждой сети: ее 1Р-адрес и расстояние до нее от передающего сообщение маршрутизатора. По отношению к любому маршрутизатору соседями являются те маршрутизаторы, которым данный маршрутизатор может передать 1Р-пакет по какой-либо своей сети, не пользуясь услугами промежуточных маршрутизаторов.
Например, для маршрутизатора К! соседями являются маршрутизаторы К2 и КЗ, а для маршрутизатора К4 — маршрутиза. торы К2 и КЗ. Таким образом, маршрутизатор К1 передает маршрутизаторам К2 и КЗ следующие сообщения: !3 сеть 201.36.14.0, расстояние 1; !3 сеть 132.11.0.0, расстояние 1; !3 сеть 194.27.18.0, расстояние 1. Этап 3 — получение ИР-сообщений от соседей и обработка гюлученной информации. После получения аналогичных сообщений от маршрутизаторов К2 и КЗ маршрутизатор К! наращивает каждое полученное поле метрики на единицу и запоминает, через какой порт 577 прото ол нв' и от какого маршрутизатора получена новая информация (адрес этого маршрутизатора станет адресом следующего маршрутизатора, если эта запись будет внесена в таблицу иарщрутизации).
Затем маршрутизатор начинает сравнивать новую информацию с той, которая хранится в его таблице маршрутизации (табл. 17.3). Таблица 17.3. Таблица маршрутизации маршругизатора Н1 Записи с четвертой по девятую получены от соседних маршрутизаторов, и они претендуют ш помещение в таблицу. Однако только записи с четвертой по седьмую попадают в таблицу, а записи восьмая и девятая — нет. Это происходит потому, что они содержат данные вб уже имеющихся в таблице маршрутизатора К1 сетях, а расстояние до них больше, чем в существующих записях.
Протокол К1Р замещает запись о какой-либо сети только в том случае, если новая информация имеет лучшую метрику (с меньшим расстоянием в холах), чем имеющаяся. В результате в таблице маршрутизации о каждой сети остается только одна запись; если ке имеется несколько записей, равнозначных в отношении путей к одной и той же сети, то все равно в таблице остается одна запись, которая пришла в маршрутизатор первая по времени. Для этого правила существует исключение — если худшая информация о какой- вибо сети пришла от того же маршрутизатора, на основании сообщения которого была создана данная запись, то худшая информация замещает лучшую.
Алвлогичные операции с новой информацией выполнякл и остальные маршрутизаторы свти. Эгяап 4 — рассьика новой таблицы соседям. Каждый маршрутизатор отсылает новое К1Р- сообщение всем своим соседям. В этом сообщении он помещает данные обо всех известных вву сетях: как непосредственно подключенных, так и удаленных, о которых маршрутизатор узнал нз К1Р-сообщений.
Эмап 5 — получение ИР-сообщений от соседей и обработка полученной информации. Этап 5 повторяет этап 3 — маршрутизаторы принимают К1Р-сообщения, обрабатывают содержащуюся в них информацию и на ее основании корректируют свои таблицы маршрутизации. Посмотрим, как это делает маршрутизатор К1 (табл. 17.4). Нв этом этапе маршрутизатор К1 получает от маршрутизатора КЗ информацию о сети 132.15,0.0, которую тот, в свою очередь, на предыдущем цикле работы получил от маршру- 678 Глава! 7.
Базовые протоколы ТСРДР тизатора К4. Маршрутизатор уже знает о сети 132.15.0.0, причем старая информация имеет лучшую метрику, чем новая, поэтому новая информация об этой сети отбрасывается. Таблица 17.4. Таблица маршрутизации маршрутизатора Н1 О сети 202.101.16.0 маршрутизатор К1 узнает на этом этапе впервые, причем данные о ней приходят от двух соседей — от КЗ и К4.