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

СИСТЕМЫ ТЕЛЕКОММУНИКАЦИЙ И СЕТЕВЫЕ ТЕХНОЛОГИИ

УДК 004.738.3:004.056.5

Г. А. Попов, Е. А. Попова

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

Предложено решение классической задачи оптимальной маршрутизации сетевых потоков, когда в качестве критерия оптимизации выбирается не время задержки, а вероятность нарушения безопасности информации в процессе передачи данных. В отличие от многих других работ по маршрутизации, содержащих ограничения по безопасности, предлагаемый критерий безопасности зависит также от времени задержки. Этот критерий связан с вероятностью нарушения сервиса безопасности пакета данных в процессе его передачи по каналам. Исходными данными модели являются матрица смежности графа, описывающая топологию сети, пропускные способности каналов, и матрица тяготения, описывающая относительный объем передаваемых данных для различных пар сети. Предлагаемый метод маршрутизации относится к классу методов отклонения потока, когда конечным результатом реализации метода является не перечисление конкретных маршрутов передачи, а объемы передаваемых данных по каждому каналу при оптимальной маршрутизации. В процессе формирования альтернативных способов передачи используется метод Флойда - метод формирования матрицы кратчайших маршрутов. Такая постановка проблемы маршрутизации наиболее адекватна требованиям обеспечения безопасности передачи данных в сети. Предварительно проведен анализ и получены соотношения для всех характеристик, используемых при реализации метода в сети: времени задержки в каждом канале, длины пакета (сообщения), искомой целевой функции. Непосредственно алгоритм маршрутизации подобен алгоритму маршрутизации Клейнрока. Разработанный алгоритм может быть достаточно просто модифицирован при необходимости учета дополнительных ограничений любого типа - по составу маршрутов передачи, по условиям передачи, учета и индивидуальных ограничений по каждому каналу.

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

Введение

Задача маршрутизации сетевых потоков достаточно известна. Эта задача возникла почти одновременно с созданием глобальных сетей, и ее решению посвящено достаточно много работ. В настоящее время имеются достаточно совершенные алгоритмы ее решения, основные из которых приведены в [1, 2]. Однако в существующих алгоритмах основное внимание уделено времени доставки пакета либо другим временным характеристикам сети. Показатели же безопасности сети рассматриваются только как дополнительные, которые обычно учитываются в виде ограничений. Глобализация сетей в настоящее время привела к существенному росту числа атак на рабочие станции пользователей сети (в частности, сети Интернет), что, как следствие, все в большей степени выдвигает требования по обеспечению информационной безопасности в качестве основных требований, предъявляемых к технологии передачи и обработки данных в сети Интернет.

В данной работе рассматривается задача маршрутизации, в которой наряду с показателем задержки сообщения в сети рассматривается вероятность нарушения сохранности и (или) безопасности сообщения. Работ по маршрутизации сетей, в которых показатели безопасности входили бы в состав целевой функции, почти нет; укажем лишь работы [1, 2].

Описание модели

Пусть задана сеть, состоящая из N узлов. Для простоты рассмотрения мы не детализируем сетевое оборудование, используемое при подключении к сети. Тогда сеть может быть представлена в виде следующего графа: каждая пользовательская рабочая станция может быть представлена в виде одного узла сети, который описывается следующими параметрами. Пронумеруем все узлы сети и для г-го узла введем следующие характеристики: йу = 1, если из г-го узла данные могут быть переданы непосредственно ву-й узел, и йу = 0 в противном случае; Су - пропускная способность канала из г-го узла в у-й, если этот канал существует - измерять можно, например, в битах в секунду; у у - коэффициент тяготения г-го узла по отношению к у-му - измерять можно средним количеством бит информации, переданных за заданный регламентный промежуток

II

времени из г-го узла у-й. Обозначим: А = йу - матрица смежности графа, описывающего

II ! 11г, ] =1

II

топологическую структуру сети; С = Су - матрица пропускной способности каналов;

II Л1г, ]=1

II гт,

Г = |У. = - матрица тяготения между узлами сети. Тогда полный поток, циркулирующий

N N

в сети, равен у = ^ ^ уу.

г=1 ц=1

В качестве целевого критерия выбираем вероятность нарушения отдельного свойства передаваемой информации, описываемого определенным показателем информационной безопасности или их некоторой совокупности. В качестве возможных контролируемых качеств информации, безопасность которых обеспечивается, выберем следующие два, являющиеся наиболее важными и необходимыми: свойство конфиденциальности информации и свойство ее целостности. Предлагаемый нами метод распределения потоков относится к классу методов отклонения потоков [3]. Результат решения задачи маршрутизации на основе данного метода представляется в виде матрицы Ф(N), описывающей величину потока по различным каналам при оптимальной маршрутизации потоков. Для завершения решения задачи маршрутизации необходимо, например, на основе матрицы Ф( N), сформировать алгоритм управления потоками, который в каждый момент времени принимал бы решение о том, по какому маршруту направить каждый из потоков, имеющихся и возникающих в сети. Наиболее близкий (к рассматриваемому) вариант алгоритма маршрутизации по критерию минимума средней задержки пакета приведен в [3, с. 386]. При выводе результатов мы, по аналогии с [3], будем пользоваться методами и результатами теории массового обслуживания (ТМО) [4].

Введем следующие обозначения: ру(?, т) - вероятность того, что при передаче пакета из г-го узла в у-й в пакете длиной т бит за время ? не произойдет нарушения информационной безопасности; Т™ - среднее время задержки пакета при его передаче из г-го узла в у-й. Если обозначить через т случайную длительность пакета, то Ь = М(т). Заметим, что, как будет следовать из приводимых ниже выражений, в вероятности ру(?, т) зависимость от т выражается в учете только первого и второго моментов случайной величины т.

Выведем выражение для вероятности Ру( ТУП ) того, что произойдет нарушение безопасности информации. Так как (г, у)-канал передачи (т. е. канал передачи из г-го узла в у-й) в среднем пропускает 1 бит информации за время 1/Су, то среднее время непосредственно передачи пакета (обработки - в терминах ТМО) равно Ру = Ь (1/Су). Кроме того, пакет будет находиться в течение времени Т™ в режиме ожидания. Величина Т™ представляет собой среднее время ожидания обслуживания в системе типа М/М/1, для которой получено следующее выражение для

среднего времени ожидания Тг°ж (формула Поллачека - Хинчина) [4]: Тг°ж =-^^— , где Р2 у -

2

второй момент длительности передачи пакета из г-го узла в у-й; 1 у - интенсивность потока па-

( \ т

кетов из г-го узла ву-й. Имеем: Р2 у = М — = С- Ь2 и Ь2 = М(т ) - второй момент случайной дли-

V Су У

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

1 b b

j = j + ß.. =--+ — .

j j ^ 2ЬСу (C. -j) C. W

Отсюда выводим: вероятность того, что в процессе передачи одного пакета из i-го узла в j-й безопасность не будет нарушена, равна p( Tja , т). Поскольку интенсивность потока 1j, то вероятность того, что в процессе передачи всех пакетов за заданное регламентное время T из i-го узла в j-й безопасность не будет нарушена, равна p(Tju, x)jjT, где 1T есть среднее число

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

пакетов, п = п({1..}) = П P(Tfn,т)jjT .

(i, j )"i* j

Тогда искомая задача может быть сформулирована следующим образом: найти такое распределение потоков по каналам передачи (с учетом наличия или отсутствия прямой связи между узлами, степени притяжения узлов), чтобы вероятность нарушения безопасности была бы минимальной; параметрами оптимизации являются интенсивности потоков по различным каналам передачи {1j}: п ^ min .

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

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

п п

п = —

X aj • P

Т

(!, 1УЛ* 1

где знак «минус» добавлен для того, чтобы все числа были положительными, т. к. р(тЦп, т) < 1.

Именно решению задачи (2) и посвящен предлагаемый ниже алгоритм.

Прежде чем описывать алгоритм маршрутизации, отметим следующий принципиальный момент, связанный с правомерностью использования приводимых ниже соотношений. Предполагается, что для каждого узла входной и выходной потоки не зависят от входных и выходных потоков других узлов. Данное предположение в принципе абсолютно неверно, т. к. при передаче сообщений выходной поток одного узла является входным для следующего по цепочке. Однако, как отмечено в [3, с. 253], результаты экспериментов и измерений в реальных сетях достаточно точно совпадали с теоретическими результатами, полученными на основе данного предположения; при этом отклонение в самых худших случаях не превышало 10 %. Этот факт дает основание рассматривать все узлы как независимые модели ТМО.

Результаты экспериментов позволили также принять следующее предположение [3, с. 362]: можно считать, что длины сообщений в каждом узле заново моделируются на основе показательного распределения с параметром д = 1/ Ь, хотя реально длина сообщения в процессе его передачи остается неизменной. Из сказанного следует, что случайная величина т имеет показательное распределение с некоторым параметром д. Отсюда выводим: Ь = 1/д, Ь2 = 2/д2, и соотношение (1) можно переписать в следующем виде:

I =---+—=—1—.

II цС^ (цС„) С цС„

Соотношение (3) и будет использоваться в приводимом ниже алгоритме. Наконец, считая в первом приближении, что на пересекающихся интервалах вероятности нарушения информационной безопасности независимы, приходим к соотношению Ру(п', т) = р/', т)" для любых пи ', откуда нетрудно вывести равенство р (', т) = е~в', где 0 - интенсивность попыток нарушить показатели информационной безопасности передаваемых данных.

Алгоритм маршрутизации

В настоящее время разработан богатый набор алгоритмов маршрутизации, которые достаточно полно представлены в [5]. Однако с точки зрения критерия безопасности, выбранного нами, интерес представляет не конечная цель (конечный узел), как это имеет место при минимизации времени задержки, а состояние безопасности по маршруту движения документа (т. е. в промежуточных узлах движения пакета). Именно поэтому среди всех просмотренных алгоритмов был выбран один из алгоритмов отклонения потока - алгоритм Клейнрока [3, гл. 5]. Его основная особенность состоит в том, что в алгоритме осуществляется построение не непосредственно оптимальных маршрутов, соединяющих каждую пару вершин, а лишь находится матрица Ф , описывающая объемы передаваемых данных для каждой пары смежных узлов сети при оптимальной маршрутизации процесса передачи. Тогда оптимальные маршруты для всех пар узлов строятся на основе такого перераспределения передаваемых потоков, при котором соблюдаются требования по объему передачи, задаваемые матрицей Ф . Опишем этапы предлагаемого алгоритма.

Этап I. Сформировать начальный вариант распределения потока следующим образом.

II IN

1. Введем матрицу L = L весов отдельных каналов (эти веса назовем (относительны -

II ]\\i,j=1

ми) длинами каналов), положив (см. (2) и (3)):

= -üj • lg p(j, т) = -а^ Xj • lg exp {-0 - ^ )-1} = üy ^ • 0 (^ - X y)-1. Если lij = 0, то полагаем ly = .

2. Найти матрицу D кратчайших маршрутов для всех пар узлов на основе метода Флойда с матрицей расстояний между вершинами -L (взят знак «минус», т. к. нас интересуют (см. (2)) наиболее длинные маршруты, а не кратчайшие) следующим образом. Полагаем D0 = -L и последовательно, начиная с n = 1, строим матрицы Dn = ||dy (n)|| на основе соотношений

dy

где dy (n) есть длина наикратчайшего пути между i-м и j-м узлами (на основе введенных выше

относительных длин отдельных каналов), и при этом промежуточные узлы принадлежат множеству {1, 2, ..., n - 1}. Тогда D = DN.

II IN

3. Построим начальный вариант матрицы Ф = ф„ потоков по кратчайшим маршрутам

следующим образом. Полагаем Г1 = Г и фу = 0 для всех г, у = 1;N . Просматриваются произвольным образом все пары вершин (г, у) и для каждой пары (г, у) перебираются значения п, начиная от п = N и заканчивая п = 2 (если процесс поиска не закончился раньше) до тех пор, пока при некотором п = п(г, у) > 1 не будут выполнены следующие условия: <1у (п(г, у)) < <1у (п(г, у) -1),

¡п(у у) у конечно (отметим, что в рассматриваемом случае минимум в (4) достигается на втором

слагаемом, т. е. наикратчайший путь проходит через вершину п(г, у)); если же последнее неравенство ни при каком п не выполняется, но 1г у конечно, то полагаем п(г, у) = 1, в противном

случае (т. е. неравенство не выполняется и 1г у = ^ ,) пути из г-й вершину в у-ю нет. Тогда полагаем: уп(;,у^у :=уп(;_уу у, и Уу остается неизменным для остальных пар (г, у), фг,у :=фг,у + Уу. После просмотра всех пар вершин получим конечное значение фг у для все пар (г, у), что и представляет собой результирующий поток, передаваемый по каналу (г, у) при пересылке по кратчайшим маршрутам. Однако построенный поток в принципе может быть нереализуем ввиду того, что мы не учитывали другие ограничения в задаче, в частности ограничения на пропускные способности каналов. Поэтому на основе построенного варианта распределения потоков необходимо получить реализуемый вариант матрицы потоков Ф0. В пункте 1 описана соответствующая процедура, которая также используется далее при отклонении потока в общей процедуре.

= +!) ^ , где ^(7"+1) есть интенсивность потока по каналу (1,1). Поскольку при построе-

Этап. II. Провести перенаправление части потоков в сети (отклонение потоков) следующим образом:

1. Выполнить следующую итерационную процедуру. Положим п = 0 - номер итерации,

и вычислим коэффициент g'") = ——, описывающий степень превышения распределенного на

J

n-й итерации потока по каналу (i, j) над пропускной способностью этого канала. Если ограничения по пропускной способности каналов не нарушены для всех каналов, т. е. gJ) < 1, то процедура отклонения потока прекращается и полагаем Фк =||ф("II.. , где для начального потока

II II ij=1

k = 0. Если же для некоторого канала (i, j) имеем gJ) > 1, то условную длину канала (i, j) удлиняем в g(7") раз, т. е. полагаем j+1) =G(7")/jn), если g(/") > 1, и ljn+1) = j , если g(/") < 1 для всех пар

(i, j), где j = /ij. Затем вновь решаем задачу распределения потока по кратчайшим маршрутам,

и iN

рассмотренную на этапе I, где в качестве матрицы расстояний берется матрица L

II J Iii,j=1

и интенсивности потоков равны X(jn+1) = фуп) и ф^ = ф¡J.. В результате получаем матрицу потоков

Iii, j=1'

нии матрицы ¥(т+1) перегруженные каналы были удлинены, то при поиске кратчайших путей эти каналы с большой вероятностью не войдут в состав кратчайших путей, и, как следствие, в потоке ¥(п+1) многие из каналов, которые были перегружены в потоке Ф(п), перестанут быть перегруженными. Для получения потока ф(п+1) смешиваем потоки ¥(п+1) и Ф(п) так, чтобы значение целевой функции п принимало максимально возможное значение, то есть полагаем Ф(п+1) = a • ¥(n+1) + (1 - а)Ф(п), где 0 < a < 1 и a находится как решение одномерной задачи минимизации п(а • ¥(п+1 + (1 — а)Ф(п)) ^ min, в которой в качестве интенсивностей поступающих потоков (точнее, вместо них) берутся числа a y(j"+1) + (1 — а)ф(п+1). Указанная

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

N N

оставалась неизменной: ^^^^ ф(П = у для всех п.

i=1 j=1

Этап III. Построить матрицу распределения потоков по различным каналам передачи следующим образом. Положить п = 0, Ф(0) = Ф(0).

1. Полагаем /Уп) = a¡jфУ0 •0(^C¡j. — фП) , если i-й и j-й узлы связаны непосредственно,

и j = го в противном случае; /¡^ = 0. Если /у = 0, то полагаем /у = го.

2. На основе процедуры, описанной на этапе I, находим оптимальный поток Ф(п) последовательно для всех п, начиная с п = 0. Если в процессе поиска, начиная с некоторого п0, значение целевой функции становится неизменным, т. е. п(Ф(п+1)) =п(Ф(п)), то процесс поиска прекращается и последняя матрица Ф(п0) выдается в качестве решения задачи. Если в процессе поиска нарушается монотонный рост целевой функции, т. е. при некотором п выполнено п(Ф(п+1)) < п(Ф(п)), то задача не имеет решения, и процесс поиска также прекращается.

Описание алгоритма закончено.

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

Заключение

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

СПИСОК ЛИТЕРАТУРЫ

1. Робачевский А. Безопасность системы маршрутизации Интернета / А. Робачевский // URL: http:// www.ripn.net/articles/secure_routing.

2. Белов С. В. Процедура нахождения оптимального маршрута движения документа / С. В. Белов, Б. Р. Досмухамедов // Изв. Волгоград. гос. техн. ун-та. Сер.: Актуальные проблемы управления, вычислительной техники и информатики в технических системах. 2012. № 15 (102). С. 73-79.

3. Клейнрок Л. Вычислительные системы с очередями. М.: Мир, 1979. 600 с.

4. Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы: учеб. для вузов / В. Г. Олифер, Н. А. Олифер. СПб.: Питер, 2010. 943 с.

5. Клейнрок Л. Теория массового обслуживания / Л. Клейнрок. М.: Машиностроение, 1979. 432 с.

Статья поступила в редакцию 12.04.2016

ИНФОРМАЦИЯ ОБ АВТОРАХ

Попов Георгий Александрович - Россия, 414056, Астрахань; Астраханский государственный технический университет; д-р техн. наук; профессор; зав. кафедрой «Информационная безопасность»; popov@astu.org.

Попова Екатерина Александровна - Россия, 414056, Астрахань; Астраханский государственный технический университет; старший преподаватель кафедры «Информационная безопасность»; e.popova@astu.org.

G. A. Popov, E. A. Popova

NETWORK TRAFFIC ROUTING ALGORITHM TAKING INTO ACCOUNT SAFETY REQUIREMENTS

Abstract. The paper presents the solution of the classical task of optimal routing of network flow, when as a criterion for optimizing not the delay time but the probability of information security breaches in the process of data transfer is taken. Thus, unlike many other works on routing comprising security restrictions, the proposed criterion of safety also depends on the delay time. This criterion relates to the probability of service security breach of the data packet during its transmission through the channels. The initial data of the model are the adjacency matrix of the graph describing the topology of the network, channel capacity and the matrix of gravitation, which describes the relative volume of data transmitted for various network couples. The proposed routing method is a method of deflection of flow, when the final result of the implementation of the method is not a listing of specific transmission routes but the volume of data transmitted for each

channel at an optimum routing. In the process of the formation of alternative transmission methods Floyd's method, a method of formation of shortest route matrix, is used. This formulation of the routing problem is mostly adequate to the requirements of security of data transmission in the network. The preliminary analysis is made and the correlations for all characteristics, used when implementing the method in the network, such as time delay for each channel, the length of the packet (message) and the desired target function, are obtained. Direct routing algorithm is similar to the algorithm of Kleinrock routing. The algorithm can be simply modified, if necessary, taking into account additional restrictions of any kind - the composition of the transmission routes, the transmission conditions and individual limits for each channel.

Key words: network flows, data security, routing algorithm, deviation of flows, time of packet delay.

REFERENCES

1. Robachevskii A. Bezopasnost' sistemy marshrutizatsii Interneta [Safety of Internet routing system]. Available at: http://www.ripn.net/articles/secure_routing

2. Belov S. V., Dosmukhamedov B. R. Protsedura nakhozhdeniia optimal'nogo marshruta dvizheniia do-kumenta [Finding the optimal route of document transmission]. Izvestiia Volgogradskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Aktual'nye problemy upravleniia, vychislitel'noi tekhniki i informatiki v tekhnicheskikh sistemakh, 2012, no. 15 (102), pp. 73-79.

3. Kleinrok L. Vychislitel'nye sistemy s ocherediami [Computer systems with delays]. Moscow, Mir Publ., 1979. 600 p.

4. Olifer V. G., Olifer N. A. Komp'iuternye seti. Printsipy, tekhnologii, protokoly [Computer networks. Principles, technologies, protocols]. Saint-Petersburg, 2010. 943 p.

5. Kleinrok L. Teoriia massovogo obsluzhivaniia [Theory of public service]. Moscow, Mashinostroenie Publ., 1979. 432 p.

The article submitted to the editors 12.04.2016

INFORMATION ABOUT THE AUTHORS

Popov Georgiy Aleksandrovich — Russia, 414056, Astrakhan; Astrakhan State Technical University; Doctor of Technical Sciences, Professor; Head of the Department "Information Security"; popov@astu.org.

Popova Ekaterina Aleksandrovna — Russia, 414056, Astrakhan; Astrakhan State Technical University; Senior Lecturer of the Department "Information Security"; e.popova@astu.org.