УДК 621.391
ПОДХОДЫ К РЕШЕНИЮ ЗАДАЧИ МАРШРУТИЗАЦИИ В СОВРЕМЕННЫХ ТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМАХ
© К. А. Литвинов, И. И. Пасечников
Ключевые слова: тензорная методология сетей; маршрутизация в сетях; методы анализа сетей; оптимальная маршрутизация; задача маршрутизации; алгоритмы маршрутизации.
Рассматриваются основные подходы к решению задачи маршрутизации в телекоммуникационной сети. В случае применения тензорного методологии для анализа телекоммуникационной сети приведены основные проблемные вопросы, которые решаются алгоритмами маршрутизации.
Телекоммуникационные системы с большим числом узлов в условиях динамического изменения их топологии и потоковой нагрузки обладают необходимостью повышения информационной эффективности [1]. Важной при этом является задача маршрутизации информационных потоков.
Цель: рассмотреть основные подходы к решению задачи маршрутизации в телекоммуникационной сети и указать, таким образом, особенности, которые позволяют рассматривать ее решение на основе тензорной методологии.
Математическая модель постановки задачи оптимальной маршрутизации.
Одним из возможных путей решения проблемы повышения информационной эффективности сети является использование при ее анализе и синтезе потоковых моделей. В силу отсутствия аналитического выражения точного поведения телекоммуникационной сети используют усредненные характеристики трафика, проходящего по ее линиям. Предполагается, что статистика потока, поступающего в любую линию (г^), меняется только из-за обновлений маршрутов и под нагрузкой в линии (г,]). Будем считать, что поток
— поток, проходящий по линии (%,]), размерность которого - пакеты в секунду. При рассмотрении потоковых моделей [1] существует допущение, что поступающий трафик не меняется со временем. Типичным примером сети, в которой выполняется это допущение, является сеть, где для каждой пары отправитель-адресат (ОА-пары) существует большое число пользователей, при этом интенсивность трафика у каждого из этих пользователей мала по сравнению с суммарной интенсивностью. В качестве выражения для стоимостной функции в маршрутизации используют:
где С^ — пропускная способность линии (г,]), измеряемая в тех же единицах, что и , а йгу — задержка из-за обработки и распространения.
(1)
1,3
(2)
Задачу оптимальной маршрутизации можно сформулировать следующим образом. Для каждой ОА-пары ш = (1,]) различных узлов г и ] задан стандартный входной поток интенсивностью тт. Необходимо: разделить трафик интенсивностью тт между несколькими путями от отправителя до адресата так, чтобы общий получившийся в результате поток по линиям в сети минимизировал стоимостную функцию.
Пусть Ш — множество всех ОА-пар; Рт — множество всех ориентированных путей, соединяющих ОА-пары "№; хр — поток (единицы пакетов в секунду) по пути р. Тогда набор путевых потоков (хр\ш € Ш, р € Р,ш) должен удовлетворять ограничениям ^р&р^ хр = для всех ш € Ш, хр ^ 0 для всех ш € Ш, р € Рш. Суммарный поток по линии ^ по линии (г,]) равен сумме путевых потоков, проходящих по этой линии, ^ = ^ хр (по всем путям р, содержащим (%,])).
Если в стоимостной функции (1) заменить суммарные потоки ^ на путевые, то задача формулируется в виде [1]:
Минимизировать ^хр (по всем путям р, содержащим (г, ])) при ограничениях ^р€Р^ хр = хр для всех ш € Ш хр ^ 0 для всех р € Рш, ш € Ш.
То есть задача сформулирована в терминах неизвестных путевых потоков (хр\ш € Ш, р € ^)•
Характерные особенности оптимальной маршрутизации.
Для описания оптимальной маршрутизации использоваться производная Оу. При этом предполагается, что каждая Оу является дважды дифференцируемой функцией от и определена на полуинтервале [0,С^), где значение Су — это пропускная способность линии. Предполагается, что первая и вторая производные Оу, обозначаемые соответственно через О у и О" у, строго положительны для всех из [0,Су). Кроме того, предполагается Оу (Е^) ^ то при Су (это видно из выражения (2)).
Описание решения задачи оптимальной маршрутизации получается из следующего необходимого и достаточного условия оптимальности [1]. Пусть / — некоторая дифференцируемая выпуклая функция п-мерного вектора х = (х\,х2 •••хп) и X — некоторое выпуклое множество векторов. Тогда х* € X будет оптимальным решением задачи миними-
Г/ \ ЛГ \~^п 0/ (х*) . .
зировать / (х) при ограничении х € X тогда и только тогда, когда ¿=! —------ _ х**)
/ (х*)
для всех х € X, где —----- — значение первой производной / по г -ой координате х1 в
ахг
точке х .
Методы оптимальной маршрутизации.
В качестве основного метода рассмотрим метод допустимого направления, а остальные приведем в виде отличительных особенностей. Итак, оптимальная маршрутизация достигается только тогда, когда поток каждой ОА-пары направляется по путям, имеющим минимальную первопроизводную длину (МППД) пути. Это равносильно тому, что набор путевых потоков является строго подоптимальным, если только какая-либо положительная часть потока направлена по пути, не являющемуся МППД-путем. При этом предполагается, что подоптимальная маршрутизация может быть улучшена переброской на МППД-путь потока с других путей для каждой ОА-пары. Целесообразно перебрасывать на кратчайший путь не весь поток, а только его часть для повышения эффективности маршрутизации.
Для заданного вектора допустимых путевых потоков х = {хр} (т. е. для некоторого вектора х, удовлетворяющего ограничениям рассматриваемой задачи) рассмотрим изменение х по направлению Ах = {Дхр}. К направлению Ах применяются два основных условия:
1) Ах должен быть допустимым направление, т. е. при малом изменении х в направ-
лении Ах вектор остался вектором допустимых путевых потоков. Математически данное требование означает: для некоторого с> 0 и всех а € [0, с] вектор х + аАх должен быть допустимым, или, что одно и тоже,
Ахр = 0 для всех ш € Ш, (3)
Р^ Р"Ш
х + аАх ^ 0 для всех а € [0, с] , р € Рш, ш € Ш. (4)
Данное правило выражает тот факт, что сохранение допустимости необходимо, чтобы все увеличения потоков по каким-либо одним путям компенсировались уменьшениями потоков по другим путям той же ОА-пары.
Второе требование состоит в том, чтобы Ах было направлением спуска, т. е. чтобы стоимостная функция убывала в направлении Ах от х. Так как градиент УО(х) является нормалью к поверхности, равной стоимости для стоимостной функции О, то из этого следует, что требование о спуске переходит в условие, что скалярное произведение УО(х) и Ах отрицательно, т. е.
Е Е
dD(x)
Axp < 0. (5)
— — dxP
w&Wp&Pw p
В алгоритмах маршрутизации часто используют другую формулировку данного требования: Axp ^ 0 для всех некратчайших путей р, т. е. таких путей, для которых
dD(x) > dD(x) (6)
dxp dxp*
для некоторого пути р*, соответствующего той же ОА-паре; Axp < 0 для по крайней мере одного кратчайшего пути р.
Данные условия обозначают, что какая-то часть потока перебрасывается с некратчайшего пути на кратчайшие (по отношению к длинам D' j (Fj)), и никакой поток не перебра-
й й й Т dD(x)
сывается с кратчайших путей на некратчайшие. Так как —--------- принимает наименьшее
dxp
значение для тех (кратчайших) путей, р* для которых Axp* > 0 ив соответствии с (3) сумма Axp по р € Pw равна нулю, то видно, что из (3) и (6) вытекает условие спуска (5).
Это приводит к широкому классу итеративных алгоритмов для решения задач оптимальной маршрутизации. Основной итерацией этих алгоритмов является x = x + aAx, где Ax — допустимое направление спуска, а величина шага а выбирается таким образом,
чтобы стоимостная функция убывала, т. е. D(x + aAx) <D(x), и вектор x + aAx был до-
пустимым. Размер шага а может выбираться для каждой итерации отдельно. Из условия оптимальности видно, что допустимые направления спуска из точки x можно найти тогда и только тогда, когда x не является оптимальным решением.
Метод Франка-Волфа (метод девиации потока).
Для данного вектора допустимых потоков x = {xp} найти путь с минимальной первопроизводной длиной (МППД-пути) для каждой ОА-пары. Пусть x* = {x*p} — вектор путевых потоков, которые образуются, если входной поток rw каждой ОА-пары w € W направлен по соответствующему МППД-пути. Пусть а* — такой размер шага, который минимизирует D[x + a(x * — x)] по всем а € [0,1], т. е.
D [x + а * (x * — x)] = min D [x + а (x * — x)]. (7)
a€[0 ,1]
Тогда значения путевых потоков на следующем шаге равны:
хр = [хр + а * (х * — х)] для всех р € Вш, ш € Ш. (8)
И процесс повторяется снова.
Описанный алгоритм является частным случаем так называемого метода Франка-Волфа решения более общих задач нелинейного программирования с выпуклыми ограничительными множествами. Он также называется методом девиации потока. Можно показать, что в пределе он уменьшает значение стоимостной функции до минимума, хотя по мере приближения к оптимуму скорость сходимости уменьшается.
Заметим, что допустимое направление, используемое в итерации (8), имеет вид (6), т. е. доля а* каждого потока, проходящего по некратчайшему пути (пути для каждого хр = 0 ), перебрасывается на кратчайший путь (для которого х*р = тш ) для каждой ОА-пары ш. Характерной особенностью здесь является то, что поток с некратчайших путей на кратчайшие перебрасывается в равных пропорциях в отличие от других методов, которые, как правило, перебрасывают потоки в неравных пропорциях.
Для вычисления оптимального размера шага а*, удовлетворяющего (7), требуется провести минимизацию по одной переменной на [0,1], а для этого можно использовать какой-либо многочисленных существующих методов. Наиболее простым методом является выбор размера шага а* в соответствии с равенством:
а* = Ш1П
1 Егу (Р *Ц —Р13 )Ц , Ег у (Р *Ц —^ )2О"
(9)
Здесь Р*гу и являются множествами суммарных потоков, соответствующих х*р и хр соответственно, т. е. Ргу (или Р*г^ ) получаются путем суммирования всех потоков хр (или х*р) по тем путям р, которые проходят по линии (%,]). Формула для а* получена на основе тейлоровской аппроксимации второго порядка.
Метод Франка-Волфа имеет преимущество по сравнению с другими методами. Пусть нас интересуют не оптимальные путевые потоки, а только оптимальные суммарные потоки на линиях . Тогда этот можно реализовать таким образом, что на каждой итерации в памяти будут храниться только текущие значения суммарных потоков на линиях и текущие кратчайшие пути для всех ОА-пар. Это можно сделать, вычисляя суммарные потоки на линиях, соответствующих вектору потоков по кратчайшим путям х*, и выполняя линейный поиск, указанный в (9), в пространстве суммарных потоков на линиях. Объем памяти, который необходим для такой реализации, относительно небольшой, вследствие чего эту задачу можно решать для очень больших сетей. Если, однако, кроме суммарных потоков на линиях нас интересуют также оптимальные путевые потоки, то при использовании метода Франка-Волфа требуется объем памяти примерно такой же, как и для других методов, включая проекционные методы, которые будут описаны далее.
Проекционные методы для оптимальной маршрутизации.
Рассмотрим теперь некоторый класс алгоритмов допустимого направления для решения задачи оптимальной маршрутизация эти алгоритмы работают быстрее метода Франка-Волфа больше приспособлены для распределенных реализаций. Они также основаны на кратчайших путях и находят путь с минимальной первопроизводной длиной для каждой ОА-пары каждой итерации. Приращение потока вычисляется для каждого пути на основе относительных величин длин путей и иногда основе вторых производных стоимостной функции. Если приращение оказывается настолько большим, что путевой поток становится отрицательным, то путевой поток полагается равным нулю, т. е. он "проектируется" обратно
в положительный октан. Существует несколько методов такого типа, которые представляют интерес в связи с задачей маршрутизации. Все они могут рассматриваться как версии с ограничением более общих методов оптимизации без ограничений, таких как метод наискорейшего спуска и метод Ньютона. Сначала мы кратко опишем эти методы в общей постановке нелинейной оптимизации, а затем рассмотрим приложение этих методов к задаче маршрутизации.
Итак, в основу оптимальной маршрутизации положена потоковая модель со стоимостной функцией вида (2). Эта функция (дважды дифференцируемая) достаточно объективно описывает характер поведения сети. Однако, как видно из краткого рассмотрения, оптимальная маршрутизация основывается только лишь на потоковой модели, которая описывается характерной для сетей (на основе аппроксимации одноканальной системой массового обслуживания) стоимостной функцией, и на характеристиках потоков, но без учета информации о топологии сети.
Имеются алгоритмы маршрутизации, в основу которых положена информация о топологии сети. К ним относятся разновидности моделей, определяющих кратчайшие пути на графах (алгоритмы: Флойда-Уоршелла, Дейкстры и Беллмана-Форда).
Алгоритм Флойда-Уоршелла — динамический алгоритм для нахождения кратчайших расстояний между всеми вершинами взвешенного ориентированного графа. Алгоритм Дейкстры находит кратчайшее расстояние от одной из вершин графа до всех остальных. Алгоритм работает только для графов без ребер отрицательного веса. Алгоритм широко применяется в программировании и технологиях, например, его использует протокол ОБРЕ для устранения кольцевых маршрутов. Алгоритм Беллмана-Форда — алгоритм поиска кратчайшего пути во взвешенном графе. За время 0(\У\ х \Е|) алгоритм находит кратчайшие пути от одной вершины графа до всех остальных. В отличие от алгоритма Дейкстры алгоритм Беллмана-Форда допускает ребра с отрицательным весом.
Особенности задачи маршрутизации при использовании тензорной методологии в анализе сетей.
Методы оптимальной маршрутизации, основанные на теоретико-множественной топологии (в частности на дифференциальном исчислении), не требуют применение теории графов и рассматривают непрерывные свойства исследуемых систем без использования информации об структуре системы. Методы маршрутизации, определяющие кратчайшие пути на графе, напротив, основаны на комбинаторной топологии и изучают свойства дискретных систем.
В настоящее время известны работы [2, 3] и др., в которых для анализа сетей используется тензорная методология Г. Крона. Она позволяет решить задачу распределения потоков на сети, основываясь как на формуле поведения сети, так и правилах Кирхгофа (используемых в комбинаторной топологии).
При таком подходе совмещается потоковая ситуация с определенной сетевой структурой. В зависимости от необходимых данных о структурных элементах сети, топологии, интенсивностей входных потоков или накоплений потоков в буферных устройствах или в одновременном их воздействии могут быть использованы соответствующие методы расчета сетей [2, 3]: узловой, контурный или ортогональный. При расчете данных задач основополагающим является выражение путевых потоков через потоки в сетевых элементах. Это, по сути, определяет систему координат для компонент тензоров формулы поведения сети и отображает технологию распределения потоков в сети (задача маршрутизации в условиях установившегося режима).
В условиях высокой, динамически меняющейся нагрузки сети возникает задача применения дифференциальных уравнений, определяющих динамику путевых потоков отно-
сительно тех же элементов сети (т. е. каналов связи и узлов коммутации). В этом случае необходимо перейти к задаче распределения потоков, исходя из задачи исследования окрестности точки состояния сети, т. е. к задаче тензорного анализа [3, 4]. При этом, в качестве исходных систем координат (для стационарного с усредненными показателями) могут выступать те, которые определяются на основе тензорной методологии Г. Крона.
Таким образом, решение задачи маршрутизации для нагруженной телекоммуникационной сети при использовании тензорной методологии ее анализа и непосредственно тензорного анализа в условиях динамики потоков предполагает алгоритмы определения систем координат путевых потоков пространства состояния сети и их связь с потоками в сетевых элементах.
ЛИТЕРАТУРА
1. Бертсекас Д., Галлагер Р. Сети передачи данных. М.: Мир, 1989. 544 с.
2. Крон Г. Тензорный анализ сетей. М.: Советское радио, 1978. 720 с.
3. Пасечников И.И. Методология анализа и синтеза предельно нагруженных информационных сетей. М.: Изд-во машиностроение-1, 2004. 216 с.
4. Пасечников И.И. Анализ и методы повышения информационной эффективности телекоммуникационных систем и сетей: монография. Тамбов: Издательский дом ТГУ им. Г.Р.Державина,
2010. 118 с.
Поступила в редакцию 10 ноября 2012 г.
Litvinov K.A., Pasechnikov I.I. APPROACHES TO SOLVING THE ROUTING PROBLEM IN MODERN TELECOMMUNICATIONAL SYSTEMS
The main approaches to solving the routing problem in telecommunicational networks are considered. In the case of applying the tensor methodology to a telecommunicational network analysis the most problematic points that can be resolved by means of routing algorithms are presented.
Key words: tensor networks methodology; routing in networks; methods of network analysis; optimal routing; routing problem; routing algorithms.