CN101714952A - 一种接入网的流量识别方法和装置 - Google Patents
一种接入网的流量识别方法和装置 Download PDFInfo
- Publication number
- CN101714952A CN101714952A CN200910259394A CN200910259394A CN101714952A CN 101714952 A CN101714952 A CN 101714952A CN 200910259394 A CN200910259394 A CN 200910259394A CN 200910259394 A CN200910259394 A CN 200910259394A CN 101714952 A CN101714952 A CN 101714952A
- Authority
- CN
- China
- Prior art keywords
- subflow
- layer protocol
- application layer
- bunch
- cluster
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种接入网的流量识别方法和装置。该方法包括:从接入网的每个数据流提取与其对应的子流;对所有子流进行抽样,得到抽样子流,对每个抽样子流的应用层协议进行识别,根据识别结果建立抽样子流与应用层协议的映射关系;从每个子流提取原始数据,并根据原始数据建立与该子流对应的子流特征向量;根据所有子流特征向量将子流进行聚类,形成多个簇;根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系;根据簇与应用层协议的映射关系,识别各簇中的每个子流对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议。本发明能够对接入网进行高速在线的流量识别,并能识别接入网中加密数据流的应用层协议。
Description
技术领域
本发明涉及网络通信技术领域,特别是涉及一种接入网的流量识别方法和装置。
背景技术
随着网络业务类型的多样化,网络流量的识别技术成为业界关注的热点。接入网是连接核心网和用户终端,或连接核心网和用户驻地网的网络,及时准确地对接入网中不同类型的网络流量进行识别,对于流量工程、服务质量(QoS)以及网络安全管理都有重要的意义。
在网络通信过程中,原始数据信息需要被分割成为许多小的数据包,以便能高速地通过网络,因此,接入网中传输的网络流量表现为数据包的形式。数据包分为包头和有效载荷两部分,包头是记录数据包附加信息的部分,如协议字段等;网络要传输的具体信息存在于数据包的有效载荷部分。
现有技术采用深度包检测(DPI,Deep Packet Inspection)技术对接入网中传输的网络流量进行检测,其具体过程如下:用专门的通信管理设备将接入网中正在传输的数据包全部加以复制、存储,然后将存储起来的数据包重新组装成为原始数据,再将这些原始数据进行缓存;通信管理设备通过扮演特定的应用程序数据流代理,寻找已经定义的变量,再根据这些变量决定采取的动作,从而找到原始数据所对应的应用程序的类型或信源和信宿。当通信管理设备找到了数据包中有效载荷所携带的信息,它就会向能以最佳效果处理该数据包的应用程序发送数据包。另外,通信管理设备还用于检测已定义的变量的正确性,从而确定数据包是否为病毒或网络入侵等异常数据流,对于异常数据流,通信管理设备将向管理员发送警报。这种DPI方法能够对接入网中传输的全部数据包加以深入检测,因而具有较高的准确性。
但是,上述的DPI实现过程中需要对接入网中传输的全部数据包进行复制、存储,再进行计算处理,其存储开销和计算量都很大,因而对网络流量的检测速度很慢,不能用于对接入网进行高速在线的流量识别。
另外,在上述的DPI实现过程中,通信管理设备是通过扮演特定应用程序数据流代理的方式进行检测,而加密的数据包是无法用这种方式找到已定义的变量的,因此,无法对接入网中传输的加密数据包进行检测。
发明内容
本发明提出了一种接入网的流量识别方法,能够对接入网进行高速在线的流量识别,并能识别接入网中加密数据流的应用层协议。
本发明还提供了一种接入网的流量识别装置,能够对接入网进行高速在线的流量识别,并能识别接入网中加密数据流的应用层协议。
为了达到上述目的,本发明的技术方案是这样实现的:
一种接入网的流量识别方法,该方法包括:
从接入网的每个数据流中提取与该数据流对应的子流;
对所有子流进行抽样,得到抽样子流,对每个抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系;
从每个子流提取原始数据,并根据原始数据建立与该子流对应的子流特征向量;
根据所有子流特征向量将对应的子流进行聚类,形成多个簇;
根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系;其中,如果一个簇不能与任何已知应用层协议建立映射关系,则该簇对应的应用层协议类型为未知;
根据簇与应用层协议的映射关系,识别各簇中的每个子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议;其中,对于与未知应用层协议类型相对应的簇,该簇中每个子流所对应的应用层协议类型为未知,进而接入网中与该子流对应的数据流的应用层协议类型也为未知。
在所述进而识别接入网中与该子流对应的数据流的应用层协议之后,该方法进一步包括:
根据识别出来的接入网中数据流的应用层协议,对接入网中的数据流进行流量控制;其中,对于接入网中与未知应用层协议类型对应的数据流,首先检测其对应的子流所在的簇是否为异常数据流,如果是异常数据流,则对接入网中与该未知应用层协议类型对应的数据流进行接入控制,如果不是异常数据流,则将该未知应用层协议类型定义为新的应用层协议,将接入网中与该未知应用层协议类型对应的数据流与所述新的应用层协议建立映射关系,然后对接入网中与所述新的应用层协议建立映射关系的数据流进行流量控制。
所述从接入网的每个数据流中提取与该数据流对应的子流的步骤包括:
对于接入网中的每一个数据流,提取该数据流起始位置的预设数量的数据包作为该数据流的子流。
所述对每个抽样子流的应用层协议进行识别的步骤包括:
用深度包检测技术对每个抽样子流进行检测,从而识别出抽样子流所对应的应用层协议,并将不能与已知应用层协议相对应的抽样子流与未知应用层协议相对应。
从每个子流提取原始数据,并根据原始数据建立与该子流对应的子流特征向量的步骤包括:
从子流中提取数据包的特征数据作为原始数据,所述特征数据包括:协议字段、子流的持续时间、数据包的长度、数据包中有效载荷的大小、相邻数据包到达接入点的时间间隔中的任意一个或多个;
根据所述原始数据,用统计学的方法计算子流的统计特征,所述统计特征包括:最大前向数据包的长度、数据包包头中协议的类型、相邻前向数据包到达接入点的最小时间间隔、相邻前向数据包到达接入点的时间间隔的标准差、相邻后向数据包到达接入点的时间间隔的标准差、最大后向数据包的长度以及后向数据包长度的均值中的任意一个或多个;
将所述统计特征排列成一个向量,得到子流特征向量。
所述根据所有子流特征向量将对应的子流进行聚类,形成多个簇的步骤包括以下步骤:
第一步,将所有子流特征向量的状态都设置为未归类,并为每一个子流设置邻近特征向量距离eps和最小特征向量数目minpts这两个参数;
第二步,选定任一未归类的子流特征向量p,则p具有邻近特征向量距离p.eps和最小特征向量数目p.minpts两个参数,计算p与其他所有未归类的子流特征向量的距离;
将参数p.eps的大小与p和其他子流特征向量之间的距离作比较,并统计与p的距离小于参数p.eps的子流特征向量的数目,然后将该数目与参数p.minpts作比较,如果该数目不小于参数p.minpts,那么称p为核对象,与p的距离小于p.eps的所有子流特征向量称为p的直接密度可达对象,将p与所有p的直接密度可达对象组成以p为核对象的簇a,然后将p和所有p的直接密度可达对象以及其所对应的各子流的状态都设置为属于簇a;如果该数目小于p.minpts,那么称p为噪声对象,并将p以及其对应的子流的状态设置为未知;
第三步,判断是否存在未归类的子流特征向量,如果存在,则重复执行第二步,如果不存在,则结束流程;
其中,所述p与其他任一子流特征向量的距离,为p与其他任一子流特征向量的欧氏距离。
所述根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系的步骤包括:根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议;如果一个簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,则计算簇内各抽样子流所对应的已知应用层协议的概率,然后将概率最大的已知应用层协议与该簇建立映射;
所述如果一个簇不能与任何应用层协议建立映射关系,则该簇对应的应用层协议类型为未知的步骤包括:根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议;如果一个簇内各抽样子流所对应的应用层协议均为未知应用层协议,那么该簇不能与任何已知应用层协议建立映射关系,则将该簇与未知应用层协议类型相对应。
在根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系之后,并且在根据簇与应用层协议的映射关系,识别各簇中的每个子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议之前,该方法进一步包括:
评判聚类质量是否符合聚类标准,如果聚类质量符合聚类标准,则执行所述根据簇与应用层协议的映射关系,识别各簇中子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议;否则,重新为每一个子流设置eps和minpts这两个参数,然后重新根据子流特征向量对子流进行聚类,形成簇,并重新根据抽样子流与应用层协议的映射关系建立簇与应用层协议的映射关系,直至评判结果为聚类质量符合聚类标准;
所述聚类质量符合聚类标准,是指聚类质量同时达到三个标准,如果不能满足其中任一标准,都为聚类质量不符合聚类标准,所述三个标准为:
第一:状态为未知的子流特征向量的数目占所有子流特征向量数目的比例小于10%;
第二:簇的数目为抽样子流与应用层协议的映射关系中的已知应用层协议的数目的两倍以上;
第三:根据抽样子流与应用层协议的映射关系建立簇与应用层协议或未知应用层协议类型的映射关系之后,与应用层协议映射的任一簇中,概率最大的应用层协议的概率不低于60%。
一种接入网的流量识别装置,该装置包括:
应用层协议模块:用于存储应用层协议;向抽样子流生成和应用识别模块提供应用层协议查询服务;
子流特征生成模块:用于从接入网的各数据流中分别提取与所述各数据流对应的子流;从所述子流分别提取原始数据,并根据原始数据建立与各子流对应的子流特征向量;
子流聚类模块:用于从子流特征生成模块接收子流及其子流特征向量;根据子流特征向量对子流进行聚类,形成簇;向簇的应用识别模块发送簇;
抽样子流生成和应用识别模块:用于从子流特征生成模块接收子流;对子流进行抽样,得到抽样子流;向应用层协议模块查询应用层协议;对抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系;
簇的应用识别模块:用于从抽样子流生成和应用识别模块获取抽样子流与应用层协议的映射关系;从子流聚类模块接收簇;根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系;
业务识别模块:用于从簇的应用识别模块获取簇与应用层协议的映射关系;根据簇与应用层协议的映射关系,识别各簇中子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议。
该装置进一步包括:
异常流量检测模块:用于从业务识别模块接收与未知应用层协议类型映射的簇及其映射的未知应用层协议类型;判断簇是否为异常数据流;将异常数据流的簇发送到异常流量控制模块;将不是异常数据流的簇所映射的未知应用层协议类型定义为新的应用层协议,发送到应用层协议模块;将不是异常数据流的簇与所述新的应用层协议建立映射;将不是异常数据流的簇及其映射的新的应用层协议发送到转发策略模块;
异常流量控制模块:用于从异常流量检测模块接收异常数据流的簇;向接入网发送子流接入控制信息;
转发策略模块:用于从业务识别模块接收与已知应用层协议映射的簇及其映射的已知应用层协议;从异常流量检测模块接收不是异常数据流的簇及其映射的新的应用层协议;将簇内所有子流都与该簇映射的应用层协议建立映射;根据簇映射的应用层协议的类型,向接入网发送子流流量控制信息。
子流特征生成模块,用于从接入网传输的每一个数据流中提取该数据流起始位置的预设数量的数据包作为该数据流的子流。
抽样子流生成和应用识别模块,用深度包检测技术对抽样子流进行检测,从而识别出抽样子流所对应的应用层协议,并将不能与已知应用层协议相对应的抽样子流与未知应用层协议相对应,从而建立抽样子流与应用层协议的映射关系。
所述子流特征生成模块,首先从子流中提取数据包的特征数据作为原始数据,所述特征数据包括:协议字段、子流的持续时间、数据包的长度、数据包中有效载荷的大小、相邻数据包到达接入点的时间间隔中的任意一个或多个;然后,根据所述原始数据,用统计学的方法计算子流的统计特征,所述统计特征包括:最大前向数据包的长度、数据包包头中协议的类型、相邻前向数据包到达接入点的最小时间间隔、相邻前向数据包到达接入点的时间间隔的标准差、相邻后向数据包到达接入点的时间间隔的标准差、最大后向数据包的长度以及后向数据包长度的均值中的任意一个或多个;最后,将所述统计特征排列成一个向量,得到子流特征向量。
所述子流聚类模块根据子流特征向量对子流进行聚类、形成簇包括:
第一步,所述子流聚类模块将所有子流特征向量的状态都设置为未归类,并为每一个子流设置邻近特征向量距离eps和最小特征向量数目minpts这两个参数;
第二步,所述子流聚类模块选定任一未归类的子流特征向量p,则p具有邻近特征向量距离p.eps和最小特征向量数目p.minpts两个参数,计算p与其他所有未归类的子流特征向量的距离;
所述子流聚类模块将参数p.eps的大小与p和其他子流特征向量之间的距离作比较,并统计与p的距离小于参数p.eps的子流特征向量的数目,然后将该数目与参数p.minpts作比较,如果该数目不小于参数p.minpts,那么称p为核对象,与p的距离小于p.eps的所有任一子流特征向量称为p的直接密度可达对象,所述子流聚类模块将p与所有p的直接密度可达对象组成以p为核对象的簇a,然后将p和所有p的直接密度可达对象以及其所对应的各子流的状态都设置为属于簇a;如果与p的距离小于p.eps的子流特征向量的数目小于p.minpts,那么称p为噪声对象,并将p以及其对应的子流的状态设置为未知;
第三步,所述子流聚类模块判断是否存在未归类的子流特征向量,如果存在,则重复执行第二步,如果不存在,结束流程;
其中,所述p与其他任一子流特征向量的距离,为p与其他任一子流特征向量的欧氏距离。
所述簇的应用识别模块,用于根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议,如果一个簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,则所述簇的应用识别模块计算簇内各抽样子流所对应的已知应用层协议的概率,然后将概率最大的已知应用层协议与该簇建立映射;其中,如果一个簇不能与任何已知应用层协议建立映射关系,则所述簇的应用识别模块将该簇与未知应用层协议类型相对应。
该装置进一步包括:
聚类质量评判模块:用于从抽样子流生成和应用识别模块接收抽样子流与应用层协议的映射关系;从子流聚类模块接收簇、子流及其子流特征向量;从簇的应用识别模块接收簇与应用层协议的映射关系;
所述聚类质量评判模块,用于评判聚类质量是否符合聚类标准,如果评判结果为聚类质量符合聚类标准,则向子流聚类模块发送聚类质量评判结果;
所述子流聚类模块,只有在聚类质量评判结果为聚类质量符合聚类标准时,向簇的应用识别模块发送簇;
所述子流聚类模块,在聚类质量评判结果为聚类质量不符合聚类标准时,重新为每一个子流设置eps和minpts这两个参数,然后重新根据子流特征向量对子流进行聚类,形成簇,并将子流及其子流特征向量以及新的簇发送给聚类质量评判模块重新进行聚类质量的评判,直至所述聚类质量评判模块评判聚类质量符合聚类标准为止;
所述聚类质量符合聚类标准,是指聚类质量同时达到三个标准,如果不能满足其中任一标准,都为聚类质量不符合聚类标准,所述三个标准为:
第一:状态为未知的子流特征向量的数目占所有子流特征向量数目的比例小于10%;
第二:簇的数目为抽样子流与应用层协议的映射关系中的已知应用层协议的数目的两倍以上;
第三:所述簇的应用识别模块根据抽样子流与应用层协议的映射关系建立簇与应用层协议的映射关系之后,在与已知应用层协议映射的任一簇中,概率最大的已知应用层协议的概率不低于60%。
由于本发明从数据流中提取出子流,又从子流中抽样出抽样子流,然后将抽样子流所对应的应用层协议与聚类形成的簇建立映射,因而相对于现有技术,本发明的检测工作量很小,存储开销和计算量也都很小,从而可以通过低速在线检测少量抽样子流对应的应用层协议的方式,来获知所有子流对应的应用层协议,进而据此对接入网中的数据流进行高速在线的流量识别,因此,本发明可以有效地对接入网进行高速在线的流量识别。
另外,由于本发明利用子流的统计特征对子流进行聚类,然后将聚类形成的簇与簇内概率最大的应用层协议建立映射,并以此为基础进行网络流量控制,因此,本发明可以根据加密数据流的统计特征将其聚类到相应的簇,然后得到该加密数据所映射的应用层协议,从而实现对接入网中传输的加密数据包的流量识别和控制。
附图说明
图1为本发明实施例提供的接入网的流量识别流程的示意图;
图2为本发明实施例提供的接入网的流量识别方法的流程图;
图3为本发明实施例提供的接入网的流量识别装置的结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明实施例中的接入网的流量识别流程的示意图。如图1所示,本发明实施例的主要思想为:步骤101,从接入网中的数据流中提取子流,并生成子流特征;步骤102,通过对子流进行抽样,得到抽样子流,然后识别抽样子流所对应的应用层协议;步骤103,对子流进行聚类,形成簇;步骤104,根据各簇中的抽样子流所对应的应用层协议,识别各簇所对应的应用层协议;步骤105,判断簇所对应的应用层协议是否为已知的应用层协议,是则执行步骤106,否则执行步骤107;步骤106,根据该簇所对应的已知应用层协议,对接入网中传输的与簇中的子流相对应的数据流的应用层协议进行识别,并制定和执行相应的转发策略;步骤107,对于应用层协议为未知的簇,对该簇进行异常流量检测,对确认是异常数据流的簇进行步骤108,对于确认不是异常数据流的簇,则将其对应的应用层协议定义为新的应用层协议,并根据该新的应用层协议,对接入网中传输的与该簇中的子流相对应的数据流,制定并执行与新的应用层协议对应的转发策略;步骤108,对确认是异常数据流的簇进行异常流量控制,限制其对应的数据流在接入网中的传输。
如图1所示,由于本发明实施例的方案中对接入网数据流的子流进行了抽样,然后对抽样子流进行应用层协议识别,因此大大减少了需要进行应用层识别的数据量。这样,只需采用在线低速进行抽样子流的应用层协议识别,就能够与生成子流特征、子流聚类、应用映射、业务识别、转发策略、异常流量检测以及异常流量控制等需要在线高速处理的工作相匹配。因此,本发明能够对接入网进行高速在线的流量识别。
此外,本发明实施例的方案采用了聚类这种统计方法,将具有一定相似性的子流聚类为一个簇,并使这些子流与相同的应用层协议相对应,这样就可以识别出接入网中与簇内所有子流对应的数据流的应用层协议,因此,本发明能够对接入网中传输的加密数据流进行应用层协议的识别。
本发明实施例中的接入网的流量识别方法中涉及的应用层协议是网络和用户终端之间的接口,用于向用户终端提供各种实际的网络应用服务。常见的应用层协议包括超文本传输协议(http)、文件传输协议(ftp)、电子邮件协议(smtp和pop3)等。在网络通信过程中,信源和信宿都使用应用层协议,并且所使用的应用层协议必须相同。
图2为本发明实施例中的接入网的流量识别方法的流程图。如图2所示,本发明实施例中的接入网的流量识别方法包括以下步骤:
步骤201:从接入网的各数据流中分别提取与各数据流对应的子流。
这里,对于接入网中的每一个数据流,提取该数据流起始位置的预设数量的数据包,作为与各数据流对应的子流,例如,预设数量可以为5或6。
步骤202:对子流进行抽样,得到抽样子流,对抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系。
这里,对子流进行抽样的方法包括随机抽样和重尾抽样。
随机抽样,是指按照随机性原则,从总体中抽取部分对象作为样本进行调查,以样本的调查结果推断总体有关指标的一种抽样方法。随机性原则是指从总体中抽取样本时,每个样本被抽取的概率是相同的。
重尾抽样是指按照重尾分布的规律对总体进行抽样,重尾抽样的特点如下:大量的小抽样取值和少量的大抽样取值并存,在这些抽样数据集中,虽然大部分抽样取值是小的,但是对抽样的均值和方差起决定作用的是那些少量的大抽样取值。
随机抽样和重尾抽样技术均为现有技术,本发明中不再详细描述。
对子流进行随机抽样或重尾抽样后,即可得到抽样子流。
对抽样子流的应用层协议进行识别是采用深度包检测技术进行的,深度包检测技术属于现有技术。用深度包检测技术对抽样子流进行检测,从而识别出抽样子流所对应的应用层协议,并将不能与已知应用层协议相对应的抽样子流,使其与未知应用层协议相对应,从而建立抽样子流与应用层协议的映射关系。
步骤203:从子流分别提取原始数据,并根据原始数据建立与各子流对应的子流特征向量。
首先,从步骤201提取到的各子流中提取数据包的特征数据作为原始数据,用于计算各子流的统计特征。这些作为原始数据的特征数据包括:协议字段、子流的持续时间、数据包的长度、数据包中有效载荷的大小、相邻数据包到达接入点的时间间隔。将这些特征数据全部提取出来可以计算得到子流最佳特征向量,如果不提取全部特征数据,仅提取其中的一个或多个,得到的子流特征向量虽然不是子流最佳特征向量,但也能实现本发明的功能;
然后,根据提取到的原始数据,用统计学的方法计算子流的统计特征,这些统计特征包括:最大前向数据包的长度、数据包包头中协议的类型、相邻前向数据包到达接入点的最小时间间隔、相邻前向数据包到达接入点的时间间隔的标准差、相邻后向数据包到达接入点的时间间隔的标准差、最大后向数据包的长度以及后向数据包长度的均值。其中,前向是指数据流信源向信宿的传输方向,后向是指数据流信宿向信源的传输方向。这七项统计特征可以组成子流最佳特征向量,如果仅采用其中的一项或多项,得到的子流特征向量虽然不是子流最佳特征向量,但也能实现本发明的功能。
最后,将计算得到的统计特征排列成一个向量,得到子流特征向量。
步骤204:根据子流特征向量对子流进行聚类,形成簇。
这里,聚类是一种统计学的方法,用于将一个集合中的多个对象按照相似性分为若干类,每一个类称为一个簇,同一个簇内的对象具有某种相似性,并与其他簇内的对象相异。本发明根据子流特征向量对子流进行聚类、形成簇的步骤包括:
第一步:将步骤203中建立的所有子流特征向量的状态都设置为未归类,并为每一个子流设置邻近特征向量距离eps和最小特征向量数目minpts这两个参数。
第二步:选择任一未归类的子流特征向量p,则由第一步可知,p具有邻近特征向量距离p.eps和最小特征向量数目p.minpts这两个参数,然后,计算p与其他所有未归类的子流特征向量之间的距离,该距离为欧氏距离,欧氏距离的计算方法属于现有技术,本发明不做赘述。
将参数p.eps的大小与p和其他未归类的子流特征向量之间的距离作比较,并统计与p的距离小于参数p.eps的子流特征向量的数目,然后将该数目与参数p.minpts作比较,如果该数目不小于p.minpts,那么p称为核对象,与p的距离小于p.eps的所有子流特征向量称为p的直接密度可达对象,p与所有p的直接密度可达对象组成以p为核对象的簇a;如果与p的距离小于p.eps的子流特征向量的数目小于p.minpts,那么p称为噪声对象。
如果p为簇a的核对象,那么将p和所有p的直接密度可达对象以及其所对应的各子流的状态都设置为属于簇a;如果p为噪音对象,那么将p以及其对应的子流的状态设置为未知(unknown)。
第三步,判断是否存在未归类的子流特征向量,如果存在,则重复执行第二步,直至不存在未归类的子流特征向量,如果不存在,表示聚类完成,则结束聚类流程,执行步骤205。
聚类完成后,所有子流特征向量的状态只能为属于某一个簇或噪音对象中的一种,不存在未归类的子流特征向量。
步骤205:根据抽样子流与应用层协议的映射关系,按照应用层协议概率优势原则,建立簇与应用层协议的映射关系。
这里,应用层协议概率优势原则是指,将簇内各抽样子流所对应的已知应用层协议中概率最大的应用层协议,作为该簇所对应的应用层协议,从而建立簇与应用层协议的映射关系。例如,某簇由100个子流聚类形成,其中有10个子流为抽样后得到的抽样子流,在这10个抽样子流中,有7个抽样子流与应用层协议A映射,有2个抽样子流与应用层协议B映射,另外1个抽样子流与未知应用层协议映射,那么该簇中各抽样子流所对应的应用层协议中概率最大的为应用层协议A,其概率计算如下:7/10=70%,因此,利用应用层协议概率优势原则即可决定该簇与应用层协议A建立映射。再例如,某簇由100个子流聚类形成,其中有10个抽样子流,在这10个抽样子流中,有2个抽样子流与应用层协议A映射,有1个抽样子流与应用层协议B映射,另外7个抽样子流与未知应用层协议映射,那么该簇中各抽样子流所对应的已知应用层协议中概率最大的仍为应用层协议A。
根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议。
如果簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,则计算簇内各抽样子流所对应的已知应用层协议的概率,然后根据应用层协议概率优势原则,将概率最大的已知应用层协议与该簇建立映射。
如果簇内各抽样子流所对应的应用层协议均为未知应用层协议,即该簇不能与任何已知应用层协议建立映射关系,那么将该簇对应的应用层协议类型为未知,即将该簇与未知应用层协议类型相对应。
这样,就建立起簇与应用层协议的映射关系。
另外,如果簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,那么该簇内概率最大的已知应用层协议的概率有最优值,该最优值可以最好地保证按照应用层协议概率优势原则所建立的簇与应用层协议的映射关系的覆盖全面性,该最优值为70%-80%中的任一值。
步骤206:评判聚类质量是否符合聚类标准。
这里,聚类质量符合聚类标准意味着聚类质量同时达到以下三个标准,如果不能满足其中任一标准,都判定为聚类质量不符合聚类标准,这三个标准为:
第一:步骤204设置的状态为未知(unknown)的子流特征向量的数目占所有子流特征向量数目的比例小于10%。
控制状态为unknown的子流特征向量的比例,可以提高子流聚类成的簇的数量,从而使本发明根据簇与应用层协议或未知应用层协议类型的映射来对接入网进行流量识别的方法更有代表性,也更有效。
第二:步骤204形成的簇的数目为步骤202建立的抽样子流与应用层协议的映射关系中的已知应用层协议的数目的两倍以上。
如果步骤204形成的簇的数目过少,达不到步骤202建立的抽样子流与应用层协议的映射关系中映射的数目的两倍及以上,那么每个簇内的抽样子流所映射的应用层协议的数目就会比较多,比如超过5个,这样会直接导致簇中概率最大的应用层协议的概率比较低,比如低于60%,从而使步骤205所建立的簇与应用层协议的映射关系不具有代表性,进而影响对接入网流量识别的质量。
第三:步骤205中根据抽样子流与应用层协议的映射关系,按照应用层协议概率优势原则,建立簇与已知应用层协议或未知应用层协议类型的映射关系之后,与已知应用层协议映射的任一簇中,概率最大的应用层协议的概率不低于60%。
簇中概率最大的应用层协议的概率如果低于60%,那么所建立的该簇与应用层协议或未知应用层协议类型的映射的代表性太差,不足以满足对接入网进行流量识别的质量要求。
评判聚类质量是否符合聚类标准,如果聚类质量符合聚类标准,那么执行步骤207;如果评判结果为聚类质量不符合聚类标准,那么重新设置步骤204中每一个子流的eps和minpts这两个参数,然后重新根据子流特征向量对子流进行聚类,形成簇,并重新根据抽样子流与应用层协议的映射关系,按照应用层协议概率优势原则,建立簇与应用层协议的映射关系,直至评判结果为聚类质量符合聚类标准。
通过评判聚类质量是否符合聚类标准,可以提高步骤204形成的簇的质量,进而提高步骤207对接入网中数据流的应用层协议进行识别的质量。
步骤207:根据簇与应用层协议的映射关系,识别各簇中子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议。
根据步骤205建立的簇与应用层协议的映射关系,可以得到各簇所对应的应用层协议,将各簇中所有子流均与相应的簇所对应的应用层协议建立映射,然后就可以识别出接入网中与各子流对应的数据流的应用层协议。
对于与未知应用层协议类型相对应的簇,该簇中所有子流所对应的应用层协议类型均为未知,进而在接入网中与这些子流对应的数据流的应用层协议类型也为未知。
步骤208:根据识别出来的接入网中数据流的应用层协议,对接入网中的数据流进行流量控制。
这里,数据流的应用层协议不同,对数据流的流量控制方法也有所不同。
如果数据流与已知的应用层协议相对应,则根据识别出来的接入网中数据流的应用层协议,在接入网的接入点处对数据流进行相适应的流量控制。
如果数据流与未知应用层协议类型相对应,则首先采用深度包检测技术检测该数据流对应的子流所在的簇是否为异常数据流。如果该簇是异常数据流,则在接入网的接入点处对接入网中传输的与该簇内子流相对应的数据流进行接入控制,比如,对于蠕虫、木马等计算机病毒以及端口扫描等网络入侵类型的异常数据流,通过本发明的高速在线识别,可以及时地在接入网的接入点处进行接入限制,从而避免用户或网络受到病毒或网络入侵的危害。如果该簇不是异常数据流,则将该未知应用层协议类型定义为新的应用层协议,将该簇与新的应用层协议相对应,从而建立该簇与所述新的应用层协议的映射,然后将该簇中所有的子流以及接入网中与这些子流相应的数据流也与新的应用层协议建立映射,根据这种新的应用层协议,在接入网的接入点处对接入网中传输的与该簇内子流相应的数据流进行流量控制。
基于图2所述的接入网的流量识别方法,本发明还提出了一种接入网的流量识别装置。图3为本发明实施例提供的接入网的流量识别装置的结构图。如图3所示,该装置包括:
应用层协议模块301:用于存储应用层协议;向抽样子流生成和应用识别模块304提供应用层协议查询服务;
子流特征生成模块302:用于从接入网的各数据流中分别提取与所述各数据流对应的子流;从所述子流分别提取原始数据,并根据原始数据建立与各子流对应的子流特征向量;
子流聚类模块303:用于从子流特征生成模块302接收子流及其子流特征向量;根据子流特征向量对子流进行聚类,形成簇;向簇的应用识别模块发送簇;
抽样子流生成和应用识别模块304:用于从子流特征生成模块302接收子流;对子流进行抽样,得到抽样子流;向应用层协议模块301查询应用层协议;对抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系;
簇的应用识别模块305:用于从抽样子流生成和应用识别模块304获取抽样子流与应用层协议的映射关系;从子流聚类模块303接收簇;根据抽样子流与应用层协议的映射关系,按照应用层协议概率优势原则,建立簇与应用层协议的映射关系;
业务识别模块306:用于从簇的应用识别模块305获取簇与应用层协议的映射关系;根据簇与应用层协议的映射关系,识别各簇中子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议。
其中,子流特征生成模块302从接入网的各数据流中分别提取与所述各数据流对应的子流的方法包括:子流特征生成模块302从接入网传输的每一个数据流中提取该数据流起始位置的预设数量的数据包作为该数据流的子流。
抽样子流生成和应用识别模块304对抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系的方法包括:
抽样子流生成和应用识别模块304用深度包检测技术对抽样子流进行检测,从而识别出抽样子流所对应的应用层协议,并将不能与已知应用层协议相对应的抽样子流与未知应用层协议相对应,从而建立抽样子流与应用层协议的映射关系。
子流特征生成模块302从所述子流分别提取原始数据,并根据原始数据建立与各子流对应的子流特征向量的方法包括:
所述子流特征生成模块302,首先从子流中提取数据包的特征数据作为原始数据,所述特征数据包括:协议字段、子流的持续时间、数据包的长度、数据包中有效载荷的大小、相邻数据包到达接入点的时间间隔,将这些特征数据全部提取出来可以计算得到子流最佳特征向量,如果不提取全部特征数据,仅提取其中的一个或多个,得到的子流特征向量虽然不是子流最佳特征向量,但也能实现本发明的功能;然后,根据所述原始数据,用统计学的方法计算子流的统计特征,所述统计特征包括:最大前向数据包的长度、数据包包头中协议的类型、相邻前向数据包到达接入点的最小时间间隔、相邻前向数据包到达接入点的时间间隔的标准差、相邻后向数据包到达接入点的时间间隔的标准差、最大后向数据包的长度以及后向数据包长度的均值,这七项统计特征可以组成子流最佳特征向量,如果仅采用其中的一项或多项,得到的子流特征向量虽然不是子流最佳特征向量,但也能实现本发明的功能;最后,将所述统计特征排列成一个向量,得到子流特征向量。
子流聚类模块303根据子流特征向量对子流进行聚类、形成簇的方法包括:
第一步,所述子流聚类模块303将所有子流特征向量的状态都设置为未归类,并为每一个子流设置邻近特征向量距离eps和最小特征向量数目minpts这两个参数;
第二步,所述子流聚类模块303选定任一未归类的子流特征向量p,则p具有邻近特征向量距离p.eps和最小特征向量数目p.minpts两个参数,计算p与其他所有未归类的子流特征向量的距离;
所述子流聚类模块303将参数p.eps的大小与p和其他子流特征向量之间的距离作比较,并统计与p的距离小于参数p.eps的子流特征向量的数目,然后将该数目与参数p.minpts作比较,如果该数目不小于参数p.minpts,那么称p为核对象,与p的距离小于p.eps的所有子流特征向量称为p的直接密度可达对象,所述子流聚类模块303将p与所有p的直接密度可达对象组成以p为核对象的簇a,然后将p和所有p的直接密度可达对象以及其所对应的各子流的状态都设置为属于簇a;如果与p的距离小于p.eps的子流特征向量的数目小于p.minpts,那么称p为噪声对象,并将p以及其对应的子流的状态设置为未知;
第三步,所述子流聚类模块303判断是否存在未归类的子流特征向量,如果存在,则重复执行第二步,直至不存在未归类的子流特征向量,如果不存在,那么所述子流聚类模块303根据子流特征向量对子流进行聚类、形成簇的流程结束;
其中,所述p与其他任一子流特征向量的距离,为p与其他任一子流特征向量的欧氏距离。
簇的应用识别模块305根据抽样子流与应用层协议的映射关系,按照应用层协议概率优势原则,建立簇与应用层协议的映射关系的方法包括:所述簇的应用识别模块305根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议,如果一个簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,则所述簇的应用识别模块305计算簇内各抽样子流所对应的已知应用层协议的概率,然后将概率最大的已知应用层协议与该簇建立映射;其中,如果一个簇不能与任何已知应用层协议建立映射关系,则所述簇的应用识别模块305将该簇与未知应用层协议类型相对应。
本发明实施例中接入网的流量识别装置将接入网中数据流的应用层协议识别出来之后,还可以进一步对接入网中的数据流进行流量控制。由于数据流的应用层协议不同,对数据流的流量控制方法也有所不同,因此,如图3所示,该装置进一步包括:
异常流量检测模块307:用于从业务识别模块306接收与未知应用层协议类型映射的簇及其映射的未知应用层协议类型;判断簇是否为异常数据流;将异常数据流的簇发送到异常流量控制模块308;将不是异常数据流的簇所映射的未知应用层协议类型定义为新的应用层协议,发送到应用层协议模块301;将不是异常数据流的簇与所述新的应用层协议建立映射;将不是异常数据流的簇及其映射的新的应用层协议发送到转发策略模块309;
异常流量控制模块308:用于从异常流量检测模块307接收异常数据流的簇;向接入网发送子流接入控制信息。
转发策略模块309:用于从业务识别模块306接收与已知应用层协议映射的簇及其映射的已知应用层协议;从异常流量检测模块307接收不是异常数据流的簇及其映射的新的应用层协议;将簇内所有子流都与该簇映射的应用层协议建立映射;根据簇映射的应用层协议的类型,向接入网发送子流流量控制信息。
在子流聚类模块303根据子流特征向量对子流进行聚类、形成簇之后,为了提高聚类质量,进而提高本发明对接入网的流量识别质量,如图3所示,本发明实施例中的接入网的流量识别装置进一步包括:
聚类质量评判模块310:用于从抽样子流生成和应用识别模块304接收抽样子流与应用层协议的映射关系;从子流聚类模块303接收簇、子流及其子流特征向量;从簇的应用识别模块305接收簇与应用层协议的映射关系;评判聚类质量是否符合聚类标准;向子流聚类模块303发送聚类质量评判结果。
聚类质量评判模块310用于评判聚类质量是否符合聚类标准,如果评判结果为聚类质量符合聚类标准,则向子流聚类模块303发送聚类质量评判结果;所述子流聚类模块,只有在聚类质量评判结果为聚类质量符合聚类标准时,才向簇的应用识别模块发送簇;
所述子流聚类模块,在聚类质量不符合聚类标准时,那么所述聚类质量评判模块310向子流聚类模块303发送聚类质量评判结果,所述子流聚类模块303重新为每一个子流设置eps和minpts这两个参数,然后所述子流聚类模块303重新根据子流特征向量对子流进行聚类,形成簇,并将子流及其子流特征向量以及新的簇发送给聚类质量评判模块重新进行聚类质量的评判,直至所述聚类质量评判模块310评判聚类质量符合聚类标准为止;
所述聚类质量符合聚类标准,是指聚类质量同时达到三个标准,如果不能满足其中任一标准,都为聚类质量不符合聚类标准,所述三个标准为:
第一:状态为未知的子流特征向量的数目占所有子流特征向量数目的比例小于10%;
第二:簇的数目为抽样子流与应用层协议的映射关系中的已知应用层协议的数目的两倍以上;
第三:所述簇的应用识别模块305根据抽样子流与应用层协议的映射关系、按照应用层协议概率优势原则建立簇与应用层协议的映射关系之后,在与已知应用层协议映射的任一簇中,概率最大的已知应用层协议的概率不低于60%。
由此可见,本发明具有以下优点:
(1)本发明从数据流中提取出子流,又从子流中抽样出抽样子流,然后将抽样子流所对应的应用层协议与聚类形成的簇建立映射,因而相对于现有技术,本发明的检测工作量很小,存储开销和计算量也都很小,从而可以通过低速在线检测少量抽样子流对应的应用层协议的方式,来获知所有子流对应的应用层协议,进而据此对接入网中的数据流进行高速在线的流量识别,因此,本发明可以有效地对接入网进行高速在线的流量识别。
(2)本发明利用子流和抽样子流来实现实时的网络流量检测,因而不需要采用现有技术那种先完整接收整个数据流再生成统计特征的方法来进行检测,因此,本发明可以实时完成数据流的识别和控制操作。
(3)本发明利用子流的统计特征对子流进行聚类,然后将聚类形成的簇与簇内概率最大的应用层协议建立映射,并以此为基础进行网络流量控制,因此,本发明可以根据加密数据流的统计特征将其聚类到相应的簇,然后得到该加密数据所映射的应用层协议,从而实现对接入网中传输的加密数据包的流量识别和控制。
(4)本发明对于与未知应用层协议类型映射的簇,采取深度包检测技术检测其是否为异常数据流,因而本发明能够实时检测出蠕虫、木马等计算机病毒以及端口扫描等网络入侵类型的异常数据流,并对这些网络流量进行实时的流量控制,进而及时产生告警通知网络管理员,因此,本发明能够实时地避免计算机病毒及网络入侵等异常网络数据流对网络和用户的危害。
(5)本发明可以评判聚类质量是否符合聚类标准,从而自动调整聚类参数,改善子流的聚类质量,因此,本发明能自动适应数据流的变化,保证了对接入网中网络流量识别效果的可靠性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种接入网的流量识别方法,其特征在于,该方法包括:
从接入网的每个数据流中提取与该数据流对应的子流;
对所有子流进行抽样,得到抽样子流,对每个抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系;
从每个子流提取原始数据,并根据原始数据建立与该子流对应的子流特征向量;
根据所有子流特征向量将对应的子流进行聚类,形成多个簇;
根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系;其中,如果一个簇不能与任何已知应用层协议建立映射关系,则该簇对应的应用层协议类型为未知;
根据簇与应用层协议的映射关系,识别各簇中的每个子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议;其中,对于与未知应用层协议类型相对应的簇,该簇中每个子流所对应的应用层协议类型为未知,进而接入网中与该子流对应的数据流的应用层协议类型也为未知。
2.根据权利要求1所述的方法,其特征在于,在所述进而识别接入网中与该子流对应的数据流的应用层协议之后,该方法进一步包括:
根据识别出来的接入网中数据流的应用层协议,对接入网中的数据流进行流量控制;其中,对于接入网中与未知应用层协议类型对应的数据流,首先检测其对应的子流所在的簇是否为异常数据流,如果是异常数据流,则对接入网中与该未知应用层协议类型对应的数据流进行接入控制,如果不是异常数据流,则将该未知应用层协议类型定义为新的应用层协议,将接入网中与该未知应用层协议类型对应的数据流与所述新的应用层协议建立映射关系,然后对接入网中与所述新的应用层协议建立映射关系的数据流进行流量控制。
3.根据权利要求1所述的方法,其特征在于,所述从接入网的每个数据流中提取与该数据流对应的子流的步骤包括:
对于接入网中的每一个数据流,提取该数据流起始位置的预设数量的数据包作为该数据流的子流。
4.根据权利要求1所述的方法,其特征在于,所述对每个抽样子流的应用层协议进行识别的步骤包括:
用深度包检测技术对每个抽样子流进行检测,从而识别出抽样子流所对应的应用层协议,并将不能与已知应用层协议相对应的抽样子流与未知应用层协议相对应。
5.根据权利要求1所述的方法,其特征在于,从每个子流提取原始数据,并根据原始数据建立与该子流对应的子流特征向量的步骤包括:
从子流中提取数据包的特征数据作为原始数据,所述特征数据包括:协议字段、子流的持续时间、数据包的长度、数据包中有效载荷的大小、相邻数据包到达接入点的时间间隔中的任意一个或多个;
根据所述原始数据,用统计学的方法计算子流的统计特征,所述统计特征包括:最大前向数据包的长度、数据包包头中协议的类型、相邻前向数据包到达接入点的最小时间间隔、相邻前向数据包到达接入点的时间间隔的标准差、相邻后向数据包到达接入点的时间间隔的标准差、最大后向数据包的长度以及后向数据包长度的均值中的任意一个或多个;
将所述统计特征排列成一个向量,得到子流特征向量。
6.根据权利要求1或4所述的方法,其特征在于,所述根据所有子流特征向量将对应的子流进行聚类,形成多个簇的步骤包括以下步骤:
第一步,将所有子流特征向量的状态都设置为未归类,并为每一个子流设置邻近特征向量距离eps和最小特征向量数目minpts这两个参数;
第二步,选定任一未归类的子流特征向量p,则p具有邻近特征向量距离p.eps和最小特征向量数目p.minpts两个参数,计算p与其他所有未归类的子流特征向量的距离;
将参数p.eps的大小与p和其他子流特征向量之间的距离作比较,并统计与p的距离小于参数p.eps的子流特征向量的数目,然后将该数目与参数p.minpts作比较,如果该数目不小于参数p.minpts,那么称p为核对象,与p的距离小于p.eps的所有子流特征向量称为p的直接密度可达对象,将p与所有p的直接密度可达对象组成以p为核对象的簇a,然后将p和所有p的直接密度可达对象以及其所对应的各子流的状态都设置为属于簇a;如果该数目小于p.minpts,那么称p为噪声对象,并将p以及其对应的子流的状态设置为未知;
第三步,判断是否存在未归类的子流特征向量,如果存在,则重复执行第二步,如果不存在,则结束流程;
其中,所述p与其他任一子流特征向量的距离,为p与其他任一子流特征向量的欧氏距离。
7.根据权利要求6所述的方法,其特征在于,
所述根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系的步骤包括:根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议;如果一个簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,则计算簇内各抽样子流所对应的已知应用层协议的概率,然后将概率最大的已知应用层协议与该簇建立映射;
所述如果一个簇不能与任何应用层协议建立映射关系,则该簇对应的应用层协议类型为未知的步骤包括:根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议;如果一个簇内各抽样子流所对应的应用层协议均为未知应用层协议,那么该簇不能与任何已知应用层协议建立映射关系,则将该簇与未知应用层协议类型相对应。
8.根据权利要求7所述的方法,其特征在于,
在根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系之后,并且在根据簇与应用层协议的映射关系,识别各簇中的每个子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议之前,该方法进一步包括:
评判聚类质量是否符合聚类标准,如果聚类质量符合聚类标准,则执行所述根据簇与应用层协议的映射关系,识别各簇中子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议;否则,重新为每一个子流设置eps和minpts这两个参数,然后重新根据子流特征向量对子流进行聚类,形成簇,并重新根据抽样子流与应用层协议的映射关系建立簇与应用层协议的映射关系,直至评判结果为聚类质量符合聚类标准;
所述聚类质量符合聚类标准,是指聚类质量同时达到三个标准,如果不能满足其中任一标准,都为聚类质量不符合聚类标准,所述三个标准为:
第一:状态为未知的子流特征向量的数目占所有子流特征向量数目的比例小于10%;
第二:簇的数目为抽样子流与应用层协议的映射关系中的已知应用层协议的数目的两倍以上;
第三:根据抽样子流与应用层协议的映射关系建立簇与应用层协议或未知应用层协议类型的映射关系之后,与应用层协议映射的任一簇中,概率最大的应用层协议的概率不低于60%。
9.一种接入网的流量识别装置,其特征在于,该装置包括:
应用层协议模块:用于存储应用层协议;向抽样子流生成和应用识别模块提供应用层协议查询服务;
子流特征生成模块:用于从接入网的各数据流中分别提取与所述各数据流对应的子流;从所述子流分别提取原始数据,并根据原始数据建立与各子流对应的子流特征向量;
子流聚类模块:用于从子流特征生成模块接收子流及其子流特征向量;根据子流特征向量对子流进行聚类,形成簇;向簇的应用识别模块发送簇;
抽样子流生成和应用识别模块:用于从子流特征生成模块接收子流;对子流进行抽样,得到抽样子流;向应用层协议模块查询应用层协议;对抽样子流的应用层协议进行识别,并根据识别结果建立抽样子流与应用层协议的映射关系;
簇的应用识别模块:用于从抽样子流生成和应用识别模块获取抽样子流与应用层协议的映射关系;从子流聚类模块接收簇;根据抽样子流与应用层协议的映射关系,建立簇与应用层协议的映射关系;
业务识别模块:用于从簇的应用识别模块获取簇与应用层协议的映射关系;根据簇与应用层协议的映射关系,识别各簇中子流所对应的应用层协议,进而识别接入网中与该子流对应的数据流的应用层协议。
10.根据权利要求9所述的装置,其特征在于,该装置进一步包括:
异常流量检测模块:用于从业务识别模块接收与未知应用层协议类型映射的簇及其映射的未知应用层协议类型;判断簇是否为异常数据流;将异常数据流的簇发送到异常流量控制模块;将不是异常数据流的簇所映射的未知应用层协议类型定义为新的应用层协议,发送到应用层协议模块;将不是异常数据流的簇与所述新的应用层协议建立映射;将不是异常数据流的簇及其映射的新的应用层协议发送到转发策略模块;
异常流量控制模块:用于从异常流量检测模块接收异常数据流的簇;向接入网发送子流接入控制信息;
转发策略模块:用于从业务识别模块接收与已知应用层协议映射的簇及其映射的已知应用层协议;从异常流量检测模块接收不是异常数据流的簇及其映射的新的应用层协议;将簇内所有子流都与该簇映射的应用层协议建立映射;根据簇映射的应用层协议的类型,向接入网发送子流流量控制信息。
11.根据权利要求9所述的装置,其特征在于,
子流特征生成模块,用于从接入网传输的每一个数据流中提取该数据流起始位置的预设数量的数据包作为该数据流的子流。
12.根据权利要求9所述的装置,其特征在于,
抽样子流生成和应用识别模块,用深度包检测技术对抽样子流进行检测,从而识别出抽样子流所对应的应用层协议,并将不能与已知应用层协议相对应的抽样子流与未知应用层协议相对应,从而建立抽样子流与应用层协议的映射关系。
13.根据权利要求9所述的装置,其特征在于,
所述子流特征生成模块,首先从子流中提取数据包的特征数据作为原始数据,所述特征数据包括:协议字段、子流的持续时间、数据包的长度、数据包中有效载荷的大小、相邻数据包到达接入点的时间间隔中的任意一个或多个;然后,根据所述原始数据,用统计学的方法计算子流的统计特征,所述统计特征包括:最大前向数据包的长度、数据包包头中协议的类型、相邻前向数据包到达接入点的最小时间间隔、相邻前向数据包到达接入点的时间间隔的标准差、相邻后向数据包到达接入点的时间间隔的标准差、最大后向数据包的长度以及后向数据包长度的均值中的任意一个或多个;最后,将所述统计特征排列成一个向量,得到子流特征向量。
14.根据权利要求9或12所述的装置,其特征在于,所述子流聚类模块根据子流特征向量对子流进行聚类、形成簇包括:
第一步,所述子流聚类模块将所有子流特征向量的状态都设置为未归类,并为每一个子流设置邻近特征向量距离eps和最小特征向量数目minpts这两个参数;
第二步,所述子流聚类模块选定任一未归类的子流特征向量p,则p具有邻近特征向量距离p.ep s和最小特征向量数目p.minpts两个参数,计算p与其他所有未归类的子流特征向量的距离;
所述子流聚类模块将参数p.eps的大小与p和其他子流特征向量之间的距离作比较,并统计与p的距离小于参数p.eps的子流特征向量的数目,然后将该数目与参数p.minpts作比较,如果该数目不小于参数p.minpts,那么称p为核对象,与p的距离小于p.eps的所有任一子流特征向量称为p的直接密度可达对象,所述子流聚类模块将p与所有p的直接密度可达对象组成以p为核对象的簇a,然后将p和所有p的直接密度可达对象以及其所对应的各子流的状态都设置为属于簇a;如果与p的距离小于p.eps的子流特征向量的数目小于p.minpts,那么称p为噪声对象,并将p以及其对应的子流的状态设置为未知;
第三步,所述子流聚类模块判断是否存在未归类的子流特征向量,如果存在,则重复执行第二步,如果不存在,结束流程;
其中,所述p与其他任一子流特征向量的距离,为p与其他任一子流特征向量的欧氏距离。
15.根据权利要求14所述的装置,其特征在于,
所述簇的应用识别模块,用于根据抽样子流与应用层协议的映射关系,统计簇内各抽样子流所对应的应用层协议,如果一个簇内各抽样子流所对应的应用层协议至少包括一个已知应用层协议,则所述簇的应用识别模块计算簇内各抽样子流所对应的已知应用层协议的概率,然后将概率最大的已知应用层协议与该簇建立映射;其中,如果一个簇不能与任何已知应用层协议建立映射关系,则所述簇的应用识别模块将该簇与未知应用层协议类型相对应。
16.根据权利要求15所述的装置,其特征在于,该装置进一步包括:
聚类质量评判模块:用于从抽样子流生成和应用识别模块接收抽样子流与应用层协议的映射关系;从子流聚类模块接收簇、子流及其子流特征向量;从簇的应用识别模块接收簇与应用层协议的映射关系;
所述聚类质量评判模块,用于评判聚类质量是否符合聚类标准,如果评判结果为聚类质量符合聚类标准,则向子流聚类模块发送聚类质量评判结果;
所述子流聚类模块,只有在聚类质量评判结果为聚类质量符合聚类标准时,向簇的应用识别模块发送簇;
所述子流聚类模块,在聚类质量评判结果为聚类质量不符合聚类标准时,重新为每一个子流设置eps和minpts这两个参数,然后重新根据子流特征向量对子流进行聚类,形成簇,并将子流及其子流特征向量以及新的簇发送给聚类质量评判模块重新进行聚类质量的评判,直至所述聚类质量评判模块评判聚类质量符合聚类标准为止;
所述聚类质量符合聚类标准,是指聚类质量同时达到三个标准,如果不能满足其中任一标准,都为聚类质量不符合聚类标准,所述三个标准为:
第一:状态为未知的子流特征向量的数目占所有子流特征向量数目的比例小于10%;
第二:簇的数目为抽样子流与应用层协议的映射关系中的已知应用层协议的数目的两倍以上;
第三:所述簇的应用识别模块根据抽样子流与应用层协议的映射关系建立簇与应用层协议的映射关系之后,在与已知应用层协议映射的任一簇中,概率最大的已知应用层协议的概率不低于60%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102593941A CN101714952B (zh) | 2009-12-22 | 2009-12-22 | 一种接入网的流量识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102593941A CN101714952B (zh) | 2009-12-22 | 2009-12-22 | 一种接入网的流量识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101714952A true CN101714952A (zh) | 2010-05-26 |
CN101714952B CN101714952B (zh) | 2012-03-07 |
Family
ID=42418240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102593941A Expired - Fee Related CN101714952B (zh) | 2009-12-22 | 2009-12-22 | 一种接入网的流量识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101714952B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045195A (zh) * | 2010-11-23 | 2011-05-04 | 清华大学 | 基于关联性命令控制信息的流量识别方法及系统 |
CN102137022A (zh) * | 2011-04-01 | 2011-07-27 | 华为技术有限公司 | 提供用于识别数据包的信息的方法、爬虫引擎及网络系统 |
CN102164049A (zh) * | 2011-04-28 | 2011-08-24 | 中国人民解放军信息工程大学 | 加密流量的普适识别方法 |
CN105162663A (zh) * | 2015-09-25 | 2015-12-16 | 中国人民解放军信息工程大学 | 一种基于流集的在线流量识别方法 |
CN105577679A (zh) * | 2016-01-14 | 2016-05-11 | 华东师范大学 | 一种基于特征选择与密度峰值聚类的异常流量检测方法 |
CN105791151A (zh) * | 2014-12-22 | 2016-07-20 | 华为技术有限公司 | 一种动态流量控制方法,及装置 |
CN105871619A (zh) * | 2016-04-18 | 2016-08-17 | 中国科学院信息工程研究所 | 一种基于n-gram多特征的流量载荷类型检测方法 |
CN107181724A (zh) * | 2016-03-11 | 2017-09-19 | 华为技术有限公司 | 一种协同流的识别方法、系统以及使用该方法的服务器 |
WO2019076025A1 (zh) * | 2017-10-16 | 2019-04-25 | Oppo广东移动通信有限公司 | 一种加密数据流的识别方法、设备、存储介质及系统 |
WO2019076000A1 (zh) * | 2017-10-16 | 2019-04-25 | Oppo广东移动通信有限公司 | 一种加密数据流的识别方法、设备、存储介质及系统 |
CN110249596A (zh) * | 2017-01-09 | 2019-09-17 | 思杰系统有限公司 | 用于saas应用的基于qos的分类和优先级排序的学习技巧 |
CN110932814A (zh) * | 2019-12-05 | 2020-03-27 | 北京邮电大学 | 软件定义的网络授时安全防护方法、装置及系统 |
CN112153685A (zh) * | 2019-06-26 | 2020-12-29 | 大唐移动通信设备有限公司 | Rrc故障检测方法和装置 |
CN112637223A (zh) * | 2020-12-26 | 2021-04-09 | 曙光网络科技有限公司 | 应用协议识别方法、装置、计算机设备和存储介质 |
CN113037551A (zh) * | 2021-03-08 | 2021-06-25 | 中国移动通信集团广西有限公司 | 一种基于流量切片的涉敏业务快速识别定位方法 |
CN113938410A (zh) * | 2021-10-14 | 2022-01-14 | 广东电网有限责任公司 | 一种终端协议的识别方法及装置 |
CN114978593A (zh) * | 2022-04-15 | 2022-08-30 | 中国科学院信息工程研究所 | 基于图匹配的不同网络环境的加密流量分类方法及系统 |
CN115134434A (zh) * | 2022-06-17 | 2022-09-30 | 奇安信科技集团股份有限公司 | 会话连接的监控方法及装置 |
CN117527446A (zh) * | 2024-01-03 | 2024-02-06 | 上海人工智能网络系统工程技术研究中心有限公司 | 一种网络异常流量精细化检测方法 |
-
2009
- 2009-12-22 CN CN2009102593941A patent/CN101714952B/zh not_active Expired - Fee Related
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045195A (zh) * | 2010-11-23 | 2011-05-04 | 清华大学 | 基于关联性命令控制信息的流量识别方法及系统 |
CN102045195B (zh) * | 2010-11-23 | 2012-07-25 | 清华大学 | 基于关联性命令控制信息的流量识别方法及系统 |
CN102137022A (zh) * | 2011-04-01 | 2011-07-27 | 华为技术有限公司 | 提供用于识别数据包的信息的方法、爬虫引擎及网络系统 |
CN102137022B (zh) * | 2011-04-01 | 2013-11-06 | 华为技术有限公司 | 提供用于识别数据包的信息的方法、爬虫引擎及网络系统 |
CN102164049A (zh) * | 2011-04-28 | 2011-08-24 | 中国人民解放军信息工程大学 | 加密流量的普适识别方法 |
CN102164049B (zh) * | 2011-04-28 | 2013-04-17 | 中国人民解放军信息工程大学 | 加密流量的普适识别方法 |
CN105791151A (zh) * | 2014-12-22 | 2016-07-20 | 华为技术有限公司 | 一种动态流量控制方法,及装置 |
CN105791151B (zh) * | 2014-12-22 | 2019-01-18 | 华为技术有限公司 | 一种动态流量控制方法,及装置 |
CN105162663B (zh) * | 2015-09-25 | 2019-02-19 | 中国人民解放军信息工程大学 | 一种基于流集的在线流量识别方法 |
CN105162663A (zh) * | 2015-09-25 | 2015-12-16 | 中国人民解放军信息工程大学 | 一种基于流集的在线流量识别方法 |
CN105577679A (zh) * | 2016-01-14 | 2016-05-11 | 华东师范大学 | 一种基于特征选择与密度峰值聚类的异常流量检测方法 |
CN105577679B (zh) * | 2016-01-14 | 2019-02-15 | 华东师范大学 | 一种基于特征选择与密度峰值聚类的异常流量检测方法 |
US10567299B2 (en) | 2016-03-11 | 2020-02-18 | Huawei Technologies Co., Ltd. | Coflow identification method and system, and server using method |
CN107181724A (zh) * | 2016-03-11 | 2017-09-19 | 华为技术有限公司 | 一种协同流的识别方法、系统以及使用该方法的服务器 |
CN105871619A (zh) * | 2016-04-18 | 2016-08-17 | 中国科学院信息工程研究所 | 一种基于n-gram多特征的流量载荷类型检测方法 |
CN105871619B (zh) * | 2016-04-18 | 2019-03-01 | 中国科学院信息工程研究所 | 一种基于n-gram多特征的流量载荷类型检测方法 |
US11582282B2 (en) | 2017-01-09 | 2023-02-14 | Citrix Systems, Inc. | Learning technique for QoS based classification and prioritization of SAAS applications |
CN110249596A (zh) * | 2017-01-09 | 2019-09-17 | 思杰系统有限公司 | 用于saas应用的基于qos的分类和优先级排序的学习技巧 |
WO2019076000A1 (zh) * | 2017-10-16 | 2019-04-25 | Oppo广东移动通信有限公司 | 一种加密数据流的识别方法、设备、存储介质及系统 |
WO2019076025A1 (zh) * | 2017-10-16 | 2019-04-25 | Oppo广东移动通信有限公司 | 一种加密数据流的识别方法、设备、存储介质及系统 |
CN110771116B (zh) * | 2017-10-16 | 2021-02-26 | Oppo广东移动通信有限公司 | 一种加密数据流的识别方法、设备、存储介质及系统 |
CN110771116A (zh) * | 2017-10-16 | 2020-02-07 | Oppo广东移动通信有限公司 | 一种加密数据流的识别方法、设备、存储介质及系统 |
US11418951B2 (en) | 2017-10-16 | 2022-08-16 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for identifying encrypted data stream, device, storage medium and system |
CN112153685A (zh) * | 2019-06-26 | 2020-12-29 | 大唐移动通信设备有限公司 | Rrc故障检测方法和装置 |
CN112153685B (zh) * | 2019-06-26 | 2022-02-25 | 大唐移动通信设备有限公司 | Rrc故障检测方法和装置 |
CN110932814A (zh) * | 2019-12-05 | 2020-03-27 | 北京邮电大学 | 软件定义的网络授时安全防护方法、装置及系统 |
CN112637223A (zh) * | 2020-12-26 | 2021-04-09 | 曙光网络科技有限公司 | 应用协议识别方法、装置、计算机设备和存储介质 |
CN113037551A (zh) * | 2021-03-08 | 2021-06-25 | 中国移动通信集团广西有限公司 | 一种基于流量切片的涉敏业务快速识别定位方法 |
CN113938410A (zh) * | 2021-10-14 | 2022-01-14 | 广东电网有限责任公司 | 一种终端协议的识别方法及装置 |
CN114978593A (zh) * | 2022-04-15 | 2022-08-30 | 中国科学院信息工程研究所 | 基于图匹配的不同网络环境的加密流量分类方法及系统 |
CN114978593B (zh) * | 2022-04-15 | 2023-03-10 | 中国科学院信息工程研究所 | 基于图匹配的不同网络环境的加密流量分类方法及系统 |
CN115134434A (zh) * | 2022-06-17 | 2022-09-30 | 奇安信科技集团股份有限公司 | 会话连接的监控方法及装置 |
CN117527446A (zh) * | 2024-01-03 | 2024-02-06 | 上海人工智能网络系统工程技术研究中心有限公司 | 一种网络异常流量精细化检测方法 |
CN117527446B (zh) * | 2024-01-03 | 2024-03-12 | 上海人工智能网络系统工程技术研究中心有限公司 | 一种网络异常流量精细化检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101714952B (zh) | 2012-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101714952B (zh) | 一种接入网的流量识别方法和装置 | |
CN102315974B (zh) | 基于层次化特征分析的tcp、udp流量在线识别方法和装置 | |
CN110445653B (zh) | 网络状态预测方法、装置、设备及介质 | |
CN105871832B (zh) | 一种基于协议属性的网络应用加密流量识别方法及其装置 | |
CN102271090B (zh) | 基于传输层特征的流量分类方法及装置 | |
CN111277587A (zh) | 基于行为分析的恶意加密流量检测方法及系统 | |
CN101841440B (zh) | 基于支持向量机与深层包检测的对等网络流量识别方法 | |
CN107733851A (zh) | 基于通信行为分析的dns隧道木马检测方法 | |
CN100553206C (zh) | 基于报文采样和应用签名的互联网应用流量识别方法 | |
CN103139315A (zh) | 一种适用于家庭网关的应用层协议解析方法 | |
CN109768981B (zh) | 一种在sdn架构下基于机器学习的网络攻击防御方法和系统 | |
CN102739457A (zh) | 一种基于dpi和svm技术的网络流量识别系统及方法 | |
CN104618377A (zh) | 基于NetFlow的僵尸网络检测系统与检测方法 | |
CN109151880A (zh) | 基于多层分类器的移动应用流量识别方法 | |
CN108846275A (zh) | 基于ripper算法的未知操作系统类型识别方法 | |
CN110417729A (zh) | 一种加密流量的服务与应用分类方法及系统 | |
CN104092588B (zh) | 一种基于SNMP与NetFlow结合的网络异常流量检测方法 | |
SG184120A1 (en) | Method of identifying a protocol giving rise to a data flow | |
CN107566192A (zh) | 一种异常流量处理方法及网管设备 | |
CN102571946A (zh) | 一种基于对等网络的协议识别与控制系统的实现方法 | |
CN106789728A (zh) | 一种基于NetFPGA的VoIP流量实时识别方法 | |
CN110266603A (zh) | 基于http协议的身份认证业务网络流量分析系统及方法 | |
CN101321097A (zh) | 基于净荷深度检测的腾讯网络直播业务识别方法 | |
CN101854366B (zh) | 一种对等网络流量识别的方法及装置 | |
CN115174961A (zh) | 一种面向高速网络的多平台视频流量早期识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120307 Termination date: 20141222 |
|
EXPY | Termination of patent right or utility model |