CN113098911B - 一种多段链接网络的实时分析方法及旁路抓包系统 - Google Patents
一种多段链接网络的实时分析方法及旁路抓包系统 Download PDFInfo
- Publication number
- CN113098911B CN113098911B CN202110541179.1A CN202110541179A CN113098911B CN 113098911 B CN113098911 B CN 113098911B CN 202110541179 A CN202110541179 A CN 202110541179A CN 113098911 B CN113098911 B CN 113098911B
- Authority
- CN
- China
- Prior art keywords
- cache
- link
- data packet
- work queue
- real
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种多段链接网络的实时分析方法及旁路抓包系统;其中,方法包括:建立多个工作队列,为每个工作队列配置预定义存储空间,预定义存储空间中存储有用于分析多段链接网络协议的多个分析策略;实时抓取多段链接网络中的数据包,并根据预设的分配策略为数据包分配工作队列;分配到数据包的工作队列根据当前缓存中的缓存链接调用预定义存储空间中的对应分析策略分析数据包;响应于由数据包获得下一阶段链接的五元组信息,根据预设的分配策略更新对应工作队列缓存中的缓存链接。本发明通过配置多个工作队列,以提前更新对应工作队列缓存中的缓存链接,从而不但实现了对多段链接网络的实时分析,还使得分析能力及分析速度均有所提升。
Description
技术领域
本发明涉及网络信息技术领域,尤其涉及一种多段链接网络的实时分析方法及旁路抓包系统。
背景技术
在一个由多段链接(具有多种通信协议)组成的网络中,一个完整的通信过程可能涉及多段链路的多段协议。
因此,在使用现有的旁路抓包系统分析多段协议时,由于上述多段协议的特征并不能事先确定,也无法在抓包系统启动时配置全部协议分析方法,因此在旁路抓包系统不中断的情况下无法完整的对多段协议的通信内容进行分析,而只能通过定时保存的pcap数据包(一种Python数据)的方式,来进行回溯分析。在回溯分析完毕之后,此时旁路抓包系统已经又完成了对多个数据包的抓取、分析、写盘以及从pcap文件中读取数据包的操作,并至少已经经历过2次对磁盘的读写操作,这就导致了现有的旁路抓包系统对多段协议分析的实时性会非常差。
发明内容
为了解决背景技术中的技术问题,在本发明的一个方面,提出了一种多段链接网络的实时分析方法,所述方法包括:建立多个工作队列,为每个工作队列配置预定义存储空间,所述预定义存储空间中存储有用于分析多段链接网络协议的多个分析策略;实时抓取多段链接网络中的数据包,并根据预设的分配策略为所述数据包分配工作队列;分配到数据包的工作队列根据当前缓存中的缓存链接调用所述预定义存储空间中的对应分析策略分析所述数据包;响应于由所述数据包获得下一阶段链接的五元组信息,根据所述预设的分配策略更新对应工作队列缓存中的缓存链接。
在一个或多个实施例中,所述根据预设的分配策略为所述数据包分配工作队列,包括:解析所述数据包获得当前阶段链接的五元组信息;响应于所述五元组信息均为唯一的确定值,基于所述五元组信息计算哈希值,并将所述哈希值对所述多个工作队列的数量进行取余计算,以根据取余计算结果为所述数据包分配指定的工作队列。
在一个或多个实施例中,所述多个工作队列中的每个工作队列分别独占一个CPU。
在一个或多个实施例中,所述多个分析策略分别用于分析在不同网络通信协议的格式下传输的数据包,分析包括:对所述数据包的信息主体进行信息的识别、统计和/或提取;其中,所述信息主体中可能包含下一阶段链接的五元组信息。
在一个或多个实施例中,所述响应于由所述数据包获得下一阶段链接的五元组信息,根据所述预设的分配策略更新对应工作队列缓存中的缓存链接,包括:响应于所述下一阶段链接的五元组信息均为唯一的确定值,基于所述五元组信息计算哈希值,并将所述哈希值对所述多个工作队列的数量进行取余计算,以根据取余计算结果更新指定工作队列缓存中的缓存链接。
在一个或多个实施例中,所述响应于由所述数据包获得下一阶段链接的五元组信息,根据所述预设的分配策略更新对应工作队列缓存中的缓存链接,还包括:响应于所述下一阶段链接的五元组信息中存在取值范围,更新全部工作队列缓存中的缓存链接。
在一个或多个实施例中,更新指定工作队列或全部工作队列缓存中的缓存链接包括:对所述下一阶段链接的五元组信息进行特征提取,获得五元组特征;将所述五元组特征更新至指定工作队列或全部工作队列的缓存列表中;对于各工作队列,响应于检测到缓存列表的更新,建立更新的五元组特征与所述预定义存储空间中的对应分析策略的映射关系。
在一个或多个实施例中,所述分配到数据包的工作队列根据当前缓存中的缓存链接调用所述预定义存储空间中的对应分析策略分析所述数据包,包括:分配到数据包的工作队列将解析所述数据包,并获得当前阶段链接的五元组信息;对所述当前阶段链接的五元组信息进行特征提取,获得五元组特征;将所述五元组特征在预设的第一缓存列表中进行匹配;响应于所述第一缓存列表中存在所述五元组特征,根据所述第一缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析所述数据包。
在一个或多个实施例中,所述根据对应工作队列当前缓存中的缓存链接调用所述预定义存储空间中的对应分析策略分析所述数据包,还包括:响应于所述第一缓存列表中不存在所述五元组特征,基于所述五元组特征在预设的第二缓存列表进行匹配,根据所述第二缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析所述数据包。
在本发明的另一方面,还提出了一种旁路抓包系统,包括:输入模块,配置用于实时抓取多段链接网络中的数据包;存储模块,所述存储快中存储有可执行的计算机程序,所述计算机程序被执行时用于实现如权利要求1-9任意一项所述的一种多段链接网络的实时分析方法的步骤;执行模块,配置用于执行所述计算机程序以对所述数据包进行分析;输出模块,配置用于输出分析结果。
本发明的有益效果包括:本发明的实时分析方法通过配置多个工作队列,并在由当前阶段链接的数据包中获得下一阶段链接的五元组信息时,通过在下一阶段链接的数据到来前,提前更新指定工作队列或全部工作队列缓存中的缓存链接,从而不但实现了对多段链接网络的实时分析,还使得分析能力及分析速度均有所提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的一种多段链接网络的实时分析方法的主要工作流程图;
图2为本发明的一个多段链接网络的实时分析方法实施例的工作流程图;
图3为本发明的一种旁路抓包系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
为了解决现有技术中对多段连接网络的实时分析能力差的问题,本发明提出了一种多段链接网络的实时分析方法。本发明的实时分析方法通过配置多个工作队列,并在由当前阶段链接的数据包中获得下一阶段链接的五元组信息时,通过在下一阶段链接的数据到来前,提前更新指定工作队列或全部工作队列缓存中的缓存链接,从而不但实现了对多段链接网络的实时分析,还使得分析能力及分析速度均有所提升。以下将结合附图对本发明的方法进行详细说明。
请参见图1,图1为本发明的一种多段链接网络的实时分析方法的主要工作流程图。本发明的多段链接网络的实时分析方法包括:步骤S1、建立多个工作队列,为每个工作队列配置预定义存储空间,预定义存储空间中存储有用于分析多段链接网络协议的多个分析策略;步骤S2、实时抓取多段链接网络中的数据包,并根据预设的分配策略为数据包分配工作队列;步骤S3、分配到数据包的工作队列根据当前缓存中的缓存链接调用预定义存储空间中的对应分析策略分析数据包;步骤S4、响应于由数据包获得下一阶段链接的五元组信息,根据预设的分配策略更新对应工作队列缓存中的缓存链接。
具体的,在多段链接网络中,当互相通信的两个节点需要改变通信协议以传递不同的数据时,将会在当前阶段链接的数据包中增加下一阶段链接的五元组信息,以改变通信节点之间的通信协议。本申请即利用这一特点,通过设置多个工作队列,并以相同的分配策略来确定处理数据包的工作队列以及将要更新缓存链接的工作队列,从而能够在下一阶段链接的数据包到来之前更新该数据包将要被分配到的工作队列的缓存链接,从而避免了分析过程的中断,做到了对数据包的实时接收及实时分析。其中,各工作队列分别独占一个CPU;数据包的分配工作也由单独的CPU执行。
在进一步的实施例中,根据预设的分配策略为数据包分配工作队列包括:解析数据包获得当前阶段链接的五元组信息;响应于五元组信息均为唯一的确定值,基于五元组信息计算哈希值,并将哈希值对多个工作队列的数量进行取余计算,以根据取余计算结果为数据包分配指定的工作队列。例如,设预设的工作队列数量为3,根据五元组信息计算获得的哈希值为8,为工作队列依次编号1到3,如此,哈希值8对3取余的结果为2,则将该数据包分配到工作队列2中。
本实施例的有益效果为,当五元组信息(网络协议、源IP地址、源端口、目的IP地址、目的端口)中的任何一个参数发生变化时,对应数据包将被分配的工作队列也将发生变化,从而使得数据包的处理工作能够更加分散的分配到各个工作队列中,实现多个工作队列的负载均衡。
在上述实施例的方法中,预定义存储空间中的分析策略分别用于分析在不同的网络通信协议的格式下传输的数据包,分析包括根据预设的分析策略对数据包的信息主体进行信息的识别、统计和/或提取;其中,所述信息主体中可能包含下一阶段链接的五元组信息。
在进一步的实施例中,在各工作队列中,本发明方法采用与数据包分配工作中相同的分配策略来确定将要被更新缓存链接的工作队列,并适应性的做出了如下更新规则,更新规则包括响应于下一阶段链接的五元组信息均为唯一的确定值,基于五元组信息计算哈希值,并将哈希值对所述多个工作队列的数量进行取余计算,以根据取余计算结果更新指定工作队列缓存中的缓存链接;
由于所获得的下一阶段链接的五元组信息可能并不全是唯一的确定值,例如,源端口和目的端口可以为一个确定的端口也可以为一个端口号范围(即两个节点将会随机的以该范围内的任一端口实现数据包的收发);因此,当五元组信息中存在取值范围时,无法准确的预测下一阶段链接的数据包的分配工作队列以更新缓存连接,于是,在上述实施例的基础上,本发明方法还提出了响应于下一阶段链接的五元组信息中存在取值范围,更新全部工作队列缓存中的缓存链接。
在进一步的实施例中,在确定了将要更新缓存链接的工作队列后,更新指定工作队列或全部工作队列缓存中的缓存链接包括:对下一阶段链接的五元组信息进行特征提取,获得五元组特征;将五元组特征更新至指定工作队列或全部工作队列的缓存列表中;对于各工作队列,响应于检测到缓存列表的更新,建立更新的五元组特征与预定义存储空间中的对应分析策略的映射关系。
由上述实施例可知,本发明通过在数据包B到来之前,由数据包B之前的数据包A中获得获得了数据包B的五元组信息,进而基于该五元组信息提前获知了数据包B将要被分配到的工作队列,并由对应的工作队列提前根据数据包B的五元组信息建立与预定义存储空间中的对应分析策略的映射关系,从而使得数据包B到来后即可由对应的工作队列进行分析,从而做到了对多段连接网络的实时分析。
在进一步的实施例中,分配到数据包的工作队列根据当前缓存中的缓存链接调用预定义存储空间中的对应分析策略分析数据包,包括:分配到数据包的工作队列将解析数据包,并获得当前阶段链接的五元组信息;对当前阶段链接的五元组信息进行特征提取,获得五元组特征;将五元组特征在预设的缓存列表中进行匹配;响应于缓存列表中存在五元组特征,根据缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析数据包;响应于缓存列表中不存在五元组特征,基于五元组特征在预定义存储空间中匹配分析策略,以根据匹配到的对应分析策略分析数据包。
以下将以一个实施例更加完整的说明本发明的多段链接网络的实时分析方法。
请参见图2,图2为本发明的一个多段链接网络的实时分析方法实施例的工作流程图。在本实施例中,首先通过一个单独的CPU来执行数据包的抓取及分配工作,包括接收到一个数据包,解析获得该数据包中当前阶段连接的五元组信息,根据五元组信息进行哈希计算,对N(预设的工作队列数量)取模后确定对应的工作队列,并将数据包送至对应的工作队列处理;
对应的工作队列X收到数据包后,首先解析数据包,并获得当前阶段链接的五元组信息,提取该五元组信息中的五元组特征;而后将五元组特征在预设的第一缓存列表中进行匹配;响应于第一缓存列表中存在相匹配的缓存链接,根据第一缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析数据包;响应于所述第一缓存列表中不存在所述五元组特征,将上述五元组特征在预设的第二缓存列表进行匹配,匹配成功后根据所述第二缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析所述数据包。其中,第一缓存列表为易失性列表,由其保存的数据(缓存链接)具有一定的生命周期;而第二缓存列表为非易失性列表,由其保存的数据(缓存链接)为永久数据。
在一个实施例中,初始时,第一缓存列表中缓存链接的数量为0;而第二缓存列表中配置有事先可获知的缓存链接,因此,在第一阶段链接的数据包的处理过程中,一定会出现由数据包获得的五元组特征无法在第一缓存列表中匹配成功的情况,此时,该工作队列需要中断对数据包的分析过程以在第二缓存列表中匹配缓存链接,并由匹配到的缓存链接调用对应的分析策略分析数据包。
接下来,分析策略对数据包的分析包括判断该数据包中是否存在下一阶段链接的五元组信息,若存在;则提取其中的五元组信息,并基于下一阶段链接的五元组信息确定需要更新缓存链接的工作队列;并提下一段连接的五元组特征,以更新到指定工作队列或全部工作队列的第一缓存列表中;而后实时输出本次分析的其它分析结果(如收发数据包的数量、平均响应时间以及协议相关的应用详细信息等;其中,应用详细信息又如,用户信息、用户操作记录等),并准备下一阶段的处理;
若不存在下一阶段链接的五元组信息,则实时输出其它分析结果(如收发数据包的数量、平均响应时间以及协议相关的应用详细信息等;其中,应用详细信息又如,用户信息、用户操作记录等)。
以下将以多段链接网络中的一次语音数据传输为例:
其中,语音数据的传输过程包括:
设主叫IP 1.1.1.1使用端口号12345和协议号TCP(6)与被叫IP 2.2.2.2的1720端口交互H.225协议数据;其中,TCP(6)也称Ipv6,是一种IP协议,H.225通信协议用于确定传输路径;其中,H.225通信协议的五元组信息为:源IP=0.0.0.0~255.255.255.255(any)、源端口号=0~65535(any)、目的IP=0.0.0.0~255.255.255.255(any)、目的端口号=1720、协议号是TCP(6);
设主叫IP:1.1.1.1与被叫IP:2.2.2.2交互10个数据包后,得到了下一阶段协议H.245的五元组信息;H.245的五元组信息为:源IP=1.1.1.1、源端口号=0~65535(any)、目的IP=2.2.2.2、目的端口号=1232、协议号是TCP(6);即,在本阶段链接(H.225)的通信交互中,确定了下一阶段链接(H.245)所要采用的通信协议(仍为TCP(6)协议)以及目的端口号(1232);
接下来,主叫IP:1.1.1.1使用端口号54321和协议号TCP(6)与被叫IP:2.2.2.2的1232端口交互H.245协议数据;此处,需说明的是,由于源端口号还未确定,因此,主要IP:1.1.1.1将采用随机端口与被叫IP:2.2.2.2进行通信交互;设在交互20个数据包后,得到下一阶段链接——RTP通信协议的五元组信息是:源IP=1.1.1.1、源端口号=1111、目的IP=2.2.2.2、目的端口号=2222、协议号是UDP(17)。即,在本阶段链接(H.245)的通信交互中,确定了下一阶段链接(RTP)所要采用的通信协议(为TCP(17)协议)以及目的端口号(1232);
接下来,主叫IP:1.1.1.1使用端口号1111和协议号UDP(17)与被叫IP:2.2.2.2的2222端口交互RTP协议数据,假设交互了100个数据包,且此链接为最后一段链接,交互RTP协议数据是语音信号数据,没有下一阶段的链接,至此,本次语音数据传输过程结束,共计进行了130个数据包的交互。
对于上述语音数据传输过程,利用本发明的一种多段链接网络的实时分析方法进行实时分析的过程如下:
启动系统,并进行初始化设置;初始化设置包括:
1)设置工作队列数量(假设工作队列数量为3,此时3个工作队列的缓存列表中的缓存链接数量为0),并为每个工作队列配置预定义存储空间,预定义存储空间中存储有用于分析多段链接网络协议的多个分析策略。
在一优选的实施例中,在设置工作队列数量后还可以进一步设置每个工作队列的缓存列表中的缓存链接上限。
2)在每个工作队列的第二缓存列表中添加缓存链接:any:any<->any:1720,TCP,H.225;其中,符号“<->”之前的any:any表示主叫IP的IP地址、主叫IP所采用的端口号以及通信协议均不限;符号“<->”之后的any:1720,TCP,H.225表示被叫IP的IP地址不限,被叫IP所采用的端口号为1720,通信协议为TCP协议下的H.225子协议。
初始化设置完成后,开始接收数据包并执行对数据包的分析工作,具体步骤包括:
第一阶段链接(H.225,对象为数据包NO.1-NO.10)
由于前十个数据包NO.1-NO.10的五元组信息相同,因此前10个数据包将会被分配到同一个工作队列中,假设前10个数据包的五元组信息的哈希值为4,则前10个数据包将被分配到工作队列1中被处理,处理过程包括:由工作队列1解析数据包NO.1-NO.10并获得当前阶段链接的五元组特征any:any<->any:1720,TCP;由于工作队列1的第一缓存列表中的缓存链接数量为0,因此基于五元组特征any:any<->any:1720,TCP在第一缓存列表中的匹配均会失败;此时,工作队列1需分别中断对NO.1-NO.10数据包的处理,以在第二缓存列表中进行五元组特征any:any<->any:1720,TCP的匹配,并根据第二缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系(缓存链接)any:any<->any:1720,TCP,H.225调用H.225协议分析策略分析数据包NO.1-NO.10;
在工作队列1的分析过程中会获得下一阶段链接的五元组信息及五元组特征:1.1.1.1:any<->2.2.2.2:1232,TCP;而后,工作队列1将根据下一阶段链接的五元组信息确定需要更新缓存链接的工作队列,并将五元组特征1.1.1.1:any<->2.2.2.2:1232,TCP更新到对应工作队列的第一缓存列表中;对应工作队列在检测到第一缓存列表更新时,将自动建立五元组特征1.1.1.1:any<->2.2.2.2:1232,TCP与预定义存储空间中H.245协议分析策略的映射关系(即缓存链接)1.1.1.1:any<->2.2.2.2:1232,TCP,H.245;而当前工作队列1将调用H.225协议分析策略分析数据包NO.1-NO.10,并实时输出分析结果。
第二阶段链接(H.245,对象为数据包NO.11-NO.30)
由于数据包NO.11-NO.30的五元组信息相同,因此数据包NO.11-NO.30将会被分配到同一个工作队列中;假设数据包NO.11-NO.30的五元组信息的哈希值均为5,则其分别将被分配到工作队列2中被处理,处理过程包括:
由工作队列2解析数据包NO.11-NO.30并获得当前阶段链接的五元组特征1.1.1.1:any<->2.2.2.2:1232,TCP,并将其与工作队列2的第一缓存列表中的缓存链接1.1.1.1:any<->2.2.2.2:1232,TCP,H.245匹配成功;而后工作队列2将调用H.245协议分析策略分析数据包NO.11-NO.30;并在分析过程中获得下一阶段链接的五元组信息及五元组特征1.1.1.1:1111<->2.2.2.2:2222,UDP;而后,工作队列2将根据下一阶段链接的五元组信息确定需要更新缓存链接的工作队列,并将五元组特征1.1.1.1:1111<->2.2.2.2:2222,UDP更新到对应工作队列的第一缓存列表中;对应工作队列在检测到第一缓存列表更新时,将自动建立五元组特征1.1.1.1:1111<->2.2.2.2:2222,UDP与预定义存储空间中RTP协议分析策略的映射关系(即缓存链接)1.1.1.1:1111<->2.2.2.2:1232,UDP,RTP;而当前工作队列2将调用H.245协议分析策略分析数据包NO.11-NO.30,并实时输出分析结果。
第三阶段链接(RTP,对象为数据包NO.31-NO.130)
由于数据包NO.31-NO.130的五元组信息相同,因此数据包NO.31-NO.130将会被分配到同一个工作队列中;假设数据包NO.31-NO.130的五元组信息的哈希值均为6,则其分别将被分配到工作队列0中被处理,处理过程包括:
由工作队列0解析数据包NO.31-NO.130并获得当前阶段链接的五元组特征1.1.1.1:1111<->2.2.2.2:1232,UDP,并将其与工作队列0的第一缓存列表中的缓存链接1.1.1.1:1111<->2.2.2.2:1232,UDP,RTP匹配成功;而后工作队列0将调用RTP协议分析策略分析数据包NO.31-NO.130;分析后会发现没有下一阶段协议的五元组信息,只有VOIP的语音信号数据,于是实时输出阶段会把分析出的详细信息输出,包括MOS值,抖动值,丢包率等。
在上述各实施例的基础上,本发明还提出了一种旁路抓包系统,该旁路抓包系统包括:输入模块100,配置用于实时抓取多段链接网络中的数据包;存储模块200,存储快中存储有可执行的计算机程序,该计算机程序被执行时用于上述任意一实施例中多段链接网络的实时分析方法的步骤;执行模块300,配置用于执行计算机程序以对数据包进行分析;输出模块400,配置用于实时输出分析结果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种多段链接网络的实时分析方法,其特征在于,所述方法包括:
建立多个工作队列,为每个工作队列配置预定义存储空间,所述预定义存储空间中存储有用于分析多段链接网络协议的多个分析策略;
实时抓取多段链接网络中的数据包,并根据预设的分配策略为所述数据包分配工作队列;
分配到数据包的工作队列根据当前缓存中的缓存链接调用所述预定义存储空间中的对应分析策略分析所述数据包;
响应于由所述数据包获得下一阶段链接的五元组信息,根据所述预设的分配策略更新对应工作队列缓存中的缓存链接;
其中,所述缓存连接用于存储五元组特征与所述预定义存储空间中的对应分析策略的映射关系。
2.如权利要求1所述的实时分析方法,其特征在于,所述根据预设的分配策略为所述数据包分配工作队列,包括:
解析所述数据包获得当前阶段链接的五元组信息;
响应于所述五元组信息均为唯一的确定值,基于所述五元组信息计算哈希值,并将所述哈希值对所述多个工作队列的数量进行取余计算,以根据取余计算结果为所述数据包分配指定的工作队列。
3.如权利要求2所述的实时分析方法,其特征在于,所述多个工作队列中的每个工作队列分别独占一个CPU。
4.如权利要求1所述的实时分析方法,其特征在于,所述多个分析策略分别用于分析在不同网络通信协议的格式下传输的数据包,分析包括:
对所述数据包的信息主体进行信息的识别、统计和/或提取;其中,所述信息主体中包含下一阶段链接的五元组信息。
5.如权利要求1所述的实时分析方法,其特征在于,所述响应于由所述数据包获得下一阶段链接的五元组信息,根据所述预设的分配策略更新对应工作队列缓存中的缓存链接,包括:
响应于所述下一阶段链接的五元组信息均为唯一的确定值,基于所述五元组信息计算哈希值,并将所述哈希值对所述多个工作队列的数量进行取余计算,以根据取余计算结果更新指定工作队列缓存中的缓存链接。
6.如权利要求5所述的实时分析方法,其特征在于,所述响应于由所述数据包获得下一阶段链接的五元组信息,根据所述预设的分配策略更新对应工作队列缓存中的缓存链接,还包括:
响应于所述下一阶段链接的五元组信息中存在取值范围,更新全部工作队列缓存中的缓存链接。
7.如权利要求6所述的实时分析方法,其特征在于,更新指定工作队列或全部工作队列缓存中的缓存链接包括:
对所述下一阶段链接的五元组信息进行特征提取,获得五元组特征;将所述五元组特征更新至指定工作队列或全部工作队列的缓存列表中;
对于各工作队列,响应于检测到缓存列表的更新,建立更新的五元组特征与所述预定义存储空间中的对应分析策略的映射关系。
8.如权利要求1所述的实时分析方法,其特征在于,所述分配到数据包的工作队列根据当前缓存中的缓存链接调用所述预定义存储空间中的对应分析策略分析所述数据包,包括:
分配到数据包的工作队列将解析所述数据包,并获得当前阶段链接的五元组信息;
对所述当前阶段链接的五元组信息进行特征提取,获得五元组特征;
将所述五元组特征在预设的第一缓存列表中进行匹配;
响应于所述第一缓存列表中存在所述五元组特征,根据所述第一缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析所述数据包。
9.如权利要求8所述的实时分析方法,其特征在于,所述根据对应工作队列当前缓存中的缓存链接调用所述预定义存储空间中的对应分析策略分析所述数据包,还包括:
响应于所述第一缓存列表中不存在所述五元组特征,基于所述五元组特征在预设的第二缓存列表进行匹配,根据所述第二缓存列表中的五元组特征与预定义存储空间中的对应分析策略的映射关系调用对应的分析策略分析所述数据包。
10.一种旁路抓包系统,其特征在于,包括:
输入模块,配置用于实时抓取多段链接网络中的数据包;
存储模块,所述存储模块中存储有可执行的计算机程序,所述计算机程序被执行时用于实现如权利要求1-9任意一项所述的一种多段链接网络的实时分析方法的步骤;
执行模块,配置用于执行所述计算机程序以对所述数据包进行分析;
输出模块,配置用于输出分析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541179.1A CN113098911B (zh) | 2021-05-18 | 2021-05-18 | 一种多段链接网络的实时分析方法及旁路抓包系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110541179.1A CN113098911B (zh) | 2021-05-18 | 2021-05-18 | 一种多段链接网络的实时分析方法及旁路抓包系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098911A CN113098911A (zh) | 2021-07-09 |
CN113098911B true CN113098911B (zh) | 2022-10-04 |
Family
ID=76666030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110541179.1A Active CN113098911B (zh) | 2021-05-18 | 2021-05-18 | 一种多段链接网络的实时分析方法及旁路抓包系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098911B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189462B (zh) * | 2021-12-08 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 一种流量采集方法、装置、电子设备及存储介质 |
CN114401149B (zh) * | 2022-01-30 | 2022-09-06 | 杭州立思辰安科科技有限公司 | 防火墙网卡负载均衡机制中协议动态端口处理方法、系统、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101164A1 (zh) * | 2012-12-31 | 2014-07-03 | 华为技术有限公司 | 一种承载创建方法、装置和系统 |
CN107241305A (zh) * | 2016-12-28 | 2017-10-10 | 神州灵云(北京)科技有限公司 | 一种基于多核处理器的网络协议分析系统及其分析方法 |
CN107426059A (zh) * | 2017-08-28 | 2017-12-01 | 上海国云信息科技有限公司 | Dpi设备特征库自动更新方法、系统、dpi设备及云端服务器 |
CN111683020A (zh) * | 2020-06-05 | 2020-09-18 | 中国人民解放军63920部队 | 多种链路层协议混合流量的控制方法及装置 |
CN112558948A (zh) * | 2020-12-16 | 2021-03-26 | 武汉绿色网络信息服务有限责任公司 | 一种海量流量下报文识别的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729427B (zh) * | 2010-01-20 | 2012-03-14 | 杭州华三通信技术有限公司 | 一种多链路负载分担和选路的方法和路由器 |
CN106059957B (zh) * | 2016-05-18 | 2019-09-10 | 中国科学院信息工程研究所 | 一种高并发网络环境下快速流表查找方法和系统 |
-
2021
- 2021-05-18 CN CN202110541179.1A patent/CN113098911B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101164A1 (zh) * | 2012-12-31 | 2014-07-03 | 华为技术有限公司 | 一种承载创建方法、装置和系统 |
CN107241305A (zh) * | 2016-12-28 | 2017-10-10 | 神州灵云(北京)科技有限公司 | 一种基于多核处理器的网络协议分析系统及其分析方法 |
CN107426059A (zh) * | 2017-08-28 | 2017-12-01 | 上海国云信息科技有限公司 | Dpi设备特征库自动更新方法、系统、dpi设备及云端服务器 |
CN111683020A (zh) * | 2020-06-05 | 2020-09-18 | 中国人民解放军63920部队 | 多种链路层协议混合流量的控制方法及装置 |
CN112558948A (zh) * | 2020-12-16 | 2021-03-26 | 武汉绿色网络信息服务有限责任公司 | 一种海量流量下报文识别的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113098911A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111193666B (zh) | 使用自适应机器学习探测预测应用体验质量度量 | |
US9602428B2 (en) | Method and apparatus for locality sensitive hash-based load balancing | |
US11082308B2 (en) | Multi-path aware tracing and probing functionality at service topology layer | |
US10735325B1 (en) | Congestion avoidance in multipath routed flows | |
US9544234B1 (en) | Hash based ECMP load balancing with non-power-of-2 port group sizes | |
CN113098911B (zh) | 一种多段链接网络的实时分析方法及旁路抓包系统 | |
EP2337274B1 (en) | Method for processing a plurality of data and switching device for switching communication packets | |
Sandri et al. | On the benefits of using multipath tcp and openflow in shared bottlenecks | |
US20160182385A1 (en) | Shortening of service paths in service chains in a communications network | |
US10791164B2 (en) | Intelligent route management for diverse ecosystems | |
US10594574B2 (en) | Middlebox modeling | |
WO2016177191A1 (zh) | 一种报文的处理方法及装置 | |
US11563698B2 (en) | Packet value based packet processing | |
US20070253334A1 (en) | Switch routing algorithm for improved congestion control & load balancing | |
Miguel-Alonso | A research review of OpenFlow for datacenter networking | |
CN113438169A (zh) | 一种数据调度方法、电子设备及存储介质 | |
JP2015164295A (ja) | 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム | |
US11811685B1 (en) | Selective packet processing including a run-to-completion packet processing data plane | |
Kawashima | vNFC: A virtual networking function container for SDN-enabled virtual networks | |
CN111147386B (zh) | 用于处理数据传输拥塞的方法、电子设备和计算机可读介质 | |
Becerra et al. | Solving MP-TCP‘s Shared Bottlenecks Using a SDN with OpenDayLight as the Controller | |
Karrakchou et al. | EP4: An application-aware network architecture with a customizable data plane | |
Baldi et al. | Network Function Modeling and Performance Estimation. | |
US9152494B2 (en) | Method and apparatus for data packet integrity checking in a processor | |
CN114979001B (zh) | 基于远程直接数据存取的数据传输方法、装置以及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100102 707, block B, Fangheng International Center, no.6, Futong East Street, Wangjing, Chaoyang District, Beijing Applicant after: SHENZHOU LINGCLOUD (BEIJING) TECHNOLOGY Co.,Ltd. Address before: 100102 707, block B, Fangheng International Center, no.6, Futong East Street, Wangjing, Chaoyang District, Beijing Applicant before: SHENZHOU LINGCLOUD (BEIJING) TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |