[发明专利]一种基于改进LRFU状态记录的DPI业务识别方法有效
申请号: | 201710769599.9 | 申请日: | 2017-08-31 |
公开(公告)号: | CN107682215B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 玄世昌;苘大鹏;王巍;张宁;董福安;刘畅;朱新立;盛博文 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/851;H04L12/863 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 lrfu 状态 记录 dpi 业务 识别 方法 | ||
1.一种基于改进LRFU状态记录的DPI业务识别方法,其特征在于:包括以下步骤:
(1)在系统启动时,使用常用的IP、端口及传输层协议三元组SIPT和对应的业务号信息加载缓存,加入到基于CRF排序的小顶堆中;
(2)底层使用libpcap获取数据包,获取数据包后进入头解析模块;
(3)根据数据头中的五元组信息,通过五元组异或移位式的哈希函数计算出哈希值,根据计算得到的哈希值,查找流表,找到节点,直接记录统计信息;如果没有找到,进入步骤4;
(4)提取目的IP和目的端口和传输层协议,计算哈希值,进入SIPT缓存处理模块,查找缓存,找到,更新对应节点信息,直将数据包放入相应结果队列,同时构造流表节点加入流表;如果没有找到,进入步骤(5);
(5)在服务级别业务识别缓存中查找节点;具体为:
(5.1)选用综合时间和频率的LRFU算法为基础,增加一个链式队列,把新加入的频率为1的数据加入到该队列中;
(5.2)使用时间轮算法对节点进行定时清理;
(5.3)通过双层哈希的结构组织SIPT缓存节点;
(5.4)LRFU算法通过使用F(x)=(1/p)λx计算出CRF值,CRF值的计算公式为
其中tbase表示当前时间,ti表示第i次访问时间点,CRF(x)表示对象x在第tbase时间点的CRF值,其中F(x)中的p=2,λ=2,λ直接决定了时间和频率所占有的百分比;记录上一次的访问时间和上次节点的CRF值,根据节点中记录的访问时间和CRF值,根据CRF(x)=F(0)+F(δ)CRFl(x)计算出本次的CRF值,其中CRF(x)代表对象x本次的CRF值,CRFl(x)表示上一次计算出的CRF值,δ是当前时间与上一次命中时间的差值;
(5.5)SIPT缓存查找操作;
(6)使用nDPI开源进行业务识别,如果识别成功,创建SIPT节点,同时填充流表节点,进入步骤(7);如果识别不成功,对节点进行缓存;
(7)判断是否是FIN、RST,如果是,删除对应的流表节点,重复步骤(1)-(6)。
2.根据权利要求1所述的一种基于改进LRFU状态记录的DPI业务识别方法,其特征在于:所述的步骤(3)具体为:
(3.1)对捕获的数据包解析头信息,解析出链路类型;对不同的类型数据包作对应IP头位置的偏移,提取出IP头,TCP头,UDP头;
(3.2)根据数据包头找出四元组,根据H=SIP1^SIP2^DIP1^DIP2^SPORT^DPORT计算出哈希值,查找流表,其中,SIP、DIP、SPORT和DPORT分别代表源目的IP和源目的端口,下标1代表前16个字节,下标2代表后16个字节;
(3.3)如果找到节点,判断节点中complete是否为1,如果是1,进入步骤(7);否则进入步骤(6);如果没有找到节点,构建流表节点,插入到流表中,进入步骤(4)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710769599.9/1.html,转载请声明来源钻瓜专利网。