[发明专利]避免MAC地址学习时哈希冲突的方法及系统有效
| 申请号: | 201310751196.3 | 申请日: | 2013-12-31 |
| 公开(公告)号: | CN103731355B | 公开(公告)日: | 2017-01-25 |
| 发明(设计)人: | 冷沛聪;魏自强 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
| 主分类号: | H04L12/743 | 分类号: | H04L12/743 |
| 代理公司: | 成都宏顺专利代理事务所(普通合伙)51227 | 代理人: | 周永宏 |
| 地址: | 610041 四川省*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 避免 mac 地址 学习 时哈希 冲突 方法 系统 | ||
1.一种避免MAC地址学习时产生哈希冲突的方法,其特征在于,包括以下步骤:
S1:从报文解析出源MAC地址、虚拟局域网号VLAN ID和端口号;
S2:将解析出的源MAC地址和VLAN ID进行哈希计算并在芯片内的MAC地址表中进行哈希查找,如查找到,更新芯片MAC地址表并执行S8,否则执行S3;
S3:将源MAC地址、VLAN ID和端口号信息存储到MAC地址表中;
S4:冲突检测单元检测是否存在哈希冲突,如存在,执行S5,否则执行S8;
S5:将源MAC地址、VLAN ID和端口号信息在三态内容寻址存储器TCAM表中进行并行查找,如查找到,执行S7,否则执行S6;
S6:将源MAC地址、VLAN ID和端口号信息线性存储到TCAM表中;
S7:对TCAM表进行更新;
S8:进行目的MAC地址查询。
2.根据权利要求1所述的方法,其特征在于,S4中所述的冲突检测单元检测方法如下:
S41:芯片检测到哈希冲突,产生中断信息通知CPU,并且拷贝产生哈希冲突的数据包到CPU;
S42:CPU收到该中断信息并释放信号量;
S43:冲突检测单元的检测任务模块收到信号量后,调用接收报文的接口,接收对应的数据包;
S44:检测任务模块从接收到的数据包中提取源MAC地址、VLAN ID和端口号。
3.根据权利要求1或2所述的方法,其特征在于,S7所述的TCAM表更新包括老化更新、删除更新和添加更新。
4.根据权利要求3所述的方法,其特征在于,TCAM表老化更新方法如下:
S701:芯片老化动作的第一个周期到,芯片检查TCAM表中MAC地址表项的命中标记位;
S702:如MAC地址表项的命中标记位为1,则将TCAM表的命中标记位更改为0,如果MAC地址表项的命中标记位为0,则清除表项,执行S704;
S703:芯片老化动作的第二个周期到,芯片清除命中标记位为0的表项;
S704:芯片老化动作后产生中断信息,通知CPU释放信号量;
S705:冲突检测单元收到信号量后更新相应软件数据结构。
5.根据权利要求3所述的方法,其特征在于,TCAM表添加更新方法如下:
S711:相同的报文进入芯片后,在芯片内部的MAC地址表中对该报文的源MAC地址进行查询;
S712:芯片内部的MAC地址表中对该报文的源MAC地址查询失败;
S713:将源MAC地址和VLAN ID进行哈希计算,得出对应的索引号,将源MAC地址写入索引号对应的哈希桶中,产生哈希冲突;
S714:芯片产生中断信息并拷贝该报文到CPU,CPU释放中断信号量;
S715:冲突检测单元收到该信号量,对TCAM进行源MAC地址查询;
S716:查询成功,将该MAC地址表的命中标记位更改为1。
6.根据权利要求4所述的方法,其特征在于,S8所述的进行目的MAC地址查询方法如下:
S81:从报文解析出目的MAC地址、VLAN ID和端口号;
S82:将解析出的目的MAC地址和VLAN ID在芯片内的MAC地址表中进行哈希查找,如查找到,执行S85,否则执行S83;
S83:将解析出的目的MAC地址、VLAN ID和端口号在TCAM表内进行并行查找,如查找到,执行S85,否则执行S84;
S84:在相同VLAN内进行洪泛;
S85:根据MAC地址表中的内容进行单播转发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310751196.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种照明无线遥控开关装置
- 下一篇:提醒装置





