交换机各芯片mac地址表保持一致的方法

文档序号:8003099阅读:878来源:国知局
交换机各芯片mac地址表保持一致的方法
【专利摘要】本发明提供了一种交换机各芯片MAC地址表保持一致的方法,当一块芯片学习到一个MAC地址时,所有芯片都会添加该地址,保证了地址学习的整体性和各芯片的MAC地址表的一致性。当芯片进行MAC地址老化时,如果MAC地址表项中的端口信息中对应的芯片与当前芯片一致,则将所有芯片中的这条MAC地址表项删除,如果MAC地址表项中的端口信息中对应的芯片与当前芯片不一致,则一个都不删除,从而保证了地址老化的整体性及老化后各芯片的MAC地址表的一致性。
【专利说明】交换机各芯片MAC地址表保持一致的方法
【【技术领域】】
[0001]本发明涉及数据通信设备交换机设备,尤其涉及交换机的MAC地址同步的问题。【【背景技术】】
[0002]由两块及以上的交换芯片构成的交换机,每块交换芯片都有自己的MAC地址表,但作为同一台交换机的交换芯片,各芯片必须保证MAC地址表信息一致才能保证交换机二层转发的正常。
[0003]现有的这类交换机却无法保证各芯片的MAC地址表信息一致。第一种情况:交换芯片的端口在接收报文时会自动学习MAC地址,但一个交换芯片学习到了 MAC地址并不意味着其他交换芯片也学习到了这个MAC地址,无法同步处理,各芯片的MAC地址表不一致。
[0004]第二种情况,交换芯片会对端口学习到的MAC地址表项进行老化。芯片有一个MAC地址老化时间,如果芯片在学习到一条MAC地址后,长时间没有再次接收到这个MAC地址的报文,当时间间隔达到老化时间的大小时,该交换芯片就会自动将这条MAC地址表项删除。各个芯片都在进行MAC地址老化,如果其中一块芯片将一条MAC地址老化了,而另一块芯片却没有将它老化,不能进行同步处理,各芯片的MAC地址的一致性也无法得到保证。

【发明内容】

[0005]本发明需解决的技术问题是克服上述的不足,提供一种交换机各芯片MAC地址表保持一致的方法。
[0006]为解决上述的技术问题,本发明设计了一种交换机各芯片MAC地址表保持一致的方法,其包括以下几个步骤:
[0007]Stepl:当交换机中的某芯片的某端口学习到一条MAC地址表项、并向CPU发送地址添加通告,该条MAC地址表项包括MAC地址、VLAN ID、端口信息;
[0008]St印2 =CPU发现地址添加通告中的MAC地址表项是由发送该地址添加通告的芯片自身学习到的MAC地址表项,则向其他芯片发送添加该条MAC地址表项的调用;
[0009]St印3:其他芯片接受调用、添加该条MAC地址表项,并向CPU发送地址添加通告;
[0010]St印4:CPU发现其他芯片发送的地址添加通告的MAC地址表项不是其自身学习到的MAC地址表项,忽略该通告。
[0011]作为本发明进一步改进,CPU发现地址添加通告的MAC地址表项是否是由发送该地址添加通告的芯片自身学习到的方法是通过查询该条MAC地址表项的端口信息是否在该芯片上,端口信息指明该端口在该芯片上,即为地址添加通告的MAC地址表项是由发送该地址添加通告的芯片自身学习到的,否则,则不是自身学习到的。
[0012]以上技术方案是交换机各芯片在学习MAC地址时保持MAC地址表一致的方法,本发明还提供一种在MAC地址老化操作时、交换机各芯片MAC地址表保持一致的方法,其特征在于,包括以下步骤:
[0013]Stepl:交换机的某芯片自动进行老化操作,发现其中一条MAC地址表项已经老化、删除该条MAC地址表项,并向CUP发送地址删除通告;
[0014]St印2:如果CPU发现发送地址删除通告的芯片与该条MAC地址表项的端口信息对应的芯片信息一致,则向其他芯片发送删除该条MAC地址表项的调用;
[0015]St印3:其他芯片接受删除调用、删除该条MAC地址表项,并向CPU发送地址删除通生P=I ;
[0016]Step4:如果CPU发现发送地址删除通告的芯片与该条MAC地址表项的端口信息对应的芯片信息不一致,再查询该条MAC地址表项的端口信息对应的芯片是否仍存在该条MAC地址表项,如果存在,重新向发送该地址删除通告的芯片添加该条MAC地址表项的调用,该芯片重新学习到该条MAC地址表项,如果发现不存在,则忽略该通告。
[0017]本发明保证当一块芯片学习到一个MAC地址时,所有芯片都会添加该地址,保证了地址学习的整体性和各芯片的MAC地址表的一致性。
[0018]本发明还保证了当芯片进行MAC地址老化时,如果MAC地址表项中的端口信息中对应的芯片与当前芯片一致,则将所有芯片中的这条MAC地址表项删除,如果MAC地址表项中的端口信息中对应的芯片与当前芯片不一致,则一个都不删除,从而保证了地址老化的整体性及老化后各芯片的MAC地址表的一致性。
【【专利附图】

【附图说明】】
[0019]图1是本发明实施例一交换机各芯片MAC地址表保持一致的方法的流程图;
[0020]图2是本发明实施例二交换机各芯片MAC地址表保持一致的方法的流程图。
【【具体实施方式】】
[0021]下面结合附图和实施方式对本发明作进一步说明。
[0022]本发明提供了一种交换机各芯片MAC地址表保持一致的方法。本发明涉及的交换机由一个CPU和多块交换芯片构成。
[0023]当该交换机其中的一块芯片的一个端口接收到一个以太网报文时,这块芯片就会学习到一个MAC地址表项,MAC地址表项中的主要内容包括MAC地址、VLAN ID、和端口信息。其中,端口信息能指明端口所在的哪块芯片。因而,可以通过比较MAC地址表项中端口信息对应的芯片是否与当前芯片是否一致为判断是否是当前芯片本地学习到的MAC地址表项。如果MAC地址表项中端口信息对应的芯片是当前芯片,则表明该MAC地址表项是由当前芯片本地学习的地址,即自身学习到的地址。否则,不是当前芯片本地学习到的地址。
[0024]如图1所示,为本发明交换机在学习MAC地址表项时,交换机各芯片MAC地址表保持一致的方法,包括以下几个步骤:
[0025]Stepl:当交换机中的某芯片的某端口学习到一条MAC地址表项、并向CPU发送地址添加通告,该条MAC地址表项包括MAC地址、VLAN ID、端口信息。
[0026]St印2 =CPU发现地址添加通告中的MAC地址表项是由发送该地址添加通告的芯片自身学习到的MAC地址表项,则向其他芯片发送添加该条MAC地址表项的调用。在本发明是实施例一中,CPU发现地址添加通告的MAC地址表项是否是由发送该地址添加通告的芯片自身学习到的方法是通过查询该条MAC地址表项的端口信息是否在该芯片上,端口信息指明该端口在该芯片上,即为地址添加通告的MAC地址表项是由发送该地址添加通告的芯片自身学习到的,否则,则不是自身学习到的。
[0027]Step3:其他芯片接受调用、添加该条MAC地址表项,并向CPU发送地址添加通告;
[0028]Step4:CPU发现其他芯片发送的地址添加通告的MAC地址表项不是其自身学习到的MAC地址表项,忽略该通告。
[0029]本发明方法是可循环的,如果CPU发现任一芯片发送的地址添加通告的MAC地址表项是其自身学习到的MAC地址表项,则返回到St印2,继续。
[0030]本发明方法保证当一块芯片自身学习到一个MAC地址时,所有芯片都会添加该地址,保证了地址学习的整体性和各芯片的MAC地址表的一致性。
[0031]如图2所示,本发明还提供一种在MAC地址老化操作时,交换机各芯片MAC地址表保持一致的方法,其包括以下步骤:
[0032]Stepl:交换机的某芯片自动进行老化操作,发现其中一条MAC地址表项已经老化、删除该条MAC地址表项,并向CUP发送地址删除通告。
[0033]St印2:如果CPU发现发送地址删除通告的芯片与该条MAC地址表项的端口信息对应的芯片信息一致则向其他芯片发送删除该条MAC地址表项的调用。在此,该条MAC地址表项为当前芯片自身学习到的地址表项,保证只删除芯片自身学习到的MAC地址表项。
[0034]St印3:其他芯片接受删除调用、删除该条MAC地址表项,并向CPU发送地址删除通生P=I ;
[0035]St印4:如果CPU发现发送地址删除通告的芯片与该条MAC地址表项的端口信息对应的芯片信息不一致(即不是自身学习到的地址),再查询该条MAC地址表项的端口信息对应的芯片是否仍存在该条MAC地址表项,如果存在,重新向发送该地址删除通告的芯片添加该条MAC地址表项的调用,该芯片重新学习到该条MAC地址表项,如果发现不存在,则忽略该通告。
[0036]本发明保证了当芯片进行MAC地址老化时,如果MAC地址表项中的端口信息中对应的芯片与当前芯片一致,则将所有芯片中的这条MAC地址表项删除,如果MAC地址表项中的端口信息中对应的芯片与当前芯片不一致,则一个都不删除,从而保证了地址老化的整体性及老化后各芯片的MAC地址表的一致性。
[0037]以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
【权利要求】
1.一种交换机各芯片MAC地址表保持一致的方法,其特征在于,包括以下步骤: Stepl:当交换机中的某芯片的某端口学习到一条MAC地址表项、并向CPU发送地址添加通告,该条MAC地址表项包括MAC地址、VLAN ID、端口信息; Step2:CPU发现地址添加通告中的MAC地址表项是由发送该地址添加通告的芯片自身学习到的MAC地址表项,则向其他芯片发送添加该条MAC地址表项的调用; Step3:其他芯片接受调用、添加该条MAC地址表项,并向CPU发送地址添加通告;Step4:CPU发现其他芯片发送的地址添加通告的MAC地址表项不是其自身学习到的MAC地址表项,忽略该通告。
2.根据权利要求1所述的一种交换机各芯片MAC地址表保持一致的方法,其特征在于,CPU发现地址添加通告的MAC地址表项是否是由发送该地址添加通告的芯片自身学习到的方法是通过查询该条MAC地址表项的端口信息是否在该芯片上,端口信息指明该端口在该芯片上,即为地址添加通告的MAC地址表项是由发送该地址添加通告的芯片自身学习到的,否则,则不是自身学习到的。
3.一种交换机各芯片MAC地址表保持一致的方法,其特征在于,包括以下步骤: Stepl:交换机的某芯片自动进行老化操作,发现其中一条MAC地址表项已经老化、删除该条MAC地址表项,并向CUP发送地址删除通告; St印2:如果CPU发现发送地址删除通告的芯片与该条MAC地址表项的端口信息对应的芯片信息一致,则向其他芯片发送删除该条MAC地址表项的调用;Step3:其他芯片接受删除调用、删除该条MAC地址表项,并向CPU发送地址删除通告;Step4:如果CPU发现发送地址删除通告的芯片与该条MAC地址表项的端口信息对应的芯片信息不一致,再查询该条MAC地址表项的端口信息对应的芯片是否仍存在该条MAC地址表项,如果存在,重新向发送该地址删除通告的芯片添加该条MAC地址表项的调用,该芯片重新学习到该条MAC地址表项,如果发现不存在,则忽略该通告。
【文档编号】H04L12/947GK104348758SQ201310325834
【公开日】2015年2月11日 申请日期:2013年7月30日 优先权日:2013年7月30日
【发明者】周风林 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1