发明名称 |
一种流表查找方法和装置 |
摘要 |
本发明公开了一种流表查找方法和装置,所述方法在芯片内部缓存中设置预查找表,采用该预查找表记录关键字及其Index的对应关系,记录时只记录关键字的部分字段称为Flow值。关键字的Flow值在预查找表的记录位置与关键字对应的流表表项在Hash桶中的记录位置相应。在为报文查找所需流表表项时,可以根据对报文关键字进行Hash运算得到的Index以及与报文关键字匹配的Flow值在预查找表表项中位置,确定所需流表表项在外部缓存中的记录位置,然后只需要访问外部缓存一次,即可得到所需的流表表项,从而达到快速查找的目的。 |
申请公布号 |
CN101540723B |
申请公布日期 |
2011.07.06 |
申请号 |
CN200910082268.3 |
申请日期 |
2009.04.20 |
申请人 |
杭州华三通信技术有限公司 |
发明人 |
王彬 |
分类号 |
H04L12/56(2006.01)I;G06F17/30(2006.01)I |
主分类号 |
H04L12/56(2006.01)I |
代理机构 |
北京德琦知识产权代理有限公司 11018 |
代理人 |
王一斌;王琦 |
主权项 |
一种流表查找方法,其特征在于,该方法包括:A、以报文特征信息为关键字,采用预设散列Hash函数建立关键字与Hash索引之间的对应关系;在设置于内部缓存的预查找表中,针对每个Hash索引顺序记录该Hash索引对应的各关键字的部分比特,所述部分比特称为流量特征Flow值;针对对应同一关键字的Flow值和Hash索引,根据Flow值在预查找表表项中的排序位置和Hash索引值,确定该关键字所属流表表项在外部缓存Hash桶中的记录位置,在所确定的记录位置上记录该关键字所属流表表项;B、查找流表时,采用所述预设Hash函数计算待处理报文中关键字key‑x的Hash索引,记为Index‑x;在所述预查找表中查找与Index‑x对应的、且与key‑x匹配的Flow值;根据该匹配的Flow值在预查找表表项中的排序位置和所述Index‑x确定所述key‑x所属流表表项的读取地址,从外部缓存中读取流表表项。 |
地址 |
310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地 |