[发明专利]一种基于改进LRFU状态记录的DPI业务识别方法有效
申请号: | 201710769599.9 | 申请日: | 2017-08-31 |
公开(公告)号: | CN107682215B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 玄世昌;苘大鹏;王巍;张宁;董福安;刘畅;朱新立;盛博文 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/851;H04L12/863 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 lrfu 状态 记录 dpi 业务 识别 方法 | ||
本发明为一种基于改进LRFU状态记录的DPI业务识别方法,提出了一种更高效的SIPT缓存管理策略,属于业务识别领域。本发明使用LRFU‑QT缓存算法,综合考虑时间和频率以及业务访问的特征,通过链式队列存储低频率节点防止频繁的换入换出,并增加时间轮对节点进行定时清理。实验验证本发明提出的业务识别模型可以有效提升业务识别效率。
技术领域
本发明属于业务识别领域,特别涉及一种基于改进LRFU状态记录的DPI业务识别方法。
背景技术
当前的业务识别方法中,端口识别结果不准确,网络流特征识别粒度太粗。应用层载荷识别是细粒度的识别方式,也称为深度包检测(DPI)识别方法,该方法建立在不同业务的应用层负载具有不同特征的基础上。该方法是目前公认的最准确的分类技术,可识别业务覆盖率极高,具有很好的准确性和健壮性。服务级别的识别方法由Baldi于2009年提出。该方法的思想依赖于用户的访问习惯和喜好,如用户通常会访问固定的网站或使用相同的服务。而提供服务的服务器端通常使用固定的IP、端口及传输层协议提供服务(如61.135.169.125在tcp端口80上提供HTTP服务)。因此,可以通过IP、端口及传输层协议三元组(为了方便描述,本专利中称为SIPT)来唯一确定业务类型。因此,本专利采用结合服务级识别方法和深度包检测(Deep Packet Inspection,DPI)的业务识别方法来提升业务识别的性能,达到高准确率和快速识别的目的。DPI模型选用高效的nDPI开源框架,并针对当前服务级别的识别方法缺乏高效缓存算法的问题,提出一种针对服务级别业务识别的高效缓存替换算法,以提升整体识别效率。
He F提出一种针对服务及业务识别方法的缓存算法,基于LFU更改的缓存更新策略MS-Q算法,该算法主要根据频率来对缓存进行更新,会导致新加入的数据由于频率低的缘故,很容易就被新数据替换掉。同时,由于没有考虑到缓存的定时清理,会导致短时间内高频率命中的节点大量占用缓存。综上,本专利提出一种更高效的SIPT缓存管理策略,综合考虑时间和频率以及业务访问的特征,以达到提升业务识别效果的目的。
发明内容
针对目前现有技术中存在的不足,本发明旨在提供一种具有更好的识别效率的基于改进LRFU状态记录的DPI业务识别方法。
本发明的目的是这样实现的:
1.在系统启动时,使用常用的SIPT和对应的业务号信息加载缓存,直接加入到基于CRF排序的小顶堆中。
2.底层使用libpcap获取数据包,获取数据包后进入头解析模块,头解析模块主要是分析数据包头信息,解析出链路类型,对不同的类型数据包做对应IP头位置的偏移,提取出IP头,TCP头,UDP头。
3.根据数据头中的五元组信息(源目的IP,源目的端口和上层协议号),通过五元组异或移位式的哈希函数计算出哈希值,根据计算得到的哈希值,查找流表,找到节点,直接记录统计信息;如果没有找到,进入步骤4。
4.提取目的IP和目的端口和传输层协议,计算出哈希值,进入SIPT缓存处理模块,查找缓存,找到,更新对应节点信息,直接将数据包放入相应结果队列,同时构造流表节点加入流表;如果没有找到,进入步骤5。
5.进入nDPI识别模块进行业务识别,识别成功记录结果,不成功,缓存节点信息。
本发明与现有技术相比,有益效果在于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710769599.9/2.html,转载请声明来源钻瓜专利网。