发明名称 一种IP包分类方法和设备
摘要 本发明提出了一种基于Bloom Filter的包分类方法及其实现设备,包括Counting Bloom Filter预测模块,用于对网络设备提取接收到的IP包的五元组执行基于Counting Bloom Filter预测,获取预测结果;规则匹配模块,用于根据所述预测结果,与组织成Hash表的规则表进行匹配,确定所述IP包的规则。采用SRAM存储规则,可支持100K以上的大规则集,并支持规则集的实时更新。此外,本发明具有良好的可扩展性。并且在一定条件下,可以将包分类的平均访存次数降到1次以下,足以线速处理10Gbps甚至更高速率的IP包流。
申请公布号 CN101309216B 申请公布日期 2011.05.04
申请号 CN200810116129.3 申请日期 2008.07.03
申请人 中国科学院计算技术研究所 发明人 刘兴奎;刘新春;曹政;杨卫兵;王达伟;窦晓光;王文迪
分类号 H04L12/56(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 北京泛华伟业知识产权代理有限公司 11280 代理人 王勇
主权项 一种IP包分类方法,包括:步骤10)、网络设备提取接收到的IP包的五元组,对所述五元组执行基于Counting Bloom Filter预测,获取预测结果;步骤20)、根据所述预测结果,与组织成Hash表的规则表进行匹配,根据匹配后的规则,确定IP包分类结果;其中,步骤10)进一步包括:步骤110)、根据具体应用规则,确定所述五元组所需的掩码,决定所述Counting Bloom Filter预测的轮数;步骤120)、对所述五元组进行Hash运算,得到中间结果;步骤130)、将所述中间结果作为k个Hash函数的输入,产生k个地址,以所述k个地址访问位组,得到k个位;步骤140)、当所述k个位都为1,将所述k个地址作为预测结果;步骤20)进一步包括:步骤210)、根据所述k个Hash函数产生的地址中的第一个地址访问片外SRAM,获取规则,如果规则无效,执行下一轮匹配;步骤220)、如果规则有效且被命中并具有最高优先级,那么匹配成功;步骤230)、如果规则不被命中,那么继续以k个地址中其它地址执行同样匹配过程;如果k个地址用尽,那么将第k个地址加1,继续尝试,最后将命中最高优先级规则的匹配结果确定为匹配结果;其中,所述Counting Bloom Filter是指带有计数器的Bloom Filter数据结构。
地址 100190 北京市海淀区中关村科学院南路6号