Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
40
Добавлен:
11.04.2015
Размер:
122.37 Кб
Скачать

Лекция 10 Методы локальной пользовательской маршрутизации Алгоритм Дейкстры

Эти методы обеспечивают оптимальный маршрут прохождения пакета между отдельной парой абонентов. Введем обозначения: D(v) – суммарная стоимость минимального пути от источника (узел с номером 1) до получателя (узел с номеромv),l(i,j) – стоимость канала от узлаiдо узлаj. Определена только для смежных узлов. Для несмежных равна. Это подход является алгоритмом Дейкстры для сетевой маршрутизации.

Шаг0. Строится множествоN, содержащее номер одного узла (первого). Строится таблица: строки таблицы – итерации, столбцы – номер операции, множествоN, номера узлов (начиная со второго). В строке для нулевой итерации, в столбце для узлаvфиксируется значениеD1(v) =l(1,v). Нижний индекс показывает номер узла, через который достигается текущее оптимальное значение. Строиться корень дерева с узлом 1.

Шаг k (k = 1,2,3,…). В текущей строке выбираем узелvтакой, что он не из множестваN, но является смежным с каким-либо из узлов множестваNи такой, что значениеDp(v) минимально. Узелvвключается во множествоN. В дереве добавляется узел с номеромvв качестве потомка узла с номеромp. Далее формируется новая строка таблицы, делается пересчет. Для всех узловwNпроверяем, изменилось ли стоимость маршрута по следующему правилу: ,w* – любое,, если было оставлено старое значение,иначе.

Алгоритм заканчивает работу, исчерпав все множество вершин.

Пример:

Nитер

N

2

3

4

5

6

0

1

21

51

11

1

1

1

1, 4

21

44

11

24

45

2

1, 4, 2

21

35

11

24

45

3

1, 4, 2, 5

21

35

11

24

45

4

1, 4, 2, 5, 3

21

35

11

24

45

5

1, 4, 2, 5, 3, 6

Получатель

Смежный

2

2

3

4

4

4

5

4

6

4

Получено решение (маршрутная таблица) для узла с номером 1. Эта таблица расчитывается для каждого узла отдельно. Алгоритм может быть реализован самостоятельно каждым узлом. Недостатком является необходимость информации о стоимости всех каналов сети.

Подход Форда-Фолкирсона

Каждому узлу пристваивается метка (N,D(v)), гдеD(v) – текущая величина минимального расстояния от узлаvдо получателя (узел 1), иN– смежный сvузел, через который достигнуто это минимальное расстояние.

Шаг0. Строим таблицу, где первый столбец – номер итерации, остальные – номера узлов. Формируем первую строку: (1,l(v,1)) для узловv, которые смежны с узлом 1. Для узлов, несмежных с 1 (,).

Шаг k (k = 1,2,…). Пересчет строки таблицы.

Алгоритм заканчивает работу, если в текущей итерации не была изменена ни одны метка.

Пример:

1

2

3

4

5

6

0

(1,0)

( ,)

( ,)

( ,)

( ,)

( ,)

1

(1,0)

(1,2)

(1,5)

(1,1)

(4,2)

(5,4)

2

(1,0)

(1,2)

(5,3)

(1,1)

(4,2)

(5,4)

3

(1,0)

(1,2)

(5,3)

(1,1)

(4,2)

(5,4)

Замечание. Алгоритм Дейкстра может быть выполнен децентрализованно. Но при этом должны быть известны стоимости всех каналов связи в каждом узле. Т.к. в реальных сетях эта величина динамически меняется, то более эффективно выполнять расчет централизованным способом. Алгоритм Форда-Фолкирсона не может быть выполнен децентрализованно, т.к. там расчитываются все маршрутные таблицы. Однако именно он послужил основой для полностью децентрализованного алгоритма, использовавшегося вARPANet, который в настоящее время является основой дляInternet.

5.

Соседние файлы в папке Lectures 1semestr