[发明专利]一种基于FPGA与TCAM的域名封堵方法在审
申请号: | 201610101073.9 | 申请日: | 2016-02-24 |
公开(公告)号: | CN105721475A | 公开(公告)日: | 2016-06-29 |
发明(设计)人: | 谢芸;易建华;魏强;侯崇岭 | 申请(专利权)人: | 北京浩瀚深度信息技术股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 龚燮英 |
地址: | 100142 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga tcam 域名 封堵 方法 | ||
技术领域
本发明涉及一种信息封堵方法,特别是涉及一种基于FPGA与TCAM的域名封堵方法。
背景技术
互联网的飞速发展,出现了越来越多的淫秽、色情、反动网站,给广大网民,特别是青少年网民带来了极大的危害。如何高效、高速的封堵淫秽色情等不良网站,成了新的难题。
目前,域名封堵方法多采用BLOOMFILTER和FPGA+RAM的实现方式:
BloomFilter是由巴顿布隆于1970年提出的,它实现的基础是个很长的二进制位向量和一系列随机散列函数。BloomFilter是一种基于散列的查找算法,用于查找一个元素是否在集合中,和散列表相比,它的优点是节约空间,可以对海量数据集进行表示和查找操作。由于散列函数的随机性,可能使得某个元素不属于集合而被判定属于集合,在此称其为误判,其大小为误判率Perr(falsepositive)。
BloomFilter算法的基本思想为:
①设数据集合A={a1,a2,…,an},含有n个元素,为待操作的集合;
②BloomFilter用一个长度为m的位向量V来表示集合中的元素,位向量初始化全为0;
③k个具有均匀分布特性的散列函数h1,h2,…,hk,值域均为{1,2,…,m};
④对于元素的加入操作首先通过k个散列函数产生k个随机数h1,h2,…,hk,使位串V的相应h1,h2,…,hk位均置为1;同理,元素的查找为判定相应位是否全为1。
BloomFilter误判的概率为:
当m远大于kn时,上述等式可以简化为:
在这里e=2.71828183。由式(1.2)可知,当n固定时,通过增加m和k,可以降低误判率f。
从以上算法得知,如果要增加k来降低误判率f,就要增加查询次数,导致效率较低,难以满足快速的需求。如果通过增加m的方法来降低误判率f,例如增加m到2的32次方,就可以满足查询次数少,且误判低。
如果采用FPGA和RAM的方式,实际是需要一个232×1的RAM空间。这对于采用器件内部RAM的算法是无法承受的,即使的采用外部存储的设计,也是非常困难的。
因此,需要一种基于FPGA与TCAM的域名封堵方法以解决以上问题。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种能够支持快速高效的域名查找与封堵的方法。
为实现上述目的,本发明提供了一种基于FPGA与TCAM的域名封堵方法,按以下步骤进行:
步骤一、通过FPGA提取报文内的HOST信息和URL信息;
步骤二、通过HASH算法计算HOST-HASH和URL-HASH;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京浩瀚深度信息技术股份有限公司,未经北京浩瀚深度信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610101073.9/2.html,转载请声明来源钻瓜专利网。