CN109194777A - 堆叠系统中mac地址老化的方法及装置 - Google Patents
堆叠系统中mac地址老化的方法及装置 Download PDFInfo
- Publication number
- CN109194777A CN109194777A CN201811049194.9A CN201811049194A CN109194777A CN 109194777 A CN109194777 A CN 109194777A CN 201811049194 A CN201811049194 A CN 201811049194A CN 109194777 A CN109194777 A CN 109194777A
- Authority
- CN
- China
- Prior art keywords
- mac address
- chip
- message
- current
- aging
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5053—Lease time; Renewal aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching of addresses or names
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种堆叠系统中MAC地址老化的方法及装置,所述方法包括:为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组;任一芯片接收报文时,若为入口芯片,获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理;若为堆叠芯片,直接解析通过镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址;在获取报文携带的MAC地址的同时,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;本发明在进行MAC地址老化过程中,无需CPU参与,降低芯片的实现难度。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种堆叠系统中MAC地址老化的方法及装置。
背景技术
堆叠系统是在以太网交换机上扩展端口使用较多的一类技术,其最大的优点就是提供简化的本地管理,将一组交换机作为一个对象来管理。堆叠系统在应用中,需要一种机制来刷新和老化MAC地址。
现有技术中,主要有以下几种方案可在堆叠系统中实现MAC地址老化。MAC(MediaAccess Control或者Medium Access Control),意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。
方案1,硬件中设置一个定时器,周期性的扫描MAC地址表;若定时器扫描到的MAC地址,其HIT状态为0,则将该MAC地址从MAC地址表中删除,完成老化;在此过程中,若每条MAC地址被扫描到后,其HIT状态为1,则将其HIT状态设置成0;报文到达时查询MAC地址表,若查到对应的MAC地址,则将HIT状态设置成1,完成刷新。方案1对于非堆叠系统,其可实现正常工作;而对于堆叠系统,由于刷新动作依赖于报文到达,故,并不是所有芯片都在转发路径上,如此,不在转发路径上的芯片,其对应的MAC地址会意外被老化,从而使堆叠系统中MAC地址表无法同步。
方案2:堆叠芯片通过堆叠头传递信息,堆叠头包括的其中一个信息为MACLookup;报文到达芯片后,将MACLookup设置成1,后续转发路径中的芯片从堆叠文件头中得到MACLookup=1,就会执行MAC地址查找,找到对应的MAC地址信息后,将其对应的老化标识设置成1;硬件定时器扫描MAC地址表时,若老化标识为1,则将其减1设置成0,若老化标识为0,则删除该MAC地址或通过CPU处理。该方案中,堆叠系统中任意芯片发现某条MAC地址需要老化,就将该MAC地址记录(MAC,VLAN,srcPort)通告给CPU,CPU发现该MAC地址记录中的srcPort不是在通告的芯片上,就忽略掉;如果srcPort是在通告芯片上,发送删除消息到堆叠系统中所有芯片中,删除该MAC地址;该方案的MAC地址状态刷新依赖于报文达到,如果某个芯片中,没有携带该MAC地址的报文经过,那么这个MAC地址的状态就得不到更新,因此需要CPU来辅助,避免提前老化掉,以保证MAC地址表信息一致。
如图1所示,芯片3不在某个报文的转发路径上,那么chip3上之前学习的某个MAC地址信息将得不到刷新,最终会被硬件定时器扫描判断成需要老化,进而公告CPU,由CPU来处理;对于方案2,MAC地址老化过程中,为了避免某些MAC地址提前老化,以造成地址表的不一致,需要CPU重度参与MAC地址的老化过程,其整体方案复杂,代价高。
发明内容
本发明的目的在于提供一种堆叠系统中MAC地址老化的方法及装置。
为实现上述发明目的之一,本发明一实施方式提供一种堆叠系统中MAC地址老化的方法,所述方法包括:初始化芯片时,为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组;
在堆叠系统的任一芯片接收报文时,判断接收报文的芯片为入口芯片还是堆叠芯片,
若为入口芯片,则获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将当前的MAC地址扩散到所有芯片;
若为堆叠芯片,则直接解析通过所述镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址;
在获取报文携带的MAC地址后,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;所述MAC地址的状态包括:刷新标识的使能状态以及老化标识的使能状态。
作为本发明一实施方式的进一步改进,所述“对当前芯片接收的报文按照创建的镜像配置进行镜像处理”具体包括:
解析报文,获取报文携带的堆叠头文件,所述堆叠头文件包括:srcPort,VlanID,destPort以及destGroup信息;复制所述堆叠头文件至镜像配置指向的组播转发组;并按照所述堆叠头文件所携带的destGroup信息转发报文。
作为本发明一实施方式的进一步改进,所述方法还包括:
入口芯片接收到报文后,解析所述报文以获得查找关键字,所述查找关键字包括:MacSa和VlanID;
以当前报文对应的查找关键字搜索FDB地址表,
若获得的srcPort与报文进入当前芯片的端口一致,则获取报文携带的MAC地址,执行MAC地址的状态刷新操作,所述srcPort记录报文进入堆叠系统时的面板口。
作为本发明一实施方式的进一步改进,所述方法还包括:任一芯片接收到报文并解析出MAC地址以进行刷新操作时,若刷新标识为使能,则将当前刷新标识调整为非使能,通过镜像处理刷新其他芯片上对应当前报文的MAC地址;并在执行MAC地址刷新操作后,将该MAC地址对应的老化标识调整为非使能;
若刷新标识为非使能,则保持刷新标识不变,以及保持其他芯片上对应当前报文的MAC地址不变。
作为本发明一实施方式的进一步改进,所述方法还包括:周期性扫描MAC地址表,所述MAC地址表用于存储MAC地址;其中,扫描MAC地址表的周期=1/3*MAC地址的老化周期;
在任一个扫描周期内,
若扫查到MAC地址,且当前MAC地址对应的刷新标识和老化标识均为非使能,则将当前MAC地址对应的刷新标识调整为使能,老化标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的刷新标识为使能,老化标识为非使能,则将当前MAC地址对应的老化标识调整为使能,刷新标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的老化标识为使能,则删除当前扫查到的MAC地址。
为实现上述发明目的另一,本发明一实施方式提供一种堆叠系统中MAC地址老化的装置,所述装置包括:初始化模块,用于为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组;
处理模块,用于在堆叠系统的任一芯片接收报文时,判断接收报文的芯片为入口芯片还是堆叠芯片,
若为入口芯片,则获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将当前的MAC地址扩散到所有芯片;
若为堆叠芯片,则直接解析通过所述镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址;
状态刷新及老化模块,用于在获取报文携带的MAC地址后,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;所述MAC地址的状态包括:刷新标识的使能状态以及老化标识的使能状态。
作为本发明一实施方式的进一步改进,所述处理具体用于:
解析报文,获取报文携带的堆叠头文件,所述堆叠头文件包括:srcPort,VlanID,destPort以及destGroup信息;复制所述堆叠头文件至镜像配置指向的组播转发组;并按照所述堆叠头文件所携带的destGroup信息转发报文。
作为本发明一实施方式的进一步改进,所述处理模块还用于在入口芯片接收到报文后,解析所述报文以获得查找关键字,所述查找关键字包括:MacSa和VlanID;
以当前报文对应的查找关键字搜索FDB地址表,
若获得的srcPort与报文进入当前芯片的端口一致,则获取报文携带的MAC地址,并通过状态刷新及老化模块执行MAC地址的状态刷新操作,所述srcPort记录报文进入堆叠系统时的面板口。
作为本发明一实施方式的进一步改进,所述状态刷新及老化模块具体用于:
任一芯片接收到报文并解析出MAC地址以进行刷新操作时,若刷新标识为使能,则将当前刷新标识调整为非使能,通过镜像处理刷新其他芯片上对应当前报文的MAC地址;并在执行MAC地址刷新操作后,将该MAC地址对应的老化标识调整为非使能;
若刷新标识为非使能,则保持刷新标识不变,以及保持其他芯片上对应当前报文的MAC地址不变。
作为本发明一实施方式的进一步改进,所述状态刷新及老化模块具体用于:
周期性扫描MAC地址表,所述MAC地址表用于存储MAC地址;其中,扫描MAC地址表的周期=1/3*MAC地址的老化周期;
在任一个扫描周期内,
若扫查到MAC地址,且当前MAC地址对应的刷新标识和老化标识均为非使能,则将当前MAC地址对应的刷新标识调整为使能,老化标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的刷新标识为使能,老化标识为非使能,则将当前MAC地址对应的老化标识调整为使能,刷新标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的老化标识为使能,则删除当前扫查到的MAC地址。
与现有技术相比,本发明的有益效果是:本发明的堆叠系统中MAC地址老化的方法及装置,整个堆叠系统在进行MAC地址老化过程中,无需CPU参与,其通过复用既有芯片的功能,简洁的实现MAC地址老化,降低芯片的实现难度和成本。
附图说明
图1是本发明背景技术中方案1所示堆叠系统的架构示意图;
图2是本发明一实施方式中堆叠系统中MAC地址老化方法的流程图;
图3是本发明一实施方式对应的堆叠系统的架构示意图;
图4、图5分别是对MAC地址的状态进行刷新的流程示意图;
图6是本发明一实施方式中堆叠系统中MAC地址老化装置的模块示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图2所示,本发明一实施方式中提供一种堆叠系统中MAC地址老化的方法,所述方法包括:
初始化芯片时,为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组。
结合图3所示,本发明一具体实施方式中,在堆叠系统初始化的时候,为堆叠系统中的芯片创建组播转发组,堆叠系统包括4个芯片,分别为:Chip1、Chip2、Chip3和Chip4,其中Chip1表示入口芯片,所述组播转发组以大写字母G表示,相应的,对应每一芯片的组播转发组分别表示为:
Chip1:G->{chip1_p1,chip1_p2}
Chip2:G->{chip2_p1,chip2_p2}
Chip3:G->{chip3_p1,chip3_p2}
Chip4:G->{chip4_p1,chip4_p2}
可以理解的是,堆叠系统中组播复制有完善的放环机制,因此,不会出现环路。
进一步的,为每个芯片创建镜像配置,其以MirrorG表示,该MirrorG镜像的目的地是组播转发组G。
需要说明的是,上述创建的组播转发组以及创建的镜像配置均仅在芯片初始化时做固定配置,后续使用过程中,其具体内容可根据芯片的具体处理过程做无限改动。
进一步的,所述方法还包括:在堆叠系统的任一芯片接收报文时,判断接收报文的芯片为入口芯片还是堆叠芯片,若为入口芯片,则获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将当前的MAC地址扩散到所有芯片;若为堆叠芯片,直接解析通过所述镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址。
本发明具体实施方式中,接收报文的芯片可以为上述堆叠系统中的任一芯片,其中,报文初进入该堆叠系统时所对应的第一个芯片为入口芯片,芯片与芯片之间互联的端口为堆叠口,当报文通过入口芯片进入到堆叠系统后,可通过其对应的堆叠口和面板口进行转发,本发明的核心方案中主要涉及堆叠口,故未对芯片上的面板口进行详细描述。如图3所示,接续上述示例,报文从Chip1进入到堆叠系统,如此,Chip1表示入口芯片,Chip2、Chip3和Chip4均为堆叠。
本发明一较佳实施方式中,入口芯片接收到报文后,解析所述报文以获得查找关键字,所述查找关键字包括:MacSa和VlanID;以当前报文对应的查找关键字搜索FDB地址表,若获得的srcPort与报文进入当前芯片的端口一致,则获取报文携带的MAC地址,执行MAC地址的状态刷新操作,所述srcPort记录报文进入堆叠系统时的面板口。
对于堆叠芯片,其在接收到报文时,解析所述报文以获得MacSa和VlanID;以当前报文对应的MacSa和VlanID搜索FDB地址表,可直接获得对应的MAC地址。
需要说明的是,当入口芯片接收到报文后,若获得的srcPort与报文进入当前芯片的端口不一致,则需要进行MAC地址学习,以更新srcPort;若未获得srcPort,则需要进行MAC地址学习;在MAC地址学习并在报文转发后,同样需要对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将MAC地址学习获得的信息扩散到堆叠系统中的所有芯片,而对于堆叠芯片,其在经过MAC地址学习后,直接解析通过所述镜像处理方式扩散到当前芯片中报文所携带的信息进行转发,以将MAC地址学习获得的信息扩散到堆叠系统中的所有芯片,在此不做进一步的赘述。
报文自身会携带各种信息,通过解析报文会按需求获得相应的信息;所述报文信息包括:以太网信息、网络层信息、传输层信息以及附加信息;所述以太网信息包括:目的MAC、源MAC、VLanID;所述网络层信息包括:目的IP、源IP、服务类型ToS、生成周期TTL、传输层类型;所述传输层信息包括:源端口,目的端口;所述附加信息包括:数据量、流发起时间、流结束时间、流进入网络设备的端口、流离开网络设备的端口;所述报文信息还包括:MacSa、MacDa、IpSa、IpDa、L4Type、L4SrcPort、L4DestPort;其中,MacSa表示源设备硬件地址;MacDa表示目的设备硬件地址;IpSa表示源设备网际协议地址;IpDa表示目的设备网际协议地址;L4Type表示网际协议类型;L4SrcPort表示源设备网际协议端口号;L4DestPort表示目的设备网际协议端口号。
本发明具体实施方式中,报文初进入该堆叠系统时所对应的第一个芯片为入口芯片,对于入口芯片,其文进入入口芯片的端口为非堆叠口;报文从一个芯片进入到另一芯片时,其均是通过堆叠口进入,如此,在堆叠系统中,同一报文除了进入入口芯片外,进入其他非入口芯片时,均是通过堆叠口进入。
如此,当入口芯片接收到报文后,对入口芯片接收的报文按照创建的镜像配置进行镜像处理,以将将当前的MAC地址扩散到所有芯片;而对于堆叠芯片,其接收的报文已经经过镜像处理,因此无需再镜像该报文。
本发明较佳实施方式中,对于入口芯片,其在对当前芯片接收的报文按照创建的镜像配置进行镜像处理过程中,入口芯片解析报文,获取报文携带的堆叠头文件,所述堆叠头文件包括:srcPort,VlanID,destPort以及destGroup等信息;复制所述堆叠头文件至镜像配置指向的组播转发组以完成镜像处理。其中,srcPort用于记录报文进入堆叠系统时的面板口,MAC地址学习会用到;vlanId用于记录报文所属的vlan,可能是报文携带的,也可能是面板口上的defaultVlan,MAC地址学习会用到;destPort用于记录报文应当被转发到的面板口,其由入口芯片指定,后续芯片直接使用,不做修改;destGroup用于记录报文应该被转发到的组播转发组,组播组中的出口由入口芯片指定,后续芯片使用,不做修改。
相应的,对于非入口芯片,直接调用所述堆叠头文件所携带的destGroup信息进行转发,即可以达到转发的目的。
如图3所示,接续上述示例,Chip1为入口芯片,若其接收到报文,则获得MAC地址进行刷新,并在报文正常转发后,将其镜像到MirrorG,而由于镜像MirrorG的目的地是组播组G,故通过查找G表可获得对应的出口chip1_p1和chip1_p2,进一步的,报文将从chip1_p1和chip1_p2分别扩散到非入口芯片chip2和chip3。
进一步的,本发明较佳实施方式中,以非入口芯片chip3为例,当chip3接收到报文后,由于其为非入口芯片,即其接收的报文来自堆叠口,如此,其无需对报文再次镜像,仅需要直接解析入口芯片通过镜像方式扩散到当前芯片中报文,获得MAC地址进行刷新,以避免MAC地址被多个芯片多次镜像。
进一步的,所述方法还包括:在获取报文携带的MAC地址后,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;所述MAC地址的状态包括:刷新标识的使能状态以及老化标识的使能状态。
本发明较佳实施方式中,在两种情况下,均需要对MAC地址的状态进行刷新。结合图4所示,任一芯片接收到报文并解析出MAC地址以进行刷新操作时,若刷新标识为使能,则将当前刷新标识调整为非使能,同时通过镜像处理刷新其他芯片上对应当前报文的MAC地址;并在执行MAC地址刷新操作后,将该MAC地址对应的老化标识调整为非使能;若刷新标识为非使能,则保持刷新标识不变,以及保持其他芯片上对应当前报文的MAC地址不变。
本发明具体实施方式中,刷新标识以函数refreshCnt表示,老化标识以agingCnt表示,其使能状态均可以以二进制“0”“1”表示,本发明具体示例中,当refreshCnt为0时,表示刷新标识使能,当refreshCnt为1时,表示刷新标识非使能;当agingCnt为0时,表示老化标识使能,当agingCnt为1时,表示老化标识非使能。
结合图5所示,在接收报文的同时,周期性扫描MAC地址表,所述MAC地址表用于存储MAC地址;其中,扫描MAC地址表的周期=1/3*MAC地址的老化周期;在任一个扫描周期内,若扫查到MAC地址,且当前MAC地址对应的刷新标识和老化标识均为非使能,则将当前MAC地址对应的刷新标识调整为使能,老化标识保持不变;若扫查到MAC地址,且当前MAC地址对应的刷新标识为使能,老化标识为非使能,则将当前MAC地址对应的老化标识调整为使能,刷新标识保持不变;若扫查到MAC地址,且当前MAC地址对应的老化标识为使能,则删除当前扫查到的MAC地址。
本发明具体实施方式中,在硬件中设置一定时器用于周期性扫描MAC地址表,若定时器在连续的周期内扫查到同一MAC地址,则需要三个扫描周期才可以将该MAC地址老化掉。具体的,在第一个扫描周期时,扫描到MAC地址,其对应的refreshCnt和agingCnt均为1,此时,需要将refreshCnt调整为0,agingCnt保持1不变;在第二个扫描周期时,再次扫描到同一MAC地址,其对应的refreshCnt为0,agingCnt为1,此时,需要将agingCnt调整为0,refreshCnt保持0不变;第三个扫描周期时,又一次扫描到同一MAC地址,其对应的agingCnt为0,此时,就需要对当前的MAC地址做老化处理,即删除该MAC地址。
在该实施方式中,相对于现有技术,在老化周期不变的情况下,通过引入刷新标识,将扫描周期调整为原来的2/3倍,以在每个1/3的老化周期,由报文来触发MAC地址表象的刷新,避免提前老化;
需要说明的是,上述对MAC地址的状态进行刷新的两种情况是同时进行的的,在此不做详细赘述。
本发明较佳实施方式中,所述方法还包括:复制所述堆叠头文件至镜像配置指向的组播转发组过程中,按照预定的存储空间对镜像的堆叠头文件做截断处理,以降低MAC地址状态更新过程中的带宽开销。
具体的,复用芯片中的截断功能,把镜像出来的报文截断成128Byte或64Byte,以进一步降低MAC地址状态更新过程中的带宽开销。
本发明的整个堆叠系统在进行MAC地址老化过程中,无需CPU参与,完全由芯片硬件逻辑实现,报文触发MAC地址状态更新过程中,根据报文入口类型决定是否要做镜像,避免重复镜像,以实现由报文驱动来完成堆叠系统中所有芯片中MAC地址的刷新。
结合图6所示,本发明一实施方式中,堆叠系统中MAC地址老化的装置,所述装置包括:初始化模块100、处理模块200以及状态刷新及老化模块300。
初始化模块100用于在初始化芯片时,为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组。
结合图3所示,本发明一具体实施方式中,在堆叠系统初始化的时候,为堆叠系统中的芯片创建组播转发组,堆叠系统包括4个芯片,分别为:Chip1、Chip2、Chip3和Chip4,其中Chip1表示入口芯片,所述组播转发组以大写字母G表示,相应的,对应每一芯片的组播转发组分别表示为:
Chip1:G->{chip1_p1,chip1_p2}
Chip2:G->{chip2_p1,chip2_p2}
Chip3:G->{chip3_p1,chip3_p2}
Chip4:G->{chip4_p1,chip4_p2}
可以理解的是,堆叠系统中组播复制有完善的放环机制,因此,不会出现环路。
进一步的,初始化模块100为每个芯片创建镜像配置,其以MirrorG表示,该MirrorG镜像的目的地是组播转发组G。
需要说明的是,上述创建的组播转发组以及创建的镜像配置均仅在芯片初始化时做固定配置,后续使用过程中,其具体内容可根据芯片的具体处理过程做无限改动。
处理模块200用于在堆叠系统的任一芯片接收报文时,判断接收报文的芯片为入口芯片还是堆叠芯片,若为入口芯片,则获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将当前的MAC地址扩散到所有芯片;若为堆叠芯片,直接解析通过所述镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址。
本发明具体实施方式中,接收报文的芯片可以为上述堆叠系统中的任一芯片,其中,报文初进入该堆叠系统时所对应的第一个芯片为入口芯片,芯片与芯片之间互联的端口为堆叠口,当报文通过入口芯片进入到堆叠系统后,可通过其对应的堆叠口和面板口进行转发,本发明的核心方案中主要涉及堆叠口,故未对芯片上的面板口进行详细描述。如图3所示,接续上述示例,报文从Chip1进入到堆叠系统,如此,Chip1表示入口芯片,Chip2、Chip3和Chip4均为堆叠。
本发明一较佳实施方式中,处理模块200具体用于在入口芯片接收到报文后,解析所述报文以获得查找关键字,所述查找关键字包括:MacSa和VlanID;以当前报文对应的查找关键字搜索FDB地址表,若获得的srcPort与报文进入当前芯片的端口一致,则获取报文携带的MAC地址,执行MAC地址的状态刷新操作,所述srcPort记录报文进入堆叠系统时的面板口。
对于堆叠芯片,其在接收到报文时,处理模块200解析所述报文以获得MacSa和VlanID;以当前报文对应的MacSa和VlanID搜索FDB地址表,可直接获得对应的MAC地址。
需要说明的是,当入口芯片接收到报文后,若获得的srcPort与报文进入当前芯片的端口不一致,则需要进行MAC地址学习,以更新srcPort;若未获得srcPort,则需要进行MAC地址学习;在MAC地址学习并在报文转发后,同样需要对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将MAC地址学习获得的信息扩散到堆叠系统中的所有芯片,而对于堆叠芯片,其在经过MAC地址学习后,直接解析通过所述镜像处理方式扩散到当前芯片中报文所携带的信息进行转发,以将MAC地址学习获得的信息扩散到堆叠系统中的所有芯片,在此不做进一步的赘述。
当入口芯片接收到报文后,对入口芯片接收的报文按照创建的镜像配置进行镜像处理,以将将当前的MAC地址扩散到所有芯片;而对于堆叠芯片,其接收的报文已经经过镜像处理,因此无需再镜像该报文。
本发明较佳实施方式中,对于入口芯片,其在对当前芯片接收的报文按照创建的镜像配置进行镜像处理过程中,入口芯片通过处理模块200解析报文,获取报文携带的堆叠头文件,所述堆叠头文件包括:srcPort,VlanID,destPort以及destGroup等信息;复制所述堆叠头文件至镜像配置指向的组播转发组以完成镜像处理。其中,srcPort用于记录报文进入堆叠系统时的面板口,MAC地址学习会用到;vlanId用于记录报文所属的vlan,可能是报文携带的,也可能是面板口上的defaultVlan,MAC地址学习会用到;destPort用于记录报文应当被转发到的面板口,其由入口芯片指定,后续芯片直接使用,不做修改;destGroup用于记录报文应该被转发到的组播转发组,组播组中的出口由入口芯片指定,后续芯片使用,不做修改。
相应的,对于非入口芯片,直接调用所述堆叠头文件所携带的destGroup信息进行转发,即可以达到转发的目的。
如图3所示,接续上述示例,Chip1为入口芯片,若其接收到报文,则获得MAC地址进行刷新,并在报文正常转发后,将其镜像到MirrorG,而由于镜像MirrorG的目的地是组播组G,故通过查找G表可获得对应的出口chip1_p1和chip1_p2,进一步的,报文将从chip1_p1和chip1_p2分别扩散到非入口芯片chip2和chip3。
进一步的,本发明较佳实施方式中,以非入口芯片chip3为例,当chip3接收到报文后,由于其为非入口芯片,即其接收的报文来自堆叠口,如此,其无需对报文再次镜像,仅需要直接解析入口芯片通过镜像方式扩散到当前芯片中报文,获得MAC地址进行刷新,以避免MAC地址被多个芯片多次镜像。
状态刷新及老化模块300用于在获取报文携带的MAC地址后,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;所述MAC地址的状态包括:刷新标识的使能状态以及老化标识的使能状态。
本发明较佳实施方式中,在两种情况下,状态刷新及老化模块300需要对MAC地址的状态进行刷新。状态刷新及老化模块300在任一芯片接收到报文并解析出MAC地址以进行刷新操作时,若刷新标识为使能,则将当前刷新标识调整为非使能,同时通过镜像处理刷新其他芯片上对应当前报文的MAC地址;并在执行MAC地址刷新操作后,将该MAC地址对应的老化标识调整为非使能;若刷新标识为非使能,则保持刷新标识不变,以及保持其他芯片上对应当前报文的MAC地址不变。
本发明具体实施方式中,刷新标识以函数refreshCnt表示,老化标识以agingCnt表示,其使能状态均可以以二进制“0”“1”表示,本发明具体示例中,当refreshCnt为0时,表示刷新标识使能,当refreshCnt为1时,表示刷新标识非使能;当agingCnt为0时,表示老化标识使能,当agingCnt为1时,表示老化标识非使能。
状态刷新及老化模块300还用于周期性扫描MAC地址表,所述MAC地址表用于存储MAC地址;其中,扫描MAC地址表的周期=1/3*MAC地址的老化周期;在任一个扫描周期内,若扫查到MAC地址,且当前MAC地址对应的刷新标识和老化标识均为非使能,则将当前MAC地址对应的刷新标识调整为使能,老化标识保持不变;若扫查到MAC地址,且当前MAC地址对应的刷新标识为使能,老化标识为非使能,则将当前MAC地址对应的老化标识调整为使能,刷新标识保持不变;若扫查到MAC地址,且当前MAC地址对应的老化标识为使能,则删除当前扫查到的MAC地址。
本发明具体实施方式中,在硬件中设置一定时器用于周期性扫描MAC地址表,若定时器在连续的周期内扫查到同一MAC地址,则需要三个扫描周期才可以将该MAC地址老化掉。具体的,在第一个扫描周期时,扫描到MAC地址,其对应的refreshCnt和agingCnt均为1,此时,需要将refreshCnt调整为0,agingCnt保持1不变;在第二个扫描周期时,再次扫描到同一MAC地址,其对应的refreshCnt为0,agingCnt为1,此时,需要将agingCnt调整为0,refreshCnt保持0不变;第三个扫描周期时,又一次扫描到同一MAC地址,其对应的agingCnt为0,此时,就需要对当前的MAC地址做老化处理,即删除该MAC地址。
在该实施方式中,相对于现有技术,在老化周期不变的情况下,通过引入刷新标识,将扫描周期调整为原来的2/3倍,以在每个1/3的老化周期,由报文来触发MAC地址表象的刷新,避免提前老化;
需要说明的是,上述对MAC地址的状态进行刷新的两种情况是同时进行的的,在此不做详细赘述。
本发明较佳实施方式中,处理模块200还用于在复制所述堆叠头文件至镜像配置指向的组播转发组过程中,按照预定的存储空间对镜像的堆叠头文件做截断处理,以降低MAC地址状态更新过程中的带宽开销。
具体的,复用芯片中的截断功能,把镜像出来的报文截断成128Byte或64Byte,以进一步降低MAC地址状态更新过程中的带宽开销。
综上所述,本发明的堆叠系统中MAC地址老化的方法及装置,整个堆叠系统在进行MAC地址老化过程中,无需CPU参与,其通过复用既有芯片的功能,简洁的实现MAC地址老化,降低芯片的实现难度和成本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统中模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统中模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
以上所描述的系统实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件是逻辑模块,即可以位于芯片逻辑中的一个模块中,或者也可以分布到芯片内的多个数据处理模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的通信芯片中。例如:交换芯片、路由器芯片,服务器芯片等等。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.一种堆叠系统中MAC地址老化的方法,其特征在于,所述方法包括:
初始化芯片时,为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组;
在堆叠系统的任一芯片接收报文时,判断接收报文的芯片为入口芯片还是堆叠芯片,
若为入口芯片,则获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将当前的MAC地址扩散到所有芯片;
若为堆叠芯片,则直接解析通过所述镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址;
在获取报文携带的MAC地址后,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;所述MAC地址的状态包括:刷新标识的使能状态以及老化标识的使能状态。
2.根据权利要求1所述的堆叠系统中MAC地址老化的方法,其特征在于,所述“对当前芯片接收的报文按照创建的镜像配置进行镜像处理”具体包括:
解析报文,获取报文携带的堆叠头文件,所述堆叠头文件包括:srcPort,VlanID,destPort以及destGroup信息;复制所述堆叠头文件至镜像配置指向的组播转发组;并按照所述堆叠头文件所携带的destGroup信息转发报文。
3.根据权利要求1所述的堆叠系统中MAC地址老化的方法,其特征在于,所述方法还包括:
入口芯片接收到报文后,解析所述报文以获得查找关键字,所述查找关键字包括:MacSa和VlanID;
以当前报文对应的查找关键字搜索FDB地址表,
若获得的srcPort与报文进入当前芯片的端口一致,则获取报文携带的MAC地址,执行MAC地址的状态刷新操作,所述srcPort记录报文进入堆叠系统时的面板口。
4.根据权利要求1所述的堆叠系统中MAC地址老化的方法,其特征在于,所述方法还包括:任一芯片接收到报文并解析出MAC地址以进行刷新操作时,若刷新标识为使能,则将当前刷新标识调整为非使能,通过镜像处理刷新其他芯片上对应当前报文的MAC地址;并在执行MAC地址刷新操作后,将该MAC地址对应的老化标识调整为非使能;
若刷新标识为非使能,则保持刷新标识不变,以及保持其他芯片上对应当前报文的MAC地址不变。
5.根据权利要求1所述的堆叠系统中MAC地址老化的方法,其特征在于,所述方法还包括:周期性扫描MAC地址表,所述MAC地址表用于存储MAC地址;其中,扫描MAC地址表的周期=1/3*MAC地址的老化周期;
在任一个扫描周期内,
若扫查到MAC地址,且当前MAC地址对应的刷新标识和老化标识均为非使能,则将当前MAC地址对应的刷新标识调整为使能,老化标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的刷新标识为使能,老化标识为非使能,则将当前MAC地址对应的老化标识调整为使能,刷新标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的老化标识为使能,则删除当前扫查到的MAC地址。
6.一种堆叠系统中MAC地址老化的装置,其特征在于,所述装置包括:
初始化模块,用于为堆叠系统中的芯片创建组播转发组,组播转发组的成员为每个芯片对应的堆叠口;并为每个芯片创建镜像配置,每个芯片镜像配置的目的地为组播转发组;
处理模块,用于在堆叠系统的任一芯片接收报文时,判断接收报文的芯片为入口芯片还是堆叠芯片,
若为入口芯片,则获取报文携带的MAC地址;并在当前MAC地址对应的刷新标识为使能时,对当前芯片接收的报文按照创建的镜像配置进行镜像处理,以将当前的MAC地址扩散到所有芯片;
若为堆叠芯片,则直接解析通过所述镜像处理方式扩散到当前芯片中报文,并获取其携带的MAC地址;
状态刷新及老化模块,用于在获取报文携带的MAC地址后,对MAC地址的状态进行刷新,若MAC地址对应老化标识为使能,则对当前MAC地址进行老化处理;所述MAC地址的状态包括:刷新标识的使能状态以及老化标识的使能状态。
7.根据权利要求6所述的堆叠系统中MAC地址老化的装置,其特征在于,所述处理具体用于:
解析报文,获取报文携带的堆叠头文件,所述堆叠头文件包括:srcPort,VlanID,destPort以及destGroup信息;复制所述堆叠头文件至镜像配置指向的组播转发组;并按照所述堆叠头文件所携带的destGroup信息转发报文。
8.根据权利要求6所述的堆叠系统中MAC地址老化的装置,其特征在于,
所述处理模块还用于在入口芯片接收到报文后,解析所述报文以获得查找关键字,所述查找关键字包括:MacSa和VlanID;
以当前报文对应的查找关键字搜索FDB地址表,
若获得的srcPort与报文进入当前芯片的端口一致,则获取报文携带的MAC地址,并通过状态刷新及老化模块执行MAC地址的状态刷新操作,所述srcPort记录报文进入堆叠系统时的面板口。
9.根据权利要求6所述的堆叠系统中MAC地址老化的装置,其特征在于,所述状态刷新及老化模块具体用于:
任一芯片接收到报文并解析出MAC地址以进行刷新操作时,若刷新标识为使能,则将当前刷新标识调整为非使能,通过镜像处理刷新其他芯片上对应当前报文的MAC地址;并在执行MAC地址刷新操作后,将该MAC地址对应的老化标识调整为非使能;
若刷新标识为非使能,则保持刷新标识不变,以及保持其他芯片上对应当前报文的MAC地址不变。
10.根据权利要求6所述的堆叠系统中MAC地址老化的装置,其特征在于,所述状态刷新及老化模块具体用于:
周期性扫描MAC地址表,所述MAC地址表用于存储MAC地址;其中,扫描MAC地址表的周期=1/3*MAC地址的老化周期;
在任一个扫描周期内,
若扫查到MAC地址,且当前MAC地址对应的刷新标识和老化标识均为非使能,则将当前MAC地址对应的刷新标识调整为使能,老化标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的刷新标识为使能,老化标识为非使能,则将当前MAC地址对应的老化标识调整为使能,刷新标识保持不变;
若扫查到MAC地址,且当前MAC地址对应的老化标识为使能,则删除当前扫查到的MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811049194.9A CN109194777B (zh) | 2018-09-10 | 2018-09-10 | 堆叠系统中mac地址老化的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811049194.9A CN109194777B (zh) | 2018-09-10 | 2018-09-10 | 堆叠系统中mac地址老化的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194777A true CN109194777A (zh) | 2019-01-11 |
CN109194777B CN109194777B (zh) | 2021-08-31 |
Family
ID=64915634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811049194.9A Active CN109194777B (zh) | 2018-09-10 | 2018-09-10 | 堆叠系统中mac地址老化的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194777B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242481A (zh) * | 2021-06-29 | 2021-08-10 | 烽火通信科技股份有限公司 | Olt设备的mac地址同步方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209043A (zh) * | 2011-07-22 | 2011-10-05 | 杭州华三通信技术有限公司 | 一种媒质访问控制地址表项更新方法和网络设备 |
US20120236859A1 (en) * | 2011-03-15 | 2012-09-20 | Force10 Networks, Inc. | Method & apparatus for configuring a link aggregation group on a stacked switch |
CN103209130A (zh) * | 2013-04-22 | 2013-07-17 | 杭州华三通信技术有限公司 | 一种同步mac地址表项的方法及转发芯片 |
CN103414773A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN103414801A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
CN103929461A (zh) * | 2013-08-12 | 2014-07-16 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN106603440A (zh) * | 2016-12-30 | 2017-04-26 | 盛科网络(苏州)有限公司 | 实现多目的地报文镜像的交换机及方法 |
CN108134747A (zh) * | 2017-12-22 | 2018-06-08 | 盛科网络(苏州)有限公司 | 以太网交换芯片、其组播镜像流量均衡的实现方法及系统 |
-
2018
- 2018-09-10 CN CN201811049194.9A patent/CN109194777B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120236859A1 (en) * | 2011-03-15 | 2012-09-20 | Force10 Networks, Inc. | Method & apparatus for configuring a link aggregation group on a stacked switch |
CN102209043A (zh) * | 2011-07-22 | 2011-10-05 | 杭州华三通信技术有限公司 | 一种媒质访问控制地址表项更新方法和网络设备 |
CN103209130A (zh) * | 2013-04-22 | 2013-07-17 | 杭州华三通信技术有限公司 | 一种同步mac地址表项的方法及转发芯片 |
CN103414773A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN103414801A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 一种堆叠系统中媒质访问控制地址同步的方法和设备 |
CN103929461A (zh) * | 2013-08-12 | 2014-07-16 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN106603440A (zh) * | 2016-12-30 | 2017-04-26 | 盛科网络(苏州)有限公司 | 实现多目的地报文镜像的交换机及方法 |
CN108134747A (zh) * | 2017-12-22 | 2018-06-08 | 盛科网络(苏州)有限公司 | 以太网交换芯片、其组播镜像流量均衡的实现方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242481A (zh) * | 2021-06-29 | 2021-08-10 | 烽火通信科技股份有限公司 | Olt设备的mac地址同步方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109194777B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9455935B2 (en) | Remote port mirroring | |
US8443103B2 (en) | Method and system for intelligently forwarding multicast packets | |
US7933268B1 (en) | IP multicast forwarding in MAC bridges | |
US7593400B2 (en) | MAC address learning in a distributed bridge | |
US8249065B2 (en) | Destination MAC aging of entries in a Layer 2 (L2) forwarding table | |
US6999452B1 (en) | Ethernet units adapted for loop configuration and method of operating same | |
CN1866919B (zh) | 基于虚拟局域网堆叠的业务交换方法 | |
CN105634986B (zh) | 一种交换机实现方法与系统 | |
CN1874313B (zh) | 处理数据包的方法和网络设备 | |
CN100566282C (zh) | 控制组播数据转发的设备及方法 | |
CN101175025B (zh) | 支持混合转发报文的系统、交换机及方法 | |
CN101184053B (zh) | 局域网出口链路选择方法、装置及路由设备 | |
CN104782087B (zh) | 交换设备、控制器、交换设备配置、报文处理方法及系统 | |
US7738467B2 (en) | Output port based double Q tagging | |
CN110035074A (zh) | 一种acl匹配udf报文的芯片实现方法及装置 | |
CN101171802B (zh) | 网络节点,网络,产生在网络中传送信息的对应关系产生方法 | |
CN102014065A (zh) | 报文包头的解析方法、包头解析预处理装置和网络处理器 | |
CN102340446B (zh) | VPLS网络中E-tree业务的实现方法及PE设备 | |
CN109194777A (zh) | 堆叠系统中mac地址老化的方法及装置 | |
CN109067673A (zh) | 堆叠系统中mac地址学习的方法及系统 | |
CN101453401B (zh) | 以太网桥设备及mac地址学习方法和数据报文传输方法 | |
CN101442497B (zh) | 一种实现数据报文转发的系统及方法 | |
CN108924065A (zh) | 交换机、二层网络报文转发方法及网络系统 | |
CN103222230A (zh) | 组播复制方法、装置及系统 | |
CN109039902A (zh) | 一种组播报文的转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Applicant after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Applicant before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |