УДК 004.02
Д. Л. ПАНКОВ Л. А. ДЕНИСОВА
Омский государственный технический университет, г. Омск
РАЗРАБОТКА И ИССЛЕДОВАНИЕ АЛГОРИТМА МАРШРУТИЗАЦИИ В МНОГОФУНКЦИОНАЛЬНОМ КОМПЛЕКСЕ СВЯЗИ
В работе предлагается алгоритм для маршрутизации в комплексе связи, оптимизирующий процесс передачи информации путем повышения скорости обмена между узлами за счет динамического выбора лучшего набора из промежуточных узлов и интерфейсов между ними. Производится сравнение разработанного алгоритма, основанного на методе быстрого поиска, с известными алгоритмами маршрутизации. Определяется набор требований и компонентов, необходимых для реализации алгоритма маршрутизации, а также производится анализ его эффективности.
Ключевые слова: комплекс связи, алгоритм маршрутизации, оптимизация передачи информации, проектирование алгоритмов.
Введение. Повышение требований к комплексам связи, реализованным на аппаратных и программных средствах, интегрированных в единую систему на основе сетевых технологий, предполагает оптимизацию скорости передачи информации между устройствами связи [1—3]. В связи с тем, что устройства связи могут обмениваться информацией как по радиосвязи, спутниковым каналам, так и по сотовым и интернет-сетям, то каждый узел может обладать одним или несколькими интерфейсами связи. Поэтому при выборе каналов связи для передачи информации необходимо определять наиболее высокоскоростные интерфейсы доступных узлов.
Под каналом связи понимается канал обмена информацией между двумя узлами с интерфейсами одного типа. Следует принять во внимание то, что объекты комплекса связи обладают мобильностью, могут перемещаться в пространстве и, кроме того, в комплекс оперативно добавляются и удаляются новые узлы.
Необходимо также учитывать и то, что специфика выделения интерфейса узла для обмена информацией в текущий момент времени заключается в том, что канал связи является динамическим, то есть скорость передачи данных в канале и вероятность отказа интерфейса зависят от поддерживаемого протокола обмена, погодных условий и других внешних воздействий. Применительно к работе комплекса связи под внешними воздействиями понимаются факторы, влияющие на связь (помехи в канале связи, понижение пропускной способности интерфейса, электромагнитные наводки и др.). Чтобы предсказывать изменения в канале связи, вызванные внешними факторами, на каждом интерфейсе считываются текущие данные с помощью имеющихся средств контроля программно-аппаратного комплекса. Необходимо учитывать, что отказ единственного интерфейса,
имеющегося у узла, отсекает данный узел, то есть делает его недоступным для обмена.
В работе ставится задача разработки алгоритма поиска маршрута передачи информации между узлами, обеспечивающего высокую скорость передачи данных и учитывающего возможность изменения положения и добавления или отсечения узлов комплекса связи.
Постановка задачи. Так как комплекс связи состоит из большого количества взаимосвязанных устройств (узлов), то формализованно он может быть представлен в виде графа, вершинами которого являются узлы связи, а ребрами — интерфейсы связи между узлами. Каждый узел обладает одним или несколькими интерфейсами связи, пригодными для обмена информацией в текущий момент времени, из множества всех имеющихся интерфейсов. В случае отказа единственного интерфейса узла он становится недоступным для обмена (отсекается). За начальное состояние системы принимается состояние, характеризуемое наличием у некоторого узла связи (узла-инициатора) информации, которую требуется передать другому известному узлу (узлу-приемнику). Под конечным состоянием системы понимается завершение процесса передачи информации в комплексе связи от узла-инициатора к узлу-приемнику.
Требуется построить маршрут передачи информации между узлами (от инициатора к приемнику), обеспечивающий высокую скорость передачи на основе построения кратчайшего (по времени) пути между узлами связи с учетом ограничений, обусловленных динамическим состоянием доступных интерфейсов обмена.
Пусть имеется набор узлов, которые требуется соединить кратчайшим по времени путем, исключая из рассмотрения отказавшие узлы и учитывая оперативно добавленные интерфейсы. Установим следующие обозначения: А = {а.} — множество
узлов в ко мпле ксе связи; a}, j = 1, N — узе л; N = |0| — количеетво узсов в комплексе; I = -чл} — множеств о истерфейсов узла; i= ,л = 1, M — ин-терф лйс узла; M = |I| — лотичеусво интерфейсов узлт; Uy = -a : d - dmln} — множество доступных узлов, d. — признак стабииьно сти работы инте=-фейс^, формтруемый средствами контроля ]-го узла; d . — порог стабильной работы интесфей-са; U- = -н. : d^ < dm=} — множество недоступных узлов.
Тробуттс< ]ииеимизировать время передачи сообщения от узла-инициатора до узла-приемника: T = ДО tj; tj = tp пtj Л = 1,N - 1, Л a j,гдл Л -время обработки сообщения в j-м узле, доступном для коммуникации с k-м узлом ; tл- — времяпере-дачимежду узлами k и ]; Н] е Uen .
Так как выбор оптимальногопути в графе может быть выполненнаоснове решения широкоизвестной задачи о кратчайшемпути [4, 5], которое позволяет найтисамый короткийпуть между двумя точками на графе на основе минимизации суммы весов рёбер, составляющих путь, то использование вданной работе алгоритмов кратчайшего пути обоснованно. Следует отметить, что алгоритмы, решающие задачу нахождения кратчайшего пути и осуществляющие поиск в пространстве состояний [2, 6] (англ. state space search), базируются на группе математических методов, позволяющих осуществить просмотр возможных конфигураций области поиска или состояний компонент системы с целью поиска оптимального состояния.
Алгоритм решения задачи. Для разработки алгоритм решения задачи нахождения кратчайшего пути между узлами рассматривались широко известные методы поиска: алгоритм Дейкстры (алгоритм пеиска маршрутов) [4]; алгоритм A-Star (алгоритм эвристической -[ар шрутизации) [5], алгоритм JPS (=угл. Jump Pointer Seaach, =лгоритм быстрого поиска) [7]. Основнге сглержание алгоритма Дейк-соры заключается в последовательном построении итерационного ма^ш р;та до конечного узла с мини м-членым временем его д=стлжения. Алгоритм A-Star использует поиек по набору «перспектив-чых» узсов, удовлетворяч^]г^тм= ограничениям, для которого находится маршрут с наименьшим временем до конечного узли Алгоритм JPS, разработанный в австрилшйском центре информационных технолвгий, является успешнов модификацией алгоритма A-Star [5], =а счет тилее точного отбора вероятных маршрутов движнния и 'ассмятрения меньшего числа y3UOB.
Для в азл а^ол'ки алго ритла поиска маршрута в комплексе связи вв едем слндующие ос по логатель -лью функции: функцию поиска узла-приемника и функцию достижения результата.
еСснкции поиска узла-присмника позволяет перейти к следующему промежуточному узлу на граф = г[ определяется ;нак Fh— = j, -j : 4Дj) = MÍnt^}, где ] — номер вь^ир=емо го промежуточного узла, а, е U;H .
Функция достижеuия результата осуществляет проверку на достижениеузла-приемника an ипред-ставляется в виде ^(Н,) = у F]Hd(aj) = 0 j a н .
Предлагаемый алгоритм маршрутизации MJPS (Modified Jump Pointer Search) состоит из следующих этапов, которые выполняются на каждом текущем узле ak.
На первом этапе формируются данные о множестве интерфейсов, отсечений между объектами маршрутизируемой сети с помощью функции Fnext
для набора доступных узлов множества й . На основании полученных характеристик множества узлов А производится ранжирование точек по минимальному времени обработки В. В результате получаем набор узлов и интер фейс ов для достижения конечной точки ап с набором ограничений.
На втором этапе работы алгоритма на узле-инициаторе формируется предварительный маршрут до приемника для последующего сравнения с конечным, где а. — узел-инициатор; ап — узел-приемник. Предварительный маршрут будет передан вместе с данными.
На третьем этапе алгоритма ММБ для рассматриваемого момента времени проводят оценивание скоростных характеристик длт множества интерфейсов узла с помощью средств контроля, подключенных к узлу комплекса.
На четвертом этапе моделируются дополнительные узлы, добавление кото]зых в комплекс связи планируется в процессе передачи (мониторинг множества узлов ¡7еп), поскоеьту новый утелможет обладать более выгодными параметрами.
На пятом этапе производят определение кратчайшего пути по алгоритйу для матрицы со значениями рассчитанных скоростей, и результаты заносятся в базу данных. База данных предназначена для хранения текущего выбранного интерфейса сети и принятого ]аешения о выбранном пути. Эти данные нужны дхя выполнения оптимизации, которую в дальнейшем предполагается производить при реализации машинного обучения ат-горитма по сохраненным выборкам.
На шестом этапе выполняется переход от одного узла ак к другому а, для которого проверяется появление точек отсечения х. е Ыа и при необходимости инициируется новый расчет пути для М^Б.
На седьмом этапе проверяется достижение конечного узла и при невыполнении этого условия сверяется информация об отказе промежуточных интерфейсов связи, формируется набор точек отсечения Оп для возврата на второй этап. При достижении узла (проверка функции РепЛ) алгоритм завершает работу, выдает решение и результирующее время работы Т.
При разработке алгоритма маршрутизации производилась оценка возможности использования описанных выше методов в качестве базовых для нахождения кратчайшего пути в комплексе связи. Результаты проведенных численных экспериментов приведены на рис. 1 и рис. 2.
Для сравнения алгоритмов указаны требуемые для решения задачи количество операций п и затрат по времени на поиск пути t для заданных точек а—ап. Расчеты производились с использованием разработанной математической модели комплекса связи, реализованной на языке С/С++. Выполнено моделирование для набора узлов, имеющего количество элементов от 10 до 1000.
Как видно из рисунков, предлагаемый алгоритм М^Б рассматривает меньшее количество точек (выделены на линии движения цветом) по сравнению с двумя другими алгоритмами. Кроме того, алгоритм М^Б выполняется за меньшее время, чем приведенные алгоритмы при сравнимых количествах операций.
Построение алгоритма М^Б на основе модификации предпочтительнее при использовании в динамических системах и позволит сократить издержки на время поиска пути до конечного узла [7, 8].
Рис. 1. Нахождение пути между узлами комплекса связи для набора узлов без учета отказа интерфейсов: (a) — на базе алгоритма Дейкстры, (б) — на базе алгоритма A-star, (в) — на базе алгоритма MJPS
Рис. 2. Нахождение пути между узлами комплекса связи для набора узлов с учетом отказа интерфейсов: (a) — на базе алгоритма Дейкстры, (б) — на базе алгоритма A-star, (в) — на базе алгоритма MJPS
Как показали исследования, алгоритм М№5 эффективен при моделировании сложных динамических комплексов, имеющих значительное количество отказавших узлов (точек отсечения), которые встречаются в реальной сети. Следует отметить, что разработанный алгоритм пригоден для моде-
лирования часто встречающихся на практике ситуаций, при которых канал связи обязательно должен пройти через строго определенный узел и его единственный интерфейс [9]. Следует отметить, что с течением времени отказ или снижение скорости интерфейса может приводить к коррекции алгоритмом набора для не посещённых вершин. При этом если информация уже дошла до промежуточного узла, то маршрут может быть пересчитан для текущего узла, поскольку потеря информации или ее повторная отправка занимает длительное время [10].
Заключение. В результате выполненных исследований выявлено, что основной особенностью многофункционального комплекса связи является наличие большого числа интерфейсов передачи. Показано, что использование алгоритма быстрого поиска, основанного на использовании метода нахождения кратчайшего пути между узлами комплекса связи, совместно с ранжированием интерфейсов эффективно для применения в случае, если на время передачи информации наложены ограничения. Существует возможность дальнейшей оптимизации за счет применения технологий машинного обучения. Развитие данного алгоритма позволит снизить общие затраты на вычислительную сеть комплекса связи за счет минимизации трафика.
Библиографический список
1. Легков К. Е., Донченко А. А. Беспроводные швБЬ-сети специального назначения // Т-Сошш: Телекоммуникации и транспорт. 2009. Т. 3, № 3. С. 36-37.
2. Алгоритмы поиска угроз в пространстве состояний процессов информационного обмена распределенной управляющей системы // Вестник ТГТУ. 2004. Т. 10, № 4А. С. 912-917.
3. Прозоров Д. Е., Метелев А. П., Чистяков А. В. [и др.] Протоколы геомаршрутизации самоорганизующихся мобильных сетей // T-Comm: Телекоммуникации и транспорт. 2012. Т. 6, № 5. С. 16-19.
4. Скиета С. С. Алгоритмы. Руководство по разработке. 2-е изд. СПб.: БХВ-Петербург, 2017. 720 с. ISBN 978-5-97750560-4, 978-1-84800-069-8.
5. Максимова Е. И. Сравнение качества результатов алгоритма «A STAR» и его модификации для дорожной сети при выборе маршрута с учетом направления движения на перекрестке // Вестник науки Сибири. 2014. № 4 (14). С. 117-120.
6. Поиск в пространстве состояний. URL: https:// habrahabr.ru/company/abbyy/blog/217839/ (дата обращения: 20.03.2017).
7. Алгоритм поиска пути Jump Point Search. URL: https:// habrahabr.ru/post/162915/ (дата обращения: 20.03.2017).
8. Реализация алгоритма на JavaScript. URL: http://qiao. github.io/PathFinding.js/visual/ (дата обращения: 21.03.2017).
9. Панков Д. А., Денисова Л. А. Анализ задач моделирования для пользовательского сегмента системы спутниковой навигации «ГЛОНАСС» // Материалы VIII Всерос науч.-практ. конф. студентов, аспирантов, работников образования и пром-сти, 26-28 апр. 2016 г. / ОмГТУ. Омск, 2016. С. 65-68.
10. Иванов В. И. Исследование протоколов маршрутизации в негеостационарных спутниковых системах // T-Comm: телекоммуникации и транспорт. 2012. Т. 6, № 6. C. 19-21.
ПАНКОВ Денис Анатольевич, аспирант кафедры «Автоматизированные системы обработки информации и управления».
Адрес для переписки: pankovDDD@yandex.ru ДЕНИСОВА Людмила Альбертовна, доктор технических наук, доцент (Россия), профессор кафедры «Автоматизированные системы обработки информации и управления».
Адрес для переписки: denisova@asoiu.com
Статья поступила в редакцию 04.11.2017 г. © Д. А. Панков, Л. А. Денисова