RU2640295C1 - Method of network protocol deep review for analysis and filtration of their contents - Google Patents

Method of network protocol deep review for analysis and filtration of their contents Download PDF

Info

Publication number
RU2640295C1
RU2640295C1 RU2016126351A RU2016126351A RU2640295C1 RU 2640295 C1 RU2640295 C1 RU 2640295C1 RU 2016126351 A RU2016126351 A RU 2016126351A RU 2016126351 A RU2016126351 A RU 2016126351A RU 2640295 C1 RU2640295 C1 RU 2640295C1
Authority
RU
Russia
Prior art keywords
network
packets
level
memory
interface
Prior art date
Application number
RU2016126351A
Other languages
Russian (ru)
Inventor
Георгий Вячеславович Бажуков
Марк Михайлович Коренберг
Абдулла Гасан оглы Байрамлы
Original Assignee
Общество с ограниченной ответственностью "Айдеко"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Айдеко" filed Critical Общество с ограниченной ответственностью "Айдеко"
Priority to RU2016126351A priority Critical patent/RU2640295C1/en
Application granted granted Critical
Publication of RU2640295C1 publication Critical patent/RU2640295C1/en

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

FIELD: radio engineering, communication.SUBSTANCE: signals are decoded into a sequence of bytes representing, on a logical level, a set of incoming network packets that are written and stored in the memory of the first and second network interfaces, each of the network interfaces has a control register and two memory areas, one memory area of each interface is for buffering of incoming packets, and the second memory area of each interface is designed for outgoing packets stored before they are encoded into a signal and sent to the transmission medium, control registers and memory areas of each interface are displayed in the computer main memory, which serves as a common memory for network interfaces and programs for deep review of traffic; at the software level, packets are selected from the queues of incoming packets by analyzing the length of headers and the heading of level 7 and filtering them by deciding to skip the packet in the transmission medium or block its further transmission by sending commands through the control registers.EFFECT: increased speed of analysis and filtering the contents of network packets.4 cl, 3 dwg

Description

Изобретение относится к аппаратно-программным комплексам для осуществления беспроводной связи, а именно к способам разбора сетевых протоколов семиуровневой модели OSI для анализа и фильтрации их содержимого.The invention relates to hardware and software systems for wireless communications, and in particular to methods for parsing network protocols of the seven-level OSI model for analysis and filtering of their contents.

Модель 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.The OSI model was known back in the 1970s [Zimmermann H. OSI reference model – The ISO model of architecture for open systems interconnection // Communications, IEEE Transactions on. - 1980. - T. 28. - No. four, . 425-432 pp.] And is a classic in the field of construction of the Internet. The OSI network model is also described in detail in GOST R ISO / IEC 7498-1-99.

Способ высокоскоростного анализа сетевых протоколов 7-го уровня модели OSI (глубокого разбора) требует ЭВМ, содержащую, по меньшей мере, одну сетевую карту для приёма и передачи данных 2-го уровня модели OSI, снабжённую, по меньшей мере, двумя сетевыми интерфейсами (физическими портами). Каждый сетевой интерфейс предоставляет возможность чтения, записи и удаления из его платы памяти, а также возможность передачи данных в другой сетевой интерфейс. Перечисленные действия осуществляются программами, работающими на ЭВМ, где расположен сетевой интерфейс. Каждый сетевой интерфейс обладает устройством кодирования/декодирования сигнала, передающегося по среде передачи посредством радиосигналов либо электрических сигналов для передачи, к примеру, в среде Ethernet (по проводнику), Wi-Fi.The method of high-speed analysis of network protocols of the 7th level of the OSI model (deep parsing) requires a computer containing at least one network card for receiving and transmitting data of the 2nd level of the OSI model, equipped with at least two network interfaces (physical ports). Each network interface provides the ability to read, write and delete from its memory card, as well as the ability to transfer data to another network interface. These actions are carried out by programs running on the computer where the network interface is located. Each network interface has a device for encoding / decoding a signal transmitted over a transmission medium by means of radio signals or electrical signals for transmission, for example, in an Ethernet environment (via a conductor), Wi-Fi.

Декодированный сигнал представляет из себя последовательность цифровых пакетов – наборов байт, сохранённых на плате памяти сетевого интерфейса. Аналогично цифровые пакеты, сохранённые в памяти сетевого интерфейса, могут быть закодированы в виде сигнала (радиоволн, электрического сигнала) и переданы по среде передачи другой ЭВМ.The decoded signal is a sequence of digital packets - sets of bytes stored on the network interface memory card. Similarly, digital packets stored in the network interface memory can be encoded in the form of a signal (radio waves, electric signal) and transmitted over the transmission medium of another computer.

Стандартный способ разбора сетевых пакетов предполагает последовательный разбор от 1-го уровня к 7-му. Сетевой пакет представляет собой множество вложенных друг в друга пакетов, каждый из которых обладает заголовком. Например, переданный по среде передачи Ethernet сетевой пакет содержит заголовок с адресами сетевого интерфейса отправителя и получателя, типом вложенного в него пакета более высокого уровня, после чего – сам пакет более высокого уровня. Сам пакет более высокого уровня также состоит из адреса отправителя и адреса получателя (к примеру, IP-адресов), прочей служебной информации, после чего – сам пакет более высокого уровня.The standard way to parse network packets involves sequential parsing from level 1 to level 7. A network packet is a set of packets nested into each other, each of which has a header. For example, a network packet transmitted over an Ethernet medium contains a header with the addresses of the network interface of the sender and receiver, with the type of a higher-level packet enclosed in it, followed by the higher-level packet itself. The higher level packet itself also consists of the sender address and the recipient address (for example, IP addresses), other service information, after which the higher level packet itself.

Вложенная структура обусловлена вложенностью технологий, используемой в сети Интернет, которая требует кодирования и обеспечения помехоустойчивости, реализации адресации внутри локальных сетей, реализации адресации внутри глобальных сетей, реализации адресации для разбора пришедших данных на ЭВМ и т.д. Каждая подобная вложенность требует отдельного разбора каждого вложенного пакета. В рамках модели OSI используется 7 уровней.The nested structure is due to the nesting of technologies used on the Internet, which requires coding and noise immunity, the implementation of addressing within local networks, the implementation of addressing within global networks, the implementation of addressing for parsing incoming data to computers, etc. Each such nesting requires a separate analysis of each nested package. The OSI model uses 7 levels.

Последовательный разбор пакетов уровень за уровнем является стандартным современным способом глубокого разбора сетевых пакетов (ГЕТЬМАН А. И. и др. Модель представления данных при проведении глубокого анализа сетевого трафика //Труды Института системного программирования РАН. – 2015. – Т. 27. – №. 4).Sequential packet analysis level by level is the standard modern method of deep analysis of network packets (Getman A.I. et al. Data presentation model for conducting deep analysis of network traffic // Transactions of the Institute for System Programming of the Russian Academy of Sciences. - 2015. - V. 27. - No. . four).

Вместе с тем, известные способы не обеспечивают высокоскоростной технологии разбора пакетов для анализа и фильтрации их содержимого.However, the known methods do not provide high-speed packet parsing technology for analyzing and filtering their contents.

Высокоскоростной способ глубокого разбора сетевого трафика обеспечивается, как правило, путем математического ускорения разбора каждого уровня в отдельности, т.е. на ускорение самих вычислений и на новые средства обработки информации (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 позволяют делать вычисления ещё быстрее, но не исчерпывают возможности повышения производительности технологий высокоскоростного глубокого разбора сетевых протоколов.A high-speed method for deep analysis of network traffic is provided, as a rule, by mathematical acceleration of analysis of each level separately, i.e. to speed up the computations themselves and new information processing tools (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). Indeed, FPGA technologies allow you to do calculations even faster, but they do not exhaust the possibilities of increasing the performance of high-speed deep parsing network protocols.

Известен способ, реализуемый межсетевым экраном с фильтрацией трафика по мандатным меткам, который решает задачу разбора пакетов сетевого трафика с точки зрения сетевой безопасности, а именно известный межсетевой экран предусматривает разбор сетевого пакета в соответствии со спецификацией протокола IP (патент на полезную модель RU №159041, 2015). Следуя спецификации вышеупомянутого ГОСТ Р ИСО/МЭК 7498-1-99 протокол IP находится на 3-м уровне модели OSI. Способ, реализуемый известной межсетевой картой, теряет время на разбор пакета на уровне IP, что не обеспечивает существенного увеличения производительности процесса разбора сетевых пакетов.The known method, implemented by a firewall with filtering traffic by credentials, which solves the problem of analyzing network traffic packets from the point of view of network security, namely, the known firewall provides for the analysis of a network packet in accordance with the specification of the IP protocol (patent for utility model RU No. 159041, 2015). Following the specifications of the aforementioned GOST R ISO / IEC 7498-1-99, the IP protocol is at the 3rd level of the OSI model. The method implemented by the known firewall loses time on packet analysis at the IP level, which does not provide a significant increase in the performance of the process of analyzing network packets.

Наиболее близким к предлагаемому является способ для обработки услуги передачи данных, содержащий следующие этапы: прием пакета услуг передачи данных; идентификация информации протокола и/или информации услуги упомянутого пакета услуг передачи данных; отображение информации протокола и/или информации услуги в соответствующее поле типа услуги (ToS) и изменение значения типа услуги упомянутого пакета согласно отображенному полю типа услуги и выполнение планирования очередности для пакета согласно значению типа услуги упомянутого пакета. Идентификация информации протокола и/или информации услуги упомянутого пакета содержит идентификацию информации протокола и/или информации услуги упомянутого пакета посредством использования технологии глубокой инспекции пакетов (DPI), при этом информация протокола содержит тип протокола, а информация услуги содержит, по меньшей мере, информацию качества обслуживания, информацию имени точки доступа, информацию отрезка времени, информацию объема накопленного трафика, информацию накопленной длительности, тип однонаправленного канала и тип услуги. Изменение значения типа услуги упомянутого пакета согласно отображенному полю типа услуги, в частности, содержит создание таблицы переходов согласно отображенному полю типа услуги; запись значения типа услуги, соответствующего потоку данных в элементе таблицы переходов; и изменение значения типа услуги упомянутого пакета, соответствующего потоку данных, на соответствующее значение типа услуги. Перед идентификацией информации протокола и/или информации услуги упомянутого пакета способ содержит запрашивание таблицы переходов согласно информации пятерки элементов IP у пакета данных; и если в таблице переходов находят соответствующий элемент таблицы переходов, то изменение полей типа услуги всех пакетов, соответствующих потоку, на соответствующее значение типа услуги (заявка на изобретение RU 2012157264, 2014).Closest to the proposed is a method for processing data services, comprising the following steps: receiving a packet of data services; identification of protocol information and / or service information of said data transmission service package; displaying the protocol information and / or service information in the corresponding field of the service type (ToS) and changing the value of the service type of the said packet according to the displayed field of the type of service and scheduling the packet for the packet according to the value of the service type of the packet. The identification of the protocol information and / or service information of said package comprises the identification of protocol information and / or service information of said package by using deep packet inspection technology (DPI), wherein the protocol information contains a protocol type and the service information contains at least quality information services, access point name information, time slot information, accumulated traffic volume information, accumulated duration information, unidirectional channel type as well as the type of service. Changing the value of the service type of said package according to the displayed field of the service type, in particular, comprises creating a conversion table according to the displayed field of the type of service; recording the value of the service type corresponding to the data stream in the transition table element; and changing the value of the service type of said packet corresponding to the data stream by the corresponding value of the service type. Before identifying the protocol information and / or service information of the packet, the method comprises querying a hop table according to the information of the five IP elements from the data packet; and if the corresponding element of the transition table is found in the transition table, then changing the fields of the service type of all packets corresponding to the stream by the corresponding value of the service type (patent application RU 2012157264, 2014).

Известный способ обработки и разбора сетевых пакетов позволяет использовать информацию, полученную в результате обработки данных проходящего трафика, программой для разбора 7-го уровня модели OSI, однако в нем не усматривается оптимизаций на уровне получения данных трафика и не предполагается повышение скорости анализа и фильтрации содержимого сетевых пакетов. The known method of processing and parsing network packets allows you to use the information obtained as a result of processing the data of transmitted traffic by the program for parsing the 7th level of the OSI model, however, it does not see any optimizations at the level of receiving traffic data and it is not intended to increase the speed of analysis and filtering of network contents packages.

Задачей настоящего изобретения является повышение производительности высокоскоростного глубокого разбора сетевых протоколов путем уменьшения количества вычислений при одновременном получении данных, эквивалентных стандартному способу разбора. The objective of the present invention is to increase the performance of high-speed deep parsing of network protocols by reducing the number of calculations while obtaining data equivalent to the standard parsing method.

Технический результат – повышение скорости анализа и фильтрации содержимого сетевых пакетов с сохранением качества глубокого разбора сетевых протоколов.The technical result is an increase in the speed of analysis and filtering of the contents of network packets while maintaining the quality of deep analysis of network protocols.

Поставленная задача решается тем, что заявляется способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого путем прохождения сигнала по среде передачи с первого физического уровня семиуровневой модели OSI на второй уровень, где расположены первый и второй сетевые интерфейсы сетевой карты ЭВМ, в каждом из которых средствами микросхемы сетевого интерфейса осуществляется декодирование сигналов в последовательность байт, представляющую собой на логическом уровне множество сетевых пакетов, которые записывают и хранят в памяти первого и второго сетевых интерфейсов, каждый из сетевых интерфейсов имеет регистр управления и по две области памяти, одна область памяти каждого интерфейса предназначена для буферизации входящих пакетов, а вторая область памяти каждого интерфейса предназначена для исходящих пакетов, хранящихся до их кодирования в сигнал и отправки в среду передачи, регистры управления и области памяти каждого интерфейса отображаются в оперативной памяти седьмого уровня, на котором посредством управляющих регистров производится отбор очередей входящих пакетов путем анализа длины заголовков и их фильтрации путем принятия решения пропустить пакет в среду передачи или заблокировать его дальнейшую передачу, управляющая команда с седьмого уровня подается на регистры управления сетевых интерфейсов второго уровня, которые взаимодействуют друг с другом, осуществляя передачу пакетов.The problem is solved by the fact that the claimed method of deep analysis of network protocols for analysis and filtering of their contents by passing the signal through the transmission medium from the first physical layer of the seven-level OSI model to the second level, where the first and second network interfaces of a computer network card are located, in each of which by means of a network interface chip, signals are decoded into a sequence of bytes, which at the logical level is a set of network packets that record stored in the memory of the first and second network interfaces, each of the network interfaces has a control register and two memory areas, one memory area of each interface is used for buffering incoming packets, and the second memory area of each interface is used for outgoing packets stored before they are encoded into a signal and sending to the transmission medium, the control registers and memory areas of each interface are displayed in the seventh-level random access memory, at which, by means of control registers, By queuing incoming packets by analyzing the length of the headers and filtering them by deciding to skip the packet into the transmission medium or block its further transmission, the control command from the seventh level is sent to the control registers of the second-level network interfaces that interact with each other, transmitting packets.

Для осуществления заявляемого способа требуются сетевые карты ЭВМ с как минимум двумя сетевыми интерфейсами и поддержкой программ, обеспечивающих прямой доступ к памяти сетевых интерфейсов. Сетевые карты установлены в компьютере с доступом к сети Интернет, который снабжен операционной системой и прикладными программными средствами (приложениями). Заявляемый способ применим для семиуровневой модели OSI на платформах Linux и FreeBSD. В качестве регистров управления используют процессоры ЭВМ с поддержкой технологии MTRR или его аналога – PAT.To implement the proposed method requires a network card computer with at least two network interfaces and support for programs that provide direct access to the memory of network interfaces. Network cards are installed in a computer with access to the Internet, which is equipped with an operating system and application software (applications). The inventive method is applicable to the seven-level OSI model on Linux and FreeBSD platforms. As control registers use computer processors with support for MTRR technology or its counterpart - PAT.

Технология MTRRs (Memory type range registers — Диапазонные регистры типа памяти)  используются для назначения типа (политики кеширования) участкам памяти. Регистры MTRR предоставляют механизм, связывающий типы памяти с физическими адресными диапазонами системной памяти. Они позволяют процессору оптимизировать операции для разных типов памяти, таких как ПЗУ, ОЗУ, кадровый буфер и, отображаемые в памяти устройства ввода-вывода. Они также упрощают разработку системного оборудования, уменьшая количество контактов управляющих памятью, которые использовались для этой цели в ранних процессорах и внешних логических устройствах.Technology MTRRs (Memory type range registers) are used to assign a type (cache policy) to memory locations. MTRRs provide a mechanism for associating memory types with the physical address ranges of system memory. They allow the processor to optimize operations for different types of memory, such as ROM, RAM, frame buffer, and displayed in the memory of the input-output device. They also simplify the development of system hardware by reducing the number of memory management pins that were used for this purpose in earlier processors and external logic devices.

Заявляемый способ по сравнению с известными стандартными способами разбора сетевых протоколов не задействуются уровни 3, 4, 5 и 6, что значительно повышает скорость глубокого разбора полезной части сетевых протоколов, осуществляя необходимый уровень фильтрации и анализа.The inventive method in comparison with the known standard methods for parsing network protocols are not involved levels 3, 4, 5 and 6, which significantly increases the speed of deep parsing of the useful part of network protocols, providing the necessary level of filtering and analysis.

Сравнение заявляемого способа с известными позволяет сделать вывод о новой совокупности существенных признаков, которая приводит к достижению нового технического результата. Это позволяет сделать вывод о соответствии заявляемого решения критериям «новизна» и «изобретательский уровень».Comparison of the proposed method with the known allows us to conclude about a new set of essential features, which leads to the achievement of a new technical result. This allows us to conclude that the proposed solutions meet the criteria of "novelty" and "inventive step".

Формула заявляемого способа представлена без выделения ограничительной части для лучшего понимания технической сущности и последовательности операций.The formula of the proposed method is presented without highlighting the restrictive part for a better understanding of the technical nature and sequence of operations.

Заявляемый способ осуществляется следующим образом и иллюстрируется следующими схемами:The inventive method is as follows and is illustrated by the following schemes:

На Фиг. 1 представлена схема передачи сетевых пакетов из 1-го сетевого интерфейса во 2-й сетевой интерфейс;In FIG. 1 shows a diagram of the transmission of network packets from the 1st network interface to the 2nd network interface;

На Фиг. 2 представлена схема чтения данных до 7-го уровня;In FIG. 2 shows a scheme for reading data up to level 7;

На Фиг. 3 представлено примерное содержание одного уровня данных.In FIG. 3 shows an exemplary content of one data layer.

Сигнал, переданный по среде передачи на физическом уровне, приходит на первый сетевой интерфейс (СИ1) сетевой карты ЭВМ. Средствами микросхемы сетевого интерфейса сигнал декодируется в последовательность байт, представляющую собой на логическом уровне – множество сетевых пакетов. Эти пакеты сохраняются в память первого сетевого интерфейса (СИ1). Память сетевого интерфейса представляет собой две области памяти, структурой данных «очередь» – первый порядок добавления пакетов в «очередь» совпадает с порядком извлечения пакетов из неё. Одна «очередь» используется для буферизации входящих пакетов, вторая «очередь» хранит пакеты до их кодирования в сигнал и отправки в среду передачи. На Фиг.1 они обозначены как «Очередь исходящих» и «Очередь входящих». Области памяти первого сетевого интерфейса, отвечающие за хранение очередей входящей и исходящей, отображаются в оперативную память средствами MTRRs (диапазонных регистров типа памяти) типом fixed range – отображение области данных фиксированного размера. Аналогично – для второго сетевого интерфейса (СИ2) уже в другую область памяти. Регистры управления первым сетевым интерфейсом обеспечивают возможность выполнения команд на первом сетевом интерфейсе: удаление пакета из очереди входящих пакетов, копирование пакета из очереди входящих пакетов первого сетевого интерфейса в очередь исходящих пакетов указанного сетевого интерфейса. Регистры управления вторым сетевым интерфейсом обеспечивают возможность выполнения команд на втором сетевом интерфейсе: удаление пакета из очереди входящих пакетов, копирование пакета из очереди входящих пакетов второго сетевого интерфейса в очередь исходящих пакетов указанного сетевого интерфейса.The signal transmitted through the transmission medium at the physical level arrives at the first network interface (SI1) of the computer network card. By means of a network interface chip, the signal is decoded into a sequence of bytes, which is at the logical level - a lot of network packets. These packets are stored in the memory of the first network interface (SI1). Network interface memory consists of two memory areas, the data structure is “queue” - the first order of adding packets to the “queue” coincides with the order of extracting packets from it. One “queue” is used to buffer incoming packets, the second “queue” stores packets until they are encoded into a signal and sent to a transmission medium. In Fig. 1, they are designated as “Outgoing Queue” and “Incoming Queue”. The memory areas of the first network interface, which are responsible for storing the incoming and outgoing queues, are mapped to RAM using MTRRs (range registers of the memory type) of the fixed range type - displaying the data area of a fixed size. Similarly, for the second network interface (SI2), it is already in another memory area. The control registers of the first network interface provide the ability to execute commands on the first network interface: removing a packet from the incoming packet queue, copying the packet from the incoming packet queue of the first network interface to the outgoing packet queue of the specified network interface. The second network interface control registers provide the ability to execute commands on the second network interface: removing a packet from the incoming packet queue, copying the packet from the incoming packet queue of the second network interface to the outgoing packet queue of the specified network interface.

Регистры управления всех сетевых интерфейсов отображаются в оперативную память ЭВМ средствами MTRRs типом variable range – указатели на произвольные участки памяти для соответствующего сетевого интерфейса. Прикладные программные средства, обеспечивающие исполнение заявляемого способа, выполнены с функцией обеспечения доступа к оперативной памяти, используя её области как общую память (shared memory). Таким образом, программа анализа и фильтрации, анализирующая данные 7-го уровня, имеет возможность распознавать данные, находящиеся в памяти, отображающей очередь входящих пакетов сетевого интерфейса. Программа анализа данных 7-го уровня при распознавании «сырого» пакета из очереди входящих пакетов сетевой карты первого интерфейса разбирает пакет и получает данные 7-го уровня следующим образом: распознает данные из пакета 2-го уровня о его длине и сдвигает указатель (по которому производится распознавание) на эту длину. Аналогично происходит далее, пока указатель не дойдёт до содержимого пакета 7-го уровня. Механизм распознавания передаваемых данных уровень за уровнем иллюстрируется на Фиг.2. Каждый уровень состоит из данных об адресе отправителя, получателя, длины, служебных флагов, управляющих соединением и контрольной суммы. Заявляемый способ пропускает операции проверки правильности адресов, подсчета контрольной суммы для проверки целостности, не обрабатывает служебные флаги и состояние соединения, сокращая тем самым время на обработку данных каждого уровня. Вместе с тем, для обработки данных при разборе сетевых пакетов, необходимо сохранять информацию о состоянии соединения и проверять, возможен ли данный пакет при данном состоянии соединения. В заявляемом способе разбор и проверка служебной информации каждого уровня не производится, тогда как производится распознавание длины пакета, описанной в заголовке, и игнорирование остальной информации. Содержимое пакета 7-го уровня – это и есть пользовательская информация, которая анализируется прикладными программными средствами (приложениями) глубокого разбора и анализа. В результате проведенного анализа прикладными программными средствами принимается решение: пропустить пакет либо заблокировать и подается соответствующая команда на регистры управления. Для выполнения команды используется область оперативной памяти, отображающая регистры управления из первого сетевого интерфейса, описанные выше. Регистры управления, исходя из команды, записанной в них, либо копируют внутри сетевой карты пакет в очередь исходящих пакетов другого сетевого интерфейса (из первого во второй) и удаляют пакет из своей очереди входящих пакетов (команда «пропустить пакет»), либо просто удаляют пакет из своей очереди входящих пакетов (команда «заблокировать пакет»). Второй интерфейс кодирует пакеты в сигнал по мере появления их в своей очереди исходящих пакетов. Сигнал передаётся в его среду передачи. The control registers of all network interfaces are mapped to mainframe memory using MTRRs of the variable range type — pointers to arbitrary sections of memory for the corresponding network interface. Application software that provides the execution of the proposed method is made with the function of providing access to RAM, using its area as a shared memory (shared memory). Thus, the analysis and filtering program that analyzes the data of the 7th level has the ability to recognize the data in the memory that displays the queue of incoming packets of the network interface. The program for analyzing data of the 7th level, when recognizing a "raw" packet from the queue of incoming packets of a network card of the first interface, parses the packet and receives data of the 7th level as follows: it recognizes the data from the 2nd level packet about its length and moves the pointer (by which recognition is performed) to this length. The same thing happens further until the pointer reaches the contents of the package of the 7th level. The recognition mechanism of the transmitted data level by level is illustrated in Fig.2. Each level consists of data on the address of the sender, recipient, length, service flags controlling the connection and checksum. The inventive method skips the operations of checking the correctness of addresses, calculating the checksum for checking integrity, does not process service flags and connection status, thereby reducing the time for processing data at each level. At the same time, in order to process data when parsing network packets, it is necessary to save information about the connection status and check whether this packet is possible with a given connection status. In the claimed method, analysis and verification of service information of each level is not performed, while the recognition of the length of the packet described in the header, and ignoring the rest of the information. The contents of the package of the 7th level - this is the user information, which is analyzed by application software (applications) of deep analysis and analysis. As a result of the analysis by applied software, the decision is made: skip the packet or block it and the corresponding command is sent to the control registers. To execute the command, a random access memory area is used, which displays the control registers from the first network interface described above. The control registers, based on the command written to them, either copy the packet inside the network card into the outgoing queue of another network interface (from the first to the second) and delete the packet from its incoming packet queue (the “skip packet” command), or simply delete the packet from the queue of incoming packets (command “block the packet”). The second interface encodes packets into a signal as they appear in their outgoing queue. The signal is transmitted to its transmission medium.

Таким образом, при использования заявляемого способа, исключаются накладные расходы на разбор сетевых пакетов с 3-го по 6-й уровень, не требуется множественное копирование данных о сетевых пакетах, не производится проверка правильности заголовков с 3-го по 6-й уровень, но при этом осуществляется глубокая инспекция пакетов и уделяется внимание именно полезному содержимому пакетов (контенту) пользовательской информации, которая находится на последнем 7-м уровне. Thus, when using the proposed method, the overhead of parsing network packets from the 3rd to 6th level is eliminated, multiple copying of data about network packets is not required, the headers from the 3rd to 6th level are not checked for correctness, but at the same time, a deep inspection of packages is carried out and attention is paid to the useful content of the packages (content) of user information, which is at the last 7th level.

Скорость фильтрации при использовании средств сетевого стека Linux/FreeBSD достигает 100 Мегабит в секунду. В случае использования заявляемого способа высокоскоростного глубокого разбора сетевых протоколов скорость фильтрации достигает 10 Гигабит в секунду.The filtering speed when using the Linux / FreeBSD network stack tools reaches 100 megabits per second. In the case of using the proposed method of high-speed deep parsing of network protocols, the filtering rate reaches 10 Gigabits per second.

Claims (4)

1. Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого путем прохождения сигнала по среде передачи с первого (физического) уровня семиуровневой модели OSI на второй уровень, где расположены первый и второй сетевые интерфейсы сетевой карты ЭВМ, в каждом из которых средствами микросхемы сетевого интерфейса осуществляется декодирование сигналов в последовательность байт, представляющих на логическом уровне множество входящих сетевых пакетов, которые записываются и хранятся в памяти первого и второго сетевых интерфейсов, каждый из сетевых интерфейсов имеет регистр управления и по две области памяти, одна область памяти каждого интерфейса предназначена для буферизации входящих пакетов, а вторая область памяти каждого интерфейса предназначена для исходящих пакетов, хранящихся до их кодирования в сигнал и отправки в среду передачи, регистры управления и области памяти каждого интерфейса отображаются в оперативной памяти ЭВМ, выполняющей функцию общей памяти сетевых интерфейсов и программ для глубокого разбора трафика, на уровне программных средств производится отбор пакетов из очередей входящих пакетов путем анализа длины заголовков и заголовка 7-го уровня и их фильтрация путем принятия решения пропустить пакет в среду передачи или заблокировать его дальнейшую передачу посредством передачи команд через управляющие регистры, управляющая команда из программы анализа данных пакета седьмого уровня подается на регистры управления сетевых интерфейсов, которые взаимодействуют друг с другом, осуществляя передачу сетевых пакетов между областью памяти для приема сетевых пакетов из среды передачи первого сетевого интерфейса в область памяти для отправки сетевых пакетов в среду передачи второго сетевого интерфейса.1. A method for deep analysis of network protocols for analyzing and filtering their contents by passing a signal through a transmission medium from the first (physical) level of the seven-level OSI model to the second level, where the first and second network interfaces of a computer network card are located, in each of which using a network microcircuit of the interface, signals are decoded into a sequence of bytes, representing at the logical level many incoming network packets that are recorded and stored in the memory of the first and second network x interfaces, each of the network interfaces has a control register and two memory areas, one memory area of each interface is used for buffering incoming packets, and the second memory area of each interface is used for outgoing packets stored until they are encoded into a signal and sent to the transmission medium, control registers and memory areas of each interface are displayed in the main memory of the computer, which performs the function of the common memory of network interfaces and programs for deep traffic analysis, at the software level x funds, packets are selected from the incoming packet queues by analyzing the length of the headers and the 7th-level header and filtering them by deciding to skip the packet into the transmission medium or block its further transmission by sending commands through control registers, the control command from the seventh packet data analysis program level is fed to the control registers of network interfaces that interact with each other, transmitting network packets between the memory area to receive network packets from the transmission medium of the first network interface to the memory area for sending network packets to the transmission medium of the second network interface. 2. Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого по п. 1, отличающийся тем, что используются платформы Linux и FreeBSD.2. A way to deeply analyze network protocols for analyzing and filtering their contents according to claim 1, characterized in that the Linux and FreeBSD platforms are used. 3. Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого по п. 1, отличающийся тем, что в качестве регистров управления используют процессоры с поддержкой технологии MTRR или PAT.3. A method for deeply analyzing network protocols for analyzing and filtering their contents according to claim 1, characterized in that processors supporting MTRR or PAT technology are used as control registers. 4. Способ глубокого разбора сетевых протоколов для анализа и фильтрации их содержимого по п. 1, отличающийся тем, что оперативная память выполняет функцию общей памяти сетевых интерфейсов и программ для глубокого разбора сетевых протоколов до седьмого уровня с использованием программных средств.4. A method for deeply analyzing network protocols for analyzing and filtering their contents according to claim 1, characterized in that the RAM serves as a shared memory of network interfaces and programs for deeply analyzing network protocols up to the seventh level using software.
RU2016126351A 2016-06-30 2016-06-30 Method of network protocol deep review for analysis and filtration of their contents RU2640295C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016126351A RU2640295C1 (en) 2016-06-30 2016-06-30 Method of network protocol deep review for analysis and filtration of their contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016126351A RU2640295C1 (en) 2016-06-30 2016-06-30 Method of network protocol deep review for analysis and filtration of their contents

Publications (1)

Publication Number Publication Date
RU2640295C1 true RU2640295C1 (en) 2017-12-27

Family

ID=63857620

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016126351A RU2640295C1 (en) 2016-06-30 2016-06-30 Method of network protocol deep review for analysis and filtration of their contents

Country Status (1)

Country Link
RU (1) RU2640295C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2784018C1 (en) * 2022-04-27 2022-11-23 Акционерное общество "Научно-производственное предприятие "Цифровые решения" Packet data filtering method in network packet switches

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077705A1 (en) * 2006-07-29 2008-03-27 Qing Li System and method of traffic inspection and classification for purposes of implementing session nd content control
US20090238192A1 (en) * 2008-03-21 2009-09-24 Alcatel Lucent In-band DPI application awareness propagation enhancements
RU2012157264A (en) * 2010-06-04 2014-07-20 Хуавэй Текнолоджиз Ко., Лтд. METHOD, NETWORK DEVICE AND NETWORK SYSTEM FOR PROCESSING DATA TRANSFER SERVICES
RU159041U1 (en) * 2015-02-18 2016-01-27 Закрытое Акционерное Общество "Научно-Производственное Объединение "Эшелон" ЗАО "НПО "Эшелон" INTER-NETWORK SCREEN WITH FILTRATION OF TRAFFIC ON MANDATE LABELS

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077705A1 (en) * 2006-07-29 2008-03-27 Qing Li System and method of traffic inspection and classification for purposes of implementing session nd content control
US20090238192A1 (en) * 2008-03-21 2009-09-24 Alcatel Lucent In-band DPI application awareness propagation enhancements
RU2012157264A (en) * 2010-06-04 2014-07-20 Хуавэй Текнолоджиз Ко., Лтд. METHOD, NETWORK DEVICE AND NETWORK SYSTEM FOR PROCESSING DATA TRANSFER SERVICES
RU159041U1 (en) * 2015-02-18 2016-01-27 Закрытое Акционерное Общество "Научно-Производственное Объединение "Эшелон" ЗАО "НПО "Эшелон" INTER-NETWORK SCREEN WITH FILTRATION OF TRAFFIC ON MANDATE LABELS

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2784018C1 (en) * 2022-04-27 2022-11-23 Акционерное общество "Научно-производственное предприятие "Цифровые решения" Packet data filtering method in network packet switches

Similar Documents

Publication Publication Date Title
US20240171507A1 (en) System and method for facilitating efficient utilization of an output buffer in a network interface controller (nic)
US8724633B2 (en) Internet real-time deep packet inspection and control device and method
US9356844B2 (en) Efficient application recognition in network traffic
CN108833299B (en) Large-scale network data processing method based on reconfigurable switching chip architecture
US8681819B2 (en) Programmable multifield parser packet
US9900090B1 (en) Inter-packet interval prediction learning algorithm
US20120163392A1 (en) Packet processing apparatus and method
CN101848239B (en) High-timeliness distributed service integration calling system
Rizzo Revisiting Network I/O APIs: The netmap Framework: It is possible to achieve huge performance improvements in the way packet processing is done on modern operating systems.
WO2023103231A1 (en) Low-rate ddos attack detection method and system, and related device
CN108011850B (en) Data packet reassembly method and apparatus, computer device, and readable medium
CN112751788A (en) Double-plane switching method supporting multi-type frame mixed transmission
CN109587082B (en) Message asynchronous forwarding system and method based on Linux operating system
US9344384B2 (en) Inter-packet interval prediction operating algorithm
CN108833195B (en) Process-based network data flow analysis method
CN114327833A (en) Efficient flow processing method based on software-defined complex rule
US20220100411A1 (en) Combining write transactions of a large write
RU2640295C1 (en) Method of network protocol deep review for analysis and filtration of their contents
CN112688924A (en) Network protocol analysis system
CN114205115B (en) Data packet processing optimization method, device, equipment and medium
CN107332839B (en) Message transmission method and device
CN115495406A (en) Message transmission method, device, equipment and storage medium based on PCIe
CN115361191A (en) Firewall flow detection method, system, device and medium based on sflow
US20060215567A1 (en) Method and apparatus for monitoring path statistics
WO2022176035A1 (en) Conversion device, conversion method, and conversion program