[发明专利]基于TCAM的范围多匹配2级分层查找方法有效
申请号: | 201310193403.8 | 申请日: | 2013-05-20 |
公开(公告)号: | CN103546378B | 公开(公告)日: | 2018-06-01 |
发明(设计)人: | 曹小娟 | 申请(专利权)人: | 北京百卓网络技术有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;G06F17/30 |
代理公司: | 北京集智东方知识产权代理有限公司 11578 | 代理人: | 陈亚斌;关兆辉 |
地址: | 100095 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查找 匹配 分层 查找结果 匹配技术 重新组合 合并 包分类 第一级 中端口 毗连 关联 | ||
1.一种实现基于TCAM(Ternary Content Addressable Memory,三态内容可寻址存储器)的范围多匹配问题2级分层查找方法,适用于网络设备中使用TCAM解决包分类问题中的端口范围匹配和多匹配问题,其特征在于,
规定了一个范围为宽区间范围,要求其满足的条件是其区间大于或等于1/2最大范围区间W;通过提取出宽区间范围,然后根据宽区间范围的特点采用Hicut/Hypercut方法进行查找;
将对提取出宽区间范围后的剩余范围集,采用最大关联范围集模块的方法尽可能多的将有关联的范围合并在一起,组合成一个新的范围,通过这一步之后,所有的新的范围之间就都是相互之间不相关的范围了;
对所述新的范围中包含不止一个原始范围的新范围,将其划分成若干个毗连范围,毗连范围是指一个范围与另一个范围之间不相交且这两个范围之间相互间距为1;
采用最长前缀匹配LCP的方法,分别对产生的新范围集进行LCP和ELCP的生成,并对毗连范围进行LCP的生成;
数据包的查找过程包括:
801:当输入进来一个查找关键字K的时候,这个查找关键字K被同时送到TCAM0和TCAM1中进行并行查找,并分别返回TCAM0和TCAM1中与之最优匹配的条目的索引值i和j;
802:将这两个索引i和j分别送到SRAM0和SRAM1中读取相应位置的始点值Si和终点值Ej;
803:查找关键字K分别在比较器C0和C1中与读取出来的始点值Si和终点值Ej同时进行比较;
所述的步骤803包括:
8031:在C0中,如果查找关键字K大于或等于从SRAM0中读取的始点值Si成立,则将从TCAM0中返回的索引i输入到比较器C2中,并执行步骤8041;否则,此条路径查找结束;
8032:在C1中,如果查找关键字K的值小于从SRAM1中读取的终点值Ej成立,则将从TCAM1中返回的索引j输入到比较器C3中,并执行步骤8042;否则,此条路径查找结束;
8041:在比较器C2中,如果i小于M成立,则执行步骤8051,否则,执行步骤8061;所述M为新范围集中包含不止一个原始范围的新范围的个数;
8042:在比较器C3中,如果j小于M成立,则执行步骤8052,否则,执行步骤8062;
8051:激活开关A0;
8052:激活开关A1;
8061:将i、M、N输入到逻辑运算单元ALU0中,然后通过公式(1)计算出索引值index,并执行步骤811;
index=i-M+N (1)
其中,N表示存储到TCAM2中所有毗连范围对应的LCP的个数,存储到TCAM2所有毗连范围对应的LCP的个数为13,即N=13,而ALU0所需实现的逻辑功能如公式(1)所示;
8062:将j、M、N输入到逻辑运算单元ALU1中,然后通过公式(2)计算出索引值index,并执行步骤811;
index=j-M+N (2)
ALU2所需实现的逻辑功能如公式(2)所示;
807:如果步骤8051被执行,则通过选择器sel1将i赋值给ID,所述ID是用来激活第二级
TCAM+SRAM结构中的相应的某个TCAM模块,并执行步骤808;如果步骤8052被执行,则选择器sel1将j赋值给ID,并执行步骤808;
808:将ID输入到TCAM2中,激活TCAM2中相应的模块,然后,将查找关键字K与TCAM2中被激活的模块的所有条目进行比较,返回最优匹配条目的索引值index0,并执行809;
809:将索引值index0输入到SRAM2中,读取相应的存储信息,并执行810;
810:将从SRAM2中读取的存储信息输入到ALU2中,并将查找关键字K输入到ALU2中,然后通过公式(3)计算出索引值index,并执行步骤811;
其中,L:表示此毗连范围的始点;U:表示此毗连范围的终点;addr:表示此毗连范围区间所对应的最后一个存储匹配信息的SRAM的地址;故addr-1和addr+1分别表示此毗连范围的前一个地址和后一个地址;
811:如果步骤8061、步骤8062和步骤810有一个被执行,则将通过此步骤计算得到的索引值index通过选择器sel2输入到最后一个存储匹配信息的SRAM中,从而得到最终的匹配结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百卓网络技术有限公司,未经北京百卓网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310193403.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种微型开沟机的刀轴调节装置
- 下一篇:鳄鱼掌养生酒及其制备方法