深度报文检测结果扩散方法及装置制造方法及图纸

技术编号:8648672 阅读:185 留言:0更新日期:2013-04-28 18:24
本发明专利技术的实施例公开了一种深度报文检测结果扩散方法,本发明专利技术实施例还公开了一种识别功能网元和扩散网元。其中所述方法包括:识别功能网元接收IP网络流中的数据报文;对数据报文进行识别,如果识别成功,则将识别得到的第一识别结果保存至识别功能网元的本地流表,并将第一识别结果插入数据报文的头部扩展字段;如果无法识别,则将第二识别结果插入数据报文的头部扩展字段,第二识别结果为识别功能网元创建本地流表时的识别结果初始值;当根据业务配置确定无需丢弃数据报文时,向第一下游设备发送携带有第一识别结果或第二识别结果的数据报文。采用本发明专利技术,无需所有网元均进行DPI业务识别,降低了整体网络执行DPI的时延,降低了维护成本。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种深度报文检测结果扩散方法及装置
技术介绍
深度报文检测(英文全称为Deep Packet Inspection,简称为DPI)技术能够识别出IP网络流的具体7层协议、应用等,例如可以识别出当前网络流为edonkey (电驴),且属于P2P类的应用。DPI主要用于加强现有网络流量的精细化运营,运营商可以基于相关数据做协议软件使用情况分析、流量优化、安全管理、内容计费等业务,为达到这一目的,运营商会在网络上各网元部署DPI功能,形成识别功能网元,而识别功能网元的DPI功能主要包括协议应用识别能力,报文解析能力。现有技术中,在网络中的每一个做DPI业务的网元均部署有识别功能模块。IP网络流中的数据报文需要在网络中的每个网元完成识别,然后网元在本机内部返回识别结果并基于识别结果进行后续相关业务处理,这就导致整体网络执行DPI业务的时延较大。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种深度报文检测结果扩散方法及装置,以降低整体网络中执行DPI业务的时延。为了解决上述技术问题,第一方面,本专利技术实施例提供了一种深度报文检测(DPI) 识别结果扩散方法,包括识别功能网元接收网络流中的数据报文;对所述数据报文进行DPI识别,如果成功识别所述数据报文,则将识别得到的第一识别结果保存至所述识别功能网元的本地流表,并将所述第一识别结果插入所述数据报文的头部扩展字段;如果无法识别所述数据报文,则将第二识别结果插入所述数据报文的头部扩展字段,所述第二识别结果为所述识别功能网元创建所述本地流表时的识别结果初始值;向第一下游设备发送携带有所述第一识别结果或所述第二识别结果的所述数据报文。在第一方面的第一种可能的实现方式中,所述数据报文为IPv4报文或IPv6报文; 当所述数据报文为IPv4报文时,所述将所述第一识别结果插入所述数据报文的头部扩展字段,包括将所述第一识别结果插入所述数据报文头部的选项字段;当所述数据报文为 IPv6报文时,所述将所述第一识别结果插入所述数据报文的头部扩展字段,包括将所述第一识别结果插入所述数据报文的扩展头部字段。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据报文的头部扩展字段还包含第一识别状态码,用于向所述第一下游设备指示所述数据报文是否携带有所述第一识别结果或第二识别结果。结合第一方 面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,当所述数据报文是所述网络流中第一个进入所述识别功能网元进行识别的数据包时, 则在将所述第二识别结果插入所述数据报文的头部扩展字段之后,所述方法还包括在所述数据报文的头部扩展字段插入识别首包标记,以使所述第一下游设备在接收到携带有首包标记的所述数据报文后,向所述识别功能网元发送携带有所述第一识别结果的响应报文;所述响应报文还包含有服务器或用户设备在接收到所述数据报文后生成响应消息;所述首包标记用于标识所述网络流中第一个进入所述识别功能网元进行识别的数据包。接收并解析所述响应报文,得到所述第一识别结果,并将所述第一识别结果保存至所述本地流表;将所述响应报文携带的所述第一识别结果删除后向第二下游设备发送。结合所述第一方面,或所述第一方面的第一、二或第三种可能的实现方式,还提供了所述第一方面的第四种可能的实现方式所述本地流表中设置有第一反向识别结果携带标记,用于指示是否在接收到的响应报文的头部扩展字段插入所述第一识别结果;所述第一反向识别结果携带标记在所述识别功能网元成功识别所述数据报文时置为真;在向所述第一下游设备发送携带有所述第一识别结果的数据报文之后,所述方法还包括接收所述服务器或用户设备在接收到所述数据报文之后发出的响应报文;所述响应报文由所述第一下游设备转发至所述识别功能网元;判断所述第一反向识别结果携带标记是否为真,如果是,则将所述第一识别结果插入所述响应报文的头部扩展字段,并将所述第一反向识别结果 携带标记置为假,然后向第二下游设备发送携带有所述第一识别结果的响应报文。结合所述第一方面,或所述第一方面的第一、二或第三种可能的实现方式,还提供了所述第一方面的第五种可能的实现方式所述本地流表中设置有第二反向识别结果携带标记,用于指示所述识别功能网元是否在接收到所述数据报文之后接收的下一个数据报文的头部扩展字段插入所述第一识别结果,所述下一个数据报文属于所述网络流;在向所述第一下游设备发送携带有所述第一识别结果的数据报文后,所述方法还包括接收响应报文,所述响应报文由所述第一下游设备发送至所述识别功能网元,所述响应报文携带有响应消息并且所述响应报文的头部扩展字段携带有识别结果请求信息, 所述响应消息由服务器或用户设备在接收所述数据报文后生成,所述识别结果请求信息用于向所述识别功能网元请求所述第一识别结果;解析所述响应报文,将所述第二反向识别结果携带标记置为真,将所述响应报文携带的所述识别结果请求信息删除后向第二下游设备发送,其中,所述响应报文的头部扩展字段还包含第三识别状态码,用于向所述识别功能网元指示所述响应报文携带有所述识别结果请求信息;接收所述网络流中的下一个数据报文,判断所述第二反向识别结果携带标记是否为真,如果是,则将所述第二反向识别结果携带标记置为假,并将所述第一识别结果插入所述下一个数据报文的头部扩展字段,然后将所述下一个数据报文发送至所述第一下游设备。结合所述第一方面,或所述第一方面的第一、二或第三种可能的实现方式,还提供了所述第一方面的第六种可能的实现方式如果无法识别所述数据报文,则在向所述第一下游设备发送携带有所述第二识别结果的数据报文之后,所述方法还包括接收响应报文,所述响应报文由服务器或用户设备在接收所述数据报文后生成, 并由所述第一下游设备转发至所述识别功能网元;对所述响应报文进行识别,得到所述第一识别结果,将所述第一识别结果保存至所述本地流表,并将所述第一识别结果插入所述识别功能网元接收的下一个数据报文的头部扩展字段,所述下一个数据报文属于所述网络流。第二方面,提供一种识别功能网元,包括第一接收单元,用于接收网络流中的数据报文;第一识别单元,用于对所述数据报文进行深度报文检测(DPI)识别;第一处理单元,用于在所述第一识别单元成功识别所述数据报文时,将识别得到的第一识别结果保存至所述识别功能网元的本地流表,并将所述第一识别结果插入所述数据报文的头部扩展字段;在所述第一识别单元无法识别所述数据报文时,将第二识别结果插入所述数据报文的头部扩展字段,所述第二识别结果为所述识别功能网元创建所述本地流表时的识别结果初始值;第一发送单元,用于向第一下游设备发送携带有所述第一识别结果或所述第二识别结果的所述数据报文。在第二方面的第一种可能的实现方式中,所述第一处理单元还用于在所述数据报文的头部扩展字段插入第一识别状态码,用于向所述第一下游设备指示所述数据报文携带有所述第一识别结果或第二识别结果。结合第二方面,或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,如果所述数据报文是所述识别功能网元接收到的所述网络流中的第一个数据包,则所述第一处理单元还用于,在将所述第二识别结果插入所述数据报文的头部扩展字段之后, 在所述数据报文的头部扩展字段插入识别本文档来自技高网...

【技术保护点】
一种深度报文检测(DPI)识别结果扩散方法,其特征在于,所述方法包括:识别功能网元接收网络流中的数据报文;对所述数据报文进行DPI识别,如果成功识别所述数据报文,则将识别得到的第一识别结果保存至所述识别功能网元的本地流表,并将所述第一识别结果插入所述数据报文的头部扩展字段;如果无法识别所述数据报文,则将第二识别结果插入所述数据报文的头部扩展字段,所述第二识别结果为所述识别功能网元创建所述本地流表时的识别结果初始值;向第一下游设备发送携带有所述第一识别结果或所述第二识别结果的所述数据报文。

【技术特征摘要】
1.一种深度报文检测(DPI)识别结果扩散方法,其特征在于,所述方法包括 识别功能网元接收网络流中的数据报文; 对所述数据报文进行DPI识别,如果成功识别所述数据报文,则将识别得到的第一识别结果保存至所述识别功能网元的本地流表,并将所述第一识别结果插入所述数据报文的头部扩展字段;如果无法识别所述数据报文,则将第二识别结果插入所述数据报文的头部扩展字段,所述第二识别结果为所述识别功能网元创建所述本地流表时的识别结果初始值; 向第一下游设备发送携带有所述第一识别结果或所述第二识别结果的所述数据报文。2.如权利要求1所述方法,其特征在于, 所述数据报文为IPv4报文或IPv6报文; 当所述数据报文为IPv4报文时,所述将所述第一识别结果插入所述数据报文的头部扩展字段,包括将所述第一识别结果插入所述数据报文头部的选项字段;当所述数据报文为IPv6报文时,所述将所述第一识别结果插入所述数据报文的头部扩展字段,包括将所述第一识别结果插入所述数据报文的扩展头部字段。3.如权利要求1或2所述方法,其特征在于,所述数据报文的头部扩展字段还包含第一识别状态码,用于向所述第一下游设备指示所述数据报文是否携带有所述第一识别结果或第二识别结果。4.如权利要求1或2所述方法,其特征在于,当所述数据报文是所述网络流中第一个进入所述识别功能网元进行识别的数据包时,则在将所述第二识别结果插入所述数据报文的头部扩展字段之后,所述方法还包括 在所述数据报文的头部扩展字段插入识别首包标记,以使所述第一下游设备在接收到携带有首包标记的所述数据报文后,向所述识别功能网元发送携带有所述第一识别结果的响应报文;所述响应报文还包含有服务器或用户设备在接收到所述数据报文后生成响应消息;所述首包标记用于标识所述网络流中第一个进入所述识别功能网元进行识别的数据包。接收并解析所述响应报文,得到所述第一识别结果,并将所述第一识别结果保存至所述本地流表; 将所述响应报文携带的所述第一识别结果删除后向第二下游设备发送。5.如权利要求4所述方法,其特征在于, 所述响应报文的头部扩展字段中还包含第二识别状态码,用于向所述识别功能网元指示所述响应报文携带有所述第一识别结果。6.如权利要求1至4中任一项所述方法,其特征在于, 所述本地流表中设置有第一反向识别结果携带标记,用于指示是否在接收到的响应报文的头部扩展字段插入所述第一识别结果;所述第一反向识别结果携带标记在所述识别功能网元成功识别所述数据报文时置为真; 在向所述第一下游设备发送携带有所述第一识别结果的数据报文之后,所述方法还包括 接收所述服务器或用户设备在接收到所述数据报文之后发出的响应报文;所述响应报文由所述第一下游设备转发至所述识别功能网元;判断所述第一反向识别结果携带标记是否为真,如果是,则将所述第一识别结果插入所述响应报文的头部扩展字段,并将所述第一反向识别结果携带标记置为假,然后向第二下游设备发送携带有所述第一识别结果的响应报文。7.如权利要求1至4中任一项所述方法,其特征在于, 所述本地流表中设置有第二反向识别结果携带标记,用于指示所述识别功能网元是否在接收到所述数据报文之后接收的下一个数据报文的头部扩展字段插入所述第一识别结果,所述下一个数据报文属于所述网络流; 在向所述第一下游设备发送携带有所述第一识别结果的数据报文后,所述方法还包括 接收响应报文,所述响应报文由所述第一下游设备发送至所述识别功能网元,所述响应报文携带有响应消息并且所述响应报文的头部扩展字段携带有识别结果请求信息,所述响应消息由服务器或用户设备在接收所述数据报文后生成,所述识别结果请求信息用于向所述识别功能网元请求所述第一识别结果; 解析所述响应报文,将所述第二反向识别结果携带标记置为真,将所述响应报文携带的所述识别结果请求信息删除后向第二下游设备发送,其中,所述响应报文的头部扩展字段还包含第三识别状态码,用于向所述识别功能网元指示所述响应报文携带有所述识别结果请求信息; 接收所述网络流中的下一个数据报文,判断所述第二反向识别结果携带标记是否为真,如果是,则将所述第二反向识别结果携带标记置为假,并将所述第一识别结果插入所述下一个数据报文的头部扩展字段,然后将所述下一个数据报文发送至所述第一下游设备。8.如权利要求1至4中任一项所述方法,其特征在于,如果无法识别所述数据报文,则在向所述第一下游设备发送携带有所述第二识别结果的数据报文之后,所述方法还包括 接收响应报文,所述响应报文由服务器或用户设备在接收所述数据报文后生成,并由所述第一下游设备转发至所述识别功能网元;对所述响应报文进行识别,得到所述第一识别结果,将所述第一识别结果保存至所述本地流表,并将所述第一识别结果插入所述识别功能网元接收的下一个数据报文的头部扩展字段,所述下一个数据报文属于所述网络流。9.一种识别功能网元,其特征在于,所述网元包括 第一接收单元,用于接收网络流中的数据报文; 第一识别单元,用于对所述数据报文进行深度报文检测(DPI)识别; 第一处理单元,用于...

【专利技术属性】
技术研发人员:周英伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1