CN112994983A - 流量统计方法、装置和电子设备 - Google Patents

流量统计方法、装置和电子设备 Download PDF

Info

Publication number
CN112994983A
CN112994983A CN202110359082.9A CN202110359082A CN112994983A CN 112994983 A CN112994983 A CN 112994983A CN 202110359082 A CN202110359082 A CN 202110359082A CN 112994983 A CN112994983 A CN 112994983A
Authority
CN
China
Prior art keywords
information
hash value
target
quintuple
message
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.)
Granted
Application number
CN202110359082.9A
Other languages
English (en)
Other versions
CN112994983B (zh
Inventor
房谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPtech Information Technology Co Ltd
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 Hangzhou DPtech Information Technology Co Ltd filed Critical Hangzhou DPtech Information Technology Co Ltd
Priority to CN202110359082.9A priority Critical patent/CN112994983B/zh
Publication of CN112994983A publication Critical patent/CN112994983A/zh
Application granted granted Critical
Publication of CN112994983B publication Critical patent/CN112994983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种流量统计方法、装置和电子设备,涉及网络通信的技术领域,包括获取待处理报文的五元组信息;基于五元组信息确定待处理报文的目标哈希值;将目标哈希值和目标信息作为待匹配信息与多个预设规则模板相匹配,并基于匹配结果对待处理报文进行统计;其中,目标信息包括:利用预设规则剔除五元组信息中的第一预设数量个ip地址信息后得到的信息。本发明提供的流量统计方法,通过将待处理报文的目标信息与基于五元组信息确定的目标哈希值一同作为待匹配信息与多个预设规则模板相匹配,进而可以较准确的得到与待处理报文相匹配的预设规则模板,以完成对待处理报文的统计,从而缓解了现有技术中的流量统计方法存在的准确率低的技术问题。

Description

流量统计方法、装置和电子设备
技术领域
本发明涉及网络通信的技术领域,尤其是涉及一种流量统计方法、装置和电子设备。
背景技术
现有技术中,为了避免FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)逻辑统计报文命中计数的模块崩溃时,无法进行流量统计的问题,提出了基于交换芯片的五元组规则的流量统计方法,通过交换芯片的ACL(Access Control List,访问控制列表)来匹配报文,进而达到流量统计的目的,具体为:在交换芯片上划出一部分资源作为五元组规则的容量,每条五元组规则占有固定的字节数,但ipv6的ip地址有128位,每条五元组规则空间内无法装下ipv6全部五元组,只能取ipv6源ip和目的ip的低32位存放在交换芯片的相应区域中以供规则匹配,但ip信息的缺失则会使得具有相同低32位的五元组规则存储同样的数据,进而导致五元组规则匹配时的误命中。
综上所述,现有技术中的流量统计方法存在准确率低的技术问题。
发明内容
本发明的目的在于提供一种流量统计方法、装置和电子设备,以缓解了现有技术中的流量统计方法存在的准确率低的技术问题。
第一方面,本发明提供一种流量统计方法,包括:获取待处理报文的五元组信息;基于所述五元组信息确定所述待处理报文的目标哈希值;将所述目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对所述待处理报文进行统计;其中,所述目标信息包括:利用预设规则剔除所述五元组信息中的第一预设数量个ip地址信息后得到的信息。
在可选的实施方式中,所述目标信息还包括:所述五元组信息中的第二预设数量个ip地址信息。
在可选的实施方式中,基于所述五元组信息确定所述待处理报文的目标哈希值,包括:基于所述五元组信息中的源ip地址信息和目的ip地址信息确定第一哈希值;基于所述五元组信息中的源端口信息和目的端口信息确定第二哈希值;基于所述第二哈希值和所述第一哈希值中对应数量的低位信息确定第三哈希值;基于所述五元组信息中的协议号信息和所述第一哈希值中对应数量的高位信息确定第四哈希值;基于所述第三哈希值和所述第四哈希值确定所述待处理报文的目标哈希值。
在可选的实施方式中,将所述目标哈希值和目标信息作为待匹配信息与多个预设规则模板相匹配,包括:将所述目标信息依次与每个预设规则模板中的五元组规则进行匹配判断,直至确定与所述目标信息相匹配的第一预设规则模板;判断所述第一预设规则模板中的第一哈希值是否与所述目标哈希值相同;若是,则确定所述待处理报文与所述第一预设规则模板相匹配;若否,则将所述待匹配信息与剩余预设规则模板依次进行匹配,直至确定出与所述待处理报文相匹配的目标预设规则模板。
在可选的实施方式中,每个所述预设规则模板占16个字节,其中,五元组规则占13个字节,哈希值占2个字节。
在可选的实施方式中,所述第一哈希值占4个字节;所述第二哈希值占2个字节;所述第三哈希值占2个字节;所述第四哈希值占2个字节;所述目标哈希值占2个字节。
第二方面,本发明提供一种流量统计装置,包括:获取模块,用于获取待处理报文的五元组信息;确定模块,用于基于所述五元组信息确定所述待处理报文的目标哈希值;统计模块,用于将所述目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对所述待处理报文进行统计;其中,所述目标信息包括:利用预设规则剔除所述五元组信息中的第一预设数量个ip地址信息后得到的信息。
在可选的实施方式中,所述目标信息还包括:所述五元组信息中的第二预设数量个ip地址信息。
第三方面,本发明提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式中任一项所述的方法的步骤。
第四方面,本发明提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行前述实施方式中任一项所述的方法。
本发明提供的流量统计方法,包括:获取待处理报文的五元组信息;基于所述五元组信息确定所述待处理报文的目标哈希值;将所述目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对所述待处理报文进行统计;其中,所述目标信息包括:利用预设规则剔除所述五元组信息中的第一预设数量个ip地址信息后得到的信息。
现有技术中,由于交换芯片上五元组规则的字节数限制,仅使用ipv6报文的部分ip信息进行流量统计时,存在五元组规则误命中的情况,导致ipv6报文的流量统计准确率较低。与现有技术相比,本发明提供的流量统计方法,通过将待处理报文的目标信息与基于五元组信息确定的目标哈希值一同作为待匹配信息与多个预设规则模板相匹配,进而可以较准确的得到与待处理报文相匹配的预设规则模板,以完成对待处理报文的统计,从而缓解了现有技术中的流量统计方法存在的准确率低的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种现有的五元组规则查找与命中的示意图;
图2为本发明实施例提供的一种流量统计方法的流程图;
图3为本发明实施例提供的一种交换芯片上五元组规则的存储方式的示意图;
图4为本发明实施例提供的一种确定ipv6五元组信息对应的目标哈希值的方法示意图;
图5为本发明实施例提供的一种交换芯片上预设规则模板存储方式的示意图;
图6为本发明实施例提供的另一种流量统计方法的示意图;
图7为本发明实施例提供的一种流量统计装置的功能模块图;
图8为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在安全设备和网络设备上,存在识别特定流量并进行特定处理(修改报文内容/去向、分析监控报文等)的多种需求。ACL最初只在路由器上进行包过滤操作,控制指定报文通过或不通过本设备,后来扩展到交换机和安全设备,动作也不再限于通过和丢弃。
现有技术中,通过交换芯片ACL匹配指定特征的报文并执行指定动作可以实现定制化需求,例如,可通过交换芯片ACL匹配到报文后达到流量统计的目的,具体为:在交换芯片上划出一部分资源作为五元组规则的容量,每条五元组规则占有固定的字节数,五元组规则的访问控制项为源ip(sip)、目的ip(dip)、协议号(p)、源端口(sport)和目的端口(dport)五种元组的任意组合,但ipv6的ip地址有128位,其五种元组占用的总字节数远大于预留的五元组规则所能占用的字节数,也即,每条五元组规则空间内无法装下ipv6全部五元组,因此,通常只能取ipv6源ip和目的ip的低32位存放在交换芯片的相应区域中以供规则匹配,但ip信息的缺失则会使得具有相同低32位的五元组规则存储同样的数据,进而导致五元组规则匹配时的误命中。
图1示出了一种现有的五元组规则查找与命中的示意图,有一条ipv6类型的五元组规则A,其源ip为2000::1111,如果五元组规则中只能存储低32位ip地址,那么五元组规则A中存储的源ip则为1111,并将其存在交换芯片的位置1;而另外一条ipv6类型的五元组规则B,其源ip为3000::1111,如果五元组规则中只能存储低32位ip地址,那么五元组规则B中存储的源ip也为1111,并将其存在交换芯片的位置2。由于交换芯片在利用ACL进行匹配时,存储位置靠前的五元组规则优先匹配,且一旦匹配成功则不再向后继续匹配,所以若待处理报文的源ip为4000::1111,基于上述五元组规则的存储方法,则会命中存储在第一个位置上的五元组规则A,显然,出现了误命中的问题,导致流量统计准确率低。有鉴于此,本发明实施例提供了一种流量统计方法,用以缓解上文中所提出的技术问题。
实施例一
图2为本发明实施例提供的一种流量统计方法的流程图,如图2所示,该方法具体包括如下步骤:
步骤S102,获取待处理报文的五元组信息。
步骤S104,基于五元组信息确定待处理报文的目标哈希值。
具体的,交换芯片执行匹配时所使用的报文是FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)将接收到的待处理报文封装为higi报文后发送至交换芯片,交换芯片再对higi报文进行解析后得到的,鉴于交换芯片没有计算能力,因此,上述步骤S102至S104均在FPGA中完成。
在本发明实施例中,FPGA首先接收待处理报文,然后按照报文传输协议将其进行解析,进而获取到待处理报文的五元组信息。针对ipv4类型的规则,图3提供了一种交换芯片上五元组规则的存储方式的示意图,交换芯片一般为每条规则模板分配16个字节的空间,其中五种元组共占13个字节,空闲3个字节未使用。为了不增加规则模板所占字节数,针对ipv6类型的规则,则一般选择存储ipv6 sip和dip的低32位ip地址,但是通过上文中的描述可知,这种方法则会引发误命中的问题。
本发明实施例提供的流量统计方法,为了在不增加预设规则模板占用字节数的前提下,减少ipv6类型规则的误命中概率,将待处理报文的目标哈希值作为规则匹配的附加元素,上述目标哈希值为待处理报文的五种元组按照预设算法计算得到的哈希值,且目标哈希值占用的字节数不大于预设规则模板中空闲字节的数量,本发明实施例不对目标哈希值所占字节数进行具体的限定,用户可以根据实际需求进行设置。
FPGA在计算得到待处理报文的目标哈希值后,将目标哈希值封装到higi报文头部,并将higi报文(带有higi报文头部的待处理报文)发送给交换芯片。
步骤S106,将目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对待处理报文进行统计。
交换芯片接收到FPGA发送的higi报文后,按照相应的报文传输协议对higi报文进行解析,进而得到待处理报文以及在higi报文头部封装的目标哈希值。通过上文中的描述可知,本发明实施例将目标哈希值也作为规则匹配的一个元素,因此,交换芯片中ACL所存储的每条预设规则模板中,除了包括五元组规则(剔除了原始五元组信息中的第一预设数量个ip地址信息),还包括按照上述预设算法对原始五元组信息进行计算得到的哈希值。因此,在对待处理报文进行命中统计时,需要将目标哈希值和目标信息共同作为待匹配信息,并将待匹配信息与多个预设规则模板相匹配,其中,目标信息包括:利用预设规则剔除五元组信息中的第一预设数量个ip地址信息后得到的信息,如果确定出与待处理报文的待匹配信息相匹配的目标预设规则模板,则可基于上述匹配结果完成对待处理报文的统计。
本发明实施例不对ipv6的五元组规则中所剔除的ip地址信息进行具体限制,一般地,剔除ipv6 sip和dip中的高96位ip地址,保留ipv6 sip和dip的低32位ip地址。
现有技术中,由于交换芯片上五元组规则的字节数限制,仅使用ipv6报文的部分ip信息进行流量统计时,存在五元组规则误命中的情况,导致ipv6报文的流量统计准确率较低。与现有技术相比,本发明提供的流量统计方法,通过将待处理报文的目标信息与基于五元组信息确定的目标哈希值一同作为待匹配信息与多个预设规则模板相匹配,进而可以较准确的得到与待处理报文相匹配的预设规则模板,以完成对待处理报文的统计,从而缓解了现有技术中的流量统计方法存在的准确率低的技术问题。
上文中对本发明实施例提供的流量统计方法进行了简要的描述,下面对基于该方法可进一步扩展的实施例以及一些可选实施方式进行详细的介绍。
在一个可选的实施方式中,目标信息还包括:五元组信息中的第二预设数量个ip地址信息。
通过上文中的描述可知,如果利用预设规则模板中的空闲字节来存储基于原始五元组信息计算的哈希值,并将其作为规则匹配的附加元素,则相当于增加了规则匹配条件,显然,这样处理可以一定程度上减少五元组规则匹配时的误命中问题。若哈希值不完全占用空闲字节空间,例如,空闲字节为3字节,若哈希值占用2字节,那么可以利用剩余1字节来存储五元组信息中的第二预设数量个ip地址信息(下文中简称第二ip信息);若哈希值占用1字节,那么可以利用剩余2字节来存储第二ip信息,也即,将第二ip信息也作为规则匹配的附加元素来进一步降低误命中概率。
上述第二ip信息可以为sip128位地址和dip128位地址中随机抽取的第二预设数量个信息,或者,sip或dip中连续的第二预设数量个ip信息,或者,sip中X位连续ip信息与dip中Y位连续ip信息的组合(X+Y=第二预设数量),第二ip信息所占的字节数与哈希值所占的字节数总和为预设规则模板中空闲字节数即可,本发明实施例不对第二预设数量进行具体限制。
若交换芯片中所存储的预设规则模板中,存储了第二ip信息,则在执行规则匹配时,也将按照上述第二ip信息的生成规则提取待处理报文的相应ip信息以供匹配,也即,目标信息还包括:五元组信息中的第二预设数量个ip地址信息。
在一个可选的实施方式中,上述步骤S104,基于五元组信息确定待处理报文的目标哈希值,具体包括如下步骤:
步骤S1041,基于五元组信息中的源ip地址信息和目的ip地址信息确定第一哈希值。
步骤S1042,基于五元组信息中的源端口信息和目的端口信息确定第二哈希值。
步骤S1043,基于第二哈希值和第一哈希值中对应数量的低位信息确定第三哈希值。
步骤S1044,基于五元组信息中的协议号信息和第一哈希值中对应数量的高位信息确定第四哈希值。
步骤S1045,基于第三哈希值和第四哈希值确定待处理报文的目标哈希值。
具体的,为了使得最终得到的目标哈希值能够充分体现五元组的数据特点,因此,采用先局部后整合的方式来计算目标哈希值。下面以确定ipv6五元组信息对应的目标哈希值为例进行阐述,图4示出了一种确定ipv6五元组信息对应的目标哈希值的方法示意图,鉴于ipv6的ip地址为128位,因此,选择将ipv6的sip和dip均等分为4份,一份占4个字节,在求解反映ip地址信息的第一哈希值时,首先将sip第一个4字节sip1和第二个4字节sip2进行xor(异或)操作得到值A,以及,将sip第三个4字节sip3和第四个4字节sip4进行异或操作得到值B,然后将A和B进行异或操作得到值C;相应的,将dip第一个4字节dip1和第二个4字节dip2进行异或操作得到值D,以及,将dip第三个4字节dip3和第四个4字节dip4进行异或操作得到值E,然后将值D和值E进行异或操作得到值F;接下来,将值C和值F进行异或操作即可得到第一哈希值,因此,ipv6类型报文在计算目标哈希值时,第一哈希值占4个字节。
接下来,将源端口信息和目的端口信息进行异或操作,得到能够反映端口信息的第二哈希值,且第二哈希值占2个字节。
进一步的,需要将第一哈希值与第二哈希值进行初步整合,在本发明实施例中,第一哈希值占4个字节,第二哈希值占2个字节,为了将二者整合,本发明实施例使用第一哈希值位于低位的2字节与第二哈希值进行异或操作,从而得到第三哈希值,第三哈希值占2个字节。
五元组信息中的协议号信息占1个字节,且在将ip地址与端口信息的哈希值进行整合时,使用了第一哈希值中的低位信息,因此,步骤S1044具体使用第一哈希值中的高8位信息(从高位到低位的第一个字节中的信息)与协议号信息进行异或操作,以得到第四哈希值中第一个字节中的信息,由于协议号信息只有1个字节,且第一哈希值中第二个字节(按照从高位到低位的顺序)中的信息未参与上述步骤中的计算,因此,控制第四哈希值中第二个字节中的信息采用第一哈希值的第二个字节中的信息,也即第四哈希值也占2个字节。
最后,将第三哈希值与第四哈希值进行异或操作,得到占2个字节的目标哈希值。
上文是以确定ipv6五元组信息对应的目标哈希值为例进行阐述,若在对ipv4报文进行流量统计时,需要压缩交换芯片中预设规则模板所占用的空间,同时对误命中概率存在一定要求,则可以对ip地址进行适当截取,并利用上述步骤S1041至步骤S1045计算ipv4五元组信息对应的目标哈希值。
在一个可选的实施方式中,上述步骤S106中,将目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,具体包括如下步骤:
步骤S1061,将目标信息依次与每个预设规则模板中的五元组规则进行匹配判断,直至确定与目标信息相匹配的第一预设规则模板。
在本发明实施例中,在将待匹配信息与多个预设规则模板相匹配时,首先将其中的目标信息依次与每个预设规则模板中的五元组规则进行匹配判断。当交换芯片解析到待处理报文之后,首先需要将按照预设规则模板的五元组规则的生成方法确定出待处理报文的目标信息,然后依次将目标信息中的元组信息与五元组规则中的元组信息进行匹配,直至确定与目标信息相匹配的第一预设规则模板。
图5示出了一种交换芯片上预设规则模板存储方式的示意图,预设规则模板中第0字节开始的4个字节存储五元组规则中的源ip(ipv6源ip的低32位),从第4字节开始的4个字节存储五元组规则中的目的ip(ipv6目的ip的低32位),从第8字节开始的2个字节存储五元组规则中的源端口(sport),从第10个字节开始的2字节存储五元组规则中的目的端口(dport),从第12字节开始的1个字节存储五元组规则中的协议号(p),从第13字节开始的2个字节存储基于原始五元组信息计算的哈希值,第15字节空闲或存储上文中描述的第二ip信息。
交换芯片在按照预设规则模板中信息的生成方法确定出待处理报文的目标信息后,需要按信息类别分别与预设规则模板中的信息进行匹配,直至确定出与目标信息相匹配的第一预设规则模板。
步骤S1062,判断第一预设规则模板中的第一哈希值是否与目标哈希值相同。
若是,则执行下述步骤S1063;若否,则执行下述步骤S1064。
步骤S1063,确定待处理报文与第一预设规则模板相匹配。
步骤S1064,将待匹配信息与剩余预设规则模板依次进行匹配,直至确定出与待处理报文相匹配的目标预设规则模板。
在确定出第一预设规则模板之后,还需要进一步判断第一预设规则模板中的第一哈希值与待处理报文的目标哈希值是否相同,如果相同,则可确定待处理报文与第一预设规则模板相匹配;反之,需要将待处理报文的待匹配信息与剩余预设规则模板依次进行匹配,同样按照上文中的匹配流程,先匹配目标信息,目标信息匹配后再匹配目标哈希值,直到确定出与待处理报文相匹配的目标预设规则模板,进而完成对待处理报文的流量统计,图6为本发明实施例提供的另一种流量统计方法的示意图。
在一个可选的实施方式中,每个预设规则模板占16个字节,其中,五元组规则占13个字节,哈希值占2个字节。若目标信息还包括:五元组信息中的第二预设数量个ip地址信息,则预设规则模板中的剩余1个字节可用于存储上述第二预设数量个ip地址信息,也即,第二预设数量表示8位(1个字节);若目标信息中不包括上述第二预设数量个ip地址信息,则预设规则模板中的剩余1个字节空闲。
综上所述,本发明实施例提供了一种流量统计方法,通过将待处理报文的目标信息与基于五元组信息确定的目标哈希值一同作为待匹配信息与多个预设规则模板相匹配,进而可以较准确的得到与待处理报文相匹配的预设规则模板,以完成对待处理报文的统计,从而缓解了现有技术中的流量统计方法存在的准确率低的技术问题。
实施例二
本发明实施例还提供了一种流量统计装置,该流量统计装置主要用于执行上述实施例一所提供的流量统计方法,以下对本发明实施例提供的流量统计装置做具体介绍。
图7是本发明实施例提供的一种流量统计装置的功能模块图,如图7所示,该装置主要包括:获取模块10,确定模块20,统计模块30,其中:
获取模块10,用于获取待处理报文的五元组信息;
确定模块20,用于基于五元组信息确定待处理报文的目标哈希值;
统计模块30,用于将目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对待处理报文进行统计;其中,目标信息包括:利用预设规则剔除五元组信息中的第一预设数量个ip地址信息后得到的信息。
现有技术中,由于交换芯片上五元组规则的字节数限制,仅使用ipv6报文的部分ip信息进行流量统计时,存在五元组规则误命中的情况,导致ipv6报文的流量统计准确率较低。与现有技术相比,本发明提供的流量统计装置,通过将待处理报文的目标信息与基于五元组信息确定的目标哈希值一同作为待匹配信息与多个预设规则模板相匹配,进而可以较准确的得到与待处理报文相匹配的预设规则模板,以完成对待处理报文的统计,从而缓解了现有技术中的流量统计方法存在的准确率低的技术问题。
可选的,目标信息还包括:五元组信息中的第二预设数量个ip地址信息。
可选的,确定模块20包括:
第一确定单元,用于基于五元组信息中的源ip地址信息和目的ip地址信息确定第一哈希值;
第二确定单元,用于基于五元组信息中的源端口信息和目的端口信息确定第二哈希值;
第三确定单元,用于基于第二哈希值和第一哈希值中对应数量的低位信息确定第三哈希值;
第四确定单元,用于基于五元组信息中的协议号信息和第一哈希值中对应数量的高位信息确定第四哈希值;
第五确定单元,用于基于第三哈希值和第四哈希值确定待处理报文的目标哈希值。
可选的,统计模块30包括:
第一匹配单元,用于将目标信息依次与每个预设规则模板中的五元组规则进行匹配判断,直至确定与目标信息相匹配的第一预设规则模板;
判断单元,用于判断第一预设规则模板中的第一哈希值是否与目标哈希值相同;
第六确定单元,若是,则确定待处理报文与第一预设规则模板相匹配;
第二匹配单元,若否,则将待匹配信息与剩余预设规则模板依次进行匹配,直至确定出与待处理报文相匹配的目标预设规则模板。
可选的,每个预设规则模板占16个字节,其中,五元组规则占13个字节,哈希值占2个字节。
可选的,第一哈希值占4个字节;第二哈希值占2个字节;第三哈希值占2个字节;第四哈希值占2个字节;目标哈希值占2个字节。
实施例三
参见图8,本发明实施例提供了一种电子设备,该电子设备包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的一种流量统计方法、装置和电子设备的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种流量统计方法,其特征在于,包括:
获取待处理报文的五元组信息;
基于所述五元组信息确定所述待处理报文的目标哈希值;
将所述目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对所述待处理报文进行统计;其中,所述目标信息包括:利用预设规则剔除所述五元组信息中的第一预设数量个ip地址信息后得到的信息。
2.根据权利要求1所述的方法,其特征在于,所述目标信息还包括:所述五元组信息中的第二预设数量个ip地址信息。
3.根据权利要求1所述的方法,其特征在于,基于所述五元组信息确定所述待处理报文的目标哈希值,包括:
基于所述五元组信息中的源ip地址信息和目的ip地址信息确定第一哈希值;
基于所述五元组信息中的源端口信息和目的端口信息确定第二哈希值;
基于所述第二哈希值和所述第一哈希值中对应数量的低位信息确定第三哈希值;
基于所述五元组信息中的协议号信息和所述第一哈希值中对应数量的高位信息确定第四哈希值;
基于所述第三哈希值和所述第四哈希值确定所述待处理报文的目标哈希值。
4.根据权利要求1所述的方法,其特征在于,将所述目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,包括:
将所述目标信息依次与每个预设规则模板中的五元组规则进行匹配判断,直至确定与所述目标信息相匹配的第一预设规则模板;
判断所述第一预设规则模板中的第一哈希值是否与所述目标哈希值相同;
若是,则确定所述待处理报文与所述第一预设规则模板相匹配;
若否,则将所述待匹配信息与剩余预设规则模板依次进行匹配,直至确定出与所述待处理报文相匹配的目标预设规则模板。
5.根据权利要求1所述的方法,其特征在于,每个所述预设规则模板占16个字节,其中,五元组规则占13个字节,哈希值占2个字节。
6.根据权利要求3所述的方法,其特征在于,所述第一哈希值占4个字节;所述第二哈希值占2个字节;所述第三哈希值占2个字节;所述第四哈希值占2个字节;所述目标哈希值占2个字节。
7.一种流量统计装置,其特征在于,包括:
获取模块,用于获取待处理报文的五元组信息;
确定模块,用于基于所述五元组信息确定所述待处理报文的目标哈希值;
统计模块,用于将所述目标哈希值和目标信息作为待匹配信息,与多个预设规则模板相匹配,并基于匹配结果对所述待处理报文进行统计;其中,所述目标信息包括:利用预设规则剔除所述五元组信息中的第一预设数量个ip地址信息后得到的信息。
8.根据权利要求7所述的装置,其特征在于,所述目标信息还包括:所述五元组信息中的第二预设数量个ip地址信息。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6中任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行权利要求1至6中任一项所述的方法。
CN202110359082.9A 2021-04-01 2021-04-01 流量统计方法、装置和电子设备 Active CN112994983B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110359082.9A CN112994983B (zh) 2021-04-01 2021-04-01 流量统计方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110359082.9A CN112994983B (zh) 2021-04-01 2021-04-01 流量统计方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN112994983A true CN112994983A (zh) 2021-06-18
CN112994983B CN112994983B (zh) 2023-01-13

Family

ID=76338929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110359082.9A Active CN112994983B (zh) 2021-04-01 2021-04-01 流量统计方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112994983B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595822A (zh) * 2021-07-26 2021-11-02 北京恒光信息技术股份有限公司 一种数据包管理方法、系统和装置
CN113992624A (zh) * 2021-12-08 2022-01-28 赛尔网络有限公司 基于地址识别的流量统计方法、装置、设备及介质
CN114363257A (zh) * 2021-12-29 2022-04-15 杭州迪普信息技术有限公司 隧道报文的五元组匹配方法及装置
CN114363032A (zh) * 2021-12-29 2022-04-15 安天科技集团股份有限公司 网络攻击检测方法、装置、计算机设备及存储介质
CN115225544A (zh) * 2022-07-19 2022-10-21 武汉思普崚技术有限公司 一种网络流量统计和监测方法、装置、电子设备及介质
CN115334013A (zh) * 2022-08-12 2022-11-11 北京天融信网络安全技术有限公司 一种流量统计方法、网卡及电子设备
CN118250235A (zh) * 2024-05-22 2024-06-25 北京华耀科技有限公司 流量分发方法、装置、设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897541A (zh) * 2005-07-15 2007-01-17 华为技术有限公司 一种网络实现采样的方法
US20130347103A1 (en) * 2012-06-21 2013-12-26 Mark Veteikis Packet capture for error tracking
CN104168201A (zh) * 2014-08-06 2014-11-26 福建星网锐捷网络有限公司 一种多路径转发的方法及装置
CN104243348A (zh) * 2014-09-22 2014-12-24 曙光信息产业(北京)有限公司 一种数据处理方法和装置
US20180109454A1 (en) * 2016-10-18 2018-04-19 Cisco Technology, Inc. Forwarding information base architecture for a hybrid ip and content centric network router
CN110071923A (zh) * 2019-04-24 2019-07-30 杭州迪普信息技术有限公司 报文识别方法、装置、电子设备及机器可读存储介质
CN110858823A (zh) * 2018-08-24 2020-03-03 中兴通讯股份有限公司 一种数据包的分类方法、装置及计算机可读存储介质
CN111526225A (zh) * 2020-04-28 2020-08-11 杭州迪普科技股份有限公司 会话管理方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897541A (zh) * 2005-07-15 2007-01-17 华为技术有限公司 一种网络实现采样的方法
US20130347103A1 (en) * 2012-06-21 2013-12-26 Mark Veteikis Packet capture for error tracking
CN104168201A (zh) * 2014-08-06 2014-11-26 福建星网锐捷网络有限公司 一种多路径转发的方法及装置
CN104243348A (zh) * 2014-09-22 2014-12-24 曙光信息产业(北京)有限公司 一种数据处理方法和装置
US20180109454A1 (en) * 2016-10-18 2018-04-19 Cisco Technology, Inc. Forwarding information base architecture for a hybrid ip and content centric network router
CN110858823A (zh) * 2018-08-24 2020-03-03 中兴通讯股份有限公司 一种数据包的分类方法、装置及计算机可读存储介质
CN110071923A (zh) * 2019-04-24 2019-07-30 杭州迪普信息技术有限公司 报文识别方法、装置、电子设备及机器可读存储介质
CN111526225A (zh) * 2020-04-28 2020-08-11 杭州迪普科技股份有限公司 会话管理方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595822A (zh) * 2021-07-26 2021-11-02 北京恒光信息技术股份有限公司 一种数据包管理方法、系统和装置
CN113595822B (zh) * 2021-07-26 2024-03-22 北京恒光信息技术股份有限公司 一种数据包管理方法、系统和装置
CN113992624A (zh) * 2021-12-08 2022-01-28 赛尔网络有限公司 基于地址识别的流量统计方法、装置、设备及介质
CN114363257A (zh) * 2021-12-29 2022-04-15 杭州迪普信息技术有限公司 隧道报文的五元组匹配方法及装置
CN114363032A (zh) * 2021-12-29 2022-04-15 安天科技集团股份有限公司 网络攻击检测方法、装置、计算机设备及存储介质
CN114363032B (zh) * 2021-12-29 2023-08-15 安天科技集团股份有限公司 网络攻击检测方法、装置、计算机设备及存储介质
CN114363257B (zh) * 2021-12-29 2023-10-17 杭州迪普信息技术有限公司 隧道报文的五元组匹配方法及装置
CN115225544A (zh) * 2022-07-19 2022-10-21 武汉思普崚技术有限公司 一种网络流量统计和监测方法、装置、电子设备及介质
CN115334013A (zh) * 2022-08-12 2022-11-11 北京天融信网络安全技术有限公司 一种流量统计方法、网卡及电子设备
CN115334013B (zh) * 2022-08-12 2024-01-23 北京天融信网络安全技术有限公司 一种流量统计方法、网卡及电子设备
CN118250235A (zh) * 2024-05-22 2024-06-25 北京华耀科技有限公司 流量分发方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN112994983B (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
CN112994983B (zh) 流量统计方法、装置和电子设备
CN111181932B (zh) Ddos攻击检测与防御方法、装置、终端设备及存储介质
US10084713B2 (en) Protocol type identification method and apparatus
US7643505B1 (en) Method and system for real time compression and decompression
US8060633B2 (en) Method and apparatus for identifying data content
US20090238088A1 (en) Network traffic analyzing device, network traffic analyzing method and network traffic analyzing system
WO2017114175A1 (zh) 防御分布式拒绝服务攻击的方法、装置、客户端及设备
CN101800707B (zh) 建立流转发表项的方法及数据通信设备
US9178814B2 (en) Analysis of network packets using a generated hash code
EP3076612A1 (en) Packet processing method, node and system
US11838318B2 (en) Data plane with connection validation circuits
CN106936799B (zh) 报文清洗方法及装置
CN107181605B (zh) 报文检测方法及系统、内容提取装置、流量匹配装置
US8365045B2 (en) Flow based data packet processing
CN111092785A (zh) 数据监测方法及装置
CN113595891A (zh) 数据通信方法、装置和电子设备
CN108347359B (zh) 一种大型网络地址转换出口判断方法及装置
CN111654412B (zh) 数据采集传输方法、装置和电子设备
CN113839860A (zh) 数据包的转发方法、装置及网络设备
CN115694998A (zh) 一种安全检测方法、装置、电子设备及存储介质
CN109756454B (zh) 数据交互的方法、装置和系统
CN114826634A (zh) 一种报文检测方法、电子设备及存储介质
CN106470166A (zh) 一种数据通信报文的处理方法和装置
TWI784938B (zh) 電文清理方法及裝置
CN107196981A (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
GR01 Patent grant
GR01 Patent grant