CN108063692B - 流量识别方法及装置 - Google Patents
流量识别方法及装置 Download PDFInfo
- Publication number
- CN108063692B CN108063692B CN201610982517.4A CN201610982517A CN108063692B CN 108063692 B CN108063692 B CN 108063692B CN 201610982517 A CN201610982517 A CN 201610982517A CN 108063692 B CN108063692 B CN 108063692B
- Authority
- CN
- China
- Prior art keywords
- data packet
- service label
- service
- tuple information
- label
- 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
Classifications
-
- 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/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种业务流量识别方法及装置,所述方法包括:提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;根据提取结果,确定所述第n数据包的业务标签;当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签;其中,所述m为不小于1的整数。依据第n数据包自身提取的业务字段,若不能确定出其业务本标签,则先缓存该数据包,并利用其后续数据包的业务标签,对其业务标签进行识别,可以提升识别成功率和准确度。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种流量识别及装置。
背景技术
现有技术方案中,深度报文检测(Deep Packet Inspection,DPI)时按照数据包进行特征提取和流量统计,由于存在业务流量的前几个数据包,不带有业务特征、或与特征库中的业务特征不匹配的情况,所以导致识别结果中,前几个无特征的数据包的流量无法被识别,进而造成DPI对数据流量识别准确性及识别成功率低的问题。
发明内容
有鉴于此,本发明实施例期望提供一种业务流量识别方法及装置,至少部分解决上述问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种业务流量识别方法,包括:
提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;
根据提取结果,确定所述第n数据包的业务标签;
当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;
当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签;其中,所述m为不小于1的整数。
基于上述方案,所述当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包,包括:
当根据所述提取结果无法确定所述第n数据包的业务标签时,将所述第n数据包发送给缓存服务器缓存。
基于上述方案,所述当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签,包括:
当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;
将所述第n+m数据包的五元组信息发送给缓存服务器;
接收所述缓存服务器确定出第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配时,返回的所述第n数据包;
根据所述第n+m数据包的业务标签标记所述第n数据包的业务标签。
基于上述方案,所述将所述第n+m数据包的五元组信息发送给缓存服务器,包括:
在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息;
将写入了所述第n+m数据包的五元组信息的TCP数据包发送给所述缓存数据包。
基于上述方案,所述当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包,包括:
当根据所述提取结果无法确定所述第n数据包的业务标签时,在本地数据库中缓存所述第n数据包。
基于上述方案,所述当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签,包括:
当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;
将所述五元组信息与所述第n数据包的五元组信息进行匹配,
当所述第n数据包的五元组与所述第n+m数据包的五元组匹配时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签。
本发明实施例第二方面提供一种业务流量识别方法,包括:
接收识别设备发送的无法识别的第n数据包;其中,所述n为不小于1的整数;
缓存所述第n数据包;
当所述识别设备检测到与所述第n数据包属于同一业务流的第n+m数据包时,将所述第n数据包返回给所述识别设备,其中,所述第n数据包用于所述识别设备根据所述第n+m数据包的业务标签进行业务标签的确定。
基于上述方案,所述当所述识别设备检测到与所述第n数据包属于同一业务流的第n+m数据包时,将所述第n数据包返回给所述识别设备,还包括:
接收所述识别设备发送的所述第n+m数据包的五元组信息;
将第n+m数据包的五元组信息与缓存的第n数据包的五元组信息进行匹配;
当所述第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配成功时,将所述第n数据包发送给所述识别设备。
本发明实施例第三方面提供一种业务流量识别装置,包括:
提取单元,用于提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;
第一确定单元,用于根据提取结果,确定所述第n数据包的业务标签;
第一缓存单元,用于当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;
第二确定单元,用于当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签;其中,所述m为不小于1的整数。
基于上述方案,所述第一缓存单元,具体用于当根据所述提取结果无法确定所述第n数据包的业务标签时,将所述第n数据包发送给缓存服务器缓存。
基于上述方案,所述第二确定单元,用于当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;将所述第n+m数据包的五元组信息发送给缓存服务器;接收所述缓存服务器确定出第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配时,返回的所述第n数据包;根据所述第n+m数据包的业务标签标记所述第n数据包的业务标签。
基于上述方案,所述第二确定单元,具体用于在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息;将写入了所述第n+m数据包的五元组信息的TCP数据包发送给所述缓存数据包。
基于上述方案,所述第一缓存单元,具体用于当根据所述提取结果无法确定所述第n数据包的业务标签时,在本地数据库中缓存所述第n数据包。
基于上述方案,所述第二确定单元,具体用于当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;将所述五元组信息与所述第n数据包的五元组信息进行匹配,当所述第n数据包的五元组与所述第n+m数据包的五元组匹配时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签。
本发明实施例第四方面提供一种业务流量识别装置,包括:
接收单元,用于接收识别设备发送的无法识别的第n数据包;其中,所述n为不小于1的整数;
第二缓存单元,用于缓存所述第n数据包;
发送单元,用于当所述识别设备检测到与所述第n数据包属于同一业务流的第n+m数据包时,将所述第n数据包返回给所述识别设备,其中,所述第n数据包用于所述识别设备根据所述第n+m数据包的业务标签进行业务标签的确定。
基于上述方案,所述接收单元,还用于接收所述识别设备发送的所述第n+m数据包的五元组信息;
所述装置,还包括:
匹配单元,用于将第n+m数据包的五元组信息与缓存的第n数据包的五元组信息进行匹配;
所述发送单元,具体用于当所述第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配成功时,将所述第n数据包发送给所述识别设备。
本发明实施例提供的业务流量识别方法及装置,在依据第n数据包自身提取的业务字段,若不能确定出其业务本标签,则先缓存该数据包,并利用其后续接收的与其属于同一个业务流的第n+m数据包的业务标签,作为第n数据包的业务标签。一旦业务标签确定了,则实现了第n数据包的业务流量的识别,显然可以识别现有技术中无法进行业务流量数据包的识别,提升了识别的成功率及准确率。
附图说明
图1为本发明实施例提供的第一种业务流量识别方法的流程示意图;
图2为本发明实施例提供的第二种业务流量识别方法的流程示意图;
图3为本发明实施例提供的第一种业务流量识别装置的结构示意图;
图4为本发明实施例提供的第二种业务流量识别装置的结构示意图;
图5为本发明实施例提供的第三种业务流量识别方法的流程示意图;
图6为本发明实施例提供的第四种业务流量识别方法的流程示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
如图1所示,本实施例提供一种业务流量识别方法,包括:
步骤S110:提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;
步骤S120:根据提取结果,确定所述第n数据包的业务标签;
步骤S130:当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;
步骤S140:当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签;其中,所述m为不小于1的整数。
本实施例所述的业务流量识别方法可为应用于DPI设备中的识别方法。
在本实施例中所述DPI设备接收到数据包之后,会提取数据包中的业务特征;将该业务特征与特征库中的业务特征进行匹配,若匹配成功,则可直接根据业务特征库中业务特征与业务标签的对应关系,确定该数据包的业务标签,并标记该数据包的业务标签,完成数据包的流量统计。在本实施例中所述业务标签为指示对应数据包归属哪一个业务的指示信息。
但是在某些情况下有些流量的头几个数据包或有些数据包的业务特征丢失或直接未携带,此时,在本实施例中并不直接丢弃该数据包或放行该数据包,而是先缓存该数据包或在放行的同时缓存该数据包。放行数据包的同时缓存数据包,这样的话,相对于识别出来之后再放行数据包,可以减少数据包的传输时延,同时因为缓存了数据包,通过后续步骤进行了数据包的业务标签的识别,可以提升识别成功率和准确度。
具体地如,在步骤S110中提取第n数据包的业务特征形成的提取结果有两种,一种是提取到业务特征,例如,提取到业务标识;另一种未提取到业务特征,例如,数据包中未设置业务特征字段或业务特征字段未空。
在步骤S120中,若未提取到业务特征,显然就确定第n数据包不能被识别;若提取到业务特征,则将该业务特征与业务特征库中的业务特征进行匹配,从而确定第n数据包的业务特征。
在本实施例中,对应为步骤S130中缓存第n数据包。在本实施例中缓存所述第n数据包可为缓存在识别设备的本地数据库中,也可以缓存在于DPI等识别设备连接的缓存服务器中。
在步骤S140中继续对数据包进行识别,会继续对第n数据包的后续数据包执行步骤S110至步骤S130。若发现第n+m个数据包的业务标签确定了,则判断第n+m数据包和第n数据包是否属于同一个业务流,若属于同一个业务流,显然这两个数据包的业务标签应该是一致的,故在本实施例中利用该特点,将在确定出与第n数据包属于同一业务流的第n+m数据包的业务流时,将所述第n+m数据包的业务标签,作为第n数据包的业务标签进行业务识别和/或流量统计,从而减少不能识别业务标签的数据包的数量,提升识别准确度和成功率。
缓存所述第n数据包的方式有多种,以下提供两种可选方式:
可选方式一:
所述步骤S130可包括:
当根据所述提取结果无法确定所述第n数据包的业务标签时,将所述第n数据包发送给缓存服务器缓存。
这样的话,DPI设备等识别设备是将不能够被识别的第n数据包,发送给缓存服务器,由缓存服务器进行缓存。这样识别设备就不用自行缓存。
对应地,所述步骤S140可包括:
当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;
将所述第n+m数据包的五元组信息发送给缓存服务器;
接收所述缓存服务器确定出第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配时,返回的所述第n数据包;
根据所述第n+m数据包的业务标签标记所述第n数据包的业务标签。
在数据包的传输过程中,通常数据包的包头中会携带有该数据包来源端和目的端,可以分别由源IP地址、源端口、目的IP地址和目的端口来标识。通常该数据包在传输时遵守哪些通信协议,可以由所述通信协议来指示。例如,TCP数据包使用的传输协议为TPC协议,所述通信协议标识为所述TCP协议的标识信息等。
若两个数据包的五元组相同,通常表示这两个数据包属于同一个业务流,在本实施例中根据该特点,进行所述第n+m数据包和第n数据包是否属于同一个业务流的判断。由于第n数据包是缓存在缓存服务器中的,所述识别设备会提取所述第n+m数据包的五元组信息,并发送给缓存服务器,用于缓存服务器与其缓存的数据包的五元组信息的匹配,若匹配成功,则缓存服务器会返回对应的数据包,这样在步骤S140中,所述识别设备会根据第n+m数据包的业务标签,对第n数据包进行业务标签的标记,从而实现了仅根据数据包本身提取的信息无法识别业务标签的数据包的识别,提升了数据包的业务标签的识别成功率和准确率。
本实施例中,所述识别设可与所述缓存服务器建立传输控制协议(TransmissionControl Protocol,TCP)连接;这样可以通过TCP连接通过传输遵守TCP协议的TCP数据包向缓存服务器发送所述五元组信息。
在本实施例中,所述将所述第n+m数据包的五元组信息发送给缓存服务器,包括:
在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息;
将写入了所述第n+m数据包的五元组信息的TCP数据包发送给所述缓存数据包。
以下为一个以选项(option)字段中增加五元组信息的示意表。
所述kind为类型值字段。上述option字段的一个举例,具体实现时,不局限于上述举例。例如,源IP地址、目的IP地址、源端口、目标端口及通信协议标识对应的字节数,不局限于上述举例。
总之,DPI设备等识别设备与缓存服务器之间建立TCP连接,DPI设备将流的五元组信息写入TCP协议扩展选项字段,该扩展的option的Kind可以是一个目前未使用的值。缓存服务器收到DPI设备发来的TCP消息,检测到TCP报文携带有该扩选项,即提取扩展选项字段中的五元组信息,与已存储的数据包的五元组信息比对,如有匹配的数据包,则将数据包封装在TCP协议中传送回识别设备,由识别设备进行业务流量统计。
可选方式二:
在本实施例中所述识别设备可在本地设置本地数据库,将暂时未识别出的第n数据包缓存在本地数据库中,具体为:所述步骤S130可包括:当根据所述提取结果无法确定所述第n数据包的业务标签时,在本地数据库中缓存所述第n数据包。
对应的,这样在执行步骤S140时可为:当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;
将所述五元组信息与所述第n数据包的五元组信息进行匹配,其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;
当所述第n数据包的五元组与所述第n+m数据包的五元组匹配时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签。
这样的话,识别设备在本地就可以执行所述五元组信息的匹配,从而判别出所述第n数据包和第n+m数据包是否属于同一个业务流。
当然,在判断所述第n数据包和第n+m数据包是否属于同一个业务流,还可以根据两个数据包正文内容的关联性来确定,例如,查看两个内容的关联性,通过数据包的正文部分的主旨或摘要的提取,确定第n数据包和第n+m数据包是否属于同一个业务流。但是相对与两个数据包的五元组信息的提取和匹配,具有信息提取量小、处理简便及确定结果精确的特点。
此外,通常若一个缓存的数据包被识别之后,为了减少缓存的占用,提升缓存的有效利用率,在本实施例中,缓存服务器或所述识别设备的本地数据库会删除已根据第n+m数据包识别出业务标签的第n数据包,方便后续暂时未被识别出的数据包的缓存。在本实施例中所述缓存第n数据包包括将所述第n数据包存储缓存cache中,也可以包括存储在其他存储介质中,例如,只读存储介质ROM、随机存储介质RAM或闪存Flash中。在本实施例中优选为存储在缓存中,这样可以提升两个数据包是否是同一个业务流的确定以及业务标识的添加等处理操作。
如图2所示,本实施例提供一种业务流量识别方法,包括:
步骤S210:接收识别设备发送的无法识别的第n数据包;其中,所述n为不小于1的整数;
步骤S220:缓存所述第n数据包;
步骤S230:当所述识别设备检测到与所述第n数据包属于同一业务流的第n+m数据包时,将所述第n数据包返回给所述识别设备,其中,所述第n数据包用于所述识别设备根据所述第n+m数据包的业务标签进行业务标签的确定。
本实施例可为应用于缓存数据库中的业务流量识别方法。此处的缓存服务器辅助前述识别设备的业务流量的识别。
在步骤S210中缓存服务器会从识别设备处接收到识别设备暂时未识别出业务标签的人数据包。并在步骤S220中缓存所述第n数据包,这里的缓存所述第n数据包可包括将所述第n数据包存储在缓存介质中或随机存储介质或闪存等存储介质中。
在步骤S230会在确定出设别设备接收第n数据包之后的第n+m数据包的业务标签,且第n+m数据包与第n数据包的属于同一个业务流,则根据第n+m数据包的业务标签,确定将对应的第n数据包发送给识别设备,方便识别设备对第n数据包的识别。
在一些实施例中,所述步骤S230可包括:
接收所述识别设备发送的所述第n+m数据包的五元组信息;
将第n+m数据包的五元组信息与缓存的第n数据包的五元组信息进行匹配;
当所述第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配成功时,将所述第n数据包发送给所述识别设备。
在本实施例中所述缓存服务器从识别设备接收已经识别出业务标签的第n+m数据包的五元组信息,与缓存数据库中缓存的数据包的五元组信息进行匹配,若匹配成功,则认为存在第n数据包与第n+m数据包属于同一个业务流,并将对应的第n数据包发送给识别设备,方便识别设备的业务标签的标记和流量统计。
如图3所示,本实施例提供一种业务流量识别装置,包括:
提取单元110,用于提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;
第一确定单元120,用于根据提取结果,确定所述第n数据包的业务标签;
第一缓存单元130,用于当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;
第二确定单元140,用于当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签;其中,所述m为不小于1的整数。
本实施例中所述业务流量识别装置可为应用于识别设备中,例如,应用于DPI设备中。
所述提取单元110可用于提取所述第n数据包的业务特征,例如,从所述数据包的包头中提取业务字段会或业务标识信息。
所述第一确定单元120将根据提取结果,确定第n数据包的业务标签,例如,根据业务字段或业务标识信息确定第n数据包的业务标签。
所述第一缓存单元130用于暂时未识别成功的数据包的缓存。
所述第二确定单元140,具体根据第n数据包与其属于同一个业务流的第n+m数据包的业务标签,确定出第n数据包的业务标签。
在本实施例中所述提取单元、第一确定单元120、第一缓存单元130及第二确定单元140都可对应于处理器或处理电路。所述处理器可包括中央处理器CPU、数字信号处理器DSP、微处理器MCU、应用处理器AP或可编程阵列PLC。所述处理电路可包括专用集成电路。
所述处理器或处理电路通过可执行代码的执行,可以缓存暂时未识别出的数据包,再根据后续的数据包的业务识别结果,确定第n数据包的业务标签,实现对第n数据包的识别,提升第n数据包的识别成功率及准确度。
在一些实施例中,所述第一缓存单元130,具体用于当根据所述提取结果无法确定所述第n数据包的业务标签时,将所述第n数据包发送给缓存服务器缓存。
在本实施例中所述第一缓存单元130可对应于通信接口,该通信即可与缓存服务器进行通信,可以将所述第n数据包发送给所述缓存服务器进行远程缓存。
若将所述第n数据包缓存在缓存服务器中,则所述第二确定单元140,用于当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;将所述第n+m数据包的五元组信息发送给缓存服务器;接收所述缓存服务器确定出第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配时,返回的所述第n数据包;根据所述第n+m数据包的业务标签标记所述第n数据包的业务标签。
此时,所述第二确定单元140同样对应于所述通信接口,则所述通过向将所述第n+m数据包的五元组信息发送给缓存服务器,方便缓存服务器的比对,确定出第n数据包是否与第n+m数据包属于同一个业务流,若第n数据包与第n+m数据包属于同一个业务流,则还会利用该通信接口,接收到对应的第n数据包,实现对表征第n数据包所归属业务的业务标签的确定。所述业务标签可用于指示一个业务和/或业务类型。
所述第二确定单元140,具体用于在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息;将写入了所述第n+m数据包的五元组信息的TCP数据包发送给所述缓存数据包。在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息,并通过所述TCP连接发送所述TCP数据包,这样缓存服务器在接收到所述TCP数据包之后,就可以简便的提取到所述五元组信息。
在另一些实施例中,所述第一缓存单元130,具体用于当根据所述提取结果无法确定所述第n数据包的业务标签时,在本地数据库中缓存所述第n数据包。
在本实施例中所述第一缓存单元130可对应于本地存储介质,该本地存储介质可用于存储数据,形成本地数据库。在本实施例中所述第一缓存单元130将所述第n数据包缓存在本地数据库中。同样实现了第n数据包的缓存。进一步地则此时,所述第二确定单元140,具体用于当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;将所述五元组信息与所述第n数据包的五元组信息进行匹配,当所述第n数据包的五元组与所述第n+m数据包的五元组匹配时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签。
在本实施例中,应用于识别装置中的业务流量,可以通过本地缓存和本地匹配,就能够暂缓第n数据包的缓存和最终的业务标签的确定,具有实现简便的特点。
如图4所示,本实施例提供一种业务流量识别装置,包括:
接收单元210,用于接收识别设备发送的无法识别的第n数据包;其中,所述n为不小于1的整数;
第二缓存单元220,用于缓存所述第n数据包;
发送单元230,用于当所述识别设备检测到与所述第n数据包属于同一业务流的第n+m数据包时,将所述第n数据包返回给所述识别设备,其中,所述第n数据包用于所述识别设备根据所述第n+m数据包的业务标签进行业务标签的确定。
本实施例中提供的业务流量识别装置可为应用于缓存服务器中。该换缓存服务器可与所述识别装置之间建立有连接,例如,TCP连接。通过TCP连接的建立,可以与识别设备进行各种信息的交互。
所述接收单元210和所述发送单元230可用于进行第n数据包的收发,可对应于缓存服务器的通信接口。
所述第二缓存单元220可多对应于各种缓存介质,可用于存储所述第n数据包。
在有些实施例中,所述接收单元210,还用于接收所述识别设备发送的所述第n+m数据包的五元组信息;
所述装置,还包括:
匹配单元,用于将第n+m数据包的五元组信息与缓存的第n数据包的五元组信息进行匹配;
所述发送单元230,具体用于当所述第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配成功时,将所述第n数据包发送给所述识别设备。
在本实施例中所述匹配单元可对应于缓存服务器中的处理器或处理电路,可实现第n数据包的五元组信息与缓存在缓存服务器中的数据包的五元组信息的匹配。
总之,本实施例提供了一种可应用于缓存服务器中的业务流量识别装置,通过与识别设备的信息交互,可以提升识别成功率和正确率。
以下结合上述任意实施例提供几个具体示例:
示例一:
如图5所示,本示例提供一种业务流量识别方法,包括:
DPI设备接收数据包,例如,依次接收数据包1、数据包2、数据包3及数据包4。数据包1中无特征,这里的是指无业务特征。数据包携带有业务B的特征B,数据包3和数据包4携带有业务A的业务特征。
DPI设备进行DPI采集识别,无法识别数据包1,将数据包1发送给无特征报文缓存服务器(对应于前述实施例中的缓存服务器或本地数据库)。
DPI设备继续识别数据包2、数据包3及数据包4,确定这些数据包的业务标签,将这些数据包的五元组信息发送给无特征报文缓存服务器。
无特征报文缓存服务器基于五元组信息,判断数据包1是否与数据包2或、数据包3或数据包4属于同一个业务流。
在本示例中无特征报文缓存服务器判断数据包1与数据包3或数据包4属于同一个业务流,将数据包1返回给DPI设备。DPI设备,基于数据包3或数据包4的业务标签,进行流量统计。
DPI设备在完成业务特征提取之后,就将对应的数据包及时向外转发,减少数据包因业务流量识别或流量统计导致的延时大的问题。
示例二:
如图6所示,本示例提供一种业务流流量识别方法包括:
1:DPI设备加载特征库文件;
2:DPI设备分析数据包的业务特征,并与特征库中的业务特征进行匹配;
3;判断数据包的业务特征是否匹配特征库中的业务特征;
4:若数据包无特征,或无法匹配特征库中的业务特征,则将数据包送到缓存服务器,进行暂时存储;
5:若数据包的特征与规则库中的业务特征匹配,则将该数据包以及后续属于同一条流的所有数据包打上识别标记,统计为对应的业务;
6:DPI设备向缓存服务器发出查询请求,查询缓存服务器中属于同一个流的数据包,具体如,将已匹配数据包的五元组信息,发给缓存服务器,查询是否有属于同一条流并暂时未识别的数据包;缓存服务器提取流的五元组信息,与已存储的五元组信息进行比对;
7:如有,缓存服务器将数据包发给DPI设备,这些数据包被识别为本条流对应的业务。
8:如没有,缓存服务器回复消息,该条流的识别结束。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种业务流量识别方法,其特征在于,包括:
提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;
根据提取结果,确定所述第n数据包的业务标签;
当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;
当根据第n+m数据包的业务特征确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签; 其中,所述m为不小于1的整数。
2.根据权利要求1所述的方法,其特征在于,
所述当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包,包括:
当根据所述提取结果无法确定所述第n数据包的业务标签时,将所述第n数据包发送给缓存服务器缓存。
3.根据权利要求2所述的方法,其特征在于,
所述当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签,包括:
当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;
将所述第n+m数据包的五元组信息发送给缓存服务器;
接收所述缓存服务器确定出第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配时,返回的所述第n数据包;
根据所述第n+m数据包的业务标签标记所述第n数据包的业务标签。
4.根据权利要求2或3所述的方法,其特征在于,
所述将所述第n+m数据包的五元组信息发送给缓存服务器,包括:
在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息;
将写入了所述第n+m数据包的五元组信息的TCP数据包发送给所述缓存服务器。
5.根据权利要求1所述的方法,其特征在于,
所述当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包,包括:
当根据所述提取结果无法确定所述第n数据包的业务标签时,在本地数据库中缓存所述第n数据包。
6.根据权利要求5所述的方法,其特征在于,
所述当确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签,包括:
当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;
将所述五元组信息与所述第n数据包的五元组信息进行匹配,
当所述第n数据包的五元组与所述第n+m数据包的五元组匹配时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签。
7.一种业务流量识别方法,其特征在于,包括:
接收识别设备发送的无法识别的第n数据包;其中,所述n为不小于1的整数;
缓存所述第n数据包;
当所述识别设备根据第n+m数据包的业务特征检测到与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,将所述第n数据包返回给所述识别设备,其中,所述第n数据包用于所述识别设备根据所述第n+m数据包的业务标签进行业务标签的确定。
8.根据权利要求7所述的方法,其特征在于,
所述当所述识别设备检测到与所述第n数据包属于同一业务流的第n+m数据包时,将所述第n数据包返回给所述识别设备,还包括:
接收所述识别设备发送的所述第n+m数据包的五元组信息;
将第n+m数据包的五元组信息与缓存的第n数据包的五元组信息进行匹配;
当所述第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配成功时,将所述第n数据包发送给所述识别设备。
9.一种业务流量识别装置,其特征在于,包括:
提取单元,用于提取第n数据包的业务特征,获得提取结果;其中,所述n为不小于1的整数;
第一确定单元,用于根据提取结果,确定所述第n数据包的业务标签;
第一缓存单元,用于当根据所述提取结果无法确定所述第n数据包的业务标签时,缓存所述第n数据包;
第二确定单元,用于当根据第n+m数据包的业务特征确定出与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签; 其中,所述m为不小于1的整数。
10.根据权利要求9所述的装置,其特征在于,
所述第一缓存单元,具体用于当根据所述提取结果无法确定所述第n数据包的业务标签时,将所述第n数据包发送给缓存服务器缓存。
11.根据权利要求10所述的装置特征在于,
所述第二确定单元,用于当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;将所述第n+m数据包的五元组信息发送给缓存服务器;接收所述缓存服务器确定出第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配时,返回的所述第n数据包;根据所述第n+m数据包的业务标签标记所述第n数据包的业务标签。
12.根据权利要求10或11所述的装置,其特征在于,
所述第二确定单元,具体用于在TCP数据包的拓展选项字段中写入所述第n+m数据包的五元组信息;将写入了所述第n+m数据包的五元组信息的TCP数据包发送给所述缓存服务器。
13.根据权利要求9所述的装置,其特征在于,
所述第一缓存单元,具体用于当根据所述提取结果无法确定所述第n数据包的业务标签时,在本地数据库中缓存所述第n数据包。
14.根据权利要求13所述的装置,其特征在于,
所述第二确定单元,具体用于当确定出所述第n+m数据包的业务标签时,提取所述第n+m数据包的五元组信息;其中,所述五元组信息包括数据包的目的网络协议IP地址、源IP地址、源端口地址、目的端口地址及通信协议标识;将所述五元组信息与所述第n数据包的五元组信息进行匹配,当所述第n数据包的五元组与所述第n+m数据包的五元组匹配时,确定所述第n+m数据包的业务标签为所述第n数据包的业务标签。
15.一种业务流量识别装置,其特征在于,包括:
接收单元,用于接收识别设备发送的无法识别的第n数据包;其中,所述n为不小于1的整数;
第二缓存单元,用于缓存所述第n数据包;
发送单元,用于当所述识别设备根据第n+m数据包的业务特征检测到与所述第n数据包属于同一业务流的第n+m数据包的业务标签时,将所述第n数据包返回给所述识别设备,其中,所述第n数据包用于所述识别设备根据所述第n+m数据包的业务标签进行业务标签的确定。
16.根据权利要求15所述的装置,其特征在于,
所述接收单元,还用于接收所述识别设备发送的所述第n+m数据包的五元组信息;
所述装置,还包括:
匹配单元,用于将第n+m数据包的五元组信息与缓存的第n数据包的五元组信息进行匹配;
所述发送单元,具体用于当所述第n+m数据包的五元组信息与所述第n数据包的五元组信息匹配成功时,将所述第n数据包发送给所述识别设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610982517.4A CN108063692B (zh) | 2016-11-08 | 2016-11-08 | 流量识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610982517.4A CN108063692B (zh) | 2016-11-08 | 2016-11-08 | 流量识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108063692A CN108063692A (zh) | 2018-05-22 |
CN108063692B true CN108063692B (zh) | 2019-11-26 |
Family
ID=62137016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610982517.4A Active CN108063692B (zh) | 2016-11-08 | 2016-11-08 | 流量识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108063692B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404768A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种dpi识别的实现方法及设备 |
CN115865557B (zh) * | 2023-03-03 | 2023-04-28 | 深圳华龙讯达信息技术股份有限公司 | 一种基于数据识别的网络耦合系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744573A (zh) * | 2005-08-30 | 2006-03-08 | 杭州华为三康技术有限公司 | 业务流的识别方法 |
CN101605093A (zh) * | 2009-04-22 | 2009-12-16 | 网经科技(苏州)有限公司 | 利用IP Option实现信息透传的方法 |
CN103297270A (zh) * | 2013-05-24 | 2013-09-11 | 华为技术有限公司 | 应用类型识别方法及网络设备 |
CN103581018A (zh) * | 2013-07-26 | 2014-02-12 | 北京华为数字技术有限公司 | 报文发送方法、路由器以及业务交换器 |
CN105100241A (zh) * | 2015-07-23 | 2015-11-25 | 中国联合网络通信集团有限公司 | 识别业务类型的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9031903B2 (en) * | 2006-07-31 | 2015-05-12 | Verizon Patent And Licensing Inc. | Method and system for providing network based transaction metrics |
-
2016
- 2016-11-08 CN CN201610982517.4A patent/CN108063692B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744573A (zh) * | 2005-08-30 | 2006-03-08 | 杭州华为三康技术有限公司 | 业务流的识别方法 |
CN101605093A (zh) * | 2009-04-22 | 2009-12-16 | 网经科技(苏州)有限公司 | 利用IP Option实现信息透传的方法 |
CN103297270A (zh) * | 2013-05-24 | 2013-09-11 | 华为技术有限公司 | 应用类型识别方法及网络设备 |
CN103581018A (zh) * | 2013-07-26 | 2014-02-12 | 北京华为数字技术有限公司 | 报文发送方法、路由器以及业务交换器 |
CN105100241A (zh) * | 2015-07-23 | 2015-11-25 | 中国联合网络通信集团有限公司 | 识别业务类型的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108063692A (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101656677B (zh) | 一种报文分流处理方法及装置 | |
CN108712426B (zh) | 基于用户行为埋点的爬虫识别方法及系统 | |
CN105847078B (zh) | 一种基于dpi自学习机制的http流量精细化识别方法 | |
CN104348716A (zh) | 一种报文处理方法及设备 | |
CN105828310B (zh) | 一种数据业务的计费方法及设备、系统 | |
CN108429701A (zh) | 网络加速系统 | |
CN108063692B (zh) | 流量识别方法及装置 | |
CN104679596A (zh) | 一种提高服务器端并发性能的消息处理方法及其系统 | |
CN109271113B (zh) | 一种基于云存储的数据管理系统及方法 | |
CN106713144A (zh) | 一种报文出口信息的读写方法及转发引擎 | |
CN105912679A (zh) | 一种数据查询的方法和装置 | |
CN104333483A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
CN107870982A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN111404768A (zh) | 一种dpi识别的实现方法及设备 | |
CN111988231A (zh) | 一种掩码五元组规则匹配的方法及装置 | |
CN104333461A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
US20030004921A1 (en) | Parallel lookups that keep order | |
CN106533728B (zh) | 服务器信息收集方法和装置 | |
US7653070B2 (en) | Method and system for supporting efficient and cache-friendly TCP session lookup operations based on canonicalization tags | |
CN106899651A (zh) | 通信处理方法、系统及网络通信系统 | |
CN106101117B (zh) | 一种钓鱼网站阻断方法、装置和系统 | |
CN101635721B (zh) | 一种网络游戏业务操作指令处理系统及其处理方法 | |
CN111506834A (zh) | 权益资源信息的推送方法及装置、存储介质、终端 | |
CN114793199B (zh) | 一种报文处理方法、装置及网络设备 | |
JP3837670B2 (ja) | データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法 |
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 |