[发明专利]一种MAC地址学习时哈希冲突的同步方法有效
申请号: | 201410717423.5 | 申请日: | 2014-12-01 |
公开(公告)号: | CN104468362B | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 周风林;胡哲;刘驰 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | H04L12/743 | 分类号: | H04L12/743 |
代理公司: | 杭州千克知识产权代理有限公司33246 | 代理人: | 周希良 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mac 地址 学习 时哈希 冲突 同步 方法 | ||
技术领域
本发明涉及交换机技术领域,尤其涉及一种MAC地址学习时哈希冲突的同步方法。
背景技术
多芯片交换机,在硬件上MAC地址表通常是一个哈希表,芯片学习到的MAC地址可以存放在相关哈希桶的任意一空闲项里。当MAC地址的个数超过哈希桶的大小时就会出现哈希冲突,超出部分将无处可存放。例如一个16000个表项的MAC地址表要学习32000个的MAC地址时,至少有16K的MAC地址将不可避免的因为哈希冲突而被丢弃。
多芯片的交换机要保证各芯片的MAC地址表保持一致。每块芯片都能自动学习MAC地址,它们学习的MAC地址可能不一样,例如在某一瞬间第一块芯片上学习到X条MAC地址,同时第二块芯片上学习到Y条MAC地址,这些MAC地址的哈希值都是同一个,芯片的哈希桶的大小均为Z,X和Y均小于Z,但是X+Y>Z,而且两个芯片上学习到的MAC地址没有交集,如何保持各芯片的MAC地址在逻辑上保持一致,如何处理超出的部分。
发明内容
本发明需解决的技术问题是克服上述的不足,提供一种MAC地址学习时哈希冲突的同步方法,包括:
创建一个同步队列,芯片每学习到一个MAC地址就将MAC地址信息加入到同步队列,MAC地址信息加入同步队列为先进先出的顺序;
读取同步队列的第一条MAC地址信息;
判断MAC地址对应的哈希桶是否已满;
若MAC地址对应的哈希桶未满,则从MAC地址信息提取地址添加到芯片,同时删除对应同步队列的MAC地址信息,否则进行哈希冲突处理步骤。
进一步的,所述MAC地址信息包括MAC地址学习内容和学习MAC地址的芯片标识。
进一步的,判断MAC地址对应的哈希桶是否已满的步骤包括:
从MAC地址信息中提取出芯片标识;
运用哈希算法得出哈希桶;
判断非MAC地址学习芯片的哈希桶是否已满。
进一步的,所述哈希冲突处理步骤包括:
逐条读取MAC地址对应的哈希桶里的地址信息并匹配所述同步队列中的MAC地址;
若哈希桶里的地址信息与同步队列中的MAC地址匹配,则在芯片中删除匹配中的地址信息,并删除同步队列中匹配中的MAC地址信息,将同步队列的第一条MAC地址信息中的MAC地址同步到芯片。
进一步的,若哈希桶里的所有地址信息与同步队列中的MAC地址都不匹配,则直接删除同步队列中所有MAC地址信息。
采用本发明的技术方案后,在MAC地址学习时发生哈希冲突,提供了一种处理方式,使多个芯片的哈希表保持MAC地址一致,且做到先学习到的MAC地址先存储到哈希表里,放弃后学习到的MAC地址。
附图说明
图1是本发明提供的MAC地址学习时哈希冲突的同步方法框图。
具体实施方式
为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
下面结合附图和实施方式对本发明作进一步说明。
参阅图1,本发明提供的一种MAC地址学习时哈希冲突的同步方法,包括:
步骤S100,创建一个同步队列,芯片每学习到一个MAC地址就将MAC地址信息加入到同步队列,MAC地址信息加入同步队列为先进先出的顺序;
MAC地址信息包括MAC地址学习内容和学习MAC地址的芯片标识,MAC地址学习内容即芯片学习到的MAC地址。芯片每学习到一个MAC地址,依照先后顺序放进同步队列,同步队列中,依照先进先出的原则,先进同步队列的MAC信息先同步。
步骤S200,读取同步队列的第一条MAC地址信息。
同步队列的第一条MAC地址,即同步队列的目标同步信息,同步队列的头部。读取第一条MAC地址信息,即MAC地址学习内容(MAC地址)和学习MAC地址的芯片标识。
步骤S300,判断MAC地址对应的哈希桶是否已满;
具体的,从MAC地址信息中提取出芯片标识;
运用哈希算法得出哈希桶;
判断非MAC地址学习芯片的哈希桶是否已满。
芯片学习到的MAC地址是要同步到非学习芯片上,所以对应的哈希桶也是非学习芯片上的。
步骤S400,若MAC地址对应的哈希桶未满,则将MAC地址同步到芯片;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410717423.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网络系统和网络方法
- 下一篇:一种四面无引脚扁平半导体器件封装结构及封装方法