РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОПТИМИЗАЦИИ МУЛЬТИСЕРВИСНЫХ СЕТЕЙ Будылдина Н.В.*, Коновалов П.А.** * УрТИСИ СибГУТИ, г. Екатеринбург, +73433599116, bnv@urcci.edison.ru ** СибГУТИ, г. Новосибирск, +73832665059, pavel.konovalov@gmail.com Аннотация В данной статье предлагается программная реализация эвристического алгоритма (метода пропорционального распределения потоков) для решения задачи оптимизации – определения оптимального дизайна LSP в сетях MPLS. Введение В последние годы сети MPLS (MultiProtocol Label Switching) приобретают все большее значение на рынке телекоммуникаций а ведущие производители реализуют ее поддержку в своих продуктах. Путь c коммутацией меток LSP (Label Switched Path) эквивалентен виртуальному каналу из истока в сток. В традиционных IP сетях пакеты с одинаковым источником и назначением следовали бы по одному маршруту, в то время как в сети MPLS им могут быть назначены различные метки, с целью перераспределения нагрузки. Вследствие этого может быть получен такой дизайн – совокупность всех LSP, который оптимизирует распределение нагрузки в сети. Дизайн LSP должен оперативно реагировать на изменения внутренней топологии сети, следовательно, необходимо минимизировать время его определения. Подобные задачи уже рассматривались в работах таких авторов как Kehang Wu, Douglas S. Reeves, Alpar Juttner, Balazs Szviatovszki, Aron Szentesi. В [1] задача оптимизации решается путем использования метода ослаблений Лагранжа, а в [2] рассматривается определение дизайна LSP по запросу. В то время как в данной работе предлагается алгоритм для динамического определения оптимального дизайна LSP. Оптимизация дизайна LSP Телекоммуникационная сеть может быть представлена в виде узлов-вершин (системы коммутации, маршрутизации и т. д.) и звеньев-ребер (системы передачи, линия связи и т. д.), которые соединяют узлывершины между собой. То есть любую сеть связи можно представить в виде графа и использовать методы теории графов для исследования и оптимизации сетей. При этом сеть может быть сопоставлена с неким направленным, сильно связанным графом G (V , E ) с множеством вершин V { v1 ,..., vn } и множеством ребер E { e1 ,..., em } V V . Для сети задана матрица требований (трафик-матрица) T ( t ij ) . Общая цель оптимизации звучит так: Необходимо найти такой дизайн LSP, который уменьшает максимальную нагрузку на линию связи в сети, и выбирает наикратчайший путь среди всех возможных решений, которые выполняют это условие. Теория графов предлагает различные методы, с помощью которых можно было бы оптимально распределить нагрузку по сети [3-5]. К ним относятся: 1. Метод максимального потока (минимального разреза) Это метод определяет множество рёбер, при удалении которых сеть делится на две несвязанные части, а также максимальную нагрузку на это множество ребер. Пропускная способность этих ребер ограничивает объем трафика между двумя частями сети. 2. Метод линейного программирования. Одним из способов реализации линейного программирования является симплекс-алгоритм, который может почти всегда, за исключением некоторых случаев, найти оптимальное решение. В основе этого алгоритма лежит полный перебор возможных вариантов решения задачи. 3. Эвристические методы. Данные методы направлены на сокращение перебора. Хотя методы позволяют получить лишь квазиоптимальный дизайн LSP, в некоторых случаях только они являются единственным возможным решением, к тому же эти методы намного быстрее линейного программирования отражают изменения внутренней топологии сети на дизайне. Эвристический метод пропорционального распределения потоков Рассмотренный в данной работе алгоритм (Рисунок 1) отличается от всех прочих методов распределения многопродуктовых потоков тем, что он рассматривает не каждое в отдельности взятое требование на распределение потоков, а все одновременно заданные в трафик-матрице [6]. На каждом итерационном шаге алгоритма распределяется многопродуктовый поток с интенсивностью i , j t ij между всеми истока и стоками, где коэффициент, на которой весь трафик может быть дополнительно увеличен, не расширяя пропускную способность разреза. Для каждого требования на распределение потока в трафик-матрице находится наикратчайший путь от источника к потребителю с учетом весов ребер. Существует несколько способов решения задачи поиска наикратчайшего пути. Например, волновой алгоритм, алгоритм Форда-Беллмана, алгоритм Флойда и алгоритм Дейкстры [7]. Последний алгоритм является наиболее простым из выше перечисленных, и соответствует всем необходимым требованиям, поэтому мы используем его в эвристическом методе оптимизации сетей. Начало Определение кратчайших путей (Алгоритм Дейкстра) Вычисление 0 ek 1 Исключаем ek из топологии графа 0 fs=Cs 1 Перенаправление потоков Конец Рисунок 1. Блок-схема работы эвристического алгоритма Данный алгоритм реализован в среде программирования Delphi. Для отдельного взятого графа, состоящего из n вершин и m ребер, сложность эвристического алгоритма составляет O(mn2). Известно, что максимально возможное n2 n число ненаправленных ребер m . В соответствии с [8] получим 2 n4 что предпочтительнее по сравнению с линейным O(mn 2 ) O , 2 программированием, для которого O(4n 5 ) . Сравнение алгоритмов оптимизации Существует несколько параметров, по которым можно проводить сравнение алгоритмов оптимизации сетей MPLS. В данном случае сравнение мы будем проводить по сложности алгоритмов и по полученному весу дизайна LSP. Покажем зависимость сложности линейного программирования и эвристического алгоритма от размера сети. Функция сложности линейного программирования обладает более высокой скоростью роста, чем функция сложности эвристического алгоритма. Сравним веса полученного дизайна LSP с помощью разработанного программного обеспечения. Для этого выберем некоторые графы с размерностью n от 3 до 10, применим к ним метод линейного программирования и эвристический алгоритм и сравним вес дизайнов LSP, полученных двумя этими методами (Рисунок 2). Рисунок 2. Сравнение сложности алгоритмов и веса дизайна LSP, полученного эвристическим алгоритмом (E1) и методом линейного программирования (S1) Заключение. Результаты показали, что эвристический алгоритм предоставляет приемлемое решение поставленной выше задачи, при затратах в 8n раз меньше, чем метод линейного программирования. Список литературы [1] Kehang Wu and Douglas S. Reeves Link Dimensioning and LSP Optimization for MPLS Networks Supporting DiffServ EF and BE traffic classes http://reeves.csc.ncsu.edu/papers-and-other-stuff/2003-09-itc18-link-dimensioning-mplspaper.pdf [2] Alpar Juttner, Balazs Szviatovszki,Aron Szentesi, Daniel Orincsay, Janos Harmatos On–demand optimization of label switched paths in MPLS networks IEEE ICCCN 2000 [3] Ahuja, R.K.; Magnanti, T.L.; Orlin J.B.: Network Flows: Theory, Algorithms and Aplications. Prentice Hall, Englewood Cliffs, 1993 [4] Christofides, N.: Graph Theoriy- An Algprithmic Approach. New York: Academic Press, 1975 [5] Neuman, Klaus; Morlock, Martin: Operations Research. München Wien: Carl Hanser Verlag, 1993 [6] Э. Майника Алгоритмы оптимизации на сетях и графах. M.: 1981г., 323стр. [7] http://algolist.manual.ru/maths/graphs/shortpath/ Задача о кратчайших путях. [8] http://program.rin.ru/razdel/html/973.html Оценка времени исполнения. Символ O()