发明名称 |
一种基于硬件CAM芯片的高效能网络数据包过滤方法 |
摘要 |
本发明公开了一种基于硬件CAM芯片的高效能网络数据包过滤方法,属于网络信息处理领域。本方法为:1)根据CAM芯片比较器的窗口宽度n设定输入关键字的最大长度;2)比较器从网络数据包数据段中顺序移位读取n个字节与关键字进行匹配;如果窗口数据包含匹配的关键字,则视为中标;如果窗口后半段部分数据与关键字前半段部分匹配,则比较器移位读取当前数据包数据段中后续n个字节与该关键字进行匹配,如果当前窗口数据前半段部分数据与该关键字剩余未匹配数据匹配,即发生窗口前中标,则视为中标;否则视为当前数据包未中标,比较器继续读取当前数据段中后续n个字节与关键字进行匹配。本发明匹配准确性及中标率在99.9%以上,性能高。 |
申请公布号 |
CN102801617B |
申请公布日期 |
2015.07.22 |
申请号 |
CN201210277909.2 |
申请日期 |
2012.08.06 |
申请人 |
北京锐安科技有限公司 |
发明人 |
火一莽;史延涛;董雪 |
分类号 |
H04L12/26(2006.01)I |
主分类号 |
H04L12/26(2006.01)I |
代理机构 |
北京君尚知识产权代理事务所(普通合伙) 11200 |
代理人 |
余功勋 |
主权项 |
一种基于硬件CAM芯片的高效能网络数据包过滤方法,其步骤为:1)根据CAM芯片比较器的窗口宽度设定输入关键字的最大长度;其中,比较器的窗口宽度为n字节,关键字的最大长度小于或等于n字节;2)所述比较器从网络数据包数据段中顺序移位读取n个字节作为比较器的窗口数据与输入的关键字进行匹配;21)如果窗口数据包含匹配的关键字,则视为中标,将当前数据包作为匹配网络数据包过滤出来;22)如果窗口后半段部分数据与关键字前半段部分匹配,即发生窗口后中标,则比较器移位读取当前数据包数据段中后续n个字节作为比较器的窗口数据与该关键字进行匹配,如果当前窗口数据前半段部分数据与该关键字剩余未匹配数据匹配,即发生窗口前中标,则视为中标,将当前数据包作为匹配网络数据包过滤出来;否则视为当前数据包未中标,比较器继续移位读取当前数据段中后续n个字节与关键字进行匹配。 |
地址 |
100044 北京市海淀区中关村南大街乙56号方圆大厦9层 |