CN103414773B - 堆叠系统中的mac地址信息同步方法及装置 - Google Patents
堆叠系统中的mac地址信息同步方法及装置 Download PDFInfo
- Publication number
- CN103414773B CN103414773B CN201310348698.1A CN201310348698A CN103414773B CN 103414773 B CN103414773 B CN 103414773B CN 201310348698 A CN201310348698 A CN 201310348698A CN 103414773 B CN103414773 B CN 103414773B
- Authority
- CN
- China
- Prior art keywords
- mac address
- source
- sync message
- domain
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种堆叠系统中的MAC地址信息同步方法及装置,堆叠系统中包括:多个成员设备,该方法应用于成员设备,该方法包括:构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLAN ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;当需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLAN ID填充到VLAN ID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
Description
技术领域
本申请涉及通信网络技术领域,特别涉及一种堆叠系统中的MAC地址信息同步方法及装置。
背景技术
以太网交换机堆叠技术可以将多个交换机互联在一起,形成分布式交换架构,并作为一个逻辑交换实体运行。从管理和配置的角度来看,一个分布式交换架构看起来就像一台交换设备;从性能的角度来看,一个分布式交换架构中的每一个交换机都能针对本交换机的端口上的第二层、第三层数据流通信业务,制定本地转发策略。
通过堆叠,多个交换设备可以互相连接起来形成一个“联合设备”,可以将这个“联合设备”称为一个Stacking(堆叠系统),将组成Stacking的每一个交换设备称为一个Slot(堆叠成员)。多个Slot组成一个Stacking之后,无论在管理还是在使用上,就都成为了一个整体。也就是说,用户可以将这多个Slot看成单一设备进行管理和使用。这样既可以通过增加Slot来扩展端口数量和交换能力,同时也可以通过多个Slot之间的相互备份增加整个Stacking的可靠性。
图1所示,3个设备:Slot 1、Slot 2和Slot 3组成一个环形堆叠系统。每一个Slot上最多具有两组堆叠口,分别记为P1和P2。一个Slot的堆叠口P1与相邻的另一个Slot的堆叠口P2相连,组成环形堆叠系统。该环形堆叠系统中的每一个Slot通过聚合与交换机SW1和SW2连接。
上行方向的单播流(目的MAC(Media Access Control,媒体访问控制)地址为Mac2,源MAC地址为Mac1)经该环形堆叠系统的Slot1转发至SW2,从而,Slot1上学习到了源MAC地址:Mac1。而回复的下行方向的单播流(目的MAC地址为Mac1,源MAC地址是Mac2)经聚合组Hash(哈希)计算后,并没有从Slot1转发,而是从Slot2上进入该环形堆叠系统。由于Slot2上并没有学习到Mac1,Slot2查表发现该单播报文是目的MAC地址未知的单播报文,因此,将该单播报文在该环形堆叠系统内广播。这样,不仅增加了额外带宽的消耗,而且会使得目的设备(即MAC地址为Mac1的设备)收到多份报文。
为了避免上述情况的发生,堆叠系统通常借助IPC(Inter-processCommunication,进程间通信)通信技术,在堆叠成员之间进行MAC地址的同步处理。同步方式主要有定期批量同步方式和事件触发方式两种。
定期批量同步方式是指:每一个堆叠成员定期(周期性)读取本设备学习到的所有MAC地址信息,通过IPC通信手段,将这些MAC地址信息打包发送给其它堆叠成员。其它堆叠成员收到同步过来的MAC地址信息之后,确定是否需要同步,即,本设备上是否已经存在该MAC地址信息,以及,合法性检查;当确定需要同步时,则将该MAC地址信息配置到硬件FDB(Forwarding Database,转发数据库)中。
事件触发方式是指:每一个堆叠成员在学习到MAC地址或有MAC地址老化时,进行MAC地址信息的同步,过程同定期批量同步方式。
其中,被同步的MAC地址信息可以是聚合组下学习到的MAC地址信息,也可以是任意其他端口学习到的MAC地址信息。
上述现有的堆叠系统内MAC地址信息的同步方法,必须借助IPC通信技术,使用板间IPC消息传递被同步的MAC地址信息。这样,同步发起端中的CPU(Central ProcessingUnit,中央处理器)需要组织MAC同步数据包(即板间IPC消息),被同步端中的CPU需要解析MAC同步数据包,确定是否需要同步,在确定需要同步后逐条配置到硬件FDB中。可见,整个同步过程严重消耗CPU的处理能力,占用CPU的开销较大。
发明内容
本申请提供了一种堆叠系统中的MAC地址信息同步方法及装置,以解决现有的堆叠系统内MAC地址信息的同步方法存在的占用CPU的开销较大的问题。
本申请的技术方案如下:
一方面,提供了一种堆叠系统中的MAC地址信息同步方法,堆叠系统中包括:多个成员设备,该方法应用于成员设备,该方法包括:
构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLAN ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;
当需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLAN ID填充到VLAN ID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;
转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
另一方面,还提供了一种堆叠系统中的MAC地址信息同步装置,堆叠系统中包括:多个成员设备,该装置应用于成员设备,该装置包括:
构建模块,用于构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLAN ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;
填充模块,用于当本成员设备需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLAN ID填充到VLANID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;
发送模块,用于触发转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
通过本申请的技术方案,预先构建了一个MAC地址同步报文的模板,该模板中包括:源MAC地址域、VLAN ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值固定设置为广播地址,当需要同步MAC地址信息时,只需将该MAC地址信息中的MAC地址填充到模板的源MAC地址域中,该MAC地址信息中的VLAN ID填充到模板的VLAN ID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,广播该MAC地址同步报文给堆叠系统中的其他成员设备。这样,同步发起端只需构建模板和填充模板中的部分信息即可,而不需要每一个MAC同步数据包(即板间IPC消息)都单独的组织构造;并且,由于需要同步的MAC地址信息中的MAC地址作为MAC地址同步报文的源MAC地址、MAC地址信息中的VLAN ID作为MAC地址同步报文的VLAN ID,被同步端接收到MAC地址同步报文后,即可触发源MAC地址学习,CPU无需参与任何操作,从而,在同步发起端和被同步端都减少了CPU的开销,实现了无IPC通信、低CPU开销的MAC地址信息同步。
附图说明
图1是一种实际的堆叠系统的架构示意图;
图2是本申请的实施例一的堆叠系统中的MAC地址信息同步方法的流程图;
图3是本申请的实施例一的MAC地址同步报文模板的一种格式示意图;
图4是本申请的实施例一的MAC地址同步报文模板的另一种格式示意图;
图5是本申请的实施例二的堆叠系统中的MAC地址信息同步装置的结构示意图。
具体实施方式
为了解决现有的堆叠系统内MAC地址信息的同步方法存在的占用CPU的开销较大的问题,本申请的以下实施例中提供了一种堆叠系统中的MAC地址信息同步方法,以及一种堆叠系统中的MAC地址信息同步装置。
在以下实施例中,堆叠系统中包括:多个成员设备(Slot)。成员设备可以是交换机等,本申请对此不做限定。
实施例一
本申请的实施例一的堆叠系统中的MAC地址信息同步方法由成员设备来执行。如图2所示,该同步方法包括以下步骤:
步骤S202,构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLAN(Virtual Local Area Network,虚拟局域网标识)ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址(即全0xFF);
在实际实施过程中,MAC地址同步报文模板的格式如图3或图4所示。MAC地址同步报文模板可以为一块内存buffer(缓冲区),该模板的大小为:64字节+芯片间转发信息结构所占字节。其中,64字节为基本报文,在基本报文中包括:源MAC地址域(在图3或图4中,以源MAC地址表示)、VLAN(Virtual Local Area Network,虚拟局域网)ID域(在图3或图4中,以VLAN TAG(标签)表示)、目的MAC地址域(在图3或图4中,以目的MAC地址表示)和二层协议号域(在图3或图4中,以二层协议号表示);芯片间转发信息结构(在图3或图4中,以芯片间转发信息结构表示)用于多芯片间的统一转发。
在图3和图4中,在MAC地址同步报文模板中的负载中可以填充数据,也可以不填充数据,负载部分仅仅是为了满足报文的长度不能小于64字节的要求。
预置MAC地址同步报文模板的目的MAC地址为广播地址,二层协议号为预设二层协议号,称为同步MAC报文私有协议号,该私有协议号仅在堆叠系统内部使用,该私有协议号的具体值可以灵活定义,只要不引起冲突即可,例如,可以为0xACAC。图3和图4中,带有斜线的几个域:目的MAC地址域、二层协议号域和负载的值是固定的,当需要同步MAC地址信息时,只需填充其他域的值即可。
步骤S204,当需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLAN ID填充到VLAN ID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;
其中,MAC地址信息中可以包括:MAC地址、VLAN ID和源端口信息。
在实际实施过程中,步骤S204的具体实施方法可以包括步骤11-12:
步骤11:CPU将该MAC地址信息中的MAC地址填充到源MAC地址域中,将该MAC地址信息中的VLAN ID填充到VLAN ID域中,将该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,其中,源端口信息包括:源芯片ID和源端口ID;
其中,源端口信息映射到硬件中一般由源芯片ID(即转发芯片的ID)和源端口ID(即该转发芯片上的端口ID)唯一标识。这样,芯片间转发信息结构中应该包括:源芯片ID域和源端口ID域,分别用于携带源端口信息中的源芯片ID和源端口ID。在填充源端口信息时,将源端口信息中的源芯片ID填充到源芯片ID域中,将源端口信息中的源端口ID填充到源端口ID域中。
步骤12:CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,并通知转发芯片发送MAC地址同步报文。
步骤S206,转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给所述堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
在实际实施过程中,步骤S206的具体实施方法包括:转发芯片收到CPU的通知之后,从报文缓冲区中获取到MAC地址同步报文;转发芯片通过堆叠端口转发MAC地址同步报文,即,在所在VLAN内的堆叠系统中广播MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。其中,用户业务端口是指成员设备上连接堆叠系统外部的设备的端口,用户业务端口不是堆叠端口。
其中,实现禁止通过用户业务端口转发MAC地址同步报文的方式可以采用以下两种方式中的任一种:
方式一:ACL(访问控制列表)方式
转发芯片按照预设的ACL规则,判断要转发的报文中的二层协议号域的值是否为预设二层协议号(即同步MAC报文私有协议号),其中,当二层协议号域的值为预设二层协议号时,表示本报文是MAC地址同步报文;若是,则禁止通过用户业务端口转发该MAC地址同步报文。
在实际实施过程中,可以下发用户业务端口egress(出方向)DENY(拒绝)MAC地址同步报文ACL,用于在出方向上阻止通过用户业务端口向外转发MAC地址同步报文。
方式二:出源过滤方式
在本方式二中,MAC地址同步报文模板的芯片间转发信息结构中除了包括:源芯片ID域和源端口ID域以外,还包括:源ID域。
转发芯片判断要转发的报文中的源ID域的值是否为预设的MAC地址同步报文专用源ID,其中,当源ID域的值为MAC地址同步报文专用源ID时,表示禁止将本报文通过用户业务端口转发;若是,则禁止通过用户业务端口转发该报文。
在方式二中,可以预先将源ID域的值设置为一个特殊的源ID,称为MAC地址同步报文专用源ID,该MAC地址同步报文专用源ID可以是一个无效的源ID,即,该预设源ID是没有与任何用户业务端口绑定的源ID。转发芯片要通过用户业务端口发送一个报文时,若判断出该报文中的源ID域的值为MAC地址同步报文专用源ID,则将该报文过滤掉,不转发该报文。
本实施例的技术方案中,预先构建了一个MAC地址同步报文的模板,该模板中包括:源MAC地址域、VLAN ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值固定设置为广播地址,当需要同步MAC地址信息时,只需将该MAC地址信息中的MAC地址填充到模板的源MAC地址域中,该MAC地址信息中的VLAN ID填充到模板的VLAN ID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,广播该MAC地址同步报文给堆叠系统中的其他成员设备。这样,同步发起端只需构建模板和填充模板中的部分信息即可,而不需要每一个MAC同步数据包(即板间IPC消息)都单独的组织构造;并且,由于需要同步的MAC地址信息中的MAC地址作为MAC地址同步报文的源MAC地址、MAC地址信息中的VLAN ID作为MAC地址同步报文的VLAN ID,被同步端接收到MAC地址同步报文后,即可触发源MAC地址学习,CPU无需参与任何操作,从而,在同步发起端和被同步端都减少了CPU的开销,实现了无IPC通信、低CPU开销的MAC地址信息同步。
上述步骤S202-S206描述了本成员设备作为同步发起端时执行的MAC地址信息同步方法,另外,本成员设备还会接收到其他成员设备发来的MAC地址同步报文,此时,作为被同步端的本成员设备需要执行的MAC地址信息同步方法包括以下步骤:
步骤S302,转发芯片通过堆叠端口接收到MAC地址同步报文之后,根据接收的MAC地址同步报文中的源MAC地址、VLAN ID和源端口信息,生成对应的MAC地址表项并配置到FDB中;
由于所有堆叠端口都是所有VLAN的成员端口,因此,MAC地址报文可到达所有堆叠端口,并在堆叠端口的Ingress(入方向)触发源MAC地址的学习。
其中,生成的表项中的MAC地址为接收的MAC地址同步报文中的源MAC地址,VLANID为接收的MAC地址同步报文中的VLAN ID。
步骤S304,转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。
对于通过一堆叠端口接收到的MAC地址同步报文之后,在转发该MAC地址同步报文时,应该排除该入端口。另外,如果成员设备中包含有多个转发芯片,则在步骤S304中,转发芯片还会将接收到的MAC地址同步报文通过内部芯片间连接口广播给本成员设备中的其他转发芯片,其他转发芯片接收到该MAC地址同步报文后,会根据该MAC地址同步报文中的源MAC地址、VLAN ID和源端口信息,生成对应的MAC地址表项并配置到FDB中。
另外,当该堆叠系统是环形堆叠系统时,为了防止MAC地址同步报文形成转发风暴,需要将MAC地址同步报文在某一条链路或某一位置点阻断或切断。具体方式如下:
阻断方式一:
在使用上述方式一的ACL方式实现禁止通过用户业务端口转发MAC地址同步报文时,作为同步端的成员设备会将芯片间转发信息结构中的源ID域的值置为与本成员设备绑定的源ID;在实际实施过程中,每一个成员设备具有一个与本成员设备绑定的源ID。
这样,在步骤S304中,转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发MAC地址同步报文的方法包括:
步骤21:根据该MAC地址同步报文中的源ID域的值,在本地的多播源过滤表中查找对应的堆叠端口标识,其中,多播源过滤表中记录有不同的源ID及其对应的堆叠端口标识;
其中,多播源过滤表是预先计算好的,用于记录源ID域的值为何种值的MAC地址同步报文不允许从哪个堆叠端口转发出去,即,哪个成员设备发出的MAC地址同步报文在哪个链路阻断,该链路就是不允许转发的堆叠端口连接的链路。
通常,可以按照最短转发路径的原则,计算源ID域的值为一种值的MAC地址同步报文不允许从哪个堆叠端口转发出去,例如,如图1所示,对于Slot1发出的MAC同步报文,假设,该MAC同步报文的源ID域的值为源ID1(即为Slot1绑定的源ID为源ID1),Slot1→Slot2的跳数是1跳,Slot1→Slot3的跳数是1跳,而Slot1→Slot2→Slot3的跳数是2跳,则可以计算出对于源ID域的值为源ID1的MAC地址同步报文,需要在Slot2与Slot3之间的链路阻断,不允许转发的堆叠端口就是Slot2连接至Slot3的堆叠端口。
也就是说,一个成员设备发出的MAC地址同步报文会在最短转发路径的最远位置进行阻断。
步骤22:若查找到了对应的堆叠端口标识,则停止转发该MAC地址同步报文,即不再将该MAC地址同步报文转发出去;
步骤23:若没有查找到对应的堆叠端口标识,则将该MAC地址同步报文通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发出去。
阻断方式二:
在使用上述方式二的出源过滤方式实现禁止通过用户业务端口转发MAC地址同步报文时,作为同步端的成员设备会将芯片间转发信息结构中的源ID域的值置为MAC地址同步报文专用源ID;此时,各个成员设备发出的MAC地址同步报文中的源ID域的值是相同的,均是MAC地址同步报文专用源ID。
这样,在步骤S304中,转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发MAC地址同步报文的方法包括:
步骤31:当要通过其他堆叠端口转发该MAC地址同步报文时,判断该其他堆叠端口是否是预设的固定切断位置点,若是,则执行步骤32,否则,执行步骤33;
由于各个成员设备发出的MAC地址同步报文中的源ID域都是MAC地址同步报文专用源ID,这样,需要预设固定切断位置点,用于将所有成员设备发出的MAC地址同步报文在该位置点进行阻断。
例如,固定切断位置点可以是主用成员设备的P2堆叠端口,也可以是标识最小的成员设备P2堆叠端口。
步骤32:禁止通过该其他堆叠端口转发该MAC地址同步报文;
步骤33:通过该其他堆叠端口转发该MAC地址同步报文。
实施例二
针对上述实施例一中的方法,本申请实施例二提供了一种堆叠系统中的MAC地址信息同步装置,该装置位于成员设备中。
如图5所示,该装置中包括以下模块:构建模块10、填充模块20和发送模块30,其中:
构建模块10,用于构建MAC地址同步报文模板,其中,MAC地址同步报文模板中包括:源MAC地址域、VLAN ID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值是广播地址;
填充模块20,用于当本成员设备需要同步MAC地址信息时,触发中央处理器CPU将该MAC地址信息中的MAC地址填充到源MAC地址域中,该MAC地址信息中的VLAN ID填充到VLAN ID域中,该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,得到MAC地址同步报文;
发送模块30,用于触发转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
其中,填充模块包括:填充单元和复制通知单元,其中:
填充单元,用于触发CPU将该MAC地址信息中的MAC地址填充到源MAC地址域中,将该MAC地址信息中的VLAN ID填充到VLAN ID域中,将该MAC地址信息中的源端口信息填充到芯片间转发信息结构中,其中,源端口信息包括:源芯片ID和源端口ID;
复制通知单元,用于触发CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,并通知转发芯片发送MAC地址同步报文。
其中,该装置中还包括:接收模块和配置模块,其中,
接收模块,用于触发转发芯片通过堆叠端口接收MAC地址同步报文;
配置模块,用于在转发芯片通过堆叠端口接收到MAC地址同步报文之后,触发转发芯片根据接收的MAC地址同步报文中的源MAC地址、VLAN ID和源端口信息,生成对应的MAC地址表项并配置到转发数据库FDB中;
发送模块,还用于触发转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发接收的MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。
根据本申请的一种实施例,MAC地址同步报文模板中还包括:二层协议号域,则,发送模块包括:判断单元和禁止转发单元,其中:
判断单元,用于触发转发芯片按照预设的ACL规则,判断要发送的报文中的二层协议号域的值是否为预设二层协议号,其中,当二层协议号域的值为预设二层协议号时,表示本报文是MAC地址同步报文;
禁止转发单元,用于若转发芯片的判断结果为是,则触发转发芯片禁止通过用户业务端口转发该MAC地址同步报文。
其中,芯片间转发信息结构中包括:源ID域,源ID域的值是与发出本MAC地址同步报文的成员设备绑定的源ID;则,发送模块还包括:查找单元和转发单元,其中:
查找单元,用于触发转发芯片根据该MAC地址同步报文中的源ID域的值,在本地的多播源过滤表中查找对应的堆叠端口标识,其中,多播源过滤表中记录有不同的源ID及其对应的堆叠端口标识;
转发单元,用于若转发芯片查找到了对应的堆叠端口标识,则停止转发该MAC地址同步报文;还用于若转发芯片没有查找到对应的堆叠端口标识,则触发转发芯片将该MAC地址同步报文通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发出去。
根据本申请的另一种实施例,芯片间转发信息结构中包括:源ID域,则,发送模块包括:判断单元和禁止转发单元,其中:
判断单元,用于触发转发芯片判断要发送的报文中的源ID域的值是否为预设的MAC地址同步报文专用源ID,其中,当源ID域的值为MAC地址同步报文专用源ID时,表示禁止将本报文通过用户业务端口转发;
禁止转发单元,用于若转发芯片的判断结果为是,则触发转发芯片禁止通过用户业务端口转发该报文。
其中,发送模块还包括:转发单元,其中,
判断单元,还用于当转发芯片要通过其他堆叠端口转发该MAC地址同步报文时,触发转发芯片判断该其他堆叠端口是否是预设的固定切断位置点;
禁止转发单元,还用于若转发芯片判断出该其他堆叠端口是固定切断位置点,则触发转发芯片禁止通过该其他堆叠端口转发该MAC地址同步报文;
转发单元,用于若转发芯片判断出该其他堆叠端口不是固定切断位置点,则触发转发芯片通过该其他堆叠端口转发该MAC地址同步报文。
综上,本申请以上实施例可以达到以下技术效果:
(1)预先构建了一个MAC地址同步报文的模板,该模板中包括:源MAC地址域、VLANID域、目的MAC地址域和芯片间转发信息结构,且目的MAC地址域的值固定设置为广播地址,当需要同步MAC地址信息时,只需将该MAC地址信息中的MAC地址填充到模板的源MAC地址域中,该MAC地址信息中的VLAN ID填充到模板的VLAN ID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,广播该MAC地址同步报文给堆叠系统中的其他成员设备。这样,同步发起端只需构建模板和填充模板中的部分信息即可,而不需要每一个MAC同步数据包(即板间IPC消息)都单独的组织构造;并且,由于需要同步的MAC地址信息中的MAC地址作为MAC地址同步报文的源MAC地址、MAC地址信息中的VLAN ID作为MAC地址同步报文的VLAN ID,被同步端接收到MAC地址同步报文后,即可触发源MAC地址学习,CPU无需参与任何操作,从而,在同步发起端和被同步端都减少了CPU的开销,实现了无IPC通信、低CPU开销的MAC地址信息同步。
(2)当需要同步MAC地址信息时,CPU只需将该MAC地址信息中的MAC地址填充到MAC地址同步报文模板的源MAC地址域中,该MAC地址信息中的VLAN ID填充到模板的VLAN ID域中,该MAC地址信息中的源端口信息填充到模板的芯片间转发信息结构中,从而得到一个MAC地址同步报文,然后,CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,由转发芯片转发出去;这样,同步发起端只需填充模板中的部分信息并复制到转发芯片的报文缓冲区中即可,而不需要在每一个MAC同步数据包(即板间IPC消息)时都申请内存空间进行单独的组织构造;并且,预先在MAC地址同步报文的模板中构造了芯片间转发信息结构,可直接向其他芯片发送,省略了添加芯片间转发信息结构的处理过程,并且将MAC地址同步报文模板直接拷贝到转发芯片的报文缓冲区中,由转发芯片转发。另外,被同步端的转发芯片接收到MAC地址同步报文后,触发转发芯片进行源MAC地址的学习,无需上送CPU。综上,无论在同步发起端还是在被同步端都实现了高速的MAC地址同步。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种堆叠系统中的媒体访问控制MAC地址信息同步方法,所述堆叠系统中包括:多个成员设备,所述方法应用于所述成员设备,其特征在于,所述方法包括:
构建MAC地址同步报文模板,其中,所述MAC地址同步报文模板中包括:源MAC地址域、虚拟局域网标识VLAN ID域、目的MAC地址域和芯片间转发信息结构,且所述目的MAC地址域的值是广播地址;
当需要同步MAC地址信息时,将该MAC地址信息中的MAC地址填充到所述源MAC地址域中,该MAC地址信息中的VLAN ID填充到所述VLAN ID域中,该MAC地址信息中的源端口信息填充到所述芯片间转发信息结构中,得到MAC地址同步报文;
转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给所述堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
2.根据权利要求1所述的方法,其特征在于,所述将该MAC地址信息中的MAC地址填充到所述源MAC地址域中,该MAC地址信息中的VLAN ID填充到所述VLANID域中,该MAC地址信息中的源端口信息填充到所述芯片间转发信息结构中,得到MAC地址同步报文的方法包括:
中央处理器CPU将该MAC地址信息中的MAC地址填充到所述源MAC地址域中,将该MAC地址信息中的VLAN ID填充到所述VLAN ID域中,将该MAC地址信息中的源端口信息填充到所述芯片间转发信息结构中,其中,所述源端口信息包括:源芯片ID和源端口ID;
所述CPU将填充后的MAC地址同步报文模板复制到所述报文缓冲区中得到MAC地址同步报文,并通知所述转发芯片发送所述MAC地址同步报文。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述转发芯片通过堆叠端口接收到MAC地址同步报文之后,根据接收的MAC地址同步报文中的源MAC地址、VLAN ID和源端口信息,生成对应的MAC地址表项并配置到转发数据库FDB中;
所述转发芯片通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。
4.根据权利要求1至3中任一项所述的方法,其特征在于,MAC地址同步报文模板中还包括:二层协议号域,则,所述禁止通过用户业务端口转发MAC地址同步报文的方法包括:
所述转发芯片按照预设的访问控制列表ACL规则,判断要转发的报文中的二层协议号域的值是否为预设二层协议号,其中,当所述二层协议号域的值为所述预设二层协议号时,表示本报文是MAC地址同步报文;
若是,则禁止通过用户业务端口转发该MAC地址同步报文。
5.根据权利要求4所述的方法,其特征在于,所述芯片间转发信息结构中包括:源ID域,所述源ID域的值是与发出本MAC地址同步报文的成员设备绑定的源ID;则,所述转发芯片通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发MAC地址同步报文的方法包括:
根据该MAC地址同步报文中的源ID域的值,在本地的多播源过滤表中查找对应的堆叠端口标识,其中,所述多播源过滤表中记录有不同的源ID及其对应的堆叠端口标识;
若查找到了对应的堆叠端口标识,则停止转发该MAC地址同步报文;
若没有查找到对应的堆叠端口标识,则将该MAC地址同步报文通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发出去。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述芯片间转发信息结构中包括:源ID域,则,所述禁止通过用户业务端口转发MAC地址同步报文的方法包括:
所述转发芯片判断要转发的报文中的源ID域的值是否为预设的MAC地址同步报文专用源ID,其中,当所述源ID域的值为所述MAC地址同步报文专用源ID时,表示禁止将本报文通过用户业务端口转发;
若是,则禁止通过用户业务端口转发该报文。
7.根据权利要求6所述的方法,其特征在于,所述转发芯片通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发MAC地址同步报文的方法包括:
当要通过其他堆叠端口转发该MAC地址同步报文时,判断该其他堆叠端口是否是预设的固定切断位置点;
若是,则禁止通过该其他堆叠端口转发该MAC地址同步报文;
否则,通过该其他堆叠端口转发该MAC地址同步报文。
8.一种堆叠系统中的媒体访问控制MAC地址信息同步装置,所述堆叠系统中包括:多个成员设备,所述装置应用于所述成员设备,其特征在于,所述装置包括:
构建模块,用于构建MAC地址同步报文模板,其中,所述MAC地址同步报文模板中包括:源MAC地址域、虚拟局域网标识VLAN ID域、目的MAC地址域和芯片间转发信息结构,且所述目的MAC地址域的值是广播地址;
填充模块,用于当本成员设备需要同步MAC地址信息时,触发中央处理器CPU将该MAC地址信息中的MAC地址填充到所述源MAC地址域中,该MAC地址信息中的VLAN ID填充到所述VLAN ID域中,该MAC地址信息中的源端口信息填充到所述芯片间转发信息结构中,得到MAC地址同步报文;
发送模块,用于触发转发芯片从本芯片的报文缓冲区中获取到MAC地址同步报文,通过堆叠端口广播MAC地址同步报文给所述堆叠系统中的其他成员设备,并禁止通过用户业务端口转发MAC地址同步报文。
9.根据权利要求8所述的装置,其特征在于,所述填充模块包括:
填充单元,用于触发中央处理器CPU将该MAC地址信息中的MAC地址填充到所述源MAC地址域中,将该MAC地址信息中的VLAN ID填充到所述VLAN ID域中,将该MAC地址信息中的源端口信息填充到所述芯片间转发信息结构中,其中,所述源端口信息包括:源芯片ID和源端口ID;
复制通知单元,用于触发所述CPU将填充后的MAC地址同步报文模板复制到转发芯片的报文缓冲区中得到MAC地址同步报文,并通知所述转发芯片发送所述MAC地址同步报文。
10.根据权利要求9所述的装置,其特征在于,还包括:接收模块和配置模块,其中,
接收模块,用于触发所述转发芯片通过堆叠端口接收MAC地址同步报文;
配置模块,用于在所述转发芯片通过堆叠端口接收到MAC地址同步报文之后,触发所述转发芯片根据接收的MAC地址同步报文中的源MAC地址、VLAN ID和源端口信息,生成对应的MAC地址表项并配置到转发数据库FDB中;
所述发送模块,还用于触发所述转发芯片通过除接收到该MAC地址同步报文以外的其他堆叠端口转发所述接收的MAC地址同步报文,并禁止通过用户业务端口转发MAC地址同步报文。
11.根据权利要求8至10中任一项所述的装置,其特征在于,MAC地址同步报文模板中还包括:二层协议号域,则,所述发送模块包括:
判断单元,用于触发所述转发芯片按照预设的访问控制列表ACL规则,判断要发送的报文中的二层协议号域的值是否为预设二层协议号,其中,当所述二层协议号域的值为所述预设二层协议号时,表示本报文是MAC地址同步报文;
禁止转发单元,用于若所述转发芯片的判断结果为是,则触发所述转发芯片禁止通过用户业务端口转发该MAC地址同步报文。
12.根据权利要求11所述的装置,其特征在于,所述芯片间转发信息结构中包括:源ID域,所述源ID域的值是与发出本MAC地址同步报文的成员设备绑定的源ID;则,所述发送模块还包括:
查找单元,用于触发所述转发芯片根据该MAC地址同步报文中的源ID域的值,在本地的多播源过滤表中查找对应的堆叠端口标识,其中,所述多播源过滤表中记录有不同的源ID及其对应的堆叠端口标识;
转发单元,用于若所述转发芯片查找到了对应的堆叠端口标识,则停止转发该MAC地址同步报文;还用于若所述转发芯片没有查找到对应的堆叠端口标识,则触发所述转发芯片将该MAC地址同步报文通过除接收到该MAC地址同步报文的堆叠端口以外的其他堆叠端口转发出去。
13.根据权利要求8至10中任一项所述的装置,其特征在于,所述芯片间转发信息结构中包括:源ID域,则,所述发送模块包括:
判断单元,用于触发所述转发芯片判断要发送的报文中的源ID域的值是否为预设的MAC地址同步报文专用源ID,其中,当所述源ID域的值为所述MAC地址同步报文专用源ID时,表示禁止将本报文通过用户业务端口转发;
禁止转发单元,用于若所述转发芯片的判断结果为是,则触发所述转发芯片禁止通过用户业务端口转发该报文。
14.根据权利要求13所述的装置,其特征在于,所述发送模块还包括:转发单元,其中,
所述判断单元,还用于当所述转发芯片要通过其他堆叠端口转发该MAC地址同步报文时,触发所述转发芯片判断该其他堆叠端口是否是预设的固定切断位置点;
所述禁止转发单元,还用于若所述转发芯片判断出该其他堆叠端口是所述固定切断位置点,则触发所述转发芯片禁止通过该其他堆叠端口转发该MAC地址同步报文;
所述转发单元,用于若所述转发芯片判断出该其他堆叠端口不是所述固定切断位置点,则触发所述转发芯片通过该其他堆叠端口转发该MAC地址同步报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310348698.1A CN103414773B (zh) | 2013-08-12 | 2013-08-12 | 堆叠系统中的mac地址信息同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310348698.1A CN103414773B (zh) | 2013-08-12 | 2013-08-12 | 堆叠系统中的mac地址信息同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103414773A CN103414773A (zh) | 2013-11-27 |
CN103414773B true CN103414773B (zh) | 2017-02-15 |
Family
ID=49607759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310348698.1A Active CN103414773B (zh) | 2013-08-12 | 2013-08-12 | 堆叠系统中的mac地址信息同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103414773B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746922B (zh) * | 2013-12-17 | 2017-01-25 | 福建星网锐捷网络有限公司 | 一种组播报文的转发方法及装置 |
CN103731311A (zh) * | 2014-01-26 | 2014-04-16 | 杭州华三通信技术有限公司 | 一种环形堆叠链路故障处理方法和装置 |
CN103763196B (zh) * | 2014-01-27 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种多播源过滤表项处理方法和装置 |
CN105162661A (zh) * | 2015-09-21 | 2015-12-16 | 盛科网络(苏州)有限公司 | 多芯片系统的软件验证系统及验证方法 |
CN107547372B (zh) * | 2017-08-30 | 2020-09-08 | 新华三技术有限公司 | 一种源过滤实现方法及装置 |
CN108023974B (zh) * | 2017-11-30 | 2021-01-26 | 新华三技术有限公司 | 一种地址老化方法和装置 |
CN109067673B (zh) * | 2018-08-10 | 2021-03-30 | 盛科网络(苏州)有限公司 | 堆叠系统中mac地址学习的方法及系统 |
CN109194777B (zh) * | 2018-09-10 | 2021-08-31 | 苏州盛科通信股份有限公司 | 堆叠系统中mac地址老化的方法及装置 |
CN109274592B (zh) * | 2018-11-22 | 2021-03-09 | 新华三技术有限公司 | Mac地址表项处理方法、装置以及计算机可读介质 |
CN113542141A (zh) * | 2020-04-13 | 2021-10-22 | 烽火通信科技股份有限公司 | 一种基于框式设备堆叠系统的设备间同步方法及系统 |
CN111970201A (zh) * | 2020-08-28 | 2020-11-20 | 迈普通信技术股份有限公司 | 一种多芯片级联的转发系统及转发控制方法 |
CN112887229B (zh) * | 2021-01-11 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种会话信息同步方法及装置 |
CN113242481B (zh) * | 2021-06-29 | 2022-04-19 | 烽火通信科技股份有限公司 | Olt设备的mac地址同步方法和装置 |
CN113839875B (zh) * | 2021-10-26 | 2022-12-23 | 浪潮思科网络科技有限公司 | 一种堆叠系统中mac地址的同步方法、装置、设备及介质 |
CN115086254B (zh) * | 2022-06-06 | 2023-11-28 | 上海华信长安网络科技有限公司 | 一种多台交换机堆叠系统下mac表项同步的方法和装置 |
CN116545914B (zh) * | 2023-04-21 | 2024-03-29 | 南京金阵微电子技术有限公司 | 交换机芯片逻辑堆叠二层表项同步方法、系统及交换机 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
CN101599909A (zh) * | 2009-07-08 | 2009-12-09 | 杭州华三通信技术有限公司 | 一种流量转发的方法和装置 |
CN101820435A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 分布式网络处理系统的mac地址表项信息同步方法及装置 |
CN102957591A (zh) * | 2012-11-21 | 2013-03-06 | 烽火通信科技股份有限公司 | 一种分布式vpls的实现方法 |
CN103209130A (zh) * | 2013-04-22 | 2013-07-17 | 杭州华三通信技术有限公司 | 一种同步mac地址表项的方法及转发芯片 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877667B (zh) * | 2009-04-30 | 2013-01-09 | 华为技术有限公司 | 一种报文转发方法、装置和系统 |
-
2013
- 2013-08-12 CN CN201310348698.1A patent/CN103414773B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
CN101820435A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 分布式网络处理系统的mac地址表项信息同步方法及装置 |
CN101599909A (zh) * | 2009-07-08 | 2009-12-09 | 杭州华三通信技术有限公司 | 一种流量转发的方法和装置 |
CN102957591A (zh) * | 2012-11-21 | 2013-03-06 | 烽火通信科技股份有限公司 | 一种分布式vpls的实现方法 |
CN103209130A (zh) * | 2013-04-22 | 2013-07-17 | 杭州华三通信技术有限公司 | 一种同步mac地址表项的方法及转发芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN103414773A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414773B (zh) | 堆叠系统中的mac地址信息同步方法及装置 | |
CN101442484B (zh) | 一种检测堆叠多Active的方法、系统及设备 | |
CN108307434B (zh) | 用于流控制的方法和设备 | |
CN101909001B (zh) | 使用最短路径桥接在计算机网络中转发帧 | |
CN103259727B (zh) | 一种报文转发方法及设备 | |
US7653056B1 (en) | Virtual switching using a provisional identifier to conceal a user identifier | |
CN104348735B (zh) | 堆叠系统中的报文转发方法及装置 | |
KR101494566B1 (ko) | 하이브리드 통신 네트워크들에서의 통상의 디바이스들 및 브리지들의 디스커버리 | |
CN100531038C (zh) | 实现分布式系统板间通信的系统和方法 | |
US7801060B2 (en) | Network management apparatus and network system | |
KR101391965B1 (ko) | 하이브리드 네트워크들에 대한 제어 평면들의 구현 | |
CN1934560A (zh) | 通过网络系统的树型和环型拓扑发送信息的方法 | |
CN1985473A (zh) | 利用单个物理端口的在线入侵检测 | |
CN102263697A (zh) | 一种聚合链路流量分担方法和装置 | |
CN102684979A (zh) | 一种支持虚拟终端的组播数据转发方法及装置 | |
CN101635702B (zh) | 应用安全策略的数据包转发方法 | |
CN103220218A (zh) | 纵向堆叠组网中防止环路的方法和装置 | |
CN103944818A (zh) | 一种多归接入叠加网络中报文处理的方法和系统 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
CN109981613A (zh) | 一种用于云环境的流量检测方法与资源池系统 | |
CN108989200A (zh) | 数据包转发方法、装置和系统 | |
CN103825815B (zh) | 网络虚拟边界设备间进行冗余备份的方法、设备及系统 | |
US9548929B2 (en) | Frame transfer apparatus and frame transfer method | |
CN104935509B (zh) | 一种纵向堆叠系统中防止产生环路的方法和装置 | |
US20170155522A1 (en) | Communication apparatus and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |