2. Воронцов М.А. Управляемые оптические системы. М.: Наука, 1988. 268 с.
T. Akimenko, M. Tsudikov
The motion platform of rolling object on a given trajectory in the horizontal plane The kinematics of the longitudinal motion of the object and structural control scheme longitudinal motion wheeled vehicle used in the processing of sensor signals sensory system are investigated.
Key words: control, pitch, a periodic link of the velocity vector.
Получено 28.12.10 г.
УДК 681.317.75:519.2
Д.А. Перепелкин, канд. техн. наук, доц., (4912) 98-69-02,
1гурегере1 [email protected] (Россия, Рязань, РГРТУ),
А.И. Перепелкин, канд. техн. наук, доц., (4912) 98-69-02, [email protected] (Россия, Рязань, РГУ им. С.А. Есенина)
АЛГОРИТМ АДАПТИВНОЙ УСКОРЕННОЙ МАРШРУТИЗАЦИИ ПРИ ДИНАМИЧЕСКОМ ДОБАВЛЕНИИ ЭЛЕМЕНТОВ КОРПОРАТИВНОЙ СЕТИ
Предложен алгоритм адаптивной ускоренной маршрутизации при динамическом добавлении элементов корпоративной сети, повышающий эффективность ее функционирования.
Ключевые слова: адаптивная ускоренная маршрутизация, алгоритмы маршрутизации, корпоративные сети.
Введение. Характерной тенденцией развития современных корпоративных сетей является усложнение функций взаимодействия между их удаленными компонентами. Совершенствование сетевых технологий требует обеспечения качественного обслуживания передаваемого трафика. Загрузка и пропускная способность линий связи корпоративной сети динамически меняются, что, в свою очередь, может приводить к частой рассылке служебной информации об изменении маршрутов [1]. Изменения характеристик каналов связи, модификация структуры сети, включение в нее новых узлов и линий связи приводят к полному пересчету таблиц маршрутизации. Одним из решений повышения качества функционирования корпоративных сетей являются точное определение оптимальных маршрутов передачи данных и быстрое переключение более загруженных каналов связи на другие - свободные каналы - при динамическом добавлении элементов корпоративной сети.
Теоретические исследования. В настоящее время широкое применение получили алгоритмы адаптивной маршрутизации. Эти алгоритмы обеспечивают автоматическое обновление таблиц маршрутизации после изменения конфигурации сети.
Определение маршрута - это выбор последовательности транзитивных узлов и их интерфейсов, через которые надо передавать данные, чтобы доставить их адресату. Построение маршрутов передачи данных - довольно сложная задача, особенно когда конфигурация сети такова, что между парой взаимодействующих сетевых интерфейсов существует множество путей. Чаще всего выбор останавливают на одном оптимальном по некоторому критерию маршруте. В качестве критериев оптимальности могут выступать, например, время и надежность доставки данных получателю по выбранному маршруту. На практике для снижения объема вычислений ограничиваются поиском не оптимального в математическом смысле, а рационального, то есть близкого к оптимальному, маршруту.
Задача выбора еще более упрощается за счет того, что при анализе критерия оптимизации учитываются далеко не все факторы, влияющие на этот критерий. Например, если искать самый лучший с точки зрения времени доставки маршрут передачи данных, то на времени доставки пакетов сказываются топология сети (количество транзитивных узлов, которые должны пройти данные), скоростные характеристики каналов связи, их загруженность, надежность каналов и транзитных устройств, а также многие другие факторы [2].
Среди протоколов маршрутизации выделяют внутренние и внешние протоколы маршрутизации. Внутренние протоколы маршрутизации работают только в одной автономной системе. Примерами протоколов внутренней маршрутизации являются протоколы OSPF, RIP, IGRP и EIGRP. Внешние протоколы маршрутизации предназначены для обмена информацией между автономными системами. Примером протокола внешней маршрутизации является протокол BGP.
Протоколы внутренней маршрутизации делятся на две группы, каждая из которых связана с одним из следующих типов алгоритмов:
Алгоритмы состояния каналов (Link State Algorithm - LSA);
Дистанционно-векторные алгоритмы (Distance Vector Algorithm -
DVA).
Алгоритм состояния каналов обеспечивает каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одинаковых графов, что делает процесс маршрутизации более устойчивым к изменениям конфигурации. Вершинами графа являются как маршрутизаторы, так и объединяемые ими сети. Распространяемая по сети информация состоит из описания связей различных типов: маршрутизатор - маршрутизатор, маршрутизатор - сеть.
В алгоритмах дистанционно-векторного типа каждый маршрутизатор периодически и широковещательно рассылает по сети вектор, компонентами которого являются расстояния от данного маршрутизатора до всех известных ему сетей. Под расстоянием обычно понимается число транзитных узлов. Изменения конфигурации отрабатываются по этому алгоритму не всегда корректно, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только обобщенной информацией - вектором расстояний, к тому же полученной через посредников [3].
Анализ современных алгоритмов маршрутизации в корпоративных сетях показывает, что дистанционно-векторные алгоритмы используют в своей работе алгоритм Беллмана - Форда, трудоемкость которого составляет 0(И), где N - число маршрутизаторов в корпоративной сети, а алгоритмы состояния связей базируются на алгоритме Дейкстры вычислительной трудоемкостью О^).
При изменении структуры сети и пропускной способности линий связи в представленных алгоритмах происходит полный перерасчет таблиц маршрутизации. С увеличением размера сети трудоемкость этой операции растет полиноминально, что не может не сказаться на производительности всей сети в целом.
В работе [4] предложен алгоритм парных переходов, позволяющий за счет сбора дополнительной информации учесть возможные изменения конфигурации корпоративной сети и не производить полный пересчет маршрутных таблиц. Это позволило снизить трудоемкость расчета таблиц маршрутизации до величины порядка 0(к-Щ, где к - число фактически выполненных парных переходов.
При динамическом добавлении элементов корпоративной сети использование данного алгоритма оказывается неэффективным, так как трудоемкость расчета дополнительной информации для осуществления парного перехода составляет 0(^^2ЛГ), что оказывается выше соответствующей оценки трудоемкости алгоритма Дейкстры.
Разработка новых, более эффективных алгоритмов адаптивной маршрутизации позволяет уменьшить трудоемкость построения таблиц маршрутизации в корпоративных сетях.
Разработка алгоритма. Для повышения эффективности функционирования корпоративных сетей предложен алгоритм адаптивной ускоренной маршрутизации, который позволяет уменьшить трудоемкость построения таблиц маршрутизации до величины 0(N) при динамическом добавлении элементов корпоративной сети.
Представим корпоративную сеть в виде неориентированного взвешенного связного графа О = (У,Б,Ж), где V- множество вершин, \У\ = N Е - множество ребер; \Е\ = М, Ж - множество весов ребер.
Пусть на графе G в некоторый момент времени уже решена задача поиска кратчайших путей до всех вершин множества У = У\у!1 из начальной вершины , т. е. построено дерево кратчайших путей с корнем в вершине Обозначим это дерево как Тг. На рис. 1 жирными линиями обозначено построенное дерево кратчайших путей.
Рис. 1. Графовая модель корпоративной сети
Для решения поставленной задачи сформулируем следующие теоремы.
Теорема 1. При добавлении некоторой вершины У для всех вершин, не инцидентных вершине - (т.е. не имеющих ребра е,к), кратчайшие пути и их оценки окажутся без изменения.
Доказательство. Новая вершина У не входит в кратчайший путь к некоторой вершине У-. Следовательно, и в пути к этой вершине р,- отсутствует ребро е,,к. Поэтому новый путь к вершине У-, содержащий данное ребро, будет иметь оценку — > = й-, и дерево кратчайших путей не изменится для всех вершин, не инцидентных вершине У-. Теорема доказана.
Следствие 1. При добавлении некоторой вершины Ук, имеющей ребро с вершиной У и у-, если й < й-, то дерево кратчайших путей до вершины У- не изменится.
Следствие 2. При добавлении некоторой вершины Ук, имеющей ребро с вершиной У и У-, если й, < й-, то необходимо определить новые кратчайшие пути для множества вершин, инцидентных вершине Ук.
Данному случаю соответствует граф, представленный на рис. 2 при добавлении вершины У9.
Рис. 2. Добавление вершины У9
На рис. 2 жирными линиями обозначено дерево кратчайших путей, которое не требует изменения.
Теорема 2. При добавлении нового ребра е^, инцидентного вершинам I и -, причем I лежит выше, чем - по дереву иерархии, с весом Wij, без изменения окажутся кратчайшие пути и их оценки для вершин множества
у(Т0.
Доказательство. Пусть ребро е,- входит в путь < > р и рР < > р. Если данное ребро не уменьшает оценок обеих инцидентных ему вершин V, и V- , то есть й,к > = di и - > = й- , дерево кратчайших путей не изменится, так как ребро е,- оказывает влияние, прежде всего на инцидентные ему вершины множества V. Так как существовавшие до изменения пути до вершин I и - имели меньшую длину, то ребро ене включается, и дерево кратчайших путей не изменится. Если уменьшилась оценка какой-либо инцидентной вершины, например V-, то эта оценка - будет оценкой кратчайшего пути до вершины V- и ребро е, войдет в новое дерево кратчайших путей, так как не существует другого кратчайшего пути р до вершины V-, кроме пути рр, содержащего ребро е,-. Этот кратчайший путь рр не будет существовать, если не будут существовать кратчайшие пути до всех промежуточных вершин vk е V^ этого пути. Невозможно будет сказать, останутся ли неизмененными кратчайшие пути до остальных вершин графа. Теорема доказана.
Следствие. При добавлении нового ребра е,-, инцидентного вершинам I и - с весом wij при неизменении оценок й и й-, дерево не изменится. Если изменяется оценка какой-либо вершины V, или V-, то необходимо определить новые кратчайшие пути для множества вершин, не принадлежащих множеству .
Данному случаю соответствует граф, представленный на рис. 3 при добавлении ребра е67.
На рис. 3 жирными линиями обозначено дерево кратчайших путей, которое не требует изменения.
Рис. 3. Добавление ребра е6,7
Использование доказанных выше теорем позволяет разработать алгоритм адаптивной ускоренной маршрутизации, уменьшающий размерность задачи поиска кратчайших путей при динамическом добавлении элементов корпоративной сети.
Рассмотрим работу алгоритма адаптивной ускоренной маршрутизации в корпоративных сетях. Укрупненная схема алгоритма имеет следующий вид.
Шаг 1. Первоначальная инициализация исходных данных. С помощью используемого протокола маршрутизации определить веса линий связи wij.
Шаг 2. Построить дерево оптимальных маршрутов корпоративной
сети.
Шаг 3. Для вершины, являющейся листом дерева, производится поиск всех парных переходов без ограничений. Эти списки для удобства дальнейшей работы привязываются к вершине, инцидентной рассматриваемому ребру и расположенной ниже по иерархии.
Шаг 4. Если вершина не является листом дерева, то вычисляются парные переходы для этой вершины и выбираются лучшие значения потенциалов парных переходов для потомков вершины и собственных парных переходов. Подобная процедура выполняется для формирования списков парных переходов в случае увеличения и уменьшения веса ребра.
Шаг 5. Для каждой вершины формируется полный список парных переходов. Число элементов в каждом из этих списков не превышает количества вершин графа. Такое решение позволяет отказаться от предварительной сортировки потенциалов или приращений для парных переходов без значительного усложнения алгоритма обработки изменения.
Шаг 6. Для каждого ребра графа корпоративной сети определить точку вхождения в дерево оптимальных маршрутов и точку вхождения во множество замены.
Шаг 7. Определить, есть ли пакеты на передачу:
а) если да, то перейти к шагу 8;
б) иначе, к шагу 10.
Шаг 8: а) передать пакеты по доступным оптимальным маршрутам;
б) установить флаг передачи.
Шаг 9. Проверка флага передачи:
а) если флаг установлен, то перейти к шагу 16;
б) иначе, к шагу 7.
Шаг 10. Анализируя полученную используемым протоколом маршрутизации информацию, определить, произошло ли добавление новых элементов в структуру корпоративной сети:
а) если да, то перейти к шагу 11;
б) иначе - к шагу 7.
Шаг 11: а) если добавилась новая вершина Vk , имеющая ребра с вершинами Vi и Vj, причем < й} (¡-вершина расположена ниже по иерархии в дереве кратчайших путей), то произойдет следующее:
1) дерево кратчайших путей до вершины У не изменится;
2) для всех вершин, не инцидентных вершине У, дерево кратчайших путей не изменится;
3) потенциал вершины у (путь й до вершины у) с учетом новых
связей и не изменился. Первоначальное дерево кратчайших путей не изменится. Из возможных путей и й + выбрать путь мини-
мальной длины и включить его в дерево кратчайших путей. Перейти к п. 5;
4) потенциал вершины у (путь ^ до вершины V}) с учетом новых
связей и уменьшился (то есть: < й). Включить в дере-
во кратчайших путей ребра и й^. Для всех вершин Ут, инцидентных вершине у, определить их новые потенциалы. Если потенциал до вершины Ут уменьшился, то ребро й},т включить в дерево кратчайших путей, исключив первоначальное ребро до вершины ут ;
5) для всех ребер, включенных в дерево кратчайших путей, определить возможные ребра для парных переходов и рассчитать для них точки вхождения во множество ребер замены и в дерево кратчайших путей;
6) через множество ребер замены построить новые пути замены и включить их во множество путей замены для каждой вершины, до которой изменился кратчайший путь, включая и вершину
б) если добавилось новое ребро ес весом wij, причем вершина У располагается ниже по иерархии в дереве оптимальных маршрутов, чем вершина У} то произойдет следующее:
1) оценка длины маршрута для вершины у не изменилась. Дерево оптимальных маршрутов не изменится. Определить, находится ли ребро е, в отношении парного перехода к какому-либо ребру для вершины у. Если да, то включить его во множество вершин, состоящих в отношении парно-
го перехода к вершине У} и построить новые возможные пути замены через ребро е^. Если нет, то оставить все без изменения;
2) оценка длины маршрута для вершины у уменьшилась. Включить ребро е¡,} в дерево оптимальных маршрутов. Для всех вершин, кроме У-, инцидентных вершине У}, рассчитать новые оценки маршрутов. Для тех вершин, у которых оценки уменьшились, соответствующее инцидентное ребро включить в дерево оптимальных маршрутов, удалив из дерева ребро, входящее в оптимальный маршрут до этой вершины.
Шаг 12. Используя список парных переходов, определить, требуется ли сделать парный переход:
а) если да, то перейти к шагу 13;
б) иначе, к шагу 14.
Шаг 13. Для каждой вершины, у которой в список возможных маршрутов входит ребро с изменившейся метрикой, определить путь минимальной длины и поместить его в дерево кратчайших путей.
Шаг 14. Построить новое дерево оптимальных маршрутов с учетом изменений.
Шаг 15. Сформировать таблицы маршрутизации.
Шаг 16. Проверка окончания работы маршрутизатора:
а) если да, то перейти к шагу 17;
б) иначе, сбросить флаг передачи и перейти к шагу 7.
Шаг 17. Завершение работы маршрутизатора.
Для подтверждения правильности предложенного алгоритма адаптивной ускоренной маршрутизации разработана программа имитационного моделирования процессов маршрутизации в корпоративных сетях.
При разработке основное внимание уделялось корректности предлагаемого алгоритма и размерности решаемой задачи.
Для каждого испытания на множестве обработанных изменений выбиралось минимальное, максимальное и среднее значения размерности задачи, выраженное через количество вершин, для которых необходим поиск кратчайшего пути. Для каждого эксперимента были найдены математическое ожидание и среднее квадратичное отклонение числа изменений. Для алгоритма адаптивной ускоренной маршрутизации определялось число фактически выполненных парных переходов.
В таблице приведены обобщенные статистические характеристики для средней размерности задачи, через СКО обозначено среднее квадратичное отклонение.
Число вершин графа Міп значение Мах значение МО СКО
10 0,32 0,8185 0,4231 0,0947
100 0,06 0,7421 0,2177 0,1372
500 0 0,9192 0,0582 0,1168
Были проведены исследования графов, состоящих из 10, 100 и 500 вершин. Исследование разработанного алгоритма адаптивной ускоренной маршрутизации показало, что математическое ожидание числа изменений не превышает величины N/2, а его максимальное значение не превышает N. На основе этого можно сделать вывод, что предложенный алгоритм адаптивной ускоренной маршрутизации является эффективным при поиске оптимальных маршрутов в условиях частичных динамических изменений на линиях связи корпоративной сети за счет использования дополнительной информации о возможных парных переходах.
Заключение. Разработанный алгоритм адаптивной ускоренной маршрутизации позволяет повысить эффективность функционирования корпоративных сетей за счет уменьшения трудоемкости построения таблиц маршрутизации до величины порядка O(N) при динамическом добавлении элементов корпоративной сети.
Список литературы
1. Куракин Д.В. Маршрутизаторы для глобальных телекоммуникационных сетей и реализуемые в них алгоритмы // Информационные технологии. 1996. № 2.
2. Олифер В.Г., Олифер Н.А. Основы компьютерных сетей. СПб.: Питер, 2009. 352 с.
3. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 2001. 672 с.
4. Уваров Д.В., Перепелкин А.И. Построение дерева кратчайших путей на основе данных о парных переходах // Системы управления и информационные технологии. № 4 (16), М.; Воронеж, 2004. С. 93-96.
D. Perepelkin, A. Perepelkin
The adaptive routing algorithm for accelerated in dynamically add elements of the corporate network
An algorithm for rapid adaptive routing with dynamic the addition of elements of the corporate network, increasing the efficiency of its operation, is proposed.
Key words: adaptive accelerated routing, routing algorithms, corporate networks.
Получено 28.12.10 г.