Телекоммуникационные технологии.Сети TCP-IP

       

Пример построения таблицы маршрутов


Рассмотрим этот процесс на примере следующей сети.


Рис. 4.1.1. Пример RIP-системы

Здесь ?

, ?

, ?

, ?

 - маршрутизаторы, A, B, C, D, E - сети. Хосты в сетях не показаны за ненадобностью. Мы будем следить за формированием таблицы маршрутов в узле ?.

В начальный момент времени (например, после подачи питания на маршрутизаторы) таблица маршрутов в узле ?

выглядит следующим образом (т.к. узел ?

знает только о тех сетях, к которым подключен непосредственно):

A=1a

?

B=1a



?

Следовательно, узел ?

рассылает в сети А и В вектор расстояний (А=1,В=1).

Аналогично узел ?

рассылает в сети A, C, D вектор (A=1,C=1,D=1). Узел ?

получает этот вектор из сети А, увеличивает расстояния на 1 (A=2,C=2,D=2) и сравнивает с данными в своей таблице маршрутов. Новое расстояние до сети А оказывается больше, чем уже внесенное в таблицу (А=1), следовательно, новое значение игнорируется. Поскольку сети C и D вовсе не фигурируют в его таблице маршрутов, они туда вносятся. В узле ?

имеем:

A=1a

?

B=1a

?

C=2a

?

D=2a

?

Узел ?

в свою очередь рассылает вектор (D=1,E=1) в сети D и E. Узел ?

получает этот вектор из сети D, увеличивает расстояния на 1, после чего добавляет себе в таблицу данные о сети Е (Е=2a

?

). Ранее из узла ?

он получил информацию о сети В и добавил себе в таблицу строку В=2a

?

. Узел ?

рассылает в сети A, C, D свой обновленный вектор расстояний (A=1,B=2,C=1,D=1,E=2).

Узел ?

получает этот вектор от ?

из сети А, увеличивает расстояния на 1: (A=2,B=3,C=2,D=2,E=3) и замечает, что все указанные расстояния, кроме расстояния до сети Е, больше либо равны значениям, имеющимся в его таблице. Сеть Е в таблице узла ?

отсутствует, следовательно, она туда вносится, и в узле ?

мы получаем:

A=1a

?

B=1a

?

C=2a

?

D=2a

?

Е=3a

?

Далее маршрутизатор ?

, ранее не работавший по каким-либо причинам, рассылает в сети В, С, Е свой вектор (В=1,С=1,Е=1). Узел ?

получает этот вектор из сети В, увеличивает расстояния на 1 и обнаруживает, что расстояние Е=2 меньше имеющегося в таблице Е=3, следовательно запись о сети Е в таблице заменяется на Е=2a


?. Остальные элементы полученного от ?
вектора не вызывают обновления таблицы.
Итоговая таблица маршрутов маршрутизатора ?
:
A=1a
?
B=1a
?
C=2a
?
D=2a
?
Е=2a
?
На этом алгоритм сходится, то есть при неизменной топологии системы никакие векторы расстояний, получаемые маршрутизатором ?
, больше не внесут изменений в таблицу маршрутов. Аналогичным образом алгоритм составления таблицы маршрутов работает и сходится на других маршрутизаторах. Отметим, что несмотря на то, что таблицы маршрутов построены, векторы расстояний продолжают периодически широковещательно рассылаться каждым маршрутизатором. Это требуется для оперативного реагирования на внезапные изменения топологии системы (см. п. 4.1.2).
Очевидно, что вид построенной таблицы маршрутов может зависеть от порядка получения маршрутизатором векторов расстояний. Например, если бы узел ?
получил вектор от узла ?
раньше, чем от узла ?
, то дейтаграммы в сеть С посылались бы от ?
через ?.

Содержание раздела