Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all.doc
Скачиваний:
0
Добавлен:
21.12.2019
Размер:
19.59 Mб
Скачать

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

            1. Неадаптивные (статистические) алгоритмы

В основном все основываются на т.н. принципе оптимальности. Он заключается в следующем: если маршрутизатор B располагается на оптимальном маршруте между A и C, то от B к C тоже является оптимальным маршрутом.

            1. Алгоритм маршрутизации на основе входного дерева

В этом случае происходит рассмотрение множества оптимальных маршрутов от всех источников к приемнику в виде дерева.

Расстояния между узлами измеряется количеством транзитных участков. Входное дерево может быть неуникально, то есть их может быть несколько.

Цель всех алгоритмов построение входного дерева для маршрутизаторов. Недостаток: линии связи маршрутизаторов могут выходить из строя и могут быть у каждого маршрутизатора разные представления о сети.

Алгоритм маршрутизации по выбору кратчайшего пути

В этом случае сеть представляется в виде графа. Способ измерения длины дуг может выбираться исходя из физической длины линии между маршрутизаторами, временем задержки при передаче пакетов, длиной очереди и т.д. Имеется несколько алгоритмов вычисления кратчайшего пути. Наиболее известный алгоритм Дейкстры. Работу алгоритма рассмотрим на примере.

Пример:

Кратчайший путь от А к D.

Алгоритм маршрутизации «Заливка»

Идея: каждый приходящий пакет посылается на все исходящие линии кроме той, откуда он пришел. Недостаток: порождается большое количество дублированных пакетов которые гуляют по сети. С целью их упорядочивания в заголовок пакета помещается счетчик преодоления транзитных участков уменьшаемый на 1 после прохождения каждого маршрутизатора. В идеальном случае первоначальное значение счетчика устанавливается в максимальную длину в пути без петлей. Когда, двигаясь по пути пакета, значение счетчика становится равным нулю, он удаляется, либо другим способом является учет прохождения маршрутизаторов. В этом случае все маршрутизаторы ведут список маршрутизаторов – источников. В списке сохраняются порядковые номера пакетов. Если пакет от данного маршрутизатора с таким номером уже приходил он удаляется. Если нет – распространяется дальше.

При «выборочной заливке» пакеты направляются не по всем линиям, а только по тем, которые «приблизительно» идут по выбранному адресатом направлению.

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

Адаптивные (динамические) алгоритмы маршрутизации по вектору расстояния

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

Примером алгоритма такого типа является алгоритм RIP. В этом случае таблица маршрутизатора содержит записи о каждом маршрутизаторе сети. При этом каждая запись состоит из двух частей: линия для данного адресата и продолжительность времени прохождения пакета или расстояние. Предполагается что маршрутизаторам известно расстояние до каждого из соседей (имеется ввиду весовой коэффициент). Если в качестве расстояния используется время задержки, то оно может быть измерено с помощью пакета ECHO (источник передает пакет, получатель отправляет пакет обратно с установкой времени получения; таким образом можно узнать время прохождения соседа с соседом).

В ходе выполнения алгоритма маршрутизаторы через определенные интервалы времени посылают соседям список с приблизительной задержкой для каждого получателя. Если одна из таблиц пришла к маршрутизатору Y от соседа X и в таблице указано, что время распространения от X до i — Xi , а от X до Y — m, то от Y до Xi — Xi +m. Выполнив такие расчеты для всех маршрутизаторов соседних с Y, можно выбрать наилучший путь до адресата. Обработка этих данных в результате дает новую таблицу кратчайших путей.

Пример:

Рассматриваем маршрутизатор J.

  1. Маршрутизатор измерил задержки до своих соседей, выдав им пакет ECHO, и получил следующие данные: JA=8, JI=10,JH=12,JK=6

  2. Маршрутизатор получил от своих соседей таблицы со следующими значениями:

 

A

I

H

K

Строится таблица J

A

0

24

20

21

0+8 = 8 A

B

12

36

31

28

12+8 = 20 A

C

25

18

19

36

10+18= 28 T

D

40

27

8

24

12 + 8 = 20 H

E

14

7

30

22

7 + 10 = 17 I

F

23

20

19

40

20+12 = 32 I

G

18

31

6

31

6+12 = 18 H

H

17

20

0

19

0+12 = 12 H

I

21

0

14

2

0 + 10 = 10 I

J

9

11

7

10

-

K

24

22

22

0

0 + 6 = 6 K

L

29

33

9

9

9 + 16 = 15 K

Вывод если приходит пакет на маршрутизатор D то J включает линию H. Если на маршрутизатор F, то включает линию I. Каждый маршрутизатор в узле строит такую таблицу, куда посылать пакеты в соответствии с адресатом. Недостаток: расчет требует много ресурсов (времени).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]