[发明专利]基于哈希表和TCAM表的MAC地址硬件学习方法及系统有效
申请号: | 201310055657.3 | 申请日: | 2013-02-21 |
公开(公告)号: | CN103117931A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 周万涛;徐剑辉 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L29/12 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 哈希表 tcam mac 地址 硬件 学习方法 系统 | ||
1.一种基于哈希表和TCAM表的MAC地址硬件学习方法,其特征在于,包括以下步骤:
S1、以报文所属的虚拟转发实例号和源MAC地址计算哈希值,并以哈希值为索引搜索哈希表;
S2、组织搜索TCAM表项的键值:虚拟转发实例号为报文所属的虚拟转发实例号;MAC地址为报文的源MAC地址;表项满标志置1,表示在已经学习到的TCAM表项中进行搜索;
S3、判断TCAM表项数据中有效标志是否置位,如果置位,则转到S4;否则,转到S6;
S4、比较TCAM表项数据中虚拟交换端口是否等于报文接收虚拟交换端口,如果是,则表项不需要更新,转到S15;否则,表示TCAM表项需要更新,转到S5;
S5、更新当前TCAM表项数据中虚拟交换端口为报文实际接收虚拟交换端口,转到S15;
S6、判断哈希表中数据有效标志是否置位,如果置位,则转到S8;否则,转到S7;
S7、将报文源MAC地址、报文所属虚拟转发实例号和报文接收的虚拟交换端口存储到当前哈希表项中,表项有效标志置1,转到S15;
S8、比较哈希表中虚拟转发实例号和MAC地址是否和报文所属的虚拟转发实例号及源MAC地址相匹配,如果匹配,则表示当前地址已经在哈希表中学到过,转到S9;否则,转到S11;
S9、比较当前哈希表中虚拟交换端口是否等于报文实际接收虚拟交换端口,如果相等,则哈希表项不需要更新,转到S15;否则,转到S10;
S10、更新当前哈希表项中的虚拟转发端口号为报文实际接收虚拟端口号,转到S15;
S11、产生哈希冲突,组织搜索TCAM表项的键值以寻找空闲TCAM表项缓存冲突:键值中虚拟转发实例号为0,MAC地址为0,表项满标志为0,表示在空闲TCAM表项中进行搜索;
S12、判断TCAM数据中有效标志是否置位,如果置位,表示找到第一个空闲表项,转到S14;否则,转到S13;
S13、TCAM存储器没有空闲表项,放弃学习,转到S15;
S14、将MAC地址缓存到当前空闲TCAM表项中:键值的虚拟转发实例号填写为报文所属虚拟转发实例号,掩码置1;MAC地址填写为报文的源MAC地址,掩码置1;表项满标志置1,掩码置1;数据中虚拟交换端口填写为报文实际接收虚拟交换端口,转到S15;
S15、MAC地址硬件学习流程结束。
2.如权利要求1所述的基于哈希表和TCAM表的MAC地址硬件学习方法,其特征在于:步骤S1之前还包括表项初始化的步骤:判断初始化表项索引是否大于表项最大值,如果是,则返回异常;否则,判断初始化表项索引值是否位于哈希表索引范围内,如果是,则初始化哈希表,直接用初始化索引值定位哈希表项,并将表项内容全部清0;否则,判断初始化表项索引是否为TCAM最后一项,如果是,则初始化最后一个TCAM表项,键值中所有字段均初始化为0,掩码为0,数据中的所有字段均赋值为0,表示该表项为TCAM最后一个表项;否则,将键值中表项满标志清0,掩码置1,表示当前表项初始状态为空,键值中其余字段清0,掩码清0,数据中表项有效标志置1,其余字段清0,表示该表项不是最后一个表项,初始化结束。
3.如权利要求1所述的基于哈希表和TCAM表的MAC地址硬件学习方法,其特征在于:步骤S15之后还包括老化的步骤:判断老化表项索引是否大于表项最大值,如果是,则返回异常;否则,判断老化表项索引值是否位于哈希表索引范围内,如果是,则老化哈希表,直接用初始化索引值定位哈希表项,并将表项内容全部清0;否则,判断老化表项索引是否为TCAM最后一项,如果是,则表示TCAM最后一项是一个匹配任意键值的表项,结束老化;否则,将键值中表项满标志清0,掩码置1,其余字段清0,掩码清0,将表项状态置为空,数据中表项有效标志置1,其余字段清0,表示该表项不是最后一个表项,老化结束。
4.如权利要求1至3中任一项所述的基于哈希表和TCAM表的MAC地址硬件学习方法,其特征在于:所述哈希表存储在SRAM或者DRAM中。
5.如权利要求1至3中任一项所述的基于哈希表和TCAM表的MAC地址硬件学习方法,其特征在于:所述TCAM表项存储在TCAM存储器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310055657.3/1.html,转载请声明来源钻瓜专利网。