- •А.В.Тимофеев, а.В.Сырцев Модели и методы маршрутизации потоков данных в телекоммуникационных системах с изменяющейся динамикой
- •Содержание
- •1. Эволюция глобальных ткс и принципов управления потоками данных
- •1.1. Рост объема и изменение структуры трафика в глобальных ткс
- •1.2. Современные тенденции развития глобальных ткс
- •1.3. Pазвитие ip-технологий маршрутизации и передачи потоков данных
- •1.4. Архитектура глобальных ткс и роль сетевой системы управления
- •1.5. Принципы построения адаптивных и интеллектуальных систем сетевого управления
- •1.6. Анализ ткс как информационного объекта управления
- •1.6.1. Графовые модели ткс
- •1.6.2. Матричные модели ткс и их взаимосвязь
- •1.6.3. Критерии коммуникабельности ткс
- •2. Методы статической маршрутизации потоков данных в мульти-агентных ткс
- •2.1. Задачи маршрутизации потоков данных и их роль в сетевом управлении ткс
- •2.2. Постановка задачи оптимальной статической маршрутизации
- •2.3. Модели и алгоритмы статической маршрутизации
- •2.3.1. Дерево кратчайших маршрутов для ткс с односторонними связями
- •2.3.2. Каталог узлов и оптимальных маршрутов для статических ткс
- •2.3.3. Метод статической лавинной маршрутизации
- •2.3.4. Методы вероятностной маршрутизации
- •2.3.5. Метод оптимальной маршрутизации, основанный на построении остова минимальной стоимости графовой модели ткс
- •2.4. Групповая маршрутизация в статических ткс
- •2.6. Оптимальная статическая маршрутизация в глобальных мульти-агентных ткс
- •3. Методы и средства динамической маршрутизации в глобальных ткс
- •3.1. Постановка задачи динамической маршрутизации
- •3.2. Основные алгоритмы динамической маршрутизации
- •3.2.1. Алгоритм Беллмана-Форда и его модификации
- •3.2.2. Алгоритм Дейкстры
- •3.3. Критерии существования оптимальных маршрутов передачи данных в динамических ткс на основе простых карт и таблиц маршрутизации
- •3.3.1. Критерий маршрутизируемости
- •3.3.2. Оптимальные таблицы и карты маршрутизации и вычисление оптимальных маршрутов
- •3.5. Много-адресная маршрутизация в динамических ткс
- •3.6. Многопотоковая маршрутизация в динамических ткс
- •3.7. Алгоритм 2-потоковой динамической маршрутизации
- •4. Модели и методы адаптивной и нейросетевой маршрутизации в мульти-агентных ткс
- •4.1. Особенности адаптивной маршрутизации в ткс с неопределённой днамикой
- •4.2. Принципы и модели централизованной, децентрализованной и мульти-агентной маршрутизации
- •4.3. Особенности организации распределительных таблиц и карт для адаптивной маршрутизации
- •4.4. Критерии корректности распределяющих карт маршрутизации
- •4.5. Расширение карт маршрутизации и интенсивность потоков данных
- •4.6. Централизованная и распределённая маршрутизации в мульти-агентных ткс
- •4.7. Нейросетевая маршрутизация в мульти-агентных ткс
- •Список литературы
- •Сведения об авторах
3.2.2. Алгоритм Дейкстры
Алгоритм Дейкстры используется для построения деревьев кратчайших маршрутов от узла-источника ко всем остальным узлам ТКС [3,17]. Он выполняется итеративно.
На каждой итерации алгоритм определяет кратчайший маршрут до ближайшего из необработанных ранее узлов, т.е., до узла, стоимость кратчайшего маршрута до которого не больше стоимостей кратчайших маршрутов от узла-источника до других узлов ТКС. После этого данный узел считается обработанным алгоритмом. Изначально все узлы, кроме узла-источника считаются необработанными.
Рассмотрим описание работы алгоритма. Введём следующие обозначения:
G(s,f,w) – ориентированный граф ТКС;
–узел-источник;
– множество узлов, обработанных алгоритмом;
()– множество узлов, обрабатываемых алгоритмом;
–остальные узлы;
– стоимость ребра , причём
w(i,j)=0; , если эти два узла не соединены непосредственно;
, если эти два узла непосредственно соединены;
L(j), где , – оценка алгоритмом стоимости маршрута от узла-источника s0 до узла v;
L(j), где , – стоимость кратчайшего маршрута от узла-источника s0 до узла v. (Для остальных j значение L(j) не определено).
Требуется построить дерево кратчайших маршрутов от узла-источника s0 до остальных узлов ТКС и вычислить их стоимости.
Работа алгоритма:
-
Инициализация.
T1 - пусто, T1={s0}, т.е. вначале множество обработанных узлов состоит только из узла-источника. Узлу-источнику сопоставляется пустой маршрут.
L(v)=w(s0vv) для , т.е. начальные стоимости маршрутов к соседним узлам – это веса соответствующих ребер графа G, причём L(s0)=0.
-
Шаг алгоритма.
Берем из T1 узел с минимальной оценкой стоимости маршрута, помещаем его в T0 ии обозначаем соответствующий ему маршрут как кратчайший. Иными словами,
находим такой, что
. (3.2.2)
При этом рассматриваем все ребра с начальным узлом x. Для каждого ребра (x, j) выполняется одно из трех действий:
А) если , то никаких действий не производится;
Б) если , то j переводится из множества T2 в T1, причем ей сопоставляются значение
, (3.2.3)
а также маршрут, состоящий из кратчайшего маршрута до x и ребра (x,j).
В) если , то производится новая оценка
, (3.2.4)
и узлу j сопоставляется соответствующий оценке маршрут (либо прежний, либо как в Б)).
Итерации повторяются до тех пор, пока T0 не станет равно s. По окончании работы алгоритма для каждого узла x будет определен кратчайший маршрут к нему от узла-источника, а значение L(x) будет соответствовать стоимости этого маршрута.
Алгоритм Дейкстры имеет вычислительную сложность O(N2), где N – число узлов ТКС.
3.3. Критерии существования оптимальных маршрутов передачи данных в динамических ткс на основе простых карт и таблиц маршрутизации
3.3.1. Критерий маршрутизируемости
Пусть ТКС задана своей графовой моделью, т.е. орграфом G(A,R,W). Назовем простой таблицей маршрутизации τi узла ai A отображение множества узлов A ТКС на множество узлов-соседей Ai A узла ai, т.е.
(3.3.1)
С каждым узлом ТКС ai A свяжем локальную БД и локальную БЗ маршрутизации. БД определяется как результат отображения τi, т.е. набором пар узлов из Ai×τi(Ai)), а БЗ - как само отображение τi . Это позволяет учитывать в БЗ дополнительные характеристики ТКС, такие как топология сети, стоимости каналов связи и т.п.
Таблицы маршрутизации, реализованные в локальных БД узлов ТКС, могут строиться с помощью БЗ в соответствии с некоторым критерием оптимальности (например, минимизация суммарной стоимости маршрута) на основе экспертных или иных решающих правил (тогда множество параметров, учитываемых при выборе маршрута, может быть расширено) или задаваться напрямую администратором сети. Примером таких таблиц могут служить простые таблицы маршрутизации стандартного вида.
Пусть для каждого узла ТКС задана связанная с ним БД – простая таблица маршрутизации. Назовем множество таких таблиц простой картой маршрутизации ТКС. Формально карту маршрутизации глобальной ТКС можно представить в виде
. (3.3.2)
Карта маршрутизации T может быть реализована как распределенная по узлам ТКС БД, представляющая собой совокупность таблиц маршрутизации. При этом не производится предварительная (априорная) прокладка маршрутов от одного узла ТКС к другому, а осуществляется только определение соседей для каждого узла ТКС.
Управление потоками данных будет производиться на основе таблиц маршрутизации на передающих узлах, каждая их которых будет определять выбор следующего узла маршрута. В этом случае сам маршрут передачи данных от одного узла ТКС к другому будет являться результатом только распределённого сетевого управления.
Настройка таблиц маршрутизации должна будет осуществляться так, чтобы конечный маршрут передачи данных был корректным и соответствовал накладываемым на него ограничениям на пропускную способность каналов связи и пропускную способность узлов ТКС и заданным требованиям (например, минимизация стоимости маршрутов). Заметим, что пропускная способность узла ТКС определяется, исходя из пропускной способности его каналов связи и размера (объёма памяти) буфера узла для пересылаемых пакетов данных.
Если карта маршрутизации T будет реализована как глобальная БД маршрутизации ТКС, которая может храниться в памяти маршрутизатора-координатора, то этап прокладки маршрутов будет осуществляться агентом-координатором. Агент-координатор на основе карты маршрутизации и глобальной БЗ сам проложит по таблицам маршрутизации необходимый (например, оптимальный) маршрут от узла-источника к узлу-получателю и вернет его запрашивающему агенту-узлу.
В обоих случаях сетевое управление прокладкой маршрута ведётся следующим образом: фиксируется узел-получатель данных f и для него от узла-источника s последовательными отображениями строится последовательность узлов ТКС вида
s=a0, a1, a2, …, ak=f, (3.3.3)
таких, что для любого i=1, 2, …, k справедливо соотношение τi-1(f)=ai.
Карту маршрутизации ТКС и соответствующую ей БД будем называть корректной, если по ней можно проложить маршрут передачи данных между любыми двумя узлами графа G(A,R,W).
Критерий, позволяющий прокладывать с помощью карты маршрутизации маршруты передачи пакетов данных между любыми двумя узлами ТКС, будем называть критерием коммуникабельности (маршрутизируемости) ТКС.
Основываясь на глобальной БД, реализующей карту маршрутизации ТКС, этот критерий можно сформулировать в виде следующей теоремы.
Теорема 3.3.1. Карта маршрутизации ТКС корректна, т.е. для любого узла-источника данных s и любого узла-получателя данных f из множества A узлов ТКС существует последовательность узлов вида (3.1.3) такая, что
для всех i=1,2,…,k, (3.3.4)
тогда и только тогда, когда для любого узла и для любого разбиения множества A на непустые подмножества A1 и A2, такие, что , найдутся узлы и , для которых справедливо соотношение
τ1(f)=a2. (3.3.5)
Для доказательства теоремы 3.3.1 сначала покажем, что из второго утверждения следует первое. Зафиксируем узел-получатель . Рассмотрим любое разбиение множества узлов на подмножества A1 и A2, где . Возьмем любой узел из подмножества A1 и обозначим его через s. Тогда существует последовательность узлов вида (3.3) такая, что для любого i=1, 2, ..., k верно, что τi-1(f)=ai. Так как узел-источник , а узел-получатель , то существует такой индекс j, что
, и τj-1(f)=aj. (3.3.6)
Таким образом, требуемая импликация доказана.
Покажем теперь справедливость обратной импликации, т.е. докажем, что из первого утверждения теоремы следует второе. Зафиксируем узлы . Разобьем множество узлов A на подмножества A1(0) и A2(0), причем A2(0)={f}. Тогда существует такой узел , что τ1(f)=f. Если , то разобьем множество A на подмножества A1(1) и A2(1), где A2(1)={f, a1}. Тогда существует такой узел , что . Если , то продолжим построение последовательности узлов до тех пор, пока не получим ak=s. Заметим, что для всех подмножеств A2(i) верно, что из любого узла этих подмножеств существует маршрут до узла-получателя f, определяемый таблицами маршрутизации ТКС. Поскольку , то между узлом-источником s и узлом-получателем f существует маршрут, определяемый таблицами маршрутизации. Следовательно, обратная импликация также справедлива.
Таким образом, теорема 3.3.1 доказана. Она определяет необходимое и достаточное условие коммуникабельности (маршрутизируемости) ТКС в терминах корректности карты маршрутизации.
Важно отметить, что таблицы маршрутизации определяют только один маршрут между узлом-источником s и узлом-получателем f. В противном случае существовали бы такие таблицы iT и узлы aA, для которых справедливы соотношения
, (3.3.7)
что противоречит определению простых таблиц маршрутизации для узлов ТКС.