- •А.В.Тимофеев, а.В.Сырцев Модели и методы маршрутизации потоков данных в телекоммуникационных системах с изменяющейся динамикой
- •Содержание
- •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. Нейросетевая маршрутизация в мульти-агентных ткс
- •Список литературы
- •Сведения об авторах
2.4. Групповая маршрутизация в статических ткс
Для статических ТКС, в которых планирование оптимальных маршрутов производится одновременно для разных пар узлов, особую роль играет алгоритм Флойда [3,17]. Этот алгоритм вычисляет маршруты минимальных стоимостей между всеми парами узлов ТКС.
Пусть узлы графа G(A,R,W) проиндексированы, т.е. .
Лемма 2.5.1: Пусть узлы графа G(A,R,W) проиндексированы, т.е. , и пусть dk(ai,aj) – минимальная стоимость маршрутов из ai в aj, причем индексы промежуточных узлов ТКС не превосходят k. Тогда
. (2.5.1)
Доказательство леммы 2.5.1: Рассмотрим все маршруты из ai в aj, где индексы промежуточных узлов не превосходят k+1. Кратчайший среди них маршрут либо содержит вершину ak+1, либо нет. Во втором случае, так как вершина ak+1 роли не играет, то кратчайший маршрут остается тем же, что и при k, и поэтому dk+1(ai ,aj)= dk(ai ,aj). В первом случае маршрут можно будет разбить на два подмаршрута: из ai в ak+1 и из ak+1 в aj. Поскольку индексы промежуточных узлов в этих маршрутах не превосходят k, то
dk+1(ai ,aj)= dk(ai ,ak+1)+ dk(ak+1 ,aj). (2.5.2)
Лемма 2.5.1 доказана.
Таким образом, рекуррентный алгоритм Флойда представляет собой последовательное вычисление по формуле (2.5.1) стоимостей и определение группы оптимальных маршрутов между всеми парами узлов ТКС. На траектории алгоритма справедливо следующее соотношение:
. (2.5.3)
При настройке таблиц маршрутизации в ТКС удобно пользоваться следующим представлением маршрутов:
P=PN×N={tij},
где значение tij является индексом следующего (второго) узла кратчайшего маршрута из ai в аj. Тогда программная реализация алгоритма Флойда может выглядеть следующим образом:
begin
for i:=1 to N do
for j:=1 to N do
begin
d(ai,aj):=W(ai,aj);
tij=j;
end
for k:=1 to N do
for i:=1 to N do
for j:=1 to N do
if d(ai,aj)>d(ai,aj)+ d(ai,aj) then
begin
d(ai,aj):= d(ai,ak)+ d(ak,aj);
tij=tik;
end
end.
Сложность алгоритма Флойда, как и алгоритма Беллмана-Форда, характеризуется величиной O(N3).
2.6. Оптимальная статическая маршрутизация в глобальных мульти-агентных ткс
Сначала рассмотрим задачи и методы маршрутизации потоков данных в статических (фиксированных) глобальных ТКС с одним внешним агентом-пользователем (клиентом). В этом простейшем случае предполагается, что число узлов, топология и стоимость каналов связи глобальной ТКС известны и не изменяются с течением времени, а в роли клиента выступает один агент-пользователь, который через свой персональный компьютер передает сообщение или запрос в ТКС, используя один из ближайших узловых компьютеров или маршрутизаторов глобальной сети.
В общем случае глобальная ТКС состоит из автономных взаимосвязанных подсетей, каждая из которых обслуживается своим автономным (локальным) маршрутизатором. Это означает, что любой локальный маршрутизатор, зная топологию и стоимость каналов связей своей подсети и адреса принадлежавших к ней узла-источника и узла-получателя данных, способен спланировать или оптимизировать маршруты передачи пакетов данных между этими заданными начальными и конечными узлами автономной подсети.
Обычно маршрутизаторы подсетей взаимодействуют через магистральные каналы связи глобальной ТКС. Поэтому между магистрально связанными маршрутизаторами также могут быть спланированы или оптимизированы маршруты передачи пакетов данных, проходящие через несколько подсетей.
В том случае, когда узел-источник, связанный с внешним агентом-пользователем ТКС, и узел-получатель, связанный с некоторым узловым компьютером, находятся в разных подсетях глобальной ТКС, возможна "сборка" требуемого (в частности, оптимального) глобального маршрута из его фрагментов, спланированных соответствующими локальными и магистральными маршрутизаторами.
При децентрализованной маршрутизации в глобальной ТКС магистральный фрагмент маршрута, соединяющий начальный и конечный фрагменты двух связанных подсетей, планируется магистральными маршрутизаторами.
При централизованной маршрутизации для этого может быть выделен специальный глобальный маршрутизатор-координатор, иерархически связанный со всеми магистральными маршрутизаторами и знающий топологию и стоимость связей между ними.
Каждой автономной подсети глобальной ТКС соответствует ориентированный граф (графовая модель) с весами, вершины ai которого соответствуют узлам подсети, а рёбра rj и их веса wj – каналам связи между узлами и стоимостям этих каналов связи. Если каналы связи являются двусторонними, то их стоимости и соответственно веса на графе могут быть различными для разных направлений передачи данных. Точно также магистральная подсеть, связывающая между собой все маршрутизаторы автономных (локальных) подсетей глобальной ТКС, может быть представлена “магистральным” графом с соответствующими весами вида
, , , . (2.6.1)
Ориентированным маршрутом в орграфе G называется чередующаяся последовательность вершин и ребер вида
, (2.6.2)
где s – начальная вершина, f – конечная вершина.
На взвешенном графе G может быть построен граф допустимых маршрутов Gp, связывающих узел-источник s с узлом-получателем f и не имеющий петель. Любой ориентированный путь на этом графе может служить маршрутом адресной передачи данных в ТКС. Однако стоимость передачи данных по разным маршрутам может быть различной.
В общем случае веса wj на графе допустимых маршрутов могут быть функциями от числа его узлов, расстояний между ними, пропускной способности каналов связи, измеренной величины задержки передаваемых пакетов данных и т.п. В задачах стохастический маршрутизации веса wi могут зависеть от средней загруженности каналов связи, средней длины очереди в ТКС и т.п.
Обозначим через s узел-источник данных, а через f узел-получатель данных в глобальной ТКС. Им соответствуют начальная вершина s и конечная вершина f на графе допустимых маршрутов, причём каждому ребру ri этого графа соответствуют веса wi =wi(ri), равные стоимости передачи данных по соответствующему каналу связи в заданном направлении.
Общая стоимость j-го допустимого маршрута передачи данных от узла s к узлу f глобальной ТКС определяется функционалом качества вида
, (2.6.3)
где Mj - число звеньев (рёбер графа) j-го маршрута, соединяющего граничные вершины s и f .
Оптимальным маршрутом передачи данных между заданными начальным узлом (вершиной) s н конечным узлом (вершиной) f будем называть такой маршрут, на котором функционал (2.6.3) принимает минимальное значение среди всех допустимых маршрутов, т.е.
. (2.6.4)
В общем случае, минимум (2.6.4) функционала (2.6.3) может достигаться не на одном, а на нескольких допустимых маршрутах, каждый из которых является оптимальным. В этом проявляется многозначность (многовариантность) решения задачи оптимальной глобальной маршрутизации. Эта неоднозначность полезна для равномерного распределения трафика и адаптации к перегрузкам.
В частном случае, когда требуется минимизировать общее количество передач пакетов данных между узлами s и f получим, что wi=l и Кj= Nj. Если же вес wi равен расстоянию между соответствующими узлами j-го маршрута, то минимизация функционала (2.6.3) приводит к определению кратчайшего маршрута (пути), соединяющего узел-источник и узел -получатель данных.
Стоимость wi канала связи можно выбрать обратно пропорциональной скорости передачи данных по этому каналу или прямо пропорциональной задержке пакетов. В этих случаях минимизация критерия качества (2.6.3) приводит к оптимальным маршрутам с наибольшей скоростью передачи данных или минимальными задержками пакетов соответственно.
Разработчики сети ARPANET использовали для оптимальной маршрутизации критерий (2.6.3), где в качестве весов wi использовались сначала длины очереди, а затем непосредственно измеряемое время задержки в i-том канале связи ТКС. При этом обнаружилось, что в процессе вычисления оптимальных маршрутов возникали нежелательные эффекты «пробуксовки» и «колебаний», а при передаче по этим маршрутам наблюдались канальные и сетевые перегрузки. Чтобы устранить эти недостатки, было предложено в качестве весов wi в критерии (2.6.3) использовать величины, характеризующие степень использования i-го канала связи. В этом случае оптимальные маршруты при низкой нагрузке оказывались близки маршрутам, получаемых в случае, когда wi является временем задержки, а при высокой нагрузке они были близки маршрутам, получаемым в случае, когда wi обратно пропорциональны пропускной способности i-го канала связи ТКС.
Следует отметить, что во всех коммерческих ТКС стоимости каналов связи задаются независимо от реального трафика (сетевой нагрузки). Это позволяет гарантировать сходимость алгоритмов оптимальной маршрутизации в глобальных ТКС и отделить этот процесс от адаптивного управления передачей пакетов по маршруту.