发明名称 一种基于硬件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层