[发明专利]避免MAC地址学习时哈希冲突的方法及系统有效

专利信息
申请号: 201310751196.3 申请日: 2013-12-31
公开(公告)号: CN103731355B 公开(公告)日: 2017-01-25
发明(设计)人: 冷沛聪;魏自强 申请(专利权)人: 迈普通信技术股份有限公司
主分类号: H04L12/743 分类号: H04L12/743
代理公司: 成都宏顺专利代理事务所(普通合伙)51227 代理人: 周永宏
地址: 610041 四川省*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 避免 mac 地址 学习 时哈希 冲突 方法 系统
【说明书】:

技术领域

发明涉及网络通信测试领域,尤其涉及一种避免MAC(Media Access Control,介质访问控制)地址学习时哈希(HASH)冲突的方法及系统。

背景技术

交换机转发是通过MAC地址来进行的,它会建立一张包含源MAC地址、VLAN ID(Virtual Local Area Network ID,虚拟局域网标识号)、Port(端口号)的转发表,并根据该转发表实现报文的单播转发。MAC地址表最初采用顺序表的结构存储,当MAC地址发生变化时,即添加或删除MAC地址时,为了保持MAC地址表的有序性,MAC地址表会出现表项移动。当MAC地址表容量较大时,移动与查找就变得复杂,此时报文无法达到线速,查找效率也较低下。

后期的芯片,MAC地址表采用哈希表结构进行存储。首先确定哈希桶的深度,再用整个MAC地址表的容量除以哈希桶的深度,得到需要的哈希桶个数,每个哈希桶有自己唯一的编号,在哈希桶的内部仍然采用顺序的方式存储。当进行MAC地制学习时,会根据源MAC地址和VLAN ID使用特定的哈希算法得到哈希桶的编号,然后把MAC地址存储到该桶中。这样可以提高查表效率,但是同时也产生了哈希冲突。

假如一个哈希桶能存储N个MAC地址,当它装满N个MAC地址后,一个正在学习的MAC地址根据哈希算法获得的存储编号依然为该哈希桶时,就无法存储到该表项,此时称之为哈希冲突。

现有的解决哈希冲突的方案有以下几种:

方法一:通过ACL(Access Control List,重定向)来转发冲突的MAC地址:检测到MAC地址冲突时,将该MAC地址写入软件表项,并将该MAC地址作为匹配条件生成ACL指向学习到该MAC地址的端口,该条ACL下发到每一个端口,当目的MAC地址为冲突的MAC地址时,直接匹配到该条ACL,之后定向至出端口进行单播线速转发,该方法在解决问题的时候会占用大量ACL资源,一个哈希冲突的MAC地址下发到N个端口使用的ACL数量为N个,当大量MAC地址冲突时,少则造成严重ACL资源浪费,多则ACL资源被耗尽。该方案存在以下缺点(1)使用大量ACL资源,造成资源浪费;(2)无法对所有哈希冲突的MAC地址进行安全性保证;(3)不能彻底解决MAC地址学习以及硬件转发问题,而且会受ACL模块本身的影响。

方法二:通过缩短哈希桶深,扩大哈希链长来解决,该方法不能彻底解决MAC地址冲突,只能减少哈希冲突。

方法三:通过可编程的交换芯片扩展TCAM表进行MAC地址硬件学习,该方法可维护性不强,一旦要更改时需对交换芯片重新编程,其次所有交换芯片需要和TCAM表结合使用,另外不易发生MAC地址哈希冲突的低端设备也会外挂TCAM表,实际运用当中会导致成本过高。

其中,TCAM(ternary content addressable memory)是一种三态内容寻址存储器,主要用于快速查找ACL、路由等表项。

综上所述,目前需要解决以下问题:哈希冲突产生时快速定位及学习问题、硬件转发问题、MAC地址老化等更新问题。

发明内容

本发明的目的在于解决哈希冲突产生时快速定位及学习问题、硬件转发问题、MAC地址老化更新等问题而提出的一种避免MAC地址学习时哈希冲突的学习方法及系统。

为了实现以上发明目的,本发明采取的技术方案如下:一种避免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地址查询。

作为优选:S4中所述的冲突检测单元检测方法如下:

S41:芯片检测到哈希冲突,产生中断信息通知CPU,并且拷贝产生哈希冲突的数据包到CPU;

S42:CPU收到该中断信息并释放信号量;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310751196.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top