[发明专利]基于Hash折叠方法的Ipv6深度包检测方法有效
申请号: | 201310326817.3 | 申请日: | 2013-07-31 |
公开(公告)号: | CN103414603A | 公开(公告)日: | 2013-11-27 |
发明(设计)人: | 赵有健;杨继磊;全成斌 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 西安智大知识产权代理事务所 61215 | 代理人: | 贾玉健 |
地址: | 100084 北京市海淀区1*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于Hash折叠方法的Ipv6深度包检测方法,将数据包送入查找引擎,提取数据包中的URL信息和Host信息,然后生成关键字(Key),再将获得的Key发送给TCAM进行查找并获取结果,通过对提取到的URL信息进行Hash折叠,能够充分地减小其长度,有效地提高TCAM的利用率,本发明可利用FPGA实现,布置到查找引擎体统中。 | ||
搜索关键词: | 基于 hash 折叠 方法 ipv6 深度 检测 | ||
【主权项】:
一种基于Hash折叠方法的Ipv6深度包检测方法,将数据包送入查找引擎,提取数据包中的URL形成关键字(Key),然后再将获得的关键字(Key)发送给TCAM进行查找并获取结果,其特征在于,所述关键字(Key)的提取方法如下:1)设定位宽长度为N的Req_url_Key[N]每一位都为0;2)从包头开始顺序接收IP数据包,并根据http协议格式获取Request_URL的位置信息;3)根据已经获得的Request_URL位置信息,提取IP数据包中的URL字符串,存放在temp[N]中;4)每提取N位字符串,将提取到的N位字符串与Req_url_Key[N]进行异或运算,并将结果存放在Req_url_Key[N]中;5)如果到达结尾,提取的字符串长度小于N,则用0将其补齐为N位;6)如果存在Host域,则设定位宽长度为N的host_url_Key[N]每一位都为0;7)获取主机名位置信息,每提取N位与host_url_Key[N]进行异或运算,并将结果存放于host_url_Key[N];8)提取结束时,如果提取的字符串的长度小于N,则用0将其补齐为N位,然后与host_url_Key[N]进行异或操作,结果存放于host_url_Key[N];9)计算循环右移的位数m=N‑(hostlength%N);10)将Req_url_Key[N]循环右移m位后与host_url_Key[N]进行按位异或运算,得到URL特征串关键字(Key);其中:Req_url_Key[N]表示用于存储http协议中的request‑line行中请求方法URL信息折叠之后的信息;Request_URL表示会给出URL信息在IP数据包中的起始位置以及长度 的信息,在http协议报文的头部会给出Request_URL信息;host_url_Key[N]表示用于存储http协议中Host主机信息折叠之后的信息;N表示URL折叠的维度,即按照每N位进行折叠;hostlength表示标示http协议中携带的有关host主机信息的字符串的长度。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310326817.3/,转载请声明来源钻瓜专利网。