Алгоритм адаптивной ускоренной маршрутизации при динамическом отказе элементов корпоративной сети

УДК 681.317.75:519.2

Д. А. Перепелкин, канд. техн. наук, доц.,

АЛГОРИТМ АДАПТИВНОЙ УСКОРЕННОЙ МАРШРУТИЗАЦИИ ПРИ ДИНАМИЧЕСКОМ ОТКАЗЕ ЭЛЕМЕНТОВ КОРПОРАТИВНОЙ СЕТИ

Предложен алгоритм адаптивной ускоренной маршрутизации при динамическом отказе элементов корпоративной сети, повышающий эффективность ее функционирования.

Ключевые слова: адаптивная ускоренная маршрутизация, алгоритмы маршрутизации, корпоративные сети.

На современном этапе развития и использования корпоративных сетей наиболее актуальное значение приобрели оценка производительности и качества функционирования сетей и их компонентов, оптимизация уже существующих или планируемых к созданию корпоративных сетей. Совершенствование сетевых технологий требует обеспечения качественного обслуживания передаваемого трафика. Загрузка и пропускная способность линий связи корпоративной сети динамически меняются, что в свою очередь, может приводить к частой рассылке служебной информации об изменении маршрутов [1]. При сбоях или отказах маршрутизаторов и линий связи в корпоративной сети приходится полностью перестраивать таблицы маршрутизации. Одним из решений повышения качества функционирования корпоративных сетей являются точное определение оптимальных маршрутов передачи данных и быстрое переключение более загруженных каналов связи на другие - свободные каналы, при динамическом отказе элементов корпоративной сети.

В настоящее время широкое применение получили алгоритмы адаптивной маршрутизации. Эти алгоритмы обеспечивают автоматическое обновление таблиц маршрутизации после изменения конфигурации сети. Используя алгоритмы адаптивной маршрутизации, маршрутизаторы могут собирать информацию о топологии связей в сети и оперативно реагировать на все изменения в ее конфигурации.

В современных условиях корпоративная сеть рассматривается как отдельная автономная система, внутри которой используется свой протокол маршрутизации. Такой протокол принято называть протоколом внутренней маршрутизации.

Протоколы внутренней маршрутизации делятся на две группы, каждая их которых связана с одним из следующих типов алгоритмов:

-алгоритмы состояния каналов (Link State Algorithm, LSA);

-дистанционно-векторные алгоритмы (Distance Vector Algorithm,

DVA).

Алгоритм состояния каналов обеспечивает каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одинаковых графов, что делает процесс маршрутизации более устойчивым к изменениям конфигурации. Вершинами графа являются как маршрутизаторы, так и объединяемые ими сети. Распространяемая по сети информация состоит из описания связей различных типов: маршрутизатор - маршрутизатор, маршрутизатор - сеть. Протоколами, основанными на алгоритме состояния связей, являются протокол IS-IS и протокол OSPF.

В алгоритмах дистанционно-векторного типа каждый маршрутизатор периодически и широковещательно рассылает по сети вектор, компонентами которого являются расстояния от данного маршрутизатора до всех известных ему сетей. Под расстоянием обычно понимается число транзитных узлов. Изменения конфигурации отрабатываются по этому алгоритму не всегда корректно, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только обобщенной информацией - вектором расстояний, к тому же полученной через посредников [2]. Дистанционно-векторные алгоритмы в своей работе используют протоколы RIP, RIP 2, IGRP, EIGRP.

Анализ современных алгоритмов маршрутизации в корпоративных сетях показывает, что дистанционно-векторные алгоритмы используют в своей работе алгоритм Беллмана - Форда, трудоемкость которого составляет O(N), где N - число маршрутизаторов в корпоративной сети, а алгоритмы состояния связей базируются на алгоритме Дейкстры вычислительной трудоемкостью O(N).

При изменении пропускной способности линий связи в представленных алгоритмах происходит полный перерасчет таблиц маршрутизации. С увеличением размера корпоративной сети трудоемкость этой операции растет полиноминально, что не может не сказаться на производительности всей сети в целом.

В работе [3] предложен алгоритм парных переходов, позволяющий за счет сбора дополнительной информации учесть возможные изменения конфигурации корпоративной сети и не производить полный пересчет маршрутных таблиц. Это позволило снизить трудоемкость расчета таблиц маршрутизации до величины порядка O(k N), где k - число фактически выполненных парных переходов.

При динамическом отказе элементов корпоративной сети использование данного алгоритма оказывается неэффективным, так как трудоемкость расчета дополнительной информации для осуществления парного перехода составляет O(N log2N), что оказывается выше соответствующей оценки трудоемкости алгоритма Дейкстры.

Разработка новых, более эффективных алгоритмов адаптивной маршрутизации, учитывающих возможность отказа элементов корпора-

тивной сети, позволяет уменьшить трудоемкость построения таблиц маршрутизации.

Для повышения эффективности функционирования корпоративных сетей предложен алгоритм адаптивной ускоренной маршрутизации, который позволяет уменьшить трудоемкость построения таблиц маршрутизации до величины О(Ы) при динамическом отказе элементов корпоративной сети.

Представим корпоративную сеть в виде неориентированного взвешенного связного графа О = (У,Е,Ш), где V- множество вершин, V = Ы, Е - множество ребер, \Е\ =М, Ж- множество весов ребер.

Рис. 1. Графовая модель корпоративной сети

Пусть на графе О в некоторый момент времени уже решена задача поиска кратчайших путей до всех вершин множества V] = У\Уц из начальной вершины , т. е. построено дерево кратчайших путей с корнем в вершине Уц. Обозначим это дерево как Т^ На рис. 1 жирными линиями обозначено построенное дерево кратчайших путей.

Для разработки алгоритма адаптивной ускоренной маршрутизации при динамическом отказе элементов корпоративной сети сформулируем следующие теоремы.

Теорема 1. При удалении некоторого ребра вф инцидентного вершинам VI и V', входящего в дерево кратчайших путей, причем ^ < ф дерево кратчайших путей и их оценки до вершины VI окажутся без изменения.

Доказательство. Вершины VI и V входят в дерево кратчайших путей. Так как ^ < то 4 + wij = ^ и ребро е, не входит в путь р к вершине VI. Поэтому при удалении ребра в^ дерево кратчайших путей и их оценки до вершины Vi не изменятся. Теорема доказана.

Следствие. При удалении некоторого ребра ву, инцидентного вершинам Vi и V', входящего в дерево кратчайших путей, причем ^ < ф необходимо определить новые кратчайшие пути для множества вершин, инцидентных вершине V'.

Данному случаю соответствует граф, представленный на рис. 2, при удалении ребра е4<7.

Рис. 2. Удаление ребра е4,7

На рис. 2 жирными линиями обозначено дерево кратчайших путей, которое не требует изменения.

Теорема 2. При удалении некоторой вершины V для всех вершин не инцидентных вершине / (то есть не имеющим ребра кратчайшие пути и их оценки окажутся без изменений.

Доказательство. Пусть вершина V\ не входит в кратчайший путь к некоторой вершине V-. Тогда и в пути к этой вершине р- отсутствует ребро йф При удалении вершины V\ будут удалены все ребра ф,к , которые не входят в путь р,-, а, следовательно, кратчайший путь и его оценка окажется без изменения. Теорема доказана.

Следствие. При удалении некоторой вершины VI необходимо определить новые кратчайшие пути для множества вершин инцидентных вершине VI , имеющих в своем кратчайшем пути ребро е{,к.

Данному случаю соответствует граф, представленный на рис. 3 при удалении вершины V/.

На рис. 3, жирными линиями обозначено дерево кратчайших путей, которое не требует изменения.

Использование доказанных выше теорем позволяет разработать алгоритм адаптивной ускоренной маршрутизации, уменьшающий размерность задачи поиска кратчайших путей при динамическом отказе элементов корпоративной сети.

Рассмотрим работу алгоритма адаптивной ускоренной маршрутизации при динамическом отказе элементов в корпоративной сети. Укрупненная схема алгоритма имеет вид:

Шаг 1. Первоначальная инициализация исходных данных. С помощью используемого протокола маршрутизации определить веса линий связи wij.

Шаг 2. Построить дерево оптимальных маршрутов корпоративной

сети.

Шаг 3. Для вершины, являющейся листом дерева, производится поиск всех парных переходов без ограничений. Эти списки для удобства дальнейшей работы привязываются к вершине, инцидентной рассматриваемому ребру и расположенной ниже по иерархии.

Рис. 3. Удаление вершины У7

Шаг 4. Если вершина не является листом дерева, то вычисляются парные переходы для этой вершины и выбираются лучшие значения потенциалов парных переходов для потомков вершины и собственных парных переходов. Подобная процедура выполняется для формирования списков парных переходов в случае отказа элементов в корпоративной сети.

Шаг 5. Для каждой вершины формируется полный список парных переходов. Число элементов в каждом из этих списков не превышает количества вершин графа. Такое решение позволяет отказаться от предварительной сортировки потенциалов или приращений для парных переходов без значительного усложнения алгоритма обработки изменения.

Шаг 6. Для каждого ребра графа корпоративной сети определить точку вхождения в дерево оптимальных маршрутов и точку вхождения во множество замены.

Шаг 7. Определить, есть ли пакеты на передачу:

а) если да, то перейти к шагу 8;

б) иначе, - к шагу 10.

Шаг 8:

а) передать пакеты по доступным оптимальным маршрутам;

б) установить флаг передачи.

Шаг 9. Проверка флага передачи:

а) если флаг установлен, то перейти к шагу 16;

б) иначе, - к шагу 7.

Шаг 10. Анализируя полученную используемым протоколом маршрутизации информацию, определить, произошло ли удаление элементов в корпоративной сети:

а) если да, то перейти к шагу 11;

б) иначе, - к шагу 7.

Шаг 11:

а) если удалилось ребро вф с весом wi,j, причем вершина VI располагается ниже по иерархии в дереве оптимальных маршрутов, чем вершина V', то возможны два случая:

1) ребро в,- не входит в дерево кратчайших путей. Дерево кратчайших путей не изменится. Если ребро в- не входило во множество ребер замены, то оставить все без изменения. Ребро в,- входило во множество ребер замены. Для вершины V- определить новые ребра, входящие во множество ребер замены и определить для них точки вхождения в дерево кратчайших путей. Исключить возможные пути замены, проходящие через ребро в- и добавить новые пути, проходящие через новые ребра замены для вершины V-;

2) ребро вф входит в дерево кратчайших путей. Дерево кратчайших путей до вершины Vi и всех инцидентных ей вершинам не изменится. Для вершины V- из множества ребер замены выбрать ребро с минимальной оценкой и включить его в дерево кратчайших путей (выполнить парный переход). Исключить из множества путей замены все маршруты, проходящие через ребро в,- и включить пути, проходящие через ребро замены. Для всех вершин, инцидентных вершине V- (кроме вершины V) определить их новые оценки, выбрать ребро с минимальной длиной и включить его в дерево кратчайших путей. Определить инцидентные вершине V- ребра, состоящие в отношении парного перехода и включить их во множество замены. Для вершины V- и всех инцидентных ей вершинам (кроме вершины V) определить новые точки вхождения ребер во множество замены и в дерево кратчайших путей;

б) если удалилась вершина Vk, имеющая связи с вершинами VI и V-, причем вершина VI располагается ниже по иерархии в дереве оптимальных маршрутов, чем вершина V-, то:

1) для всех вершин Vi не инцидентных вершине Vk, т.е. не имеющих ребро в^, дерево кратчайших путей не изменится;

2) для всех вершин V-, инцидентных вершине Vk, имеющих ребро в^, не входящее в дерево кратчайших путей, дерево кратчайших путей не изменится. Исключить ребро в^ из множества ребер замены. Исключить все возможные пути замены, проходящие через ребро в-

3) для всех вершин Vm, инцидентных вершине Vk, имеющих ребро вкт, входящее в дерево кратчайших путей, сделать парные переходы из

множества замены для ребра вкт. Исключить ребро вкт из множества ребер графа. Исключить все возможные пути замены, проходящие через ребро

ек,т.

Шаг 12. Используя список парных переходов, определить, требуется ли сделать парный переход:

а) если да, то перейти к шагу 13;

б) иначе, - к шагу 14.

Шаг 13. Для каждой вершины, у которой изменилась точка вхождения в дерево оптимальных маршрутов выполнить парный переход и определить путь минимальной длины.

Шаг 14. Построить новое дерево оптимальных маршрутов с учетом изменений.

Шаг 15. Сформировать таблицы маршрутизации.

Шаг 16. Проверка окончания работы маршрутизатора:

а) если да, то перейти к шагу 17;

б) иначе, сбросить флаг передачи и перейти к шагу 7.

Шаг 17. Завершение работы маршрутизатора.

Для подтверждения правильности предложенного алгоритма адаптивной ускоренной маршрутизации разработана программа моделирования процессов маршрутизации в корпоративных сетях.

В разработанном пакете программ реализована возможность определять оптимальные маршруты передачи данных от узла-источника до всех остальных узлов сети с помощью алгоритма адаптивной ускоренной маршрутизации для графов с различной структурой, производить построение таблиц маршрутизации необходимого участка сети. Кроме того, реализована возможность пошагового отображения работы алгоритма.

При разработке основное внимание уделялось корректности предлагаемого алгоритма и размерности решаемой задачи.

Для каждого испытания на множестве обработанных изменений выбиралось минимальное, максимальное и среднее значения размерности задачи, выраженное через количество вершин, для которых необходим поиск кратчайшего пути. Для каждого эксперимента были найдены значения оценок математического ожидания и среднего квадратичного отклонения числа изменений. Для алгоритма адаптивной ускоренной маршрутизации определялось число фактически выполненных парных переходов при динамическом отказе элементов корпоративной сети.

Были проведены исследования графов, состоящих из 10, 100 и 500 вершин. Исследование разработанного алгоритма адаптивной ускоренной маршрутизации показало, что максимальное значение числа изменений существенно ниже размерности для каждого из рассмотренных графов, а значение оценки математического ожидания числа изменений не превышает единицы. Более того, обнаружена тенденция уменьшения значения

оценки математического ожидания числа изменений дерева оптимальных маршрутов с увеличением количества вершин графа.

В табл. приведены обобщенные статистические характеристики для средней размерности задачи. В представленной таблице через СКО обозначено значение оценки среднего квадратичного отклонения.

Значение оценки среднего квадратичного отклонения

Число вершин графа Min значение Max значение Значение оценки МО Значение оценки СКО

10 0,30 0,8182 0,4236 0,0943

100 0,06 0,7401 0,2185 0,1368

500 0 0,9192 0,0594 0,1173

На основе этого можно сделать вывод, что предложенный алгоритм адаптивной ускоренной маршрутизации является эффективным при поиске оптимальных маршрутов в условиях динамического изменения в структуре и на линиях связи корпоративной сети за счет использования дополнительной информации о возможных парных переходах.

Разработанный алгоритм адаптивной ускоренной маршрутизации позволяет повысить эффективность функционирования корпоративных сетей за счет уменьшения трудоемкости построения таблиц маршрутизации до величины порядка O(N) при динамическом отказе элементов корпоративной сети.

Список литературы

1. Куракин Д.В. Маршрутизаторы для глобальных телекоммуникационных сетей и реализуемые в них алгоритмы // Информационные технологии. 1996. № 2.

2. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 2001. 672 с.

3. Уваров Д.В., Перепелкин А.И. Построение дерева кратчайших путей на основе данных о парных переходах // Системы управления и информационные технологии. М.; Воронеж, 2004. № 4 (16). С. 93-96.

Б.А. Perepelkin

ADAPTIVE ACCELERATED ROUTING ALGORITHM IN CASE OF DYNAMIC CORPORA TE NET ELEMENTS FAIL URE

Adaptive accelerated routing algorithm during dynamic corporate net elements failure which increases the efficiency of its operation is offered.

Key words: adaptive accelerated routing, routing algorithms, corporate nets.

Получено 16.09.11