Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого

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

 

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

Модель OSI была известна ещё в 1970-х [Zimmermann H. OSI reference model–The ISO model of architecture for open systems interconnection //Communications, IEEE Transactions on. – 1980. – Т. 28. – №. 4, . 425-432 с.] и является классикой в области построения сети «Интернет». Также сетевая модель OSI подробно описана в ГОСТ Р ИСО/МЭК 7498-1-99.

Способ высокоскоростного анализа сетевых протоколов 7-го уровня модели OSI (глубокого разбора) требует ЭВМ, содержащую, по меньшей мере, одну сетевую карту для приёма и передачи данных 2-го уровня модели OSI, снабжённую, по меньшей мере, двумя сетевыми интерфейсами (физическими портами). Каждый сетевой интерфейс предоставляет возможность чтения, записи и удаления из его платы памяти, а также возможность передачи данных в другой сетевой интерфейс. Перечисленные действия осуществляются программами, работающими на ЭВМ, где расположен сетевой интерфейс. Каждый сетевой интерфейс обладает устройством кодирования/декодирования сигнала, передающегося по среде передачи посредством радиосигналов либо электрических сигналов для передачи, к примеру, в среде Ethernet (по проводнику), Wi-Fi.

Декодированный сигнал представляет из себя последовательность цифровых пакетов – наборов байт, сохранённых на плате памяти сетевого интерфейса. Аналогично цифровые пакеты, сохранённые в памяти сетевого интерфейса, могут быть закодированы в виде сигнала (радиоволн, электрического сигнала) и переданы по среде передачи другой ЭВМ.

Стандартный способ разбора сетевых пакетов предполагает последовательный разбор от 1-го уровня к 7-му. Сетевой пакет представляет собой множество вложенных друг в друга пакетов, каждый из которых обладает заголовком. Например, переданный по среде передачи Ethernet сетевой пакет содержит заголовок с адресами сетевого интерфейса отправителя и получателя, типом вложенного в него пакета более высокого уровня, после чего – сам пакет более высокого уровня. Сам пакет более высокого уровня также состоит из адреса отправителя и адреса получателя (к примеру, IP-адресов), прочей служебной информации, после чего – сам пакет более высокого уровня.

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

Последовательный разбор пакетов уровень за уровнем является стандартным современным способом глубокого разбора сетевых пакетов (ГЕТЬМАН А. И. и др. Модель представления данных при проведении глубокого анализа сетевого трафика //Труды Института системного программирования РАН. – 2015. – Т. 27. – №. 4).

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

Высокоскоростной способ глубокого разбора сетевого трафика обеспечивается, как правило, путем математического ускорения разбора каждого уровня в отдельности, т.е. на ускорение самих вычислений и на новые средства обработки информации (Bitar A., Abdelfattah M., Betz V. Bringing Programmability to the Data Plane: Packet Processing with a NoC-Enhanced FPGA //Field-Programmable Technology (FPT), 2015 International Conference on. – 2015). Действительно, технологии FPGA позволяют делать вычисления ещё быстрее, но не исчерпывают возможности повышения производительности технологий высокоскоростного глубокого разбора сетевых протоколов.

Известен способ, реализуемый межсетевым экраном с фильтрацией трафика по мандатным меткам, который решает задачу разбора пакетов сетевого трафика с точки зрения сетевой безопасности, а именно известный межсетевой экран предусматривает разбор сетевого пакета в соответствии со спецификацией протокола IP (патент на полезную модель RU №159041, 2015). Следуя спецификации вышеупомянутого ГОСТ Р ИСО/МЭК 7498-1-99 протокол IP находится на 3-м уровне модели OSI. Способ, реализуемый известной межсетевой картой, теряет время на разбор пакета на уровне IP, что не обеспечивает существенного увеличения производительности процесса разбора сетевых пакетов.

Наиболее близким к предлагаемому является способ для обработки услуги передачи данных, содержащий следующие этапы: прием пакета услуг передачи данных; идентификация информации протокола и/или информации услуги упомянутого пакета услуг передачи данных; отображение информации протокола и/или информации услуги в соответствующее поле типа услуги (ToS) и изменение значения типа услуги упомянутого пакета согласно отображенному полю типа услуги и выполнение планирования очередности для пакета согласно значению типа услуги упомянутого пакета. Идентификация информации протокола и/или информации услуги упомянутого пакета содержит идентификацию информации протокола и/или информации услуги упомянутого пакета посредством использования технологии глубокой инспекции пакетов (DPI), при этом информация протокола содержит тип протокола, а информация услуги содержит, по меньшей мере, информацию качества обслуживания, информацию имени точки доступа, информацию отрезка времени, информацию объема накопленного трафика, информацию накопленной длительности, тип однонаправленного канала и тип услуги. Изменение значения типа услуги упомянутого пакета согласно отображенному полю типа услуги, в частности, содержит создание таблицы переходов согласно отображенному полю типа услуги; запись значения типа услуги, соответствующего потоку данных в элементе таблицы переходов; и изменение значения типа услуги упомянутого пакета, соответствующего потоку данных, на соответствующее значение типа услуги. Перед идентификацией информации протокола и/или информации услуги упомянутого пакета способ содержит запрашивание таблицы переходов согласно информации пятерки элементов IP у пакета данных; и если в таблице переходов находят соответствующий элемент таблицы переходов, то изменение полей типа услуги всех пакетов, соответствующих потоку, на соответствующее значение типа услуги (заявка на изобретение RU 2012157264, 2014).

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

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

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

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

Для осуществления заявляемого способа требуются сетевые карты ЭВМ с как минимум двумя сетевыми интерфейсами и поддержкой программ, обеспечивающих прямой доступ к памяти сетевых интерфейсов. Сетевые карты установлены в компьютере с доступом к сети Интернет, который снабжен операционной системой и прикладными программными средствами (приложениями). Заявляемый способ применим для семиуровневой модели OSI на платформах Linux и FreeBSD. В качестве регистров управления используют процессоры ЭВМ с поддержкой технологии MTRR или его аналога – PAT.

Технология MTRRs (Memory type range registers — Диапазонные регистры типа памяти)  используются для назначения типа (политики кеширования) участкам памяти. Регистры MTRR предоставляют механизм, связывающий типы памяти с физическими адресными диапазонами системной памяти. Они позволяют процессору оптимизировать операции для разных типов памяти, таких как ПЗУ, ОЗУ, кадровый буфер и, отображаемые в памяти устройства ввода-вывода. Они также упрощают разработку системного оборудования, уменьшая количество контактов управляющих памятью, которые использовались для этой цели в ранних процессорах и внешних логических устройствах.

Заявляемый способ по сравнению с известными стандартными способами разбора сетевых протоколов не задействуются уровни 3, 4, 5 и 6, что значительно повышает скорость глубокого разбора полезной части сетевых протоколов, осуществляя необходимый уровень фильтрации и анализа.

Сравнение заявляемого способа с известными позволяет сделать вывод о новой совокупности существенных признаков, которая приводит к достижению нового технического результата. Это позволяет сделать вывод о соответствии заявляемого решения критериям «новизна» и «изобретательский уровень».

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

Заявляемый способ осуществляется следующим образом и иллюстрируется следующими схемами:

На Фиг. 1 представлена схема передачи сетевых пакетов из 1-го сетевого интерфейса во 2-й сетевой интерфейс;

На Фиг. 2 представлена схема чтения данных до 7-го уровня;

На Фиг. 3 представлено примерное содержание одного уровня данных.

Сигнал, переданный по среде передачи на физическом уровне, приходит на первый сетевой интерфейс (СИ1) сетевой карты ЭВМ. Средствами микросхемы сетевого интерфейса сигнал декодируется в последовательность байт, представляющую собой на логическом уровне – множество сетевых пакетов. Эти пакеты сохраняются в память первого сетевого интерфейса (СИ1). Память сетевого интерфейса представляет собой две области памяти, структурой данных «очередь» – первый порядок добавления пакетов в «очередь» совпадает с порядком извлечения пакетов из неё. Одна «очередь» используется для буферизации входящих пакетов, вторая «очередь» хранит пакеты до их кодирования в сигнал и отправки в среду передачи. На Фиг.1 они обозначены как «Очередь исходящих» и «Очередь входящих». Области памяти первого сетевого интерфейса, отвечающие за хранение очередей входящей и исходящей, отображаются в оперативную память средствами MTRRs (диапазонных регистров типа памяти) типом fixed range – отображение области данных фиксированного размера. Аналогично – для второго сетевого интерфейса (СИ2) уже в другую область памяти. Регистры управления первым сетевым интерфейсом обеспечивают возможность выполнения команд на первом сетевом интерфейсе: удаление пакета из очереди входящих пакетов, копирование пакета из очереди входящих пакетов первого сетевого интерфейса в очередь исходящих пакетов указанного сетевого интерфейса. Регистры управления вторым сетевым интерфейсом обеспечивают возможность выполнения команд на втором сетевом интерфейсе: удаление пакета из очереди входящих пакетов, копирование пакета из очереди входящих пакетов второго сетевого интерфейса в очередь исходящих пакетов указанного сетевого интерфейса.

Регистры управления всех сетевых интерфейсов отображаются в оперативную память ЭВМ средствами MTRRs типом variable range – указатели на произвольные участки памяти для соответствующего сетевого интерфейса. Прикладные программные средства, обеспечивающие исполнение заявляемого способа, выполнены с функцией обеспечения доступа к оперативной памяти, используя её области как общую память (shared memory). Таким образом, программа анализа и фильтрации, анализирующая данные 7-го уровня, имеет возможность распознавать данные, находящиеся в памяти, отображающей очередь входящих пакетов сетевого интерфейса. Программа анализа данных 7-го уровня при распознавании «сырого» пакета из очереди входящих пакетов сетевой карты первого интерфейса разбирает пакет и получает данные 7-го уровня следующим образом: распознает данные из пакета 2-го уровня о его длине и сдвигает указатель (по которому производится распознавание) на эту длину. Аналогично происходит далее, пока указатель не дойдёт до содержимого пакета 7-го уровня. Механизм распознавания передаваемых данных уровень за уровнем иллюстрируется на Фиг.2. Каждый уровень состоит из данных об адресе отправителя, получателя, длины, служебных флагов, управляющих соединением и контрольной суммы. Заявляемый способ пропускает операции проверки правильности адресов, подсчета контрольной суммы для проверки целостности, не обрабатывает служебные флаги и состояние соединения, сокращая тем самым время на обработку данных каждого уровня. Вместе с тем, для обработки данных при разборе сетевых пакетов, необходимо сохранять информацию о состоянии соединения и проверять, возможен ли данный пакет при данном состоянии соединения. В заявляемом способе разбор и проверка служебной информации каждого уровня не производится, тогда как производится распознавание длины пакета, описанной в заголовке, и игнорирование остальной информации. Содержимое пакета 7-го уровня – это и есть пользовательская информация, которая анализируется прикладными программными средствами (приложениями) глубокого разбора и анализа. В результате проведенного анализа прикладными программными средствами принимается решение: пропустить пакет либо заблокировать и подается соответствующая команда на регистры управления. Для выполнения команды используется область оперативной памяти, отображающая регистры управления из первого сетевого интерфейса, описанные выше. Регистры управления, исходя из команды, записанной в них, либо копируют внутри сетевой карты пакет в очередь исходящих пакетов другого сетевого интерфейса (из первого во второй) и удаляют пакет из своей очереди входящих пакетов (команда «пропустить пакет»), либо просто удаляют пакет из своей очереди входящих пакетов (команда «заблокировать пакет»). Второй интерфейс кодирует пакеты в сигнал по мере появления их в своей очереди исходящих пакетов. Сигнал передаётся в его среду передачи.

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

Скорость фильтрации при использовании средств сетевого стека Linux/FreeBSD достигает 100 Мегабит в секунду. В случае использования заявляемого способа высокоскоростного глубокого разбора сетевых протоколов скорость фильтрации достигает 10 Гигабит в секунду.

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

2. Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого по п. 1, отличающийся тем, что используются платформы Linux и FreeBSD.

3. Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого по п. 1, отличающийся тем, что в качестве регистров управления используют процессоры с поддержкой технологии MTRR или PAT.

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



 

Похожие патенты:

Изобретение относится к средствам обработки электронных писем. Технический результат заключается в увеличении скорости обработки электронных писем.

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

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

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

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

Изобретение относится к области техники связи. Техническим результатом является установление тракта передачи сообщений.

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

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

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

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

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

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

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

Изобретение относится к средствам обработки сообщений электронной почты. Технический результат заключается в предоставлении сведений о непрочитанном сообщении электронной почты. Способ передачи пользователю уведомления о непрочитанном сообщении электронной почты на электронном устройстве, содержащем интерфейс пользователя, снабженный омнибоксом, и авторизованного в почтовой службе, включающий: ввод в омнибокс комбинации символов; преобразование комбинации символов в процедуру запуска запроса отображения количества непрочитанных сообщений; получение запроса отображения в омнибоксе количества непрочитанных сообщений; отображение количества непрочитанных сообщений электронной почты в омнибоксе. 2 н. и 18 з.п. ф-лы, 4 ил.

Изобретение относится к изменению эмотикона в интерфейсе чата. Техническим результатом является обеспечение возможности динамического изменения эмотиконов. Способ содержит: обнаружение того, содержит ли мгновенное сообщение, полученное интерфейсом чата сервиса обмена мгновенными сообщениями, первый эмотикон, который может быть изменен; проверку перечня значений первого эмотикона для определения первого значения, соответствующего первому эмотикону, если первое мгновенное сообщение содержит первый эмотикон, где перечень значений первого эмотикона содержит множество форм первого эмотикона и значений, соответствующих первым эмотиконам; проверку перечня значений второго эмотикона для определения второго значения, соответствующего второму эмотикону, где второй эмотикон настроен для изменения первого эмотикона, а перечень значений второго эмотикона содержит множество форм второго эмотикона и значений, соответствующих вторым эмотиконам; суммирование первого и второго значений для получения результирующего значения; и проверку перечня значений первого эмотикона для изменения первого эмотикона на форму, соответствующую результирующему значению. 3 н. и 6 з.п. ф-лы, 10 ил.
Наверх