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




Зацикливание


К сожалению, поведение дистанционно-векторных протоколов (и в частности, протокола RIP) при изменении топологии системы не всегда корректно и предсказуемо.

Рассмотрим вышеописанную ситуацию с отсоединением узла ?

от сети А.


Рис. 4.2.1. Изменение состояния RIP-системы

Мы предполагали, что узел ?

не отправлял дейтаграмм через узел ?

(и, следовательно, изменение таблицы маршрутов в узле ?

не повлияло на таблицу узла ?

). Предположим теперь, что ?

отправлял дейтаграммы в сеть А через ?

, то есть таблица в узле ?

имела вид:

A=2a

?

B=1a

?

C=1a

?

D=2a

?

Е=1a

?

После отсоединения ?

от сети А узел ?

получает от ?

вектор (A=16,B=1,C=16,D=16,E=2). Проанализировав этот вектор, ?

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

игнорируется.

В свою очередь узел ?

рассылает в сети В, С, Е вектор (A=2,B=1,C=1,D=2,E=1). Узел ?

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

модифицируются и она принимает вид:

A=3a

?

B=1a

?

C=2a

?

D=3a

?

Е=2a

?

Очевидно, после этого содержимое таблиц узлов ?

и ?

стабилизируется.

Рассмотрим теперь записи о достижении сети А в таблицах маршрутизаторов ?

и ?

.

В узле ?

: A=3a

?

В узле ?

: A=2a

?

Таким образом, возникло зацикливание: данные, адресованные в сеть А, будут пересылаться между узлами ?

и ?

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

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

1. Если дейтаграммы, адресованные в сеть Х, посылаются через маршрутизатор G, находящийся в сети N, то в векторе расстояний, рассылаемом в сети N, расстояние до сети Х не указывается.

В нашем примере узел ?

будет рассылать в сети В вектор (B=1,C=1,D=2,E=1). Элемент А=2 не будет включен в этот вектор, потому что дейтаграммы в сеть А отправляются узлом ?




Содержание  Назад  Вперед