[发明专利]MAC地址表更新方法及装置有效
申请号: | 201010145545.3 | 申请日: | 2010-04-09 |
公开(公告)号: | CN101841473A | 公开(公告)日: | 2010-09-22 |
发明(设计)人: | 任东华 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/28;H04L12/24 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 王申 |
地址: | 100036 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | mac 地址 更新 方法 装置 | ||
技术领域
本发明实施例涉及数据链路层的以太网帧转发技术领域,尤其涉及一种媒体访问控制(Media Access Control,简称:MAC)地址表更新方法及装置。
背景技术
在现有数据链路层转发技术中,当网络设备采用多核处理器对以太网帧操作时,为了避免对共享资源的表项的操作冲突,现有技术中采用了设置自旋锁或读写锁的方式,如果采用自旋锁在任何时刻只能有一个保持者获得锁,也就说,在任何时刻最多只能有一个处理器核获得自旋锁。如果自旋锁已经被别的处理器核保持,本处理器核就一直循环在那里直到该自旋锁的保持者已经释放了锁,″自旋″一词就是因此而得名;也可采用读写锁机制(读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个处理器读者同时来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写者是排他性的,一个读写锁同时只能有一个写者或多个读者(与处理器核数相关)获得锁,但不能同时既有读者又有写者获得锁。如果读写锁当前没有读者,也没有写者,那么写者可以立刻获得读写锁,否则该写者必须自旋在那里,直到没有任何写者或读者;如果读写锁没有写者,那么读者可以立即获得该读写锁,否则读者必须自旋在那里,直到写者释放该读写锁。其中,写操作包括向MAC地址表中添加和删除表项或对已有的表项进行更新。这里对MAC地址表进行操作指的是基于多核处理器的网络设备用于二层转发(网桥模式)中,对收到的以太网帧的源MAC地址进行学习和刷新(学习到的MAC地址存放的地方称为MAC地址表,记录学到的MAC地址对应的接口),对以太网帧的目的MAC地址进行查找。如果未在MAC地址表中找到目的MAC地址,则要在所有的网络接口进行广播。如果在MAC地址表中找到了目的MAC地址项,则利用表中的接口信息进行发送。因此二层转发为了减少广播必须进行MAC地址学习。为了维护MAC地址表,收到以太网帧后要对以太网帧中的源MAC地址表项不断地更新;同时经过一段时间如果没有以太网帧对MAC表项进行更新必须对该MAC地址项进行老化删除,以免MAC地址表满掉。
现有技术中处理MAC地址表至少存在如下问题:
对MAC地址表的表项进行更新操作时,由于多核处理器的读操作可以并发执行,但写操作只能单独执行,因此,写操作降低了多核处理器的并发性。为了克服该缺陷,现有技术中采用了如下方案:
(1)根据IP以太网帧的5元组信息另建一个IP地址表,该IP表记录了以太网帧出口和入口信息。在首以太网帧收到时同时建立MAC地址表和IP地址表,并且在MAC地址表中记录IP会话的个数。多核处理器收到以太网帧后如果可以在该IP表中找到就不再查MAC地址表,MAC地址老化时间到了后如果关联的IP会话存在则该MAC地址表暂不删除,直到关联的IP会话不存在了才可删除MAC表项。这个处理方法可以一定程度减少MAC地址表访问的次数。
但这种方案的缺陷在于:由于IP会话时间通常都较长(如TCP会话稳定状态的老化时间通常是1小时),MAC表项的老化时间受IP会话时间长短的制约而无法进行人为控制,使得MAC表项的老化时间也随之变长,因此会影响表项老化过程。因此,一些无用的表项不能及时被删除,从而浪费了MAC地址表的存储空间资源。并且,这种方案也只能适用于IP帧,而无法用于其他以太网帧,如地址解析协议(Address ResolutionProtocol,简称:ARP)等。
(2)采用三态内容寻址存储器(Ternary Content Addressable Memory,简称:TCAM)存储MAC地址,以实现快速查找。
但这种方案的缺陷在于:TCAM是一种硬件装置,价格昂贵,因此增加了成本。
发明内容
本发明实施例提供一种MAC地址表更新方法及装置,用以减少写操作的次数,提高了多核处理器的并发性。
本发明实施例提供一种MAC地址表更新方法,其中包括:
接收到以太网帧后,根据该以太网帧的源MAC地址在MAC地址表中查找相应的表项;
如果查找成功,则计算接收到所述以太网帧时的系统时间戳与查找到的表项中记录的表项时间戳的差值;
当所述差值大于预设值时,用所述系统时间戳更新所述表项时间戳。
本发明另一实施例提供一种MAC地址表更新装置,其中包括:
查找模块,用于当接收到以太网帧后,根据该以太网帧的源MAC地址在MAC地址表中查找相应的表项;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010145545.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:访问控制列表的实现装置
- 下一篇:一种车辆控制局域网CAN网络