Способ управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации
METHOD FOR WORKING MULTIPLE VIRTUAL COMPUTERS CONTROL IN VIRTUAL NETWORK SYSTEM OF INFORMATION PROTECTION

Изобретение относится к области вычислительной техники, а именно к области защиты информации от несанкционированного доступа при ее передаче по открытым каналам связи и средствам коммутации в компьютерной сети общего пользования.
Информация в компьютерных сетях общего пользования передается по открытым каналам связи и средствам коммутации. Для защиты информации в таких сетях используются сетевые средства защиты информации, которые реализуют кодирование передаваемой по сети информации на уровне сетевых пакетов. Кодирование имеет особое значение на практике как способ обеспечения конфиденциальности информации, то есть защищенности данных от чтения программами, не имеющими прав доступа к передаваемому содержимому, но способными несанкционированно или случайно их получить.
В компьютерной сети сетевые средства защиты осуществляют кодирование данных в потоковом режиме, то есть путем обработки сетевого трафика, образованного пересылаемыми по сети сетевыми пакетами. Сетевой пакет представляет собой структурированный блок данных, передаваемый по сети и включающий служебный заголовок, содержащий данные об адресации пакета (IP-адрес вычислительной системы, отправившей данный пакет, и IP-адрес вычислительной системы, в которую пакет передается), и информационную часть, содержащую собственно пересылаемые по сети данные. В потоковом режиме содержимое каждого сетевого пакета, образующего сетевой трафик, преобразуется в новый, кодированный пакет, в котором адресная информация сохраняется, а информационная часть имеет другую, кодированную форму. После прохождения средства защиты сетевые пакеты передаются далее по сети уже в кодированном виде, и вследствие этого любая программа-нарушитель, получив несанкционированный доступ к содержимому кодированного пакета, не может нарушить его конфиденциальность, за счет чего обеспечивается защита пересылаемых данных. Подключение сетевых средств защиты информации к компьютерной сети приводит к повышению загрузки вычислительных ресурсов компьютерных систем, на которых функционируют сетевые средства защиты, и соответственно к снижению интегральной пропускной способности компьютерной сети в целом.
Для решения проблемы падения пропускной способности сети при включении сетевых средств защиты наращивают пропускную способность сетевой системы защиты путем физического увеличения вычислительной мощности сетевой системы защиты, реализуя кластерное подключение нескольких аппаратных сетевых процессоров или программируемых логических интегральных схем, выполняющих кодирование сетевых пакетов на аппаратном уровне. Однако кластерное соединение аппаратных вычислителей технически ограничено количеством соединений друг с другом, характеристиками физических сетевых интерфейсов на устройствах - максимально до 4 аппаратных вычислителей в связке (например, шифратор "ФПСУ-TLS" компании "Амикон" [http://amicon.ru/page.php?link=fpsu-tls], аппаратные шифраторы "Застава" компании "Элвис-Плюс", криптошлюз "Континент IPC-3000F" компании "Код безопасности" [http://www.securitycode.ru/products/apksh_kontinent/models/#k3000]).
Известны система и способ реализации многопоточной обработки сетевых пакетов при защите данных, передаваемых по компьютерной сети, подразумевающие использование нескольких аппаратных сетевых процессоров, на каждом из которых выполняется один виртуальный блок-вычислитель, представленный виртуальной машиной, в поддерживаемой операционной системе которой функционирует программное средство обработки сетевых пакетов. Эти решения компании Crossbeam предусматривают для обеспечения безопасности сетей обработку передаваемых по сети данных на уровне потоков путем агрегации и кодирования сетевых пакетов, а также балансировку трафика путем назначения виртуальных машин сетевым пакетам. Такая система представляет собой аппаратно-программное сетевое средство защиты информации типа middleware, образованное кластером виртуальных вычислителей, обрабатывающих сетевые пакеты, и функционирующее на единой аппаратной платформе. Недостатком данного решения является жесткая привязка кластера виртуальных вычислителей к аппаратной платформе, а именно - ограничение числа виртуальных машин, в которых обрабатывается сетевой трафик сетевых пакетов, к количеству аппаратных процессоров по отношению "один-к-одному", то есть одна виртуальная машина выполняется на одном аппаратном процессоре. Такое решение позволяет повысить производительность системы защиты и повысить пропускную способность сети, но оно жестко ограничено числом используемых процессоров и привязкой виртуальных вычислителей к аппаратным процессорам без возможности масштабирования вычислительной мощности при изменении числа сетевых пакетов, требующих обработки в единицу времени. Отсутствие масштабирования не позволяет добиться максимальной производительности и эластичности вычислительной мощности сетевого средства защиты (EP 2432188, G06N 3/04; H04L 29/06).
В основу изобретения положена задача создания способа управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации, который обеспечивает повышение пропускной способности сетевой системы защиты информации за счет того, что в данном способе выполняется определение загруженности имеющихся в вычислительной системе аппаратных вычислительных ресурсов - процессоров - и дополнительно осуществляется управление рабочим множеством виртуальных вычислителей, в которых выполняется обработка сетевых пакетов. Виртуальный вычислитель в способе управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации представляет собой виртуальную машину, которая может выполняться на любом логическом процессорном ядре, входящем в состав аппаратного обеспечения компьютерной системы, используемой в качестве аппаратной платформы для сетевого средства защиты. Логическое процессорное ядро - процессор, установленный в одном физическом процессоре. Поскольку аппаратные процессоры компьютерных систем поддерживают несколько логических процессорных ядер, а виртуальные вычислители могут выполняться на любом логическом ядре, то число виртуальных вычислителей ограничено не числом процессоров, а числом логических процессорных ядер. Все виртуальные вычислители не имеют жесткой привязки к процессорам и логическим процессорным ядрам, вследствие чего такая схема использования вычислительных ресурсов позволяет загружать любые логические процессорные ядра виртуальными вычислителями. Управление загрузкой логических процессорных ядер выполняется по гибкой схеме: с ростом числа поступающих на вход средства защиты сетевых пакетов, для которых должна выполняться операция кодирования, увеличивается число виртуальных вычислителей, с уменьшением числа - сокращается число загруженных виртуальных вычислителей. Способ управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации обеспечивает динамическое масштабирование вычислительной мощности сетевого средства защиты информации путем поддержания числа активных одновременно работающих виртуальных вычислителей (рабочего множества виртуальных вычислителей), необходимого для максимально быстрой обработки сетевых пакетов с учетом имеющихся вычислительных ресурсов аппаратной платформы.
Технический результат - расширение функциональных возможностей сетевой системы защиты информации, передаваемой в компьютерной сети, по динамическому наращиванию пропускной способности за счет управления рабочим множеством виртуальных вычислителей. При этом сетевая система защиты информации функционирует на базе виртуального вычислительного кластера, представленного совокупностью виртуальных вычислителей - виртуальных машин, работающих на логических процессорных ядрах. Предельное количество виртуальных вычислителей, выполняющих обработку сетевых пакетов, взаимооднозначно соответствует числу виртуальных машин, что, в свою очередь, определяется предельным числом логических процессорных ядер. Управление рабочим множеством виртуальных вычислителей является адаптивным, то есть актуальное число активных в данный момент времени виртуальных вычислителей, одновременно работающих в компьютерной системе и выполняющих обработку сетевых пакетов, зависит от загруженности вычислительных ресурсов аппаратной платформы и от интенсивности входящего сетевого трафика, то есть от количества поступающих сетевых пакетов на вход сетевой системы защиты в единицу времени.
Поступающие сетевые пакеты распределяются равноправно между виртуальными вычислителями, чтобы обеспечить их равномерную загрузку. При достижении полной загрузки ресурсов всех работающих виртуальных вычислителей из сетевых пакетов формируются очереди ожидания к соответствующим виртуальным вычислителям. При этом достигается повышение пропускной способности сетевой системы защиты информации за счет того, что одновременно функционирует множество виртуальных вычислителей, выполняющих кодирование сетевых пактов, причем адаптивное управление числом активных виртуальных вычислителей обеспечивает полную загрузку аппаратных процессоров с учетом использования всех логических процессорных ядер (отношение "многие-к-одному", то есть множество виртуальных вычислителей функционирует на каждом физическом процессоре). С ростом интенсивности входящего сетевого трафика число виртуальных вычислителей не остается прежним, а увеличивается, и наоборот - при снижении интенсивности входящего трафика число активных виртуальных вычислителей снижается. Такой способ адаптивного управления вычислителями в сетевой системы защиты информации позволяет добиться эффективного использования аппаратных компонентов, поскольку в моменты пиковой загрузки все ресурсы могут быть задействованы в своей максимально возможной вычислительной мощности, а в моменты снижения нагрузки неиспользуемые ресурсы могут быть отключены. Таким образом обеспечивается адекватное нагрузке и энергоэффективное использование физических вычислительных ресурсов при одновременном соблюдении требований по повышению пропускной способности сети и по адаптации пропускной способности сетевой системы защиты к интенсивности сетевого трафика.
Решение данной технической задачи обеспечивается тем, что в способе управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации, включающем обработку передаваемых по сети данных на уровне потоков путем кодирования и агрегации сетевых пакетов, а также балансировку трафика путем назначения виртуальных машин сетевым пакетам, в котором перед кодированием для сетевой системы защиты определяют максимально допустимые верхний и нижний пороги загруженности виртуального вычислителя; определяют загруженность каждого виртуального вычислителя; определяют максимально и минимально загруженные виртуальные вычислители в системе; включают новый виртуальный вычислитель тогда, когда для максимально загруженного виртуального вычислителя его загруженность превышает верхний порог загруженности виртуального вычислителя в системе; выключают минимально загруженный виртуальный вычислитель тогда, когда его загруженность не превышает нижнего порога загруженности виртуального вычислителя в системе; через равные промежутки времени повторно выполняют указанные действия над виртуальными вычислителями.
Изобретение поясняется с помощью фиг. 1, на которой приведена схема осуществления способа.
Для распределения сетевого трафика между виртуальными вычислителями и определения загруженности виртуальных вычислителей осуществляют управление рабочим множеством виртуальных вычислителей. Для этого определяют порог загруженности виртуальных вычислителей 1, далее определяют максимально и минимально загруженные виртуальные вычислители 2, затем сопоставляют загруженности виртуальных вычислителей с порогами загруженности 3 и изменяют число работающих виртуальных вычислителей 4. Через равные промежутки времени повторно выполняют указанные действия над виртуальными вычислителями с шага 2.
Для масштабирования системы в способе управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации используется реактивный подход к определению числа вычислителей. Реактивность заключается в том, что способ управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации учитывает текущие показатели загруженности вычислительной системы и позволяет изменить число вычислителей (загрузить новые виртуальные вычислители или выгрузить неиспользуемые виртуальные вычислители) в соответствии с пороговым критерием. Использование пороговых значений позволяет быстро принять решение, и объем данных, требуемых для этого, невелик.
Способ управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации опирается только на текущие параметры и показатели вычислителей:
i
i
a) C - пропускная способность виртуального вычислителя V (максимально возможное число обрабатываемых сетевых пактов в единицу времени), где i - индексный номер виртуального вычислителя, который может изменяться от 1 до N, где N - максимальное количество виртуальных вычислителей, которое может одновременно работать на данной аппаратной платформе;
i
i
б) P - число сетевых пакетов, отправленных на обработку виртуальному вычислителю V за t единиц времени;
i
в)  - загруженность виртуального вычислителя V.
max
i
min
max
max
max
min
min
min
max
В способе управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации использован принцип "максимума-минимума". Пусть H=max H. Включение нового виртуального вычислителя выполняют тогда, когда H≥Δ, где Δ - максимально допустимый верхний порог загруженности виртуального вычислителя. Выключение одного из виртуальных вычислителей, обрабатывающих сетевые пакеты, производят тогда, когда H≤Δ, где Δ - минимально допустимый нижний порог загруженности виртуального вычислителя. При этом выполняется соотношение Δ<Δ.
max
Например, задают следующие значения порогов: Δ=95%. Тогда при наличии всего двух вычислителей после выключения оставшийся вычислитель может быть загружен на 100%. Аналогично при достижении пороговой загруженности 95% подключается еще один вычислитель, и при включении дополнительного вычислителя ожидаемая загруженность на все вычислители в последующий период времени должна снизиться, при этом минимальное ожидаемое значение загрузки - .
После распределения сетевых потоков по виртуальным вычислителям в каждом из них выполняется кодирование сетевых пакетов. Затем на стадии агрегации формируется кодированный сетевой трафик, поступающий на выход сетевого средства защиты.
Способ управления рабочим множеством виртуальных вычислителей в виртуальной сетевой системе защиты информации позволяет кодировать одновременно множество сетевых пакетов, используя совокупность виртуальных вычислителей, и контролировать использование вычислительных ресурсов (процессоров), необходимых для кодирования сетевых пакетов. За счет добавления этапа управления данный способ позволяет повысить пропускную способность сетевых средств защиты информации, одновременно обеспечивая загруженность вычислительных ресурсов согласно интенсивности обрабатываемого трафика сетевых пакетов и энергоэффективность аппаратной платформы. Данное решение позволяет повысить эффективность использования защитных механизмов в широкополосных компьютерных сетях.