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

1. Способ многопоточной защиты сетевого трафика, включающий кодирование и агрегацию сетевых потоков, а также балансировку трафика путем назначения виртуальной машины сетевому потоку, отличающийся тем, что при балансировке трафика дополнительно проводят анализ состояния загрузки вычислительных ресурсов виртуальных машин, для чего создают таблицу сетевых потоков, в которой для каждой четверки параметров сетевого пакета: IP-адрес источника, IP-адрес назначения, порт источника, порт назначения - сопоставляют соответствующий блок обработки сетевых потоков, выполняющий кодирование сетевого потока, определяемого совокупностью всех сетевых пакетов, для которых установлены данные параметры в заголовке;
для каждого поступающего сетевого пакета выделяют заголовок сетевого пакета, в заголовке сетевого пакета выделяют IP-адрес источника, IP-адрес назначения, порт источника, порт назначения;
для каждой полученной четверки параметров выполняют поиск по поддерживаемой таблице сетевых потоков соответствующего блока-вычислителя для кодирования сетевого потока;
если в таблице сетевых потоков соответствующая параметрам сетевого пакета запись найдена, то данный сетевой пакет передают для кодирования в соответствующий блок-вычислитель;
если соответствующий блок-вычислитель занят кодированием пакета, то формируют очередь пакетов для данного блока-вычислителя;
если блок-вычислитель ранее не назначался сетевому потоку, то определяют свободный блок-вычислитель для кодирования данного сетевого пакета в зависимости от текущей загруженности вычислительных ресурсов (уровень загрузки процессора и объем занятой оперативной памяти) компьютерной системы); при этом если в компьютерной системе достаточно свободных вычислительных ресурсов для запуска новой
виртуальной машины, в которой выполняется блок-вычислитель, то такую виртуальную машину запускают, формируют и записывают новую запись в таблице сетевых потоков, которая ставит в соответствие новому сетевому потоку новый запушенный блок-вычислитель; если в компьютерной системе недостаточно свободных вычислительных ресурсов для запуска новой виртуальной машины, в которой выполняется блок-вычислитель, то такую виртуальную машину не запускают, в выполняют поиск наименее загруженной виртуальной машины из уже исполняющихся по параметрам наименьшего уровня загрузки процессора и наибольшему объему свободной оперативной памяти, затем формируют и записывают новую запись в таблице сетевых потоков, которая ставит в соответствие новому сетевому потоку данный блок-вычислитель;
если все вычислительные ресурсы всех виртуальных машин, в которых выполняются блоки-вычислители, загружены, то формируют очередь сетевых пакетов, ожидающих кодирования;
в каждом сетевом пакете выделяют информационную часть и кодирует выделенную информационную часть сетевого пакета, затем формируют исходящий сетевой трафик, передавая кодированные сетевые пакеты далее в канал связи компьютерной сети в том же порядке, в котором они поступали на вход системы;
для вновь поступающих сетевых пакетов указанные действия повторяют;
периодически проверяют загруженность блоков-вычислителей и если блок-вычислитель не используется для кодирования сетевого потока, то его выключают путем выгрузки виртуальной машины, в которой он функционировал, а соответствующую запись в таблице сетевых потоков удаляют.
2. Система многопоточной защиты сетевого трафика, включающая блок кодирования сетевого трафика, содержащий блок балансировки сетевого трафика, блок обработки сетевых потоков, блок агрегации сетевых потоков, отличающаяся тем, что в блок балансировки сетевого трафика дополнительно включены блок анализа состояния загрузки вычислительных ресурсов и блок выделения сетевых потоков, а число блоков обработки сетевых потоков на виртуальных машинах является переменным.