CN107113282A - 一种抽取数据报文的方法及装置 - Google Patents
一种抽取数据报文的方法及装置 Download PDFInfo
- Publication number
- CN107113282A CN107113282A CN201480084454.XA CN201480084454A CN107113282A CN 107113282 A CN107113282 A CN 107113282A CN 201480084454 A CN201480084454 A CN 201480084454A CN 107113282 A CN107113282 A CN 107113282A
- Authority
- CN
- China
- Prior art keywords
- data message
- session
- preset
- mapping table
- hash value
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
- H04L45/7459—Address table lookup; Address filtering using hashing using Bloom filters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了抽取数据报文的方法及装置,基于同一个会话的不同数据报文的五元组信息计算所得的两个哈希值相同,即在相同的采样比例下,计算所得的两个余数也相同,当计算所得的两个余数中有一个余数为预设抽样余数时,网络中属于该会话的所有数据报文都会被抽取,实现基于会话抽取数据报文;基于同一个会话的不同数据报文的五元组信息与所述第一映射表匹配时,要么同一个会话的所有数据报文都能与所述第一映射表匹配,要么同一个会话的所有数据报文都不能与所述第一映射表匹配,实现基于会话抽取数据报文。
Description
本发明涉及通信技术领域,尤其是涉及一种抽取数据报文的方法及装置。
在通信技术领域,不同网络设备之间交换和传输数据信息的基本单位是数据报文。网络设备在传输数据信息时,给所要传输的数据信息添加报文头,将所述数据信息封装成数据报文进行传输。在封装所要传输的数据信息时,所添加的报文头中携带有五元组信息,所述五元组信息包括互联网协议源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议号。
在分析网络中数据信息的传输状况时,对网络中传输的数据报文进行抽样分析,一般情况下,以数据流为基本抽样单位,对网络中的时间报文进行抽样。属于同一个数据流的多个数据报文的五元组信息都相同,即源IP地址和目的IP地址相同,源端口号和目的端口号相同,并且传输层协议号也相同。
以数据流为基本单位所采集到得数据报文,可以分析网络中数据流的持续时间,分析网络中数据流的报文长度,分析网络中数据流的IP地址等信息。但是,对基于数据流所抽取的数据报文进行分析,只能分析得到部分网络中数据传输状况。
发明内容
本发明实施例解决的技术问题在于提供一种抽取数据报文的方法及装置。
本发明实施例第一方面提供了一种抽取数据报文的方法,所述方法包括:
接收数据报文;
解析所述数据报文的五元组信息;
根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;
计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数;
查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;
当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
在本发明实施例第一方面的第一种可能的实现方式中,所述抽取所述数据报文前还包括:
提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;
以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;
查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同;
当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
本发明实施例第二方面提供了一种抽取数据报文的方法,所述方法包括:
接收数据报文;
解析所述数据报文的五元组信息;
判断所述数据报文所属的会话是否有其他数据报文已被接收;
当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文所属的会话为新接收的会话,会话计数值加1,判断所述会话计数值是否等于预设阈值,当所述会话计数值等于预设阈值时,所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表;
当所述数据报文所属的会话已有其他数据报文已被接收时,所述数据报文所属的会话为已接收的会话,判断所述数据报文的五元组信息是否与所述第一映射表匹配,当所述数据报文的五元组信息与所述第一映射表匹配时,抽取所述数据报文,所述第一映射表存储有接收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素。
在本发明实施例第二方面第二种可能的实现方式中,所述判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
解析所述数据报文中所携带的标志位;
判断所述标志位是否为SYN标志位;
当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;
当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
在本发明实施例第二方面第三种可能的实现方式中,所述判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
判断所述数据报文的五元组信息是否与第二映射表匹配,所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素;
当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;
当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所
属的会话已有其他数据报文已被接收。
结合本发明实施例第二方面至第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;
所述判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:
将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;
查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第二哈希值组;
从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
结合本发明实施例第二方面至第二方面第四种可能的实现方式,在第五种可能的实现方式中,
所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;
所述利用所述数据报文的五元组信息更新第一映射表包括:
将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;
将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
本发明实施例第三方面提供一种抽取数据报文的装置,所述装置包括:
接收单元,以及与所述接收单元相连的处理单元;
所述接收单元,用于接收数据报文,将所述数据报文发送至所述处理单元;
所述处理单元,用于解析所述数据报文的五元组信息;
根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;
计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数;
查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;
当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
在本发明实施例第三方面第一种可能的实现方式中,所述处理单元,用于抽取所述数据报文前还用于:
提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;
以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;
查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈
希值相同;
当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
本发明实施例第四方面提供一种抽取数据报文的装置,所述装置包括:
接收单元,以及与所述接收单元相连的处理单元;
所述接收单元,用于接收数据报文,将所述数据报文发送至所述处理单元;
所述处理单元,用于解析所述数据报文的五元组信息;
判断所述数据报文所属的会话是否有其他数据报文已被接收;
当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文所属的会话为新接收的会话,会话计数值加1,判断所述会话计数值是否等于预设阈值,当所述会话计数值等于预设阈值时,所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表;
当所述数据报文所属的会话已有其他数据报文已被接收时,所述数据报文所属的会话为已接收会话,判断所述数据报文的五元组信息是否与所述第一映射表匹配,当所述数据报文的五元组信息与所述第一映射表匹配时,抽取所述数据报文,所述第一映射表存储有接收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素。
在本发明实施例第四方面第一种可能的实现方式中,所述处理单元,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
解析所述数据报文中所携带的标志位;
判断所述标志位是否为SYN标志位;
当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;
当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
在本发明实施例第四方面第二种可能的实现方式中,所述处理单元,用于
判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
判断所述数据报文的五元组信息是否与第二映射表匹配,所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素;
当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;
当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他数据报文已被接收。
结合本发明实施例第四方面至第四方面第二种可能的实现方式,在第三种可能的实现方式中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;
所述处理单元,用于判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:
将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;
查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第二哈希值组;
从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是
1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
结合本发明实施例第四方面至第四方面第三种可能的实现方式,在第四种可能的实现方式中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;
所述处理单元,用于利用所述数据报文的五元组信息更新第一映射表包括:
将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;
将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
由上述技术方案可以看出,本发明实施例有如下有益效果:
本发明实施例所提供的抽取数据报文的方法及装置,第一网络设备和第二网络设备之间可以建立会话,从而在所述第一网络设备和所述第二设备之间传输多个数据报文。同一个会话的多个数据报文的五元组信息具有以下特征:同一个会话的多个数据报文的源IP地址为第一网络设备的IP地址或第二网络设备的IP地址,同一个会话的多个数据报文的目的IP地址为第一网络设备的IP地址或第二网络设备IP地址,同一个会话的多个数据报文的源端口号为第一网络设备的端口号或第二网络设备的端口号,同一个会话的多个数据报文的目的端口号为第一网络设备的端口号或第二网络设备的端口号,同一个会话的多个数据报文的所采用的传输层协议号相同;
因此,基于同一个会话的不同数据报文的五元组信息计算所得的两个哈希值相同,即在相同的采样比例下,计算所得的两个余数也相同,当计算所得的两个余数中有一个余数为预设抽样余数时,网络中属于该会话的所有数据报文都会被抽取,实现基于会话抽取数据报文;
所述第一映射表存储有接收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom
Filter映射元素,因此,基于同一个会话的不同数据报文的五元组信息与所述第一映射表匹配时,要么同一个会话的所有数据报文都能与所述第一映射表匹配,要么同一个会话的所有数据报文都不能与所述第一映射表匹配,实现基于会话抽取数据报文。
图1为本发明实施例提供的抽取数据报文的方法流程图;
图2为本发明实施例提供的预设特征字段示意图;
图3为本发明实施例提供的抽取数据报文的方法流程图;
图4(a)为本发明实施例提供的Bloom Filter表初始示意图;
图4(b)为本发明实施例提供的Bloom Filter表有元素映射后示意图;
图5为本发明实施例提供的映射表存储方式示意图;
图6为本发明实施例提供的抽取数据报文的装置;
图7为本发明实施例提供的抽取数据报文的装置;
图8为本发明实施例提供的一种抽取数据报文的装置的硬件结构示意图;
图9为本发明实施例提供的一种抽取数据报文的装置的硬件结构示意图。
本发明实施例提供了抽取数据报文的方法和装置,为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
图1为本发明实施例提供的抽取数据报文的方法流程图,所述方法包括:
网络中传输数据信息的基本单位是数据报文,发送数据报文的网络设备为源设备,接收数据报文的设备为目的设备。每个数据报文的报文头都携带有五元组信息,五元组信息包括:源设备的源IP地址和源端口号,目的设备的目的IP地址和目的端口号,源设备和目的设备之间传输数据报文所采用的传输
层协议号。
一个会话指的是在一个不中断的特定操作时间内,两个网络设备之间的通信交互。在一个会话期间,两个网络设备之间相互传输的所有数据报文都属于该会话。第一网络设备给第二网络设备发送的数据报文所携带的五元组信息中,源IP地址是第一网络设备的IP地址,源端口号是第一网络设备的端口号,目的地址是第二网络设备的目的地址,目的端口号是第二网络设备的端口号;第二网络设备给第一网络设备发送的数据报文所携带的五元组信息,源IP地址是第二网络设备的IP地址,源端口号是第二网络设备的端口号,目的地址是第一网络设备的目的地址,目的端口号是第一网络设备的端口号;两个网络设备之间相互发送的数据报文所采用的传输层协议号都相同。
同一个会话的多个数据报文的五元组信息具有以下特征:同一个会话的多个数据报文的源IP地址为第一网络设备的IP地址或第二网络设备的IP地址,同一个会话的多个数据报文的目的IP地址为第一网络设备的IP地址或第二网络设备IP地址,同一个会话的多个数据报文的源端口号为第一网络设备的端口号或第二网络设备的端口号,同一个会话的多个数据报文的目的端口号为第一网络设备的端口号或第二网络设备的端口号,同一个会话的多个数据报文的所采用的传输层协议号相同。
也就是说,从所述第一网络设备发往所述第二网络设备的数据报文的五元组信息为(第一网络设备的IP地址,第一网络设备的端口号,第二网络设备的IP地址,第二网络设备的端口号,传输层协议号),即,从所述第一网络设备发往所述第二网络设备的数据报文的源IP地址为所述第一网络设备的IP地址,从所述第一网络设备发往所述第二网络设备的数据报文的源端口号为所述第一网络设备的端口号,从所述第一网络设备发往所述第二网络设备的数据报文的目的IP地址为所述第二网络设备的IP地址,从所述第一网络设备发往所述第二网络设备的数据报文的目的端口号为所述第二网络设备的端口号,从所述第一网络设备发往所述第二网络设备的数据报文的传输层协议号为所述第一网络设备与所述第二网络设备之间传输这些数据报文所使用的传输层协议的编号。从所述第二网络设备发往所述第一网络设备的数据报文的五元组信息为(第二网络设备的IP地址,第二网络设备的端口号,第一网络设备的IP
地址,第一网络设备的端口号,传输层协议号),即,从所述第二网络设备发往所述第一网络设备的数据报文的源IP地址为所述第二网络设备的IP地址,从所述第二网络设备发往所述第一网络设备的数据报文的源端口号为所述第二网络设备的端口号,从所述第二网络设备发往所述第一网络设备的数据报文的目的IP地址为所述第一网络设备的IP地址,从所述第二网络设备发往所述第一网络设备的数据报文的目的端口号为所述第一网络设备的端口号,从所述第二网络设备发往所述第一网络设备的数据报文的传输层协议号为所述第一网络设备与所述第二网络设备之间传输这些数据报文所使用的传输层协议的编号。从所述第一网络设备发往所述第二网络设备的数据报文与从所述第二网络设备发往所述第一网络设备的数据报文中所携带的传输层协议号相同。
步骤101:接收数据报文。
步骤102:解析所述数据报文的五元组信息。
步骤103:根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值。所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值。
网络***中的网络处理器(Network Processor,NP)依次接收网络中传输的大量的数据报文,每接收到一个数据报文,NP对该数据报文复制,解析复制的数据报文的五元组信息,并将原数据报文按照传输路径转发出去。本领域技术人员可以理解的是,本发明所提供的抽取数据报文的方法,抽取的是复制后的数据报文,而不是在网络中传输的原数据报文,若抽取网络中传输的原数据报文,则目的设备则无法接收到被抽取的数据报文,导致业务错误或业务中断。
哈希函数是一种把任意长度的输入通过散列算法,压缩成固定长度的散列值输出的函数,哈希函数是一种压缩映射,即散列值的空间通常远小于输入的空间。在具体实现时,本发明实施例所述第一哈希函数可以采用冗余校验16(Cyclic Redundancy Check16,CRC16)哈希函数,当然所述第一哈希函数还
可以采用其他类型的哈希函数,根据实际需要进行具体设定,这里不进行限定。
解析所述数据报文的五元组信息后,采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值。
举例说明:将所述数据报文的五元组信息按照表1所示的顺序排列成一个字符串作为所述第一哈希函数的输入,采用所述第一哈希函数计算所得的哈希值作为第一哈希值。再将按照表1所示的顺序排列的字符串中,源IP地址和目的IP地址互换,源端口号和目的端口号互换,得到按照表2所示顺序排列所得的字符串作为所述第一哈希函数的另一个输入,采用所述第一哈希值计算所得的哈希值作为第二哈希值。
表1、计算第一哈希值时五元组信息的排列顺序
源IP地址 | 目的IP地址 | 源端口号 | 目的端口号 | 传输层协议号 |
表2、计算第二哈希值时五元组信息的排列顺序
目的IP地址 | 源的IP地址 | 目的端口号 | 源端口号 | 传输层协议号 |
这里需要说明的是,计算所述第一哈希值和所述第二哈希值时,所述数据报文的五元组信息按照预设的顺序排列后作为输入时,排列的顺序并不仅限于表1和表2所示的排列顺序。只要保证将计算第一哈希值所输入的字符串中,将源IP地址和目的IP地址的位置互换,源端口号和目的端口号位置互换,所得到的新的字符串作为计算第二哈希值的输入即可。
对于不同的地区来说,数据报文的五元组信息分布非常不均匀,为了进一步优化所抽取的数据报文的均匀性,可以从数据报文的五元组信息中分别选取几位数据按照预设的顺序排列作为哈希函数的输入。例如:对于不同的地区,源IP地址中低8位数据分布均匀,源端口号中低14位数据分布均匀,可以选择源IP地址和目的IP地址的低8位,源端口号和目的端口的低14位,传输层协议号全部,按照预设的顺序排列所得字符串作为所述第一哈希函数的输
入。当然,还可以根据实际需要,分别设定源IP地址、目的IP地址、源端口号、目的端口号以及传输层协议号所选取的字符串的位置和位数,但是需要保证源IP地址和目的IP地址所取的位数以及位置相同;并且源端口号和目的端口号所取的位数和位置相同。
步骤104:计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数。
步骤105:查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同。
步骤106:当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
本发明实施例中,以会话为基本单位,抽取数据报文。预设会话抽样比例,指的是从网络中传输的大量会话的数据报文中,所抽取的会话的数据报文所占的比例。计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数。所述第一余数与所述第二余数是大于等于0,并且小于等于所述预设会话抽样比例的分母减1的整数。
举例说明:假设所述预设会话抽样比例为M/N,当网络中传输的数据报文为tN个会话的数据报文时,则抽取网络中传输的tM个会话的全部数据报文。其中,t为大于0的整数。所述第一余数和所述第二余数的取值范围为大于等于0,并且小于等于N-1的整数。从大于等于0,并且小于等于N-1的整数中选取M个整数作为预设抽样余数。
查询所述第一余数或所述第二余数是否属于所述预设抽样余数,当所述第一余数或所述第二余数属于所述预设抽样余数时,抽取所述数据报文;当所述第一余数和所述第二余数都不属于所述预设抽样余数时,不抽取所述数据报文。返回步骤101,接收下一个数据报文,重复步骤102至步骤105。
接收网络中传输的每一个数据报文,对每一个数据报文执行上述操作,从网络中传输的大量数据报文中,以会话为基本单位抽取数据报文,实现基于会话对数据报文进行抽样。
可以理解的是,选定所述第一抽样函数,在预设会话抽样比例一定的情况下,所述预设抽样余数中的每一个整数都代表一类待抽样会话中的所有数据报文的五元组信息。假设所述预设抽样余数中的任意一个整数X,基于X所代表的一类待抽样会话中任意一个数据报文的五元组信息,采用所述第一哈希函数计算得到第一哈希值和第二哈希值,所述第一哈希值除以所述预设会话抽样比例的分母所得的余数作为第一余数,所述第二哈希值除以所述预设会话抽样比例的分母所得的余数作为第二余数,则所述第一余数和所述第二余数中有一个即为X。
将从第一网络设备发往第二网络设备的多个数据报文及从所述第二网络设备发往所述第一网络设备的多个数据报文划分到一个组,每个组中的多个数据报文属于同一个会话,每个会话是指两个网络设备之间的通信。因此,对于同一个会话中的不同数据报文来说,基于五元组信息采用所述第一哈希函数计算所得的两个哈希值都相同。因此,除以所述预设会话抽样比例的分母所得的两个余数也相同。若属于一个会话的一个数据报文被抽取,则表示基于该数据报文计算所得的两个余数中,至少有一个余数属于所述预设抽样余数,由于基于该会话中的其他数据报文的五元组信息计算所得的两个余数,与基于被抽取的数据报文的五元组信息计算所得的两个余数相同,即基于该会话中的其他数据报文的五元组信息计算所得的两个余数中,也至少有一个余数属于所述预设抽样余数,则保证所接收的该会话的其他数据报文也会被抽取,实现以会话为基本单位抽取数据报文。
举例说明:假设网络设备A和网络设备B建立的一个会话C,则会话C中从网络设备A向网络设备B发送的数据报文的源IP地址为网络设备A的IP地址,目的IP地址为网络设备B的IP地址,源端口号为网络设备A的端口号,目的端口号为网络设备B的端口号;会话C中从网络设备B向网络设备A发送的数据报文的源IP地址为网络设备B的IP地址,目的IP地址为网络设备A的IP地址,源端口号为网络设备B的端口号,目的端口号为网络设备A的端口号。
将会话C中从网络设备A向网络设备B发送的数据报文的五元组信息按照预设的顺序排列如表3所示,将表3所组成的字符串作为输入,采用所述第
一哈希函数计算所得的第一哈希值为D;将按照预设顺序排列的五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换如表4所示,将表4所组成的字符串作为输入,采用所述第一哈希函数计算所得的第二哈希值为E。
表3、计算第一哈希值的五元组信息排列顺序
表4、计算第二哈希值的五元组信息排列顺序
将会话C中从网络设备B向网络设备A发送的数据报文的五元组信息按照预设的顺序排列如表5所示,将表5所组成的字符串作为输入,表5所示的字符串与表4所示的字符串相同,则采用所述第一哈希函数计算所得的第一哈希值为E;将按照预设顺序排列的五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换如表6所示,将表6所组成的字符串作为输入,表6所示的字符串与表3所示的字符串相同,则采用所述第一哈希函数计算所得的第二哈希值为D。
表5、计算第一哈希值的五元组信息排列顺序
表6、计算第一哈希值的五元组信息排列顺序
则基于会话C中所有数据报文的五元组信息计算所得的哈希值都是D和E,利用两个哈希值D和E,分别计算除以所述预设会话抽样比例的分母所得的两个余数为F和G,则F和G任意一个属于所述预设抽样余数时,属于会话C的所有数据报文都会被抽取。
在另一个实施例中,本发明实施例所述的抽取数据报文的方法,在抽取所
述数据报文前还包括:
提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;
以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;
查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同;
当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
所述预设特征字段,就是从所述数据报文中,所提取的预设位置处,预设偏移长度的字符串,设置所采用的第二哈希函数,并设置每个预设特征字段利用所述第二哈希函数计算得到的预设哈希值。每个预设特征字段的位置,以及偏移长度都可以根据实际需要具体设定。接收到数据报文后,提取预设特征字段,以每个所提取的预设特征字段作为输入,利用所述第二哈希函数分别计算该预设特征字段的哈希值。当每个预设特征字段的哈希值都与该预设特征字段的预设哈希值相等时,抽取所述数据报文。
举例说明:如图2所示,设置i个预设特征字段,分别设置每个预设特征字段的位置以及偏移长度,每个预设特征字段利用所述第二哈希函数计算所得的预设哈希值分别为P1,P2,…,Pi。当接收到数据报文后,从所述数据报文中提取每个预设特征字段,利用所述第二哈希值计算每个预设特征字段的哈希值Q1,Q2,…,Qi,当P1=Q1,P2=Q2,…,Pi=Qi都成立时,抽取所述数据报文。
实际应用中,可以根据实际情况,对预设特征字段进行具体设定。例如,可以根据会话攻击时所接收的数据报文的样本,设置预设特征字段,有效的识别会话攻击。还可以选取源IP地址和目的IP地址作为预设特征字段,抽取特定两个网络设备之间的会话的数据报文。
本发明实施例所提供的抽取数据报文的方法,还可以采用另一种实现方式:接收数据报文,解析所述数据报文的五元组信息,将所述数据报文的五元
组信息按照从大到小排列后作为输入,采用第一哈希函数计算该数据报文的第四哈希值,计算所述数据报文的第四哈希值除以预设会话抽样比例的分母所得的第三余数,查询所述第三余数是否为所述预设抽样余数,当所述第三余数为所述预设抽样余数时,抽取所述数据报文。
采用上述实现方式时,每次接收到数据报文后,只需要将所述数据报文的五元组信息按照从大到小的顺序排列作为输入,计算一次哈希值即可。同一个会话中不同的数据报文的五元组信息按照从大到小的顺序排列后所得到的输入字符串都相同,采用所述第一哈希函数计算得到的第四哈希值相同,除以预设会话抽样比例的分母所得的第三余数也相同,同一个会话中的所有数据包都能够被抽取。当然,具体实现时,还可以按照从小到大的顺序排列,实现方式类似。
由上述内容可知,本发明还有以下有益效果:
通过提取所述数据报文中至少一个预设特征字段,提取每个预设特征字段的哈希值与该预设特征字段的预设哈希值都相同的数据报文,实现有目的性的抽取感兴趣的会话中的数据报文,针对性的识别网络中的会话攻击,或分析网络中特定的会话等。
图3为本发明实施例提供的抽取数据报文的方法流程图,所述方法包括:
步骤301:接收数据报文。
步骤302:解析所述数据报文的五元组信息。
网络***中的网络处理器(Network Processor,NP)依次接收网络中传输的大量的数据报文,每接收到一个数据报文,NP对该数据报文复制,解析复制的数据报文的五元组信息,并将原数据报文按照传输路径转发出去。本领域技术人员可以理解的是,本发明所提供的抽取数据报文的方法,抽取的是复制后的数据报文,而不是在网络中传输的原数据报文,若抽取网络中传输的原数据报文,则目的设备则无法接收到被抽取的数据报文,导致业务错误或业务中断。
网络中传输数据信息的基本单位是数据报文,发送数据报文的网络设备为
源设备,接收数据报文的设备为目的设备。每个数据报文的报文头都携带有五元组信息,五元组信息包括:源设备的源IP地址和源端口号,目的设备的目的IP地址和目的端口号,源设备和目的设备之间传输数据报文所采用的传输层协议号。
步骤303:判断所述数据报文所属的会话是否有其他数据报文已被接收,如果否,执行步骤304;如果是,执行步骤306。
本发明实施例中,当所述数据报文所属的会话有其他数据报文已被接收时,所述数据报文所属的会话为已接收的会话;当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文为该会话中第一个被接收的会话,则所述数据报文所属的会话为新接收的会话。
这里需要说明的是,新接收的会话时一个相对概念,相对于当前所接收的数据报文来说,所述数据报文所属的会话没有其他数据报文已被接收时,则所述数据报文所属的会话即为新接收的会话,对于下一个接收的数据报文来说,由于该新接收的会话已经存在已被接收的数据报文,则该新接收的会话相对于下一个接收的数据报文来说是已接收的会话。
步骤303至少有两种可能的实施方式:
第一种可能的实施方式,所述判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
解析所述数据报文中所携带的标志位;
判断所述标志位是否为SYN标志位;
当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;
当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
携带有SYN标志位的数据报文是两个网络设备建立TCP会话时发送的握手数据报文,即建立TCP会话发送的第一个数据报文。当所述数据报文携带有SYN标志位时,则所述数据报文所属的会话没有其他数据报文已被接收,该会话是新接收的会话;当所述数据报文所携带的标志位不是SYN时,则所述数据
报文所属的会话至少已有携带有SYN标志位的数据报文被接收,该会话时已接收的会话。
第二种可能的实施方式,所述判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
判断所述数据报文的五元组信息是否与第二映射表匹配;
当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;
当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他数据报文已被接收。
所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素。
可以理解的是,所述第二映射表是随着不断接收数据报文而更新得到的。接收第一个数据报文时,没有已接收的会话,第二映射表中没有存储任何信息;随着所接收的数据报文越来越多,即已接收的会话越来越多,第二映射表中存储的已接收会话的五元组信息或Bloom Filter映射元素越来越多。
所述第二映射表中存储有接收所述数据报文前,所有已接收的会话的五元组信息时,所述第二映射表中存储的是每个已接收的会话的第一个被接收的数据报文的五元组信息。遍历所述第二映射表,查询所述数据报文的五元组信息是否与所述第二映射表中存储的一个五元组信息相同,如果是,所述数据报文的五元组信息与所述第二映射表匹配;如果否,将所述数据报文的五元组信息中源IP地址和目的IP地址互换,并且将源端口号和目的端口号互换,得到与所述数据报文属于同一个会话的数据报文的五元组信息,查询该数据报文的五元组信息是否与所述第二映射表中存储的一个五元组信息相同,如果是,所述数据报文的五元组信息与所述第二映射表匹配;如果否,所述数据报文的五元组信息与所述第二映射表不匹配,所述数据报文所属的会话为新接收的会话。
所述第二映射表中只存储有所有已接收的会话的第一个被接收的数据报文的五元组信息,当再接收到所述已接收的会话的其他数据报文时,该数据报
文的源IP地址与已接收会话的第一个被接收的数据报文的源IP地址相同,该数据报文的目的IP地址与已接收会话的第一个被接收的数据报文的目的IP地址相同,该数据报文的源端口号与已接收会话的第一个被接收的数据报文的源端口号相同,该数据报文的目的端口号与已接收会话的第一个被接收的数据报文的目的端口号相同;或者该数据报文的源IP地址与已接收会话的第一个被接收的数据报文的目的IP地址相同,该数据报文的目的IP地址与已接收会话的第一个被接收的数据报文的源IP地址相同,该数据报文的源端口号与已接收会话的第一个被接收的数据报文的目的端口号相同,该数据报文的目的端口号与已接收会话的第一个被接收的数据报文的源端口号相同。
因此,判断所述数据报文的五元组信息是否与所述第二映射表匹配时,若所述数据报文的五元组信息或将数据报文的五元组信息的源IP地址和目的IP地址互换,并且源端口号和目的端口号也互换后所得的五元组信息中,任意一个五元组信息与所述第二映射表中存储的一个五元组信息相同,则所述数据报文的五元组信息是否与所述第二映射表匹配,所述数据报文属于已接收的会话;若两个五元组信息与所述第二映射表中存储的五元组信息都不相同,则所述数据报文的五元组信息与所述第二映射表不匹配,所述数据报文属于新接收的会话。
当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他的数据报文已被接收,所述数据报文属于已接收的会话;当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他的数据报文已被接收,所述数据报文属于新接收的会话,将所述数据报文的五元组信息存储至所述第二映射表中,更新所述第二映射表。
所述第二映射表存储有接收所述数据报文前,以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素时,所述第二映射表为一个Bloom Filter表,以每个已接收的会话的第一个被接收的数据报文的五元组信息作为输入,采用多个预设的哈希函数计算得到多个哈希值,将Bloom Filter表中每个哈希值所对应的位置上的值置1,得到所述第二映射表。
Bloom Filter表是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合。初始状态时,Bloom Filter是一个包含m位的位数组,
如图4(a)所示,每一位都置为0。
为了表达S={x1,x2,…,xn}这样一个n个元素的集合,Bloom Filter使用k个相互独立的哈希函数,分别将集合中的每个元素映射到Bloom Filter表中的m位的位数组{1,…,m}中。对中任意一个元素x,以x为输入,采用第j个哈希函数计算所得的哈希值hj(x)在Bloom Filter表中映射的位置被置为1(1≤j≤k)。这里需要说明的是,如果Bloom Filter表一个位置多次被置为1,那么只有第一次会起作用,后面几次将没有任何效果。
举例说明,若Bloom Filter使用3个相互独立的哈希函数,k=3,则将S中的元素x1和x2映射到Bloom Filter表时,h1(x1),h2(x1)以及h3(x1)在Bloom Filter表中映射的位置被置为1,h1(x2),h2(x2)以及h3(x2)在Bloom Filter表中映射的位置被置为1,如图4(b)所示。相反的,当判断S中的任意一个元素x是否属于Bloom Filter表所表示的集合时,计算h1(x),h2(x)以及h3(x),查询h1(x),h2(x)以及h3(x)在Bloom Filter表中映射的位置是否都被置1,当h1(x),h2(x)以及h3(x)在Bloom Filter表中映射的位置都被置1时,x元素属于Bloom Filter表所表示的集合;当h1(x),h2(x)以及h3(x)在Bloom Filter表中映射的位置有一个为0时,x元素则不属于Bloom Filter表所表示的集合。
这里需要说明的是,Bloom Filter所使用的哈希函数的个数和类型可以根据实际需要自行设定,这里不进行具体限定。
判断所述数据报文的五元组信息是否与第二映射表匹配时,将按照预设的顺序排列的所述数据报文的五元组信息作为输入,采用k个相互独立的哈希函数分别计算得到k个哈希值,查询所述第二映射表中,k个哈希值所对应的位置是否都置1,如果是,所述数据报文的五元组信息与所述第二映射表匹配;如果否,将按照预设顺序排列的的所述数据报文的五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用k个相互独立的哈希函数分别计算得到k个哈希值,查询所述第二映射表中,k个哈希值所对应的位置是否都置1,如果是,所述数据报文的五元组信息与所述第二映射表匹配;如果否,所述数据报文的五元组信息与所述第二映射表不匹配。
所述第二映射表中只存储有以所有已接收的会话的第一个被接收的数据报文的五元组信息作为输入的Bloom Filter元素。当再接收到所述已接收的会话的其他数据报文时,该数据报文的源IP地址与已接收会话的第一个被接收的数据报文的源IP地址相同,该数据报文的目的IP地址与已接收会话的第一个被接收的数据报文的目的IP地址相同,该数据报文的源端口号与已接收会话的第一个被接收的数据报文的源端口号相同,该数据报文的目的端口号与已接收会话的第一个被接收的数据报文的目的端口号相同;或者该数据报文的源IP地址与已接收会话的第一个被接收的数据报文的目的IP地址相同,该数据报文的目的IP地址与已接收会话的第一个被接收的数据报文的源IP地址相同,该数据报文的源端口号与已接收会话的第一个被接收的数据报文的目的端口号相同,该数据报文的目的端口号与已接收会话的第一个被接收的数据报文的源端口号相同。
当将按照预设顺序排列的所述数据报文的五元组信息作为输入计算得到的k个哈希值,以及将按照预设顺序排列的的所述数据报文的五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入计算得到的另外k个哈希值在所述第二映射表中所映射的位置上都至少有一位为0时,所述数据报文的五元组信息与所述第二映射表不匹配所述数据报文属于新接收的会话,将按照预设顺序排列的所述数据报文的五元组信息作为输入所计算得到的k个哈希值映射至所述第二映射表,即将所述第二映射表中k个哈希值所对应的位置都置1,更新所述第二映射表。
在另一个实施例中,第二映射表中存储有接收所述数据报文前,每个已接收的会话的五元组信息作为输入的Bloom Filter映射元素,将每个已接收的会话的五元组信息按照从大到小的顺序排列作为输入,采用多个预设的哈希函数计算得到多个哈希值,将Bloom Filter表中每个哈希值所对应的位置上的值置1,得到所述第二映射表。
判断所述数据报文的五元组信息是否与第二映射表匹配时,将所述数据报文的五元组信息按照从大到小排列作为输入,采用k个相互独立的哈希函数分别计算得到k个哈希值,查询所述第二映射表中,k个哈希值所对应的位置是否都置1,如果是,所述数据报文的五元组信息与所述第二映射表匹配;如果
否,所述数据报文的五元组信息与所述第二映射表不匹配。此实施例中,将已接收会话的五元组信息按照从大到小的顺序排列作为输入,计算k个哈希值映射至Bloom Filter表生成所述第二映射表。由于同一个会话中不同的数据报文的五元组信息按照从大到校的顺序排列所得的字符串都相同,则判断所述数据报文是否与第二映射表匹配时,只需要将所述数据报文的五元组信息按照从大到校的顺序排列作为输入,采用k个哈希函数计算一次k个哈希值即可。
当所述数据报文与所述第二映射表不匹配时,所述数据报文所属的会话没有已被接收的数据报文,该会话为新接收的会话,将所述数据报文的五元组信息按照从大到小的顺序排列作为输入,采用所述k个哈希函数计算得到k个哈希值,将所述第二映射表中k个哈希值所对应的位置都置1,更新所述第二映射表。
这里需要说明的是,在对所述数据报文的五元组信息排序时,还可以按照从小到大的顺序排列。
步骤304:所述数据报文所属的会话为新接收的会话,会话计数值加1,判断所述会话计数值是否等于预设阈值,如果是,执行步骤305;如果否,返回执行步骤301。
按照步骤303判断所述数据报文所属的会话是否有其他数据报文已被接收,当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文所属的会话为新接收的会话,此时,对会话计数值加1,表示所接收到会话增加1。
所述预设阈值是为了控制所抽取的会话的比例,可以根据实际情况自行设定。当会话计数等于预设阈值时,所述数据报文所属的会话为待抽样会话。例如:当所述预设阈值设定为100时,则每100个会话中抽取一个会话。每次所述会话计数值等于预设阈值后,都清零重新计数。当所述会话计数不等于预设阈值时,所述数据报文所属的会话不是待抽样会话,返回执行步骤101,抽取下一个数据报文。
步骤305:所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表,所述第一映射表存储有接
收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素。
当所述数据报文所属的会话没有其他数据报文已被接收,并且会话计数等于预设阈值时,所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表。
当所述第一映射表中存储有已识别的待抽样会话的五元组信息时,将所述数据报文的五元组信息存储至所述第一映射表,更新所述第一映射表。
当所述第一映射表中存储有以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素时,所述利用所述数据报文的五元组信息更新第一映射表包括:
将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;
将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
这里需要说明的是,利用所述数据报文的五元组信息更新第一映射表与步骤303中所述的利用所述数据报文的五元组信息更新第二映射表类似,所述哈希函数组包含k个哈希函数,按照预设的顺序排列所述数据报文的五元组信息,采用k个哈希函数计算得到k个哈希值,将k个哈希值在所述第一映射表中所对应的位置上的值都置1,参考步骤303,这里不再赘述。
在另一个实施例中,第一映射表中存储有接收所述数据报文前,每个已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素,将每个已识别的待抽样会话的五元组信息按照从大到小的顺序排列作为输入,采用多个预设的哈希函数计算得到多个哈希值,将Bloom Filter表中每个哈希值所对应的位置上的值置1,得到所述第一映射表。
判断所述数据报文的五元组信息是否与第一映射表匹配时,将所述数据报文的五元组信息按照从大到小排列作为输入,采用k个相互独立的哈希函数分别计算得到k个哈希值,查询所述第一映射表中,k个哈希值所对应的位置是否都置1,如果是,所述数据报文的五元组信息与所述第一映射表匹配;如果
否,所述数据报文的五元组信息与所述第一映射表不匹配。
此实施例中,将已接收会话的五元组信息按照从大到小的顺序排列作为输入,计算k个哈希值映射至Bloom Filter表生成所述第一映射表。由于同一个会话中不同的数据报文的五元组信息按照从大到小的顺序排列所得的字符串都相同,则判断所述数据报文是否与第一映射表匹配时,只需要将所述数据报文的五元组信息按照从大到校的顺序排列作为输入,采用k个哈希函数计算一次k个哈希值即可。
这里需要说明的是,在对所述数据报文的五元组信息排序时,还可以按照从小到大的顺序排列。
步骤306:所述数据报文所属的会话为已接收会话,判断所述数据报文的五元组信息是否与所述第一映射表匹配,如果是,执行步骤307;如果否,返回执行步骤301。
所述判断所述数据报文的五元组信息是否与所述第一映射表匹配与所述步骤303中所述的判断所述数据报文的五元组信息是否与所述第二映射表匹配类似。
当所述第一映射表存储有已识别的待抽样会话的五元组信息时,判断所述数据报文的五元组信息是否与所述第一映射表匹配,查询所述数据报文的五元组信息是否与所述第一映射表中存储的一个五元组信息相同,如果是,所述数据报文的五元组信息与所述第一映射表匹配;如果否,将所述数据报文的五元组信息的源IP地址和目的IP地址互换,并且将所述数据报文的源端口号和目的端口号互换后得到另一个五元组信息,查询另一个五元组信息是否与所述第一映射表中存储的一个五元组信息相同,如果是,所述数据报文的五元组信息与所述第一映射表匹配;如果否,所述数据报文与所述第一映射表不匹配。
所述第一映射表存储有以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素时,所述判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:
将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为
生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;
查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到的多个哈希值作为第二哈希值组;
从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
步骤306中所采用的哈希函数组中所包含的k个哈希函数与步骤303中所采用的k个哈希函数相同。并且,所述判断所述数据报文的五元组信息是否与所述第一映射表匹配与步骤303类似,参考步骤303中的描述,这里不再赘述。
当所述数据报文所属的会话已有数据报文已被接收,并且所述数据报文的五元组信息与所述第一映射表匹配时,所述数据报文属于已识别的待抽样会话,抽取所述数据报文;当所述数据报文与所述第一映射表不匹配时,所述数据报文不属于已识别的待抽样会话,返回步骤101,接收下一个数据报文。
步骤307:抽取所述数据报文。
本发明实施例所提供的抽取数据报文的方法中,所述第一映射表和所述第二映射表为Bloom Filter表时,与第一映射表和所述第二映射表存储五元组信息相比,可以节省大量的存储空间。下面对第一映射表和所述第二映射表为Bloom Filter表的技术实现作几点说明。
第一,述第一映射表和所述第二映射表为Bloom Filter表时,所采用的哈希函数组中k个哈希函数的选择:
选择k个不同的哈希函数比较复杂,一种简单的方法是选择一个哈希函数,然后设置k种不同的输入。例如:采用对按照预设顺着排列的五元组信息设置k种不同的排列顺序,或者在k个不同的位置添加几位等方式。
第二,m,n和k值的选择
由于Bloom Filter算法来对流表宽度进行压缩,牺牲一部分由于哈希计算冲突引发的误差,来降低对NP资源的消耗。Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。但是,在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合,而在能容忍低错误率的应用场合下,Bloom Filter通过极少的错误换取了存储空间的极大节省。
假设kn<m且各个哈希函数是完全随机的。当集合S={x1,x2,…,xn}的所有元素都被k个哈希函数映射到m位的位数组中时,这个位数组中某一位还是0的概率是:
False Positive的概率是:
当k=ln 2*m/n时,最小误判概率P=(1/2)k。
假设网络的带宽为400G时,正常情况下并发流量是n=10M(极端情况下可以达到50M),为了满足统计偏差低于1%,哈希函数个数k设为7,m值的计算为:m=K*n/(ln2)≈110Mbit=13.75MB,即第一映射表需要占用68.75MB的内存,比直接存储数据报文的五元组信息节省10倍的存储空间。
预设阈值为1000时,会话抽样比为1:1000,需要抽样的并发会话为50K,
在Bloom Filter里面的n=50K,根据之前的推测,需要的m比特为:m=K*n/(ln2)=7*50K/ln2≈550Kbit=70KB。
为了延缓Bloom Filter表溢出的时间,需要倍增Bloom Filter表规模,在这里由于不需要特别精确,可以按照10倍计算,需要700KB的NP内存。因此,第二映射表需要的内存是1.4MByte,比直接存储数据报文的五元组信息节省了500倍的存储空间。
第三,第一映射表和第二映射表的存储方式
所述第一映射表或所述第二映射表由V个子表组成,每个子表的大小为Wbit,每个子表的装载度(装载度被定义成表中为1的比特个数)为α时,每个子表所能表示的会话的个数为:其中k为哈希函数的个数。通过头指针V个子表组成环,循环使用,如图5所示。当一个子表的装载度大于α(或者计数器大于阈值)时,指针PF移向下一个子表,将指针新指向的子表清空,存储新的数值。
图6为本发明实施例提供的抽取数据报文的装置,所述装置包括:
接收单元601,以及与所述接收单元相连的处理单元602。
所述接收单元601,用于接收数据报文,将所述数据报文发送至所述处理单元;
所述处理单元602,用于解析所述数据报文的五元组信息;根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预
设会话抽样比例的分母所得的第二余数;查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
本发明实施例提供的一个实施例中,所述处理单元602,用于抽取所述数据报文前还用于:
提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同;当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
图6所示的抽取数据报文的装置是与图1所示的抽取数据报文的方法所对应的装置,具体实现方式参考图1所示的抽取数据报文的方法中的描述,这里不再赘述。
图7为本发明实施例提供的抽取数据报文的装置,所述装置包括:
接收单元701,以及与所述接收单元相连的处理单元702。
所述接收单元701,用于接收数据报文,将所述数据报文发送至所述处理单元702;
所述处理单元702,用于解析所述数据报文的五元组信息;判断所述数据报文所属的会话是否有其他数据报文已被接收;
当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文所属的会话为新接收的会话,会话计数值加1,判断所述会话计数值是否等于预设阈值,当所述会话计数值等于预设阈值时,所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表;
当所述数据报文所属的会话已有其他数据报文已被接收时,所述数据报文
所属的会话为已接收会话,判断所述数据报文的五元组信息是否与所述第一映射表匹配,当所述数据报文的五元组信息与所述第一映射表匹配时,抽取所述数据报文,所述第一映射表存储有接收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素。
本发明实施例提供的一个实施例中,所述处理单元702,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
解析所述数据报文中所携带的标志位;判断所述标志位是否为SYN标志位;当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
本发明实施例提供的另一个实施例中,所述处理单元702,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
判断所述数据报文的五元组信息是否与第二映射表匹配,所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素;当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他数据报文已被接收。
本发明实施例提供的另一个实施例中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;
所述处理单元702,用于判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:
将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;
查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第二哈希值组;
从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
本发明实施例提供的另一个实施例中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Fi lter映射元素;
所述处理单元702,用于利用所述数据报文的五元组信息更新第一映射表包括:
将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;
将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
图7所示的抽取数据报文的装置是与图3所示的抽取数据报文的方法所对应的装置,具体实现方式参考图3所示的抽取数据报文的方法中的描述,这里不再赘述。
图8为本发明实施例提供的一种抽取数据报文的装置的硬件结构示意图,
所述抽取数据报文的装置包括存储器801和接收器802,以及分别与所述存储器801和所述接收器802连接的处理器803,所述存储器801用于存储一组程序指令,所述处理器803用于调用所述存储器801存储的程序指令执行如下操作:
触发所述接收器802,接收数据报文,将所述数据报文发送至所述处理器803;
触发所述处理器803,解析所述数据报文的五元组信息;根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数;查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
本发明实施例提供的一个实施例中,所述处理器803,用于抽取所述数据报文前还用于:
提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同;当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
图8所示的抽取数据报文的装置是与图1所示的抽取数据报文的方法所对应的装置,具体实现方式参考图1所示的抽取数据报文的方法中的描述,这里不再赘述。
图9为本发明实施例提供的一种抽取数据报文的装置的硬件结构示意图,所述抽取数据报文的装置包括存储器901和接收器902,以及分别与所述存储器901和所述接收器902连接的处理器903,所述存储器901用于存储一组程序指令,所述处理器903用于调用所述存储器901存储的程序指令执行如下操作:
所述接收器902,用于接收数据报文,将所述数据报文发送至所述处理器903;
所述处理器903,用于解析所述数据报文的五元组信息;根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数;查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
本发明实施例提供的一个实施例中,所述处理器902,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
解析所述数据报文中所携带的标志位;判断所述标志位是否为SYN标志位;当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
本发明实施例提供的另一个实施例中,所述处理器902,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:
判断所述数据报文的五元组信息是否与第二映射表匹配,所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素;当所述数据报文的
五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他数据报文已被接收。
本发明实施例提供的另一个实施例中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;
所述处理器902,用于判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:
将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;
查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第二哈希值组;
从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;
当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
本发明实施例提供的另一个实施例中,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter
映射元素;
所述处理器902,用于利用所述数据报文的五元组信息更新第一映射表包括:
将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;
将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
图9所示的抽取数据报文的装置是与图3所示的抽取数据报文的方法所对应的装置,具体实现方式参考图3所示的抽取数据报文的方法中的描述,这里不再赘述。
可选地,所述处理器可以为中央处理器(Central Processing Unit,CPU),所述存储器可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述接收器和所述发送器可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器、发送器、接收器和存储器可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific Integrated Circuit,ASIC)。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以
不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
- 一种抽取数据报文的方法,其特征在于,所述方法包括:接收数据报文;解析所述数据报文的五元组信息;根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源互联网协议IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数;查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
- 根据权利要求1所述的方法,其特征在于,所述抽取所述数据报文前还包括:提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同;当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
- 一种抽取数据报文的方法,其特征在于,所述方法包括:接收数据报文;解析所述数据报文的五元组信息;判断所述数据报文所属的会话是否有其他数据报文已被接收;当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文所属的会话为新接收的会话,会话计数值加1,判断所述会话计数值是否等于预设阈值,当所述会话计数值等于预设阈值时,所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表;当所述数据报文所属的会话已有其他数据报文已被接收时,所述数据报文所属的会话为已接收的会话,判断所述数据报文的五元组信息是否与所述第一映射表匹配,当所述数据报文的五元组信息与所述第一映射表匹配时,抽取所述数据报文,所述第一映射表存储有接收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素。
- 根据权利要求3所述的方法,其特征在于,所述判断所述数据报文所属的会话是否有其他数据报文已被接收包括:解析所述数据报文中所携带的标志位;判断所述标志位是否为SYN标志位;当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
- 根据权利要求3所述的方法,其特征在于,所述判断所述数据报文所属的会话是否有其他数据报文已被接收包括:判断所述数据报文的五元组信息是否与第二映射表匹配,所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素;当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文 所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他数据报文已被接收。
- 根据权利要求3-5任意一项所述的方法,其特征在于,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;所述判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第二哈希值组;从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
- 根据权利要求3-6任意一项所述的方法,其特征在于,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;所述利用所述数据报文的五元组信息更新第一映射表包括:将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
- 一种抽取数据报文的装置,其特征在于,所述装置包括:接收单元,以及与所述接收单元相连的处理单元;所述接收单元,用于接收数据报文,将所述数据报文发送至所述处理单元;所述处理单元,用于解析所述数据报文的五元组信息;根据所述五元组信息采用第一哈希函数计算所述数据报文的第一哈希值和第二哈希值,所述第一哈希值是将按照预设的顺序排列的所述五元组信息作为输入,采用所述第一哈希函数计算所得的哈希值,所述第二哈希值是将按照预设顺序排列的所述五元组信息中,源IP地址和目的IP地址互换,并且源端口号和目的端口号互换后作为输入,采用所述第一哈希函数计算所得的哈希值;计算所述第一哈希值除以预设会话抽样比例的分母所得的第一余数,计算所述第二哈希值除以预设会话抽样比例的分母所得的第二余数;查询所述第一余数或所述第二余数是否为预设抽样余数,所述预设抽样余数的个数与所述预设抽样比例的分子值相同;当所述第一余数或所述第二余数为所述预设抽样余数时,抽取所述数据报文。
- 根据权利要求8所述的装置,其特征在于,所述处理单元,用于抽取所述数据报文前还用于:提取所述数据报文中至少一个预设特征字段,所述预设特征字段是所述数据报文中预设位置处,预设偏移长度的字符串;以每个所述预设特征字段作为输入,采用所述第二哈希函数计算该预设特征字段的特征哈希值;查询是否每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同;当每个预设特征字段的特征哈希值都与该预设特征字段的预设哈希值相同时,抽取所述数据报文。
- 一种抽取数据报文的装置,其特征在于,所述装置包括:接收单元,以及与所述接收单元相连的处理单元;所述接收单元,用于接收数据报文,将所述数据报文发送至所述处理单元;所述处理单元,用于解析所述数据报文的五元组信息;判断所述数据报文所属的会话是否有其他数据报文已被接收;当所述数据报文所属的会话没有其他数据报文已被接收时,所述数据报文所属的会话为新接收的会话,会话计数值加1,判断所述会话计数值是否等于预设阈值,当所述会话计数值等于预设阈值时,所述数据报文属于新识别的待抽样会话,抽取所述数据报文,并利用所述数据报文的五元组信息更新第一映射表;当所述数据报文所属的会话已有其他数据报文已被接收时,所述数据报文所属的会话为已接收会话,判断所述数据报文的五元组信息是否与所述第一映射表匹配,当所述数据报文的五元组信息与所述第一映射表匹配时,抽取所述数据报文,所述第一映射表存储有接收所述数据报文前,所有已识别的待抽样会话的五元组信息或以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素。
- 根据权利要求10所述的装置,其特征在于,所述处理单元,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:解析所述数据报文中所携带的标志位;判断所述标志位是否为SYN标志位;当所述标志位是SYN标志位时,所述数据报文所属的会话没有其他数据报文已被接收;当所述标志位不是SYN标志位时,所述数据报文所属的会话已有其他数据报文已被接收。
- 根据权利要求10所述的装置,其特征在于,所述处理单元,用于判断所述数据报文所属的会话是否有其他数据报文已被接收包括:判断所述数据报文的五元组信息是否与第二映射表匹配,所述第二映射表存储有接收所述数据报文前,所有已接收的会话的五元组信息或以所有已接收的会话的五元组信息作为输入的Bloom Filter映射元素;当所述数据报文的五元组信息与所述第二映射表不匹配时,所述数据报文所属的会话没有其他数据报文已被接收,利用所述数据报文的五元组信息更新所述第二映射表;当所述数据报文的五元组信息与所述第二映射表匹配时,所述数据报文所属的会话已有其他数据报文已被接收。
- 根据权利要求10-12任意一项所述的装置,其特征在于,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;所述处理单元,用于判断所述数据报文的五元组信息是否与所述第一映射表匹配包括:将按照预设的顺序排列的所述数据报文的五元组信息作为输入,利用预设哈希函数组计算得到第多个哈希值作为第一哈希值组,所述预设哈希函数组为生成第一映射表时所采用的哈希函数组,包括多个预设的哈希函数;查询所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值是否都是1;当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;当所述第一映射表中所述第一哈希值组中每个哈希值对应位置的值不都是1时,将按照预设的顺序排列的所述数据报文的五元组信息中,源IP地址和目的IP地址的位置互换,并且将源端口号和目的端口号的位置互换作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第二哈希值组;从所述第一映射表中查询所述第二哈希值组中每个哈希值对应位置的值是否都是1;当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值都是1时,所述数据报文的五元组信息与所述第一映射表匹配;当所述第一映射表中所述第二哈希值组中每个哈希值对应位置的值不都是1时,所述数据报文的五元组信息与所述第一映射表不匹配。
- 根据权利要求10-13任意一项所述的方法,其特征在于,所述第一映射表存储有接收所述数据报文前,以所有已识别的待抽样会话的五元组信息作为输入的Bloom Filter映射元素;所述处理单元,用于利用所述数据报文的五元组信息更新第一映射表包括:将按照预设顺序排列的所述数据报文的五元组信息作为输入,利用所述预设哈希函数组计算得到第多个哈希值作为第三哈希值组;将所述第一映射表中所述第三哈希值组中每个哈希值对应位置的值都置1。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/095639 WO2016106591A1 (zh) | 2014-12-30 | 2014-12-30 | 一种抽取数据报文的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107113282A true CN107113282A (zh) | 2017-08-29 |
Family
ID=56283867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480084454.XA Pending CN107113282A (zh) | 2014-12-30 | 2014-12-30 | 一种抽取数据报文的方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170300595A1 (zh) |
EP (1) | EP3232630A4 (zh) |
CN (1) | CN107113282A (zh) |
IL (1) | IL253253A0 (zh) |
WO (1) | WO2016106591A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737699A (zh) * | 2019-10-15 | 2020-01-31 | 秒针信息技术有限公司 | 用户抽样方法、装置、电子设备和存储介质 |
CN112486914A (zh) * | 2020-11-27 | 2021-03-12 | 神州灵云(北京)科技有限公司 | 一种数据包存储与快查方法与*** |
CN112532444A (zh) * | 2020-11-26 | 2021-03-19 | 上海阅维科技股份有限公司 | 用于网络镜像流量的数据流采样方法、***、介质及终端 |
CN112866275A (zh) * | 2021-02-02 | 2021-05-28 | 杭州安恒信息安全技术有限公司 | 一种流量抽样方法、装置和计算机可读存储介质 |
CN113595822A (zh) * | 2021-07-26 | 2021-11-02 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、***和装置 |
CN114039968A (zh) * | 2021-11-05 | 2022-02-11 | 上海商汤科技开发有限公司 | 资源包上传方法及装置、电子设备和存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637831B (zh) * | 2013-12-12 | 2019-04-19 | Nec实验室欧洲有限公司 | 用于分析数据流的方法和*** |
US10827484B2 (en) | 2014-12-12 | 2020-11-03 | Qualcomm Incorporated | Traffic advertisement in neighbor aware network (NAN) data path |
US10820314B2 (en) | 2014-12-12 | 2020-10-27 | Qualcomm Incorporated | Traffic advertisement in neighbor aware network (NAN) data path |
CN109361609B (zh) * | 2018-12-14 | 2021-04-20 | 东软集团股份有限公司 | 防火墙设备的报文转发方法、装置、设备及存储介质 |
CN111404770B (zh) * | 2020-02-29 | 2022-11-11 | 华为技术有限公司 | 网络设备、数据处理方法、装置、***及可读存储介质 |
CN114584482B (zh) * | 2022-02-14 | 2023-09-08 | 阿里巴巴(中国)有限公司 | 基于内存存储检测数据的方法、装置以及网卡 |
CN114615355B (zh) * | 2022-05-13 | 2022-10-04 | 恒生电子股份有限公司 | 报文处理方法以及报文解析模块 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030081600A1 (en) * | 2001-10-30 | 2003-05-01 | Blaker David M. | Methods, systems and computer program products for packet ordering for parallel packet transform processing |
US20040032829A1 (en) * | 1999-08-25 | 2004-02-19 | Bonn David Wayne | Network packet classification |
US20040240447A1 (en) * | 2003-05-28 | 2004-12-02 | Dorbolo Riccardo G. | Method and system for identifying bidirectional packet flow |
CN101119246A (zh) * | 2007-09-20 | 2008-02-06 | 杭州华三通信技术有限公司 | 数据包抽样统计的方法及装置 |
CN101707617A (zh) * | 2009-12-04 | 2010-05-12 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
CN102801624A (zh) * | 2012-08-16 | 2012-11-28 | 中国人民解放军信息工程大学 | 一种网络数据流抽样方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100446486C (zh) * | 2007-05-11 | 2008-12-24 | 北京工业大学 | 网络流行为的行为分析参数的提取方法 |
US7957396B1 (en) * | 2008-01-29 | 2011-06-07 | Juniper Networks, Inc. | Targeted flow sampling |
US7957315B2 (en) * | 2008-12-23 | 2011-06-07 | At&T Intellectual Property Ii, L.P. | System and method for sampling network traffic |
CN101656677B (zh) * | 2009-09-18 | 2011-11-16 | 杭州迪普科技有限公司 | 一种报文分流处理方法及装置 |
CN101707619B (zh) * | 2009-12-10 | 2012-11-21 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
CN103368952A (zh) * | 2013-06-28 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 用于待入侵检测处理的数据包进行抽样的方法与设备 |
-
2014
- 2014-12-30 CN CN201480084454.XA patent/CN107113282A/zh active Pending
- 2014-12-30 EP EP14909402.1A patent/EP3232630A4/en not_active Withdrawn
- 2014-12-30 WO PCT/CN2014/095639 patent/WO2016106591A1/zh active Application Filing
-
2017
- 2017-06-29 IL IL253253A patent/IL253253A0/en unknown
- 2017-06-30 US US15/639,180 patent/US20170300595A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040032829A1 (en) * | 1999-08-25 | 2004-02-19 | Bonn David Wayne | Network packet classification |
US20030081600A1 (en) * | 2001-10-30 | 2003-05-01 | Blaker David M. | Methods, systems and computer program products for packet ordering for parallel packet transform processing |
US20040240447A1 (en) * | 2003-05-28 | 2004-12-02 | Dorbolo Riccardo G. | Method and system for identifying bidirectional packet flow |
CN101119246A (zh) * | 2007-09-20 | 2008-02-06 | 杭州华三通信技术有限公司 | 数据包抽样统计的方法及装置 |
CN101707617A (zh) * | 2009-12-04 | 2010-05-12 | 福建星网锐捷网络有限公司 | 报文过滤方法、装置及网络设备 |
CN102801624A (zh) * | 2012-08-16 | 2012-11-28 | 中国人民解放军信息工程大学 | 一种网络数据流抽样方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737699A (zh) * | 2019-10-15 | 2020-01-31 | 秒针信息技术有限公司 | 用户抽样方法、装置、电子设备和存储介质 |
CN112532444A (zh) * | 2020-11-26 | 2021-03-19 | 上海阅维科技股份有限公司 | 用于网络镜像流量的数据流采样方法、***、介质及终端 |
CN112532444B (zh) * | 2020-11-26 | 2023-02-24 | 上海阅维科技股份有限公司 | 用于网络镜像流量的数据流采样方法、***、介质及终端 |
CN112486914A (zh) * | 2020-11-27 | 2021-03-12 | 神州灵云(北京)科技有限公司 | 一种数据包存储与快查方法与*** |
CN112486914B (zh) * | 2020-11-27 | 2024-04-12 | 神州灵云(北京)科技有限公司 | 一种数据包存储与快查方法与*** |
CN112866275A (zh) * | 2021-02-02 | 2021-05-28 | 杭州安恒信息安全技术有限公司 | 一种流量抽样方法、装置和计算机可读存储介质 |
CN113595822A (zh) * | 2021-07-26 | 2021-11-02 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、***和装置 |
CN113595822B (zh) * | 2021-07-26 | 2024-03-22 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、***和装置 |
CN114039968A (zh) * | 2021-11-05 | 2022-02-11 | 上海商汤科技开发有限公司 | 资源包上传方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
IL253253A0 (en) | 2017-08-31 |
EP3232630A4 (en) | 2018-04-11 |
US20170300595A1 (en) | 2017-10-19 |
EP3232630A1 (en) | 2017-10-18 |
WO2016106591A1 (zh) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107113282A (zh) | 一种抽取数据报文的方法及装置 | |
US8923152B2 (en) | Random data stream sampling | |
US9716661B2 (en) | Methods and apparatus for path selection within a network based on flow duration | |
US10812524B2 (en) | Method, and devices for defending distributed denial of service attack | |
CN107438994B (zh) | 用于服务器负载均衡的方法、设备和计算机存储介质 | |
US9602428B2 (en) | Method and apparatus for locality sensitive hash-based load balancing | |
KR101371858B1 (ko) | 복수의 데이터를 프로세싱하기 위한 방법 및 통신 패킷들을 스위칭하기 위한 스위칭 디바이스 | |
CN117176486A (zh) | 网络信息传输*** | |
Rottenstreich | Lossy compression of packet classifiers | |
WO2023103231A1 (zh) | 一种低速DDoS攻击检测方法、***及相关设备 | |
US20160248652A1 (en) | System and method for classifying and managing applications over compressed or encrypted traffic | |
CN108460044B (zh) | 数据的处理方法和装置 | |
CN113783664A (zh) | 消息传输方法和消息传输装置 | |
US10528403B2 (en) | Adaptive event aggregation | |
EP3264716B1 (en) | State transition compression mechanism to efficiently compress dfa based regular expression signatures | |
Gunadi et al. | Bro covert channel detection (BroCCaDe) framework: scope and background | |
Martins et al. | Using probabilistic data structures for monitoring of multi-tenant P4-based networks | |
CN114095265A (zh) | Icmp隐蔽隧道检测方法、装置及计算机设备 | |
US20140204786A1 (en) | Method for asynchronous calculation of network traffic rates based on randomly sampled packets | |
CN112511449A (zh) | 一种报文流乱序检测方法、报文处理方法及装置 | |
CN112839018B (zh) | 一种度数值生成方法以及相关设备 | |
Baker et al. | Finding needles in haystacks (the size of countries) | |
US20240113729A1 (en) | System and method for data compression with homomorphic encryption | |
WO2022049751A1 (ja) | コネクション数計測装置、方法、およびプログラム | |
JP4112590B2 (ja) | 異なり数上位nキーの推定方法および推定システム |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170829 |