Научная статья на тему 'Применение контурного метода для решения задачи оптимального распределения трафика в сети'

Применение контурного метода для решения задачи оптимального распределения трафика в сети Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
24
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
контурный метод / оптимизация трафика в сети / contour method / network traffic optimization

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гаипов Константин Эдуардович, Кузнецов Александр Алексеевич, Крикунов Илья Леонидович

Целью настоящей работы является создание способа решения задачи оптимального распределения трафика в сети с помощью контурного метода анализа данных. В первом разделе работы объяснен принцип преобразования любой доступной сети к контурному виду, причем рассмотрен случай как для сетей без потерь, так и для сетей с потерями. Во втором разделе в общем виде показан метод приведения сети в контурном виде к системе нелинейных неравенств, решив которую можно получить некое распределение трафика в системе. В заключительном разделе на примере системы массового обслуживания M/M/1/N показано решение задачи оптимального распределения трафика по критерию минимизации потерь. В качестве исходных данных для задачи выступили матрица инцидентности, интенсивность обслуживания и размерность буфера для каналов связи. Указанный подход по оптимальному распределению трафика позволяет сократить число используемых переменных по сравнению с известными методами на основе беспетельных маршрутов, а также не требует их предварительного поиска, так как они определяются из размерности матрицы инцидентности графа моделируемой сети.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гаипов Константин Эдуардович, Кузнецов Александр Алексеевич, Крикунов Илья Леонидович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using of the contour method to solving the problem of optimal traffic distribution in the network

The purpose of this work is to create a method for solving the problem of optimal traffic distribution in a network using the contour data analysis method. In the first section of the work, the principle of converting any available network to a contour form is explained, and the case is considered both for networks without loss and for networks with losses. The second section shows in a general way the method of bringing the network in contour form to a system of non-linear inequalities, by solving which one can obtain a certain distribution of traffic in the system. In the final section, using the M/M/1/N queuing system as an example, the solution of the problem of optimal traffic distribution according to the loss minimization criterion is shown. The initial data for the task were the incidence matrix, service intensity and buffer dimension for communication channels. A feature of the proposed algorithm is the search for a contour matrix, for the compilation of which it is proposed to use loss edges as elements of the spanning tree of the graph, which allows you to immediately determine the contour matrix using the concept of a fundamental cycle of a graph. This approach to optimal traffic distribution reduces the number of variables used compared to the known methods based on loopless routes, and also does not require their preliminary search, since they are determined from the dimension of the incidence matrix of the simulated network graph.

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

УДК 004.02

Doi: 10.31772/2712-8970-2023-24-3-418-435

Для цитирования: Гаипов К. Э., Кузнецов А. А., Крикунов И. Л. Применение контурного метода для решения задачи оптимального распределения трафика в сети // Сибирский аэрокосмический журнал. 2023. Т. 24, № 3. С. 418-435. Doi: 10.31772/2712-8970-2023-24-3-418-435.

For citation: Gaipov K. E., Kuznetsov A. A., Krikunov I. L. [Using of the contour method to solving the problem of optimal traffic distribution in the network]. Siberian Aerospace Journal. 2023, Vol. 24, No. 3, P. 418-435. Doi: 10.31772/2712-8970-2023-24-3-418-435.

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

К. Э. Гаипов, А. А. Кузнецов, И. Л. Крикунов

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский Рабочий», 31

E-mail: gaipovke@yandex.ru

Целью настоящей работы является создание способа решения задачи оптимального распределения трафика в сети с помощью контурного метода анализа данных. В первом разделе работы объяснен принцип преобразования любой доступной сети к контурному виду, причем рассмотрен случай как для сетей без потерь, так и для сетей с потерями. Во втором разделе в общем виде показан метод приведения сети в контурном виде к системе нелинейных неравенств, решив которую можно получить некое распределение трафика в системе. В заключительном разделе на примере системы массового обслуживания M/M/1/N показано решение задачи оптимального распределения трафика по критерию минимизации потерь. В качестве исходных данных для задачи выступили матрица инцидентности, интенсивность обслуживания и размерность буфера для каналов связи. Указанный подход по оптимальному распределению трафика позволяет сократить число используемых переменных по сравнению с известными методами на основе беспетельных маршрутов, а также не требует их предварительного поиска, так как они определяются из размерности матрицы инцидентности графа моделируемой сети.

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

Using of the contour method to solving the problem of optimal traffic

distribution in the network

K. E. Gaipov, A. A. Kuznetsov, I. L. Krikunov

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii Rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: gaipovke@yandex.ru

The purpose of this work is to create a method for solving the problem of optimal traffic distribution in a network using the contour data analysis method. In the first section of the work, the principle of converting any available network to a contour form is explained, and the case is considered both for networks without loss and for networks with losses. The second section shows in a general way the method of bringing the network in contour form to a system of non-linear inequalities, by solving which one can obtain a certain distribution of traffic in the system. In the final section, using the M/M/1/N queuing system as an example, the solution of the problem of optimal traffic distribution according to the loss minimization criterion is shown. The initial data for the task were the incidence matrix, service intensity and buffer dimension for

communication channels. A feature of the proposed algorithm is the search for a contour matrix, for the compilation of which it is proposed to use loss edges as elements of the spanning tree of the graph, which allows you to immediately determine the contour matrix using the concept of a fundamental cycle of a graph. This approach to optimal traffic distribution reduces the number of variables used compared to the known methods based on loopless routes, and also does not require their preliminary search, since they are determined from the dimension of the incidence matrix of the simulated network graph.

Keywords: contour method, network traffic optimization.

Введение

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

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

Современные протоколы динамической маршрутизации, такие как OSPF [1] и IS-IS [2], позволяют обойти загруженные каналы связи для улучшения качества обслуживания сетевых сервисов. Однако при частом обновлении маршрутов необходимы дополнительные вычислительные ресурсы для активации нового маршрута и его установки. Протоколы многопутевой маршрутизации, как правило, используют в своей работе алгоритм k-кратчайших путей (алгоритм Йена), применяемый для технических решений [3]. В качестве примера можно рассмотреть модуль MPLS-TE [4; 5], который работает с маршрутами, вычисленными с помощью данного алгоритма. Это позволяет сбалансировать нагрузку путем распределения сетевого трафика по резервным маршрутам.

Помимо этого, существует множество модернизаций и адаптаций данных методов. Так, в работах [6-9] предлагаются модели многолучевой маршрутизации с балансировкой нагрузки на базе сетей GERT и минимизации планиметрических задержек для каждого типа трафика. В [10] исследуется алгоритм адаптивной маршрутизации на нейронных сетях. В [11] рассмотрен метод, включающий балансировку нагрузки с многопутевой маршрутизацией, на базе алгоритма парных перестановок маршрутов, в [12; 13] проанализированы технологии быстрой перемаршрутизации IP FRR.

Несмотря на большой список работ и различных технических реализаций в виде программ для ЭВМ [14-17], существующие механизмы не решают задачу оптимальной маршрутизации трафика с учетом потерь. Именно поэтому в данной работе была разработана и описана реализация математической модели сети с применением контурного метода анализа трафика по критерию минимизации потерь.

1. Приведение сети к контурному виду

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

Для получения математической модели распределения трафика по сети сеть удобно представить в виде направленного графа. Определим правило построения: каждое направление передачи данных между парой телекоммуникационных устройств будет представлять собой направленное ребро графа, моделям телекоммуникационных узлов будут соответствовать вершины графа. От каждого узла также будет выходить по одному дополнительному ребру, данное ребро представляет собой канал, по которому будет передаваться трафик, потерянный в результате переполнения буферов телекоммуникационных устройств. На рис. 1 изображена сеть, состоящая из двух узлов коммутации УК1 и УК2. К УК1 подключены пользователи, которые одновременно принимают и передают данные, на рисунке они обозначены как ИП1. Аналогично к УК2 подключен ИП2. Каждый канал на рис. 1 является дуплексным, потери происходят на каждом узле коммутации.

Рис. 1. Модель сети Fig. 1. Network model

На основании сказанного, на рис. 2 представлен граф сети, на котором узлы 1 и 2 соответствуют источникам трафика, а ребра 1 и 2 являются каналами, подключающими соответствующие источники к узлам коммутации. Узлы 3 и 4 соответствуют приёмникам трафика, ребра 3 и 4 являются каналами, подключающими соответствующие приемники к узлам коммутации. Таким образом, пары узлов 1 и 3 соответствует ИП1, ребра 1 и 3 соответствуют дуплексному каналу между ИП1-УК1, пара узлов 2 и 4 соответствует ИП2, ребра 2 и 4 соответствуют дуплексному каналу между ИП2-УК2. Узел 7 терминирует на себе потери от входящих каналов в узел 5, узел 8 терминирует в себе потери от входящих каналов в узел 6, а ребра под номерами 7 и 8 являются каналами сброса трафика, соединяющими узлы коммутации с узлами терминации сброса. Узлы 5 и 6 обозначают узлы коммутации УК1 и УК2, соответственно. Если из сети на рис. 2 убрать каналы 7 и 8, а также узлы 7 и 8, то получившая сеть будет являться сетью без потерь (рис. 3).

Рис. 2. Представление сети с потерями в виде графа Fig. 2. Graph representation of a lossy network

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

объединив их в один узел. Это гарантирует равенство суммы входящих в узел и суммы выходящих из узла потоков. Таким образом, для рассмотренного примера на рис. 2 и 3 необходимо объединить узлы с 1 по 4, а также 7 и 8 (для сети с потерями) в один общий узел. Графически такая сеть изображена на рис. 4 и рис. 5, соответственно.

Рис. 3. Представление сети без потерь в виде графа

Fig. 3. Graph representation of a lossless network

Рис. 4. Результат приведения сети с потерями к контурному типу Fig. 4. The result of reducing a lossy network to a contour form

Рис. 5. Результат приведения сети без потерь к контурному типу Fig. 5. The result of reducing a lossless network to a contour form

Как видно на рис. 4, узлы с 1 по 4 плюс узлы 7 и 8 были объединены в узел 0, а для сети на рис. 5 объединены узлы с 1 по 4. Для полученных сетей необходимо определить матрицу контуров.

Отметим, что под источником понимается не один источник информации, а совокупность независимых источников, например, ПК локальной сети. Таким образом, по каналу, подключённому к источникам на рис. 1, проходят статистически мультиплексированные потоки.

2. Контурный метод анализа данных

Введем переменные, которыми будем оперировать при составлении математических моделей:

V - множество всех вершин графа; - количество вершин графа;

Е - множество всех ребер графа; |Е| - количество ребер графа;

Еь - подмножество ребер графа, являющихся хордами; |ЕА| - количество ребер в множестве Ек ; Еь - подмножество ребер графа, являющихся ветвями; |Е6| - количество ребер в множестве Еь;

Е,,гс - подмножество ребер графа, к которым подключены источники информации; \Е*ГС\ - количество ребер в множестве Е*гс;

Егсу - подмножество ребер графа, к которым подключены получатели информации; \ЕГСУ\ - количество ребер в множестве Егсг ;

Ег - подмножество ребер графа, которые соединяют узлы, являющиеся узлами коммутации;

| - количество ребер в множестве Е1г; Еш* - подмножество ребер графа, являющихся каналами сброса информации; \Е}о^ | - количество ребер в множестве Е1о** .

Согласно теории графов, любой граф может быть описан матрицей инцидентности, матрица инцидентности без линейно-зависимой строки является матрицей линейно-независимых разрезов, которая в свою очередь ортогональна матрице контуров [18].

VI>1Е ' ^Еь| *Щ = 0, (1)

где 1)х|е - матрица инцидентности контурной сети без линейно независимой строки; С,Еь|хщ - матрица контуров.

Матрица 1(|И|_1)х|щ образуется из матрицы инцидентности 1||хщ, описывающей граф исходной ортогональной сети, путем удаления из нее всех строк, в которых есть только один ненулевой элемент. Так, преобразования ортогональной сети в контурную сводится к тому, что все узлы со степенью равной 1 и инцидентные ребрам из подмножеств Е*гс, Егсу и Е1о!,* объединяются в один узел. Это эквивалентно сложению всех строк в матрице I ц х|щ, в которых есть

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

VI _1)х| щ

E Щ

(И _1)х| Ен\

где E - единичная матрица размерностью ||| _ 1, _1) |Е^ - матрица хорд графа.

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

Для выполнения условия ортогональности по формуле (1) матрица С|щ х|щ должна иметь

следующий вид:

Е ^(иИИ е„\ т

С1 Еь | х щ

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

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

Введем следующие обозначения:

Itoss - матрица инцидентности сети с потерями, приведенная к контурному виду;

Iiossiess - матрица инцидентности без потерь, приведенная к контурному виду;

Xh - вектор-столбец, каждый элемент этого вектора показывает потоки в хордах от каждого источника;

Nusers - число источников, равное числу элементов в множестве Esrc;

n - номер источника.

В матрице Iloss и Ilossless одинаковое число узлов, но различное число столбцов, следовательно, матрица I/oss получается из матрицы Ilossless путем добавления \Eloss\ столбцов слева,

при этом добавляемые столбцы представляют собой диагональную единичную матрицу, что соответствует следующему выражению:

Iloss — [E I lossless ] .

Из этого следует, что матрица Ilossless является матрицей хорд для графа, описывающего сеть с потерями. Таким образом, в матрице Iloss столбцы с номерами от 1 до \Eloss\ будут ветвями графа, а столбцы с (j Ehss\ +1) по (j Eloss\ + \Eh |) будут хордами этого графа. Следовательно, матрица контуров для сети с потерями будет определяться следующим образом:

C =

loss

В матрице Closs столбцы с номерами от 1 до |Eh| будут хордами графа, а столбцы с (| Eh | +1) по (| Eh | + \Ehss I) являются ветвями этого графа.

Сформулируем рекомендации по выбору номеров ребер. Исходя из введённых обозначений, порядок нумерации ребер в исходном графе рекомендуется делать следующий: вначале пронумеровать все ребра из множества Esrc, затем из Ercv , потом из Etr и в конце из Eloss . Такая рекомендация связана с тем, что в дальнейшем отпадает необходимость в организации дополнительных алгоритмов поиска и сортировки, необходимых для формирования финальной системы ограничений и целевой функции.

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

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

Таким образом, вектор переменных Xh будет содержать Nusers ■ |Eh | переменных. В векторе

Xh переменные с порядковыми номерами от (n -1) (|E^ +1) до (njEh |) будут показывать по-

E (-i t)

\ lossless J

токи источника п в хордах из множества Еь . Для определения суммарного потока в каждом канале связи создадим следующую матрицу:

c - гг T с

sum lossl V

loss 2

^lossNu

А для определения потока в каждом канале, создаваемом каждым источником, составим следующую матрицу:

-'lossl

0

0

■"lossNu

(2)

Для определения суммарного потока в каждом канале связи

Хе = С • ХН

(3)

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

Xe - C • Xh

users users '

Каждые m строк матрицы Xemers показывают потоки от каждого отдельного пользователя. Таким образом, чтобы узнать, какой поток создается в ребре Et, от пользователя n необходимо взять элемент XeMsers^n1y|E| +.. Получив связи потоков в каждом канале через потоки в хордах,

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Поскольку размерность такой задачи является достаточно большой, то для её решения необходимо воспользоваться системами математического моделирования. Для формирования системы ограничений необходимо составить ряд матриц A, B , Aeq , Beq, Ceq (x) и C(x), а

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

' A • X < 0; Aeq • X - 0; ' C(x)< 0; Ceq (x)- 0.

Как видно, система состоит из четырёх блоков, где Ceq (x) - это вектор-столбец, в котором каждый элемент представляет собой некую нелинейную зависимость от искомых переменных, при этом данное значение должно быть равно нулю. Вектор C (x) аналогичен блоку Ceq (x) , но, в отличие от него, каждый элемент этого вектора-столбца меньше или равен нулю.

Для определения значения потока в каналах потерь оставим в матрице Closs только те столбцы, которые отвечают за ребра из множества Eloss (т. е. столбцы с номерами, соответствующими рёбрам, через которые проходят потоки потерь). Обозначим такую матрицу как

C (Eloss )users и сформируем её в ф°рмате

C(Eloss )

lossl

C(Eloss )u

C (Eloss }

lossNu

Для определения потока потерь в каждом канале потерь от каждого источника запишем следующее равенство:

Хе (Е» и = с (Е»•ш • (4)

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

Далее нужно понять, для каких каналов необходимо определить потери: если для всех каналов, то к таким каналам относится пространство каналов из подмножеств Е5ГС, Егсу и Ег, а если интересуют только каналы, соединяющие узлы коммутации, то это пространство каналов из подмножества Е(г. Последний вариант представляет наибольший практический интерес, так как ребра из подмножества Е(г, как правило, являются ребрами магистральной части сети, когда ребра из подмножества Е_т и Егсу относятся к каналам доступа и являются мало нагруженными.

Для определения вероятности потерь в каждом канале из подмножества Е(г необходимо определить в этом множестве суммарный поток. Для этого в матрице С/ам оставим только те столбцы, которые соответствуют номерам ребер из подмножества Е(г и обозначим такую матрицу как С (Ег ) . Для определения суммарного потока в ребрах подмножества Ег составим матрицу С (Е{Г)

C (Etr) sum C (Etr) loss! C (Etr )

loss2

C E)

lossNu,

По аналогии с (2), поток в каждом канале из подмножества Е(г, создаваемом каждым источником, выразим следующим образом:

C (Etr)

V tr 'u

C (Etr )

loss1

0

C (Etr )

lossNu

(5)

(6)

Далее найдем значение векторов потоков для подмножества ребер Etr:

Xe(Etr) = C(Etr) • Xh,

V ir / sum v ir / sum

Xe (Etr) = C (Etr) • Xh ,

users users

где Xe (Efr )sum - показывает суммарный поток, проходящий по ребрам подмножества Etr, элемент данного вектора показывает значение суммарного потока в i -м ребре; Xe (Etr) пока-

^ ' users

зывает потоки от каждого источника, проходящие по ребрам подмножества Etr .

Каждые |Etr| строк матрицы Xe (Etr )mers показывают потоки от каждого источника в ребрах подмножества Etr. Таким образом, чтобы узнать, какой поток создается в i -м ребре от пользователя n, необходимо взять элемент Xe(Etr )users(n-1)|E + . Если известна функция вероятности

потерь для канала из подмножества Etr , то интенсивность потерь в канале для источника n будет находиться как

Xe (Efr )users(n-1) |Etr |+i P (X^ (Etr \sumi ) .

T

T

0

Поток в канале сброса от источника n, который подключен к узлу vi, равен сумме потоков по тем ребрам, которые в него входят, что соответствует таким ребрам, для которых в матрице инцидентности в строке, индексирующей vt узел, стоит -1. Если для каждого узла, к которому подключены каналы сброса, просуммировать потоки от входящих ребер, то такой поток будет соответствовать потоку сброса от конкретного источника в канале сброса, исходящего из данного узла:

Xenv = X Xe (Etr Lers(n-1>|Etr |+i • P (iEtr )slml ) , (7)

i'Gv(i'n )

где Xenv - это поток сброса в узле vi от источника n .

Если все элементы Xenv упорядочить в порядке увеличения индекса, то значение элементов получившегося вектора Xem будет равно элементам вектора Xe (E, ) , таким образом

^ ' users

Xenv =Xe (Etr )users , откуда следует, что

Ceq(x) = Xe(Efr)_ -Xenv.

Матрицу C (x) можно использовать для добавления сторонних ограничений, например, добавить ограничения по потерям в каналах связи, установить задержки для каналов или сквозные задержки, а также оставить матрицу пустой для случаев, когда дополнительные условия не требуются.

Для ограничений по потерям необходимо создать вектор-столбец P[osses, в котором укажем пороговое значение вероятностей потерь для отдельных каналов или всех каналов в сети. Зная функциональную зависимость вероятности потерь для данных каналов, а также используя суммарную интенсивность потерь в этих каналах из формулы (3) получим следующее выражение:

P (Xe

sum )< Plosses . (8)

По такому же принципу создадим вектор-столбец Twt, в котором укажем пороговые значения задержки для каналов или сквозных задержек для определенных маршрутов. Зная функциональную зависимость среднего числа заявок в очереди L0, а также используя суммарную интенсивность потерь в этих каналах из формулы (3) получим выражение для канальных и сквозных задержек:

L0 (Xesum ) / Xesum .

По аналогии с выражением (8) составим неравенства для системы ограничений:

L (Xesvm ) / Xemm < Twt. (9)

При формировании C (x) стоит учитывать, что каждый элемент этого множества должен быть меньше или равен нулю. Для достижения этого условия в формулах (8) и (9) правая часть неравенства переносится налево. Тогда итоговый вид вектора-столбца C(x) имеет следующий вид:

P ( Xesum ) Plosses L0 (Xesum ) / Xesum - Tw

С (x ) =

Далее рассмотрим алгоритм получения матрицы Лец : произведение матрицы Лец на вектор переменных X описывает такую линейную комбинацию значений, которые известны заранее, что согласно математической модели является потоками в ветвях подмножества Егсу . Также следует учитывать, что потоки от источника п будут равны нулю во всех ребрах пространства Еггс кроме ребра, непосредственно подключенного к источнику п .

Поэтому, если из матрицы С1а^ оставить только строки, соответствующие номерам ребер из подмножества Егсу, а также строки, соответствующие номерам ребер подмножества Е,,гс, в которых потоки от источников равны нулю, а также обозначив такое пространство как Е30 , и обозначить получившуюся матрицу С(Егсг и Е80 ) , то получим следующую матрицу:

С (Ercv u Esо )

С(ErcV uEsо)

loss!

о

C (Ercv U ES0 )

lossNu

Если перемножить полученную матрицу с вектором Xh , получим вектор Xe (E u ES 0) , описывающий потоки в каналах, которые являются заранее известными

^ * users

величинами, а их значения занесены в вектор Beq . Таким образом,

Aeq = C (ErCV u esо )users,

Xe (Ercv U ES0 hers = C (Ercv U ES0 hers ' Xh ■

Рассмотрим алгоритм формирования матрицы A. Матрица A формируется из соображений, что необходимо задаться ограничениями для потоков, которые проходят по каналам связи. Минимально необходимым ограничением является то, что потоки в каждом канале, создаваемые каждым источником, должны быть не отрицательными, поскольку значение потоков в ребрах подмножества Ercv известно заранее, а значение потоков в ребрах подмножества Eloss зависит от значений потоков в ребрах подмножества Esrc и Etr. В матрице необходимо оставить только те столбцы, номера которых соответствуют номерам ребер из пространства (Esrc - ES0 ) и Etr. В результате получается матрица C (Esrc - ES0 u Etr) , из которой формируете матрица C (Esrc - ES 0 u Etr )lsers :

C (Esrc - ES0 U Etr )u

C (Esrc - ES0 U Etr )

loss!

о

о

C (Esrc - ESо U Etr )

loss Nu

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

Для нахождения наилучшего решения следует задать критерий оптимальности, который можно выразить с помощью различных функций. Если использовать в качестве критерия потери в сети, т. е. минимизировать сумму потоков сброса, тогда целевая функция будет являться суммой элементов массива Xe (Eloss ) или Xenv и будет выглядеть следующим образом:

^ ' us ers

\Eloss\

f (x) = Ê Xe(Eoss ). i=1

3. Пример приведения сети к системе ограничений

В качестве примера рассмотрим сеть, изображенную на рис. 6. Обозначим значение переменных для данной топологии, которыми будем оперировать: V = {1,2,3,4}, V = 4,

Е = {1,2,3,4,5,6,7,8,9,10,11,12,13}, |Е| = 13, Ек ={1,2,3,4,5,6,7,8,9,10}, |ЕА| = 10,

Еъ = {11,12,13} , |Е6| = 3, Е1ГС ={3,4}, |Е,ГС| = 2, Егсу = {1,2} , |Е^| = 2, Е<г ={5,6,7,8,9,10},

К1 = 6, Е^ ={11,12,13}, \ЕЦ = 3.

Рис. 6. Исследуемая сеть Fig. 6. Researched network

На следующем этапе определим матрицу контуров Closs (табл. 1).

Согласно заданной топологии, число источников равно 2, следовательно переменная Nusers = 2, а вектор переменных Xh будет содержать |Eh \Nusers = 102 = 20 значений. Элементы

вектора Xh содержат неизвестные переменные, например, переменные x1 и xn показывают значение скорости информационных потоков в ребре № 1, созданных двумя разными источниками. Далее, согласно алгоритму, определяем значения Xesum по формуле (5) и Xeusers по формуле (6). Вектор Xesum показывает, из каких составляющих складывается поток в соответствующих ребрах. Элементы вектора Xetlsei^s показывают значение потока, создаваемого отдельно взятым источником в соответствующем ребре.

Таблица 1

Матрица контуров для исследуемой сети

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

E rev E sre Er Eloss

1 2 3 4 5 6 7 8 9 10 11 12 13

1 0 0 0 0 0 0 0 0 0 -1 0 0

0 1 0 0 0 0 0 0 0 0 0 -1 0

0 0 1 0 0 0 0 0 0 0 1 0 0

0 0 0 1 0 0 0 0 0 0 0 1 0

0 0 0 0 1 0 0 0 0 0 -1 1 0

0 0 0 0 0 1 0 0 0 0 1 -1 0

0 0 0 0 0 0 1 0 0 0 -1 0 1

0 0 0 0 0 0 0 1 0 0 1 0 -1

0 0 0 0 0 0 0 0 1 0 0 1 -1

0 0 0 0 0 0 0 0 0 1 0 -1 1

Далее необходимо определить нелинейную часть уравнений математической модели: определим матрицу С (Е/о,,, )1о,Г - эта матрица состоит из строк, определяемых строками подмножества Е/о,, из матрицы С/а,,,г . Затем определяем значение потоков потерь в каналах потерь от каждого источника по формуле (4). С другой стороны, значение потоков потерь зависит от того, какой поток проходит по ребрам множества Ег. Таким образом, можно определить долю теряемого информационного потока для каждого ребра как произведение потока в ребре от конкретного источника на вероятность потерь для данного ребра. Для этого определим значение векторов потоков для пространства ребер Ег . Для того, чтобы воспользоваться формулой (5), найдем С(Е^),ит и С(Е&)и,е„ для использования в формуле (6). Воспользовавшись матрицей С(Е1г)шт и формулой (5), найдем значение суммарных потоков в ребрах из множества Е^, а воспользовавшись матрицей С(Е&)ше„ и формулой (6), найдем значение потоков в ребрах из множества Ег для каждого отдельного источника.

Затем по формуле (7) определяем значение потоков потерь для каждого узла в транспортной сети, куда входят потоки, идущие по подмножеству Ег. Считаем, что функциональная зависимость вероятности потерь является известной, а итоговая вероятность для суммарного потока равна сумме вероятностей потерь для любой составной части такого потока. В итоге значение вектора Сец (х) или первая система уравнений математической модели распределения трафика будет выглядеть следующим образом:

(-х1 + х3 - Х5 + Х6 - Х7 + Х8 ) - (Х6 Р (Х6 + Х16 ) + Х8 Р (Х8 + х18 )) = 0

Х2 + Х4 + Х5 Х6 + Х9 Х10 )

) - (х5 Р (х5 + Х15 ) + Х9Р (х9 + х19 )) = 0

(

+ Х7 Х8 Х9 + Х10 )

) - (( (х7 + х17 ) + хю Р (х10 + х20 )) = 0

(х11 + Х13 - Х15 + Х16 - Х17 + Х18 ) _ (Х16'Р (х6 + Х16 ) + Х18 Р (х8 + ■%)) = 0 (х12 + Х14 + Х15 - Х16 + Х19 - Х20 ) _ (Х15'Р (х5 + Х15 ) + Х19'Р (х9 + Х19 )) = 0 (+Х17 - Х18 - Х19 + Х20 ) _ (Х17 'Р (х7 + Х17 ) + Х20 'Р (х10 + Х20 )) = 0

Следующим шагом является нахождение математической модели линейных равенств. Для этого определим матрицу Аец, для чего определим матрицы С (Ес и Е80 ) и

С (Ег„ и Е30 )/ои 2 соответственно:

С (Ес и Е0 )/О,,1 =

1000000000 0100000000

00010000004

С( и Еа 0)

/О„2

1000000000 0100000000 0010000000

Так как известно, что Аец = С (Егсу и Е30 ), тогда по формуле (8) можно составить матрицу Аец . Для получения самой системы уравнений определим значение произведения Аец на вектор ХН, обозначим получившийся вектор за Хед, а также введем вектор-столбец Вец, который показывает значение каждого элемента вектора Хед . В итоге получаем следующее равенство:

Аец • Хед = Вец .

Установим, что поток, создаваемый источником, подключённым к ребру № 3, должен доставить получателю, подключённому к ребру № 2, 10 единиц информации. Очевидно, что сам источник ничего себе не отправляет, поэтому значение потока от этого источника в ребре № 1 будет равно 0, а также этот источник не может создавать поток в ребре № 4, поэтому поток в этом ребре также равен 0, а значение самого потока в источнике не известно, так как не известны потоки потерь в № 11, 12 и 13 ребрах. Из таких же соображений строится распределение потока от второго источника: значение потока в ребре № 1 равно 13 единицам, в ребрах № 2 и 3 - 0, а значение в ребре № 4 неизвестно.

Финальным базовым ограничением является то, что интенсивность потоков данных должна быть неотрицательная, а для этого необходимо найти матрицу A = C (Esrc - ES0 ^ Etr) и умножить ее на вектор Xh , в результате чего получится вектор Xh (Esrc - ES0 ^ Etr ). Однако для данного примера можно использовать вместо матрицы A единичную матрицу E размерностью |Eh ¡Nosers = 20 .

Для получения самой системы уравнений определим значение произведения A на вектор Xh и обозначим получившийся вектор за Xe, а также введем вектор-столбец B, который показывает значение каждого элемента вектора Xe. В итоге получаем следующее равенство: A • Xe > B. Матрица B в данном примере задана вектором-столбцом, целиком состоящим из нулей. Количество элементов в матрице B равно количеству хорд, помноженному на количество источников Nmers, т. е. 10 • 2 = 20 .

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

Последним этапом формирования математической модели является получение целевой функции, которая определяется как сумма потоков потерь, т. е. это сумма строк матрицы Xe (Eloss) .

^ ' users

В результате получим, что целевая функция - это разность между потоками вошедших в сеть по каналам пространства Esrc и потоками вышедших из сети по ребрам пространства Ercv :

FF — Х3 + 3 + Х4 + Хц4 (+ Хц 1 + Х2 + Хц2 ).

Сведём полученные ограничения и целевую функцию в единую систему:

(-Х1 + Х3 - Х5 + Х6 - Х7 + Х8 ) - (Х6Р (Х6 + Х16 ) + Х8Р (Х8 + Х18 )) = 0; ( Х2 + Х4 + Х5 Хб + Х9 ХЮ ) (Х5 Р (Х5 + ) + Х9 'Р (Х9 + ^ ) = 0;

( + Х7 - Х8 - Х9 + Х10 ) - (Х7 Р (х7 + Х17 ) + Х10 'Р (х10 + Х20 )) = 0; (-Х11 + Х13 - Х15 + Х16 - Х17 + Х18 ) - (Х16 'Р (x6 + Х16 ) + Х18 'Р (x8 + Х18 )) = 0; (-Х12 + Х14 + Х15 - Х16 + Х19 - Х20 ) - (Х15'Р (x5 + Х15 ) + Х19'Р (x9 + Х1^) = 0; ( + Х17 - Х18 - Х19 + Х20 ) - (Х17 'Р (x7 + Х17 ) + Х20 'Р (x10 + Х20 )) = 0;

Xh, > 0( = 1,2,...,20);

Х1 = 0; x2 = 10; x4 = 0; Х11 = 15; x12 =0; Х13 =0;

F = Х3 + Х13

+ Хл + Xi

14

-(Х1

+ Х11 + Х2 + X!

12;

■ mm.

Для нахождения численного решения необходимо задать значение функции вероятности потерь: в классическом варианте можно считать, что потоки, создаваемые источниками, обладают экспоненциальным распределением интервалов между вызовами, а время обслуживания также распределено по экспоненциальному закону и известно, что на выходе при обслуживании будет также экспоненциальный поток [19], а также можно сделать допущение о независимости обслуживания пакетов каждой системой массового обслуживания. Таким образом, для описания вероятности потерь можно использовать формулу для системы массового обслуживания М/М/1/К при малом уровне потерь. Формула интенсивности сброса для системы М/М/1/К имеет следующий вид:

1 ^sum N 1--/ „ \N

Р (Я sum )- , ^ N+1 1

^Я V

sum

где Яsum - суммарная интенсивность поступления трафика через СМО; ц - интенсивность обслуживания трафика; (N -1) - число мест в буфере.

Значения интенсивностей обслуживания в ребрах пространства Etr для анализируемой сети равны - 15,ц6 -15, ц7 - 20, ц8 - 20, ц9 - 25,ц10 - 25, а значения мест ожидания для пространства Etr - N5 - 5, N6 - 4, N7 - 4, N8 -1, N9 - 3, N10 - 8 .

Для численного решения данной оптимизационной задачи необходимо воспользоваться сторонними инструментами, которые позволяют решать системы нелинейных уравнений с использованием одного или нескольких критериев оптимальности. Например, можно воспользоваться средой MatLab с подключённым пакетом дополнений Optimization Toolbox. Также возможно использовать бесплатные аналоги: GNU Octave с подключенным пакетом Optim либо язык программирования Python с библиотеками numpy и scipy. Для данного примера воспользуемся средой MatLab и используем функции linprog и fmincon. Полный код программы записан в [20].

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

Решая данную оптимизационную задачу с помощью функции fmincon, получаем следующее распределение, показанное в табл. 2. Суммарное распределение трафика показано на рис. 7.

Таблица 2

Распределение потоков по каналам связи

Значение Значение

Номер ребра потоков от источника № 1 (ед. инф/с) потоков от источника № 2 (ед. инф/с) Я sum (ед. инф / с) Цобслуж (ед. инф / с) Число мест ожидания Пространство ребер

1 0 13 13 - - Потоки в каналах-

2 10 0 10 - - приемниках, Ега,

3 10,055 0 10,055 - - Потоки в каналах-

4 0 14,609 14,609 - - источниках, Е^

5 5,6507 0 5,6507 15 5

6 0 10,448 10,448 15 4

7 4,4038 0 4,4038 20 4 Потоки в транзитных

8 0 4,1618 4,1618 20 1 каналах, Ег

9 4,3958 0 4,3958 25 3

10 0 4,1618 4,1618 25 8

11 0 1.6094 1,6094 - - Потоки в каналах сброса, Е,

12 4,6511х10-2 0 4,6511х10-2 - -

13 8,077 х10-3 2,046 хШ-6 8,0791 х10-3 - -

Рис. 7. Суммарное распределение потоков в исследуемой сети Fig. 7. The total distribution of flows in the studied network

На рис. 7 в прямоугольнике с фоновой заливкой первая цифра показывает количество запросов, поступающих в интерфейс, вторая цифра - пропускную способность интерфейса (интенсивность обслуживания), а третья цифра - размер очереди интерфейса. Так, для канала 7 имеем 4,4038/20/4. Это означает, что интенсивность трафика по каналу составляет 4,4038 пакета/с, интенсивность обслуживания равна 20 пакетов/с, а размер буфера - 4.

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

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

Заключение

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

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

Благодарности. Исследование выполнено при финансовой поддержке программы стратегического академического лидерства «Приоритет-2030» СибГУ им. М. Ф. Решетнева.

Acknowledgments. The reported study was funded by strategic academic leadership program «Ргюг^у-2030» of Reshetnev University.

Библиографические ссылки

1. Moy J. 08РБ Version 2, STD 54, RFC 2328, April 1998.

2. Sridharan A., Guerin R., Diot C. Achieving near-optimal traffic engineering solutions for current 0SPF/IS-IS networks // IEEE /ACM Trans. Netw. 2005. Vol. 13. Р. 234-247.

3. Yen J. Y. Finding the K Shortest Loopless Paths in a Network // Management Science. 1971. Vol. 17, No. 11. Р. 712-716.

4. RFC3272, Overview and Principles of Internet Traffic Engineering / D. Awduche, A. Chiu, A. Elwalid et al. [Электронный ресурс]. URL: http://www.ietf.orglrfc/rfc3272.txt.

5. MPLS-TE and MPLS VPN Switeh OpenFlow / A. R. Sharafat, S. Das, G. M. Parulkar, N. McKeown // ACM SIGCOMM 2011 Conference on Applications, Technologies, Architectures and РгоШш^ for Computer Communications, Toronto, ON, Canada. August 2011.

6. Shibanov A. Р., Koryachko V. Р., Izhvanov Y. L. Modeling of Aggregated Telecommunication Link with Technology of OpenFlows // Radioengineering. 2012. No. 3. Р. 109-112.

7. Lemeshko A. V., Vavenko T. Y. Improvement of Flow Model of Multipath Routing on the Basis Load Balancing // Froblems of telecommunications. 2012. Vol. 6, No. 1. Р. 12-29.

8. Lemeshko A. V., Vavenko T. V. Development and Research of the Flow Model of Adaptive Routing in the Software-Defined Networks with Load Balancing // Рго^ of Tomsk State University of Control Systems and Radioelectronics. 2013. Vol. 29, No. 3. Р. 100-108.

9. Merindol Р. Improving Load Balancing with Multipath Routing // Ргоа of the 17-th International Conference on Computer Communications and Networks (IEEE ICCCN 2008). 2008. Р. 54-61.

10. Mikhailenko V. S., Solodovnik M. S. Analysis of the Adaptive Neural Network Router // Automatic Control and Computer Science. 2016. Vol. 50, No. 1. Р. 46-53.

11. Перепелкин Д. А., Цыганов И. Ю. Алгоритм парных переходов в компьютерных сетях на основе метода маршрутизации по подсетям // Вестник РГРТУ. 2016. № 57. C. 56-62.

12. Goulamghoss M. I., Bassoo V. Analysis of traffic engineering and fast reroute on multiprotocol label switching // J Ambient Intell Human Comput. 2021. No. 12. Р. 2409-2420. https://doi.org/10.1007/s12652-020-02365-5.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

13. Enhanced Multicast Repair Fast Reroute Mechanism for Smart Sensors IoT and Network Infrastructure/ J. Papan, Р. Segec, O. Yeremenko et al. // Sensors. 2020. No. 20. Р. 3428. https://doi.org/10.3390/s20123428.

14. Пат. № 2017615438 Российская Федерация. Модуль динамической балансировки потоков данных в программно-конфигурируемых сетях с обеспечением качества сетевых сервисов / Д. А. Перепелкин, В. С. Бышов. - № 2017612610 ; заявл. 22.03.2017 ; опубл. 16.05.2017.

15. Пат. № 2017612645 Российская Федерация. Модуль многопутевой маршрутизации в программно-конфигурируемых сетях на базе протокола OpenFlow / Д. А. Перепелкин, М. А. Иван-чикова. - № 2016660593 ; заявл. 13.10.2016 ; опубл. 02.03.2017.

16. Пат. № 2015662938 Российская Федерация. Программа динамической межузловой балансировки трафика / Д. С. Исхоков, Э. Р. Зарипова. - № 2015618100 ; заявл. 04.09.2015 ; опубл. 20.01.2016.

17. Пат. №2015662569 Российская Федерация. Система многопутевой адаптивной маршрутизации и балансировки нагрузки в динамических корпоративных сетях / Д. А. Перепелкин, Б. С. Бышов. - № 2015619243 ; заявл. 05.10.2015 ; опубл. 20.12.2015.

18. Омельченко А. В. Теория графов. М. : МЦНМО, 2018. 416 с.

19. Алиев Т. И. Основы моделирования дискретных систем. СПб. : СПбГУ ИТМО, 2009. 363 с.

20. Пат. № 2022684654 Российская Федерация. Оптимальное распределение трафика сети массового обслуживания на основе контурного метода по критерию минимума потерь / К. Э. Гаипов, И. Л. Крикунов, А. А. Демичева. - № 2022683987 ; заявл. 08.12.2022 ; опубл. 15.12.2022.

21. Бертсекас Д., Галлагер Р. Сети передачи данных : пер. с англ. Н. Б. Лиханова и др. / под ред. Б. С. Цыбакова. М. : Мир, 1989. 544 с.

References

1. Moy J. 0SPF Version 2, STD 54, RFC 2328, April 1998.

2. Sridharan A., Guerin R., Diot C. Achieving near-optimal traffic engineering solutions for current 0SPF/IS-IS networks. IEEE/ACM Trans. Netw. 2005, Vol. 13, Р. 234-247.

3. Yen J. Y. Finding the K Shortest Loopless Paths in a Network. Management Science. 1971, Vol. 17, No. 11, Р. 712-716.

4. Awduche D., Chiu A., Elwalid A., Widjaja I., Xiao X. RFC3272, Overview and Principles of Internet Traffic Engineering. Available at: http://www.ietf.orglrfc/rfc3272.txt.

5. Sharafat A. R., Das S., Parulkar G. M., McKeown N. MPLS-TE and MPLS VPN Switeh OpenFlow. ACM SIGCOMM 2011 Conference on Applications, Technologies, Architectures and Protocols for Computer Communications. Toronto, ON, Canada, August 2011.

6. Shibanov A. Р., Koryachko V. Р., Izhvanov Y. L. Modeling of Aggregated Telecommunication Link with Technology of Open Flows. Radioengineering. 2012, No. 3, Р. 109-112.

7. Lemeshko A. V., Vavenko T. Y. [Improvement of Flow Model of Multipath Routing on the Basis Load Balancing]. Problems of telecommunications. 2012, Vol. 6, No. 1, Р. 12-29 (In Russ.).

8. Lemeshko A. V., Vavenko T. V. [Development and Research of the Flow Model of Adaptive Routing in the Software-Defined Networks with Load Balancing]. Doklady Tomskogo Gosudarstvennogo Universiteta Sistem Upravleniya i Radioyelektroniki [Proc. of Tomsk State University of Control Systems and Radioelectronics]. 2013, Vol. 29, No. 3, Р. 100-108.

9. Merindol Р. Improving Load Balancing with Multipath Routing. Proc. of the 17-th International Conference on Computer Communications and Networks (IEEE ICCCN 2008). 2008, Р. 54-61.

10. Mikhailenko V. S., Solodovnik M. S., Analysis of the Adaptive Neural Network Router. Automatic Control and Computer Science. 2016, Vol. 50, No. 1, Р. 46-53.

11. Perepelkin D. A., Cyganov I. Ju. [Algorithm for pairwise transitions in computer networks based on the subnet routing method]. VestnikRGRTU. 2016, No. 57, Р. 56-62 (In Russ.).

12. Goulamghoss M. I., Bassoo V. Analysis of traffic engineering and fast reroute on multiprotocol label switching. J Ambient Intell Human Comput. 2021, No. 12, Р. 2409-2420. https://doi.org/ 10.1007/s12652-020-02365-5.

13. Papan J., Segec Р., Yeremenko O., Bridova I., Hodon M. Enhanced Multicast Repair Fast Reroute Mechanism for Smart Sensors IoT and Network Infrastructure. Sensors. 2020, No. 20, Р. 3428. https://doi.org/10.3390/s20123428.

14. Perepelkin D. A., Byshov V. S. Modul' dinamicheskoy balansirovki potokov dannykh v programmno-konfiguriruemykh setyakh s obespecheniem kachestva setevykh servisov [Modul' dinamicheskoy balansirovki potokov dannyh v programmno-konfiguriruemyh setyah s obespecheniem kachestva setevyh servisov]. Patent RF, no. 2017615438, 2017.

15. Perepelkin D. A., Ivanchikova M. A. Modul' mnogoputevoy marshrutizatsii v programmno-konfiguriruemykh setyakh na baze protokola OpenFlow [Modul' mnogoputevoj marshrutizacii v programmno-konfiguriruemyh setjah na baze protokola OpenFlow]. Patent RF no. 2017612645, 2017.

16. Ishokov D. S., Zaripova Je. R. Programma dinamicheskoy mezhuzlovoy balansirovki trafika [Programma dinamicheskoj mezhuzlovoj balansirovki trafika]. Patent RF no. 2015662938, 2016.

17. Perepelkin D. A., Byshov B. S. Sistema mnogoputevoy adaptivnoy marshrutizatsii i balansirovki nagruzki v dinamicheskikh korporativnykh setyakh [Sistema mnogoputevoj adaptivnoj marshrutizacii i balansirovki nagruzki v dinamicheskih korporativnyh setjah]. Patent RF no. 2015662569,2015.

18. Omel'chenko A. V. Teoriya grafov [Graph theory]. Moscow, MCNMO Publ., 2018, 416 p.

19. Aliev T. I. Osnovy modelirovaniya diskretnykh sistem [Fundamentals of modeling discrete systems]. SPb., SPbGU ITMO Publ., 2009, 363 p.

20. Gaipov K. Je., Krikunov I. L., Demicheva A. A. Optimal'noe raspredelenie trafika seti massovogo obsluzhivaniya na osnove konturnogo metoda po kriteriyu minimuma poter' [Optimal'noe raspredelenie trafika seti massovogo obsluzhivanija na osnove konturnogo metoda po kriteriju minimuma poter']. Patent RF no. 2022684654, 2022.

21. Bertsekas D., Gallager R. Seti peredachi dannykh [Data networks]. Moscow, Mir Publ., 1989, 544 p.

© Гаипов К. Э., Кузнецов А. А., Крикунов И. Л., 2023

Гаипов Константин Эдуардович - кандидат технических наук, доцент кафедры электронной техники и телекоммуникаций; Сибирский государственный университет науки и технологий имени академика М. Ф. Ре-шетнева. E-mail: gaipovke@yandex.ru.

Кузнецов Александр Алексеевич - доктор физико-математических наук, профессор, директор НОЦ «Институт космических исследований и высоких технологий»; Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева. E-mail: alex_kuznetsov80@mail.ru.

Крикунов Илья Леонидович - младший научный сотрудник НЛ «Спутниковые телекоммуникационные системы»; Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева. E-mail: zaybernev@mail.ru.

Gaipov Konstantin Eduardovich - Cand. Sc., Associate Professor of the Department of Electronic Engineering and Telecommunications; Reshetnev Siberian State University of Science and Technology. E-mail: gaipovke@yandex.ru.

Kuznetsov Alexander Alekseevich - Dr. Sc., Professor, Head of Institute of Space Research and High Technologies; Reshetnev Siberian State University of Science and Technology. E-mail: alex_kuznetsov80@mail.ru.

Krikunov Ilya Leonidovich - Junior researcher of the Scientific Library Satellite Telecommunication System; Reshetnev Siberian State University of Science and Technology. E-mail: zaybernev@mail.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.