一种基于软件定义网络的应用流量识别方法及系统技术方案

技术编号:22242589 阅读:38 留言:0更新日期:2019-10-09 22:01
本发明专利技术提供一种基于软件定义网络的应用流量识别方法及系统,涉及网络通信技术领域,包括交换机获取用户终端的应用流量,并将应用流量复制到识别控制模块;交换机根据应用流量生成连接跟踪表,连接跟踪表中包括第一子字段和第二子字段;识别控制模块根据预设规则对第一子字段和第二子字段进行分析,并根据分析结果确定对应用流量进行识别时调用识别引擎根据预先生成的识别特征匹配库对应用流量进行识别:若识别成功,则将应用流量的识别标识记录在第一子字段内;若未识别成功,则将应用流量的识别次数加一并更新第二子字段。本发明专利技术通过最小改动量对应用流量进行识别,增加业务灵活性的同时减小系统开销,同时减小交换机到控制器的网络压力。

An Application Traffic Recognition Method and System Based on Software Definition Network

【技术实现步骤摘要】
一种基于软件定义网络的应用流量识别方法及系统
本专利技术涉及网络通信
,尤其涉及一种基于软件定义网络的应用流量识别方法及系统。
技术介绍
随着互联网业务的快速发展和带宽接入的竞争加剧,运营商的量收差在持续扩大,传统的纯管道经营模式面临越来越大的挑战,智能管道正成为运营商进行转型探索的方向。要做到智能管道,前提之一就是能够对网络中的应用进行识别。软件定义网络是通过Openflow将网络设备的控制面与数据面分离开来,从而实现网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台,而要想实现网络流量的灵活控制的首先任务是在网络中识别各种应用程序,因此快速准确地识别应用程序至关重要。现有技术中,一般通过五元组识别、DPI(DeepPacketInspection,深度报文检测)等技术实现应用识别。五元组识别对IP包四层以下的内容,如源地址、目的地址、源端口、目的端口以及协议类型等信息进行分析;其特点是识别效率较高,适合在一些性能受限设备上实现,但准确性低,特别是随着网上应用类型的不断丰富,以及基于开放端口、随机端口甚至采用加密方式进行传输的应用类型的增多,仅通过IP地址和端口信息已经不能真正判断流量中的应用类型。DPI技术在以上四层报文分析的基础上,增加了对应用层的分析,有效提升了识别准确性。但在软件定义网络中,由于Openflow无法对数据报文的应用层进行解析分析和识别,限制了Openflow在应用层的控制能力。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种基于软件定义网络的应用流量识别方法,所述软件定义网络包括一控制器以及与所述控制器连接的一交换机;于所述交换机内设置一识别控制模块以及一识别引擎,且所述识别控制模块和所述识别引擎并接在所述软件定义网络中;还包括用户终端,所述用户终端通过所述交换机接入所述软件定义网络;所述应用流量识别方法具体包括:步骤S1,所述交换机获取所述用户终端的应用流量,并根据所述控制器预先生成并下发的转发流表将所述应用流量复制到所述识别控制模块;步骤S2,所述交换机根据所述应用流量生成相应的连接跟踪表,所述连接跟踪表中针对所述应用流量包括一第一字段,所述第一字段包括用于记录识别标识的第一子字段和用于记录识别次数的第二子字段;步骤S3,所述识别控制模块根据预设规则分别对所述第一子字段和所述第二子字段进行分析,并根据分析结果确定是否对所述应用流量进行识别:若是,则转向步骤S4;若否,则丢弃所述应用流量,随后退出;步骤S4,所述控制模块调用所述识别引擎,并根据所述控制器预先生成并下发的识别特征匹配库对所述应用流量进行识别,所述识别特征匹配库中包括所述用户终端内各个应用程序产生的所述应用流量对应的特征值以及预先定义的各个应用程序产生的所述应用流量对应的识别标识:若识别成功,则将所述应用流量对应的所述识别标识记录在所述应用流量对应的所述第一子字段内,随后退出;若未识别成功,则将所述应用流量对应的识别次数加一并更新所述第二子字段,随后退出。优选的,所述步骤S3具体包括:步骤S31,所述识别控制模块获取所述应用流量对应的所述连接跟踪表;步骤S32,所述识别控制模块对所述连接跟踪表的所述第一子字段进行分析:若分析结果表示所述第一子字段中存在所述识别标识,则所述应用流量为已识别应用流量,随后退出;若分析结果表示所述第一子字段中不存在所述识别标识,则所述应用流量为未识别应用流量,随后转向步骤S33;步骤S33,所述识别控制模块对所述连接跟踪表的所述第二子字段进行分析得到所述应用流量的识别次数,并将所述识别次数与预先设置的识别阈值进行比较:若所述识别次数小于所述识别阈值,则转向步骤S4;若所述识别次数不小于所述识别阈值,则对所述应用流量进行丢弃处理,随后退出。优选的,所述步骤S4具体包括:步骤S41,所述识别控制模块提取所述应用流量的特征值和所述连接跟踪表,所述特征值为五元组;步骤S42,所述识别控制模块调用所述识别引擎根据所述特征值于预先设置的所述识别特征匹配库中进行检索:若检索到匹配的所述特征值,则表示识别成功,并且将所述应用流量对应的所述识别标识记录在所述应用流量对应的所述连接跟踪表中的所述第一子字段内,随后退出;若未检索到匹配的所述特征值,则表示识别失败,并且将所述应用流量对应的所述连接跟踪表中的所述第二子字段中的所述识别次数加一,以更新所述第二子字段,随后退出。优选的,还包括对所述识别特征匹配库进行更新的过程,具体包括:步骤A1,所述控制器实时检测所述软件定义网络中的各个应用程序的更新信息,并将检测到的所述更新信息下发至所述识别控制模块;步骤A2,所述识别控制模块根据所述更新信息对所述识别特征匹配库进行更新。优选的,所述识别特征匹配库采用的是粗匹配的匹配方式。优选的,所述识别特征匹配库采用的是高精度的匹配方式。一种基于软件定义网络的应用流量识别系统,应用以上任意一项所述的基于软件定义网络的应用流量识别方法,具体包括:交换机,所述交换机包括:数据获取模块,用于获取与所述交换机连接的用户终端的应用流量;数据生成模块,连接所述数据获取模块,用于根据所述应用流量生成相应的连接跟踪表,所述连接跟踪表中针对所述应用流量包括一第一字段,所述第一字段包括用于记录识别标识的第一子字段和用于记录识别次数的第二子字段;数据复制模块,连接所述数据获取模块,用于根据预先生成并下发的转发流表将所述应用流量复制并输出;识别控制模块,分别连接所述数据复制模块和所述数据生成模块,用于根据预设规则分别对所述第一子字段和所述第二子字段进行分析,以及在所述识别控制模块的分析结果表示对所述应用流量进行识别时,调用所述识别引擎根据预先生成并下发的识别特征匹配库对所述应用流量进行识别。控制器,连接所述交换机,用于生成所述转发流表和所述识别匹配库,并下发至所述交换机。优选的,还包括一数据精细分析系统,分别连接所述控制器和所述交换机,用于根据所述交换机中的所述识别控制模块的识别结果进行精细分析并将精细分析结果发送至所述控制器;所述精细分析结果包括所述应用流量对应的应用,和/或所述应用流量的使用时间段,和/或所述应用流量搭载的终端设备;所述控制器根据所述精细分析结果生成所述应用流量下一次的转发路径。优选的,所述识别控制模块具体包括:数据采集单元,用于获取所述应用流量对应的所述连接跟踪表;第一分析单元,连接所述数据采集单元,用于对所述连接跟踪表的所述第一子字段进行分析并输出第一分析结果;第一判断单元,连接所述第一分析单元,用于根据所述第一分析结果判断所述第一子字段中是否存在识别标识:所述第一子字段中存在所述识别标识,则所述第一判断单元输出的第一判断结果表示所述应用流量为已识别应用流量;所述第一子字段中不存在所述识别标识,则所述第一判断单元输出的第二判断结果表示所述应用流量为未识别应用流量;第二分析单元,分别连接所述数据采集单元和所述第一判断单元,用于根据所述第二判断结果对所述连接跟踪表的所述第二子字段进行分析并输出第二分析结果;所述第二分析结果为所述应用流量的识别次数;第二判断单元,连接所述第二分析单元,用于将所述第二分析结果与预先设置的识别阈值进行比较:所述识别次数小于所述识别阈值,则所述第本文档来自技高网...

【技术保护点】
1.一种基于软件定义网络的应用流量识别方法,其特征在于,所述软件定义网络包括一控制器以及与所述控制器连接的一交换机;于所述交换机内设置一识别控制模块以及一识别引擎,且所述识别控制模块和所述识别引擎并接在所述软件定义网络中;还包括用户终端,所述用户终端通过所述交换机接入所述软件定义网络;所述应用流量识别方法具体包括:步骤S1,所述交换机获取所述用户终端的应用流量,并根据所述控制器预先生成并下发的转发流表将所述应用流量复制到所述识别控制模块;步骤S2,所述交换机根据所述应用流量生成相应的连接跟踪表,所述连接跟踪表中针对所述应用流量包括一第一字段,所述第一字段包括用于记录识别标识的第一子字段和用于记录识别次数的第二子字段;步骤S3,所述识别控制模块根据预设规则分别对所述第一子字段和所述第二子字段进行分析,并根据分析结果确定是否对所述应用流量进行识别:若是,则转向步骤S4;若否,则丢弃所述应用流量,随后退出;步骤S4,所述识别控制模块调用所述识别引擎,并根据所述控制器预先生成并下发的识别特征匹配库对所述应用流量进行识别,所述识别特征匹配库中包括所述用户终端内各个应用程序产生的所述应用流量对应的特征值以及预先定义的各个应用程序产生的所述应用流量对应的识别标识:若识别成功,则将所述应用流量对应的所述识别标识记录在所述应用流量对应的所述第一子字段内,随后退出;若未识别成功,则将所述应用流量对应的识别次数加一并更新所述第二子字段,随后退出。...

【技术特征摘要】
1.一种基于软件定义网络的应用流量识别方法,其特征在于,所述软件定义网络包括一控制器以及与所述控制器连接的一交换机;于所述交换机内设置一识别控制模块以及一识别引擎,且所述识别控制模块和所述识别引擎并接在所述软件定义网络中;还包括用户终端,所述用户终端通过所述交换机接入所述软件定义网络;所述应用流量识别方法具体包括:步骤S1,所述交换机获取所述用户终端的应用流量,并根据所述控制器预先生成并下发的转发流表将所述应用流量复制到所述识别控制模块;步骤S2,所述交换机根据所述应用流量生成相应的连接跟踪表,所述连接跟踪表中针对所述应用流量包括一第一字段,所述第一字段包括用于记录识别标识的第一子字段和用于记录识别次数的第二子字段;步骤S3,所述识别控制模块根据预设规则分别对所述第一子字段和所述第二子字段进行分析,并根据分析结果确定是否对所述应用流量进行识别:若是,则转向步骤S4;若否,则丢弃所述应用流量,随后退出;步骤S4,所述识别控制模块调用所述识别引擎,并根据所述控制器预先生成并下发的识别特征匹配库对所述应用流量进行识别,所述识别特征匹配库中包括所述用户终端内各个应用程序产生的所述应用流量对应的特征值以及预先定义的各个应用程序产生的所述应用流量对应的识别标识:若识别成功,则将所述应用流量对应的所述识别标识记录在所述应用流量对应的所述第一子字段内,随后退出;若未识别成功,则将所述应用流量对应的识别次数加一并更新所述第二子字段,随后退出。2.根据权利要求1所述的应用识别方法,其特征在于,所述步骤S3具体包括:步骤S31,所述识别控制模块获取所述应用流量对应的所述连接跟踪表;步骤S32,所述识别控制模块对所述连接跟踪表的所述第一子字段进行分析:若分析结果表示所述第一子字段中存在所述识别标识,则所述应用流量为已识别应用流量,随后退出;若分析结果表示所述第一子字段中不存在所述识别标识,则所述应用流量为未识别应用流量,随后转向步骤S33;步骤S33,所述识别控制模块对所述连接跟踪表的所述第二子字段进行分析得到所述应用流量的识别次数,并将所述识别次数与预先设置的识别阈值进行比较:若所述识别次数小于所述识别阈值,则转向步骤S4;若所述识别次数不小于所述识别阈值,则对所述应用流量进行丢弃处理,随后退出。3.根据权利要求1所述的应用识别方法,其特征在于,所述步骤S4具体包括:步骤S41,所述识别控制模块提取所述应用流量的特征值和所述连接跟踪表,所述特征值为五元组;步骤S42,所述识别控制模块调用所述识别引擎根据所述特征值于预先设置的所述识别特征匹配库中进行检索:若检索到匹配的所述特征值,则表示识别成功,并且将所述应用流量对应的所述识别标识记录在所述应用流量对应的所述连接跟踪表中的所述第一子字段内,随后退出;若未检索到匹配的所述特征值,则表示识别失败,并且将所述应用流量对应的所述连接跟踪表中的所述第二子字段中的所述识别次数加一,以更新所述第二子字段,随后退出。4.根据权利要求1所述的应用识别方法,其特征在于,还包括对所述识别特征匹配库进行更新的过程,具体包括:步骤A1,所述控制器实时检测所述软件定义网络中的各个应用程序的更新信息,并将检测到的所述更新信息下发至所述识别控制模块;步骤A2,所述识别控制模块根据所述更新信息对所述识别特征匹配库进行更新。5.根据权利要求1所述的应用识别方法,其特征在于,所述识别特征匹配库采用的是粗匹配的匹配方式。6.根据权利要求1所述的应用识别方法,其特征在于,所述识别特征匹配库采用的是高精度的匹配方式。7.一种基于软件定义网络的应用流量识别系统,其特征在于,应用如权利要求1-6中任意一项所述的基于软件定义网络的应用流量识别方法,具体包括:交换机,所述交换机包括:数据获取模块,用于...

【专利技术属性】
技术研发人员:夏俊钟赟汤嘉佳彭雨婷杨炳丰吴飞
申请(专利权)人:中国电信集团工会上海市委员会
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1