CN109451087B - Mac表项老化处理方法和装置 - Google Patents
Mac表项老化处理方法和装置 Download PDFInfo
- Publication number
- CN109451087B CN109451087B CN201811260899.5A CN201811260899A CN109451087B CN 109451087 B CN109451087 B CN 109451087B CN 201811260899 A CN201811260899 A CN 201811260899A CN 109451087 B CN109451087 B CN 109451087B
- Authority
- CN
- China
- Prior art keywords
- mac
- value
- forwarding
- table entry
- 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
- 230000032683 aging Effects 0.000 title claims description 45
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims description 121
- 239000000523 sample Substances 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000002776 aggregation Effects 0.000 claims description 9
- 238000004220 aggregation Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 3
- 230000002431 foraging effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了MAC表项老化处理方法和装置。本公开中,只要有转发板收到源MAC地址为指定MAC地址的报文,就不需要各转发板删除指定MAC地址匹配的MAC软硬件表项,避免现有因率先学习到指定MAC地址的转发板在一段时间内未接收到源MAC地址为指定MAC地址的报文,就要求所有转发板删除指定MAC地址匹配的MAC软硬件表项所导致的丢包等问题。
Description
技术领域
本公开涉及网络通信技术,特别涉及MAC表项老化处理方法和装置。
背景技术
在组网应用中,当网络设备通过接口接收报文时,根据报文的源MAC地址在本地MAC表中查找与报文的源MAC地址匹配的MAC表项,如果未查找到MAC表项,则依据报文的源MAC地址和接收到报文的接口生成一个与报文的源MAC地址匹配的MAC表项并记录至本地MAC表(入接口信息、MAC地址只是MAC表项的最基本组成部分,视不同的应用MAC表项还可能有VlanId或者VpnId等信息)。
基于本地MAC表,则当网络设备发送报文时,会根据报文的目的MAC地址在已学习的所有MAC表项中查找匹配的MAC表项,若查找到,则通过匹配的MAC表项中的接口发送,否则,向除报文入口之外的所有接口泛洪报文。
发明内容
本公开提供了MAC表项老化处理方法和装置,以避免因率先学习到指定MAC地址的转发板在一段时间内未接收到源MAC地址为指定MAC地址的报文而删除所有转发板上与指定MAC地址匹配的MAC表项。
本公开提供的技术方案包括:
一种MAC表项老化处理方法,该方法应用于网络设备中转发板上的CPU,该方法包括:
扫描本地MAC软件表中满足指定条件的MAC软件表项,检查扫描到的MAC软件表项对应的MAC探测标识的当前值,所述MAC探测标识在所述MAC软件表项被创建时设置,初始值为第一值;
当检查出所述MAC探测标识的当前值为第一值时,指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址的报文时向所述CPU返回第一MAC探测消息,所述指定MAC地址为所述MAC软件表项中的MAC地址,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则向同一设备其他转发板发送第二MAC探测消息;所述第二MAC探测消息用于指示所述指定MAC地址有效,以使收到所述第二MAC探测消息的其他转发板维持所述指定MAC地址匹配的MAC软件表项、MAC硬件表项有效。
一种MAC表项老化处理装置,该装置应用于网络设备,所述网络设备包括至少两个转发板,每一转发板上包括CPU和至少一个转发芯片;其中,
转发板上的CPU,用于扫描本地MAC软件表中满足指定条件的MAC软件表项,检查扫描到的MAC软件表项对应的MAC探测标识的当前值,所述MAC探测标识在所述MAC软件表项被创建时设置,初始值为第一值;当检查出所述MAC探测标识的当前值为第一值时,指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址的报文时向本CPU返回第一MAC探测消息,所述指定MAC地址为所述MAC软件表项中的MAC地址,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则向同一设备其他转发板发送第二MAC探测消息;所述第二MAC探测消息用于指示所述指定MAC地址有效,以使收到所述第二MAC探测消息的其他转发板维持所述指定MAC地址匹配的MAC软件表项、MAC硬件表项有效。
由以上技术方案可以看出,本公开中,由转发板上的CPU主动扫描MAC软件表项,在扫描到的MAC软件表项对应的MAC探测标识的当前值为第一值,则指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址(MAC软件表项中的MAC地址)的报文时向本CPU返回第一MAC探测消息,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则向同一设备其他转发板发送第二MAC探测消息,所述第二MAC探测消息用于指示所述指定MAC地址有效,以使得只要有转发板收到源MAC地址为指定MAC地址的报文,就不需要各转发板删除指定MAC地址匹配的MAC软硬件表项,避免现有因率先学习到指定MAC地址的转发板在一段时间内未接收到源MAC地址为指定MAC地址的报文,就要求所有转发板删除指定MAC地址匹配的MAC软硬件表项所导致的丢包等问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为PE设备结构图;
图2为本公开提供的方法流程图;
图3为本公开提供的实施例示意图;
图4为本公开提供的装置结构示意图。
具体实施方式
在组网应用中,网络设备上任一转发板上任一转发芯片学习到新的MAC地址时,网络设备内所有转发板上所有转发芯片都会记录该MAC地址匹配的MAC表项。这里,MAC地址匹配的MAC表项因执行主体、存储位置不同可分为MAC硬件表项和MAC软件表项。下面进行描述:
以网络设备为虚拟专用局域网服务(VPLS:Virtual Private LAN Service)组网中的服务提供商网络边缘(PE:Provider Edge)设备为例,假设PE设备内有N个转发板(Board 1至Board N),每个转发板上存在一个硬件转发芯片,如图1所示。
如图1所示,Board 1上转发芯片101通过接口Port1_1收到报文。报文的源MAC地址为MAC100。转发芯片101在本转发芯片101的MAC硬件表中查找MAC100匹配的MAC表项(记为MAC硬件表项),若未查找到,则依据接口Port1_1、MAC100生成MAC100匹配的MAC硬件表项并记录至本转发芯片101的MAC硬件表中。为便于描述,该生成的新的MAC硬件表项记为表项a1。需要说明的是,本实施例中,若转发芯片101在本转发芯片101的MAC硬件表中查找到包含MAC100的MAC硬件表项,则不执行源MAC学习,直接按照现有转发流程转发报文即可。
在本实施例中,表项a1的表项类型为用于指示参与硬件老化机制的类型标识比如为selflearn。表项a1主要包括MAC100、接口Port1_1。这里,硬件老化机制是指:转发芯片101定时扫描表项类型为用于指示参与硬件老化机制的类型标识的各MAC硬件表项,若扫描到的MAC硬件表项未有老化标志,则在扫描到的MAC硬件表项上设有老化标志,若扫描到的MAC硬件表项有老化标志,则删除扫描到的MAC硬件表项。当表项a1的表项类型为用于指示参与硬件老化机制的类型标识,则意味着转发芯片101会定时扫描表项a1。
转发芯片101将接口Port1_1、MAC100携带在通知中发送给同一转发板即Board 1上的CPU。
Board 1上的CPU收到上述通知时,依据通知中携带的接口Port1_1、MAC100生成MAC100匹配的MAC表项(记为MAC软件表项)并记录至本板MAC软件表中,并向设备内其它转发板发起MAC学习通知。MAC学习通知携带上述接口Port1_1、MAC100。
其它转发板接收MAC学习通知。以Board 2为例,则:
Board 2上转发芯片102依据MAC学习通知中携带的接口Port1_1、MAC100生成MAC100匹配的MAC表项(记为MAC硬件表项)并记录至本转发芯片102的MAC硬件表中。为便于描述,这里生成的新的MAC硬件表项可记为表项a2,表项a2的表项类型不同于上述表项1的表项类型,其为用于指示不参与硬件老化机制的类型标识比如为static。当表项a2的表项类型为用于指示参与不硬件老化机制的类型标识,则意味着表项a2不参与上述的硬件老化机制,上述硬件老化机制在执行时是不会扫描表项a2。
Board 2上CPU依据MAC学习通知中携带的接口Port1_1、MAC100生成MAC100匹配的MAC表项(记为MAC软件表项)并记录至本板MAC软件表中。
其它转发板接收MAC学习通知后按照Board 2的方式执行,不再赘述。
至此,通过上面描述,Board 1至Board N上各转发芯片都会记录MAC100匹配的MAC软、硬件表项。
在具体实现时,MAC100匹配的MAC软、硬件表项是有老化时间的,如图1所示,Board1上转发芯片101在硬件老化时间到时,如果之前一段时间内没有收到源MAC地址为MAC100的报文,则会从本转发芯片101的MAC硬件表中删除MAC100匹配的MAC表项(即表项a1),并向本板CPU发送删除消息。
Board 1上的CPU收到删除消息时,在本板MAC软件表中删除MAC100匹配的MAC表项(包含MAC100),并向其它转发板发起MAC删除通知。
其它转发板接收MAC删除通知。以Board 2为例,则:
Board 2上转发芯片102在本转发芯片102的MAC硬件表中删除MAC100匹配的MAC表项(即表项a2)。
Board 2上CPU在本板MAC软件表中删除MAC100匹配的MAC表项(包含MAC100)。
从上面描述可以看出,之所以删除MAC100匹配的MAC表项,是因为率先学习到MAC100匹配的MAC表项的一个转发板即Board 1在一段时间内未接收到源MAC地址为MAC100的报文,并非所有转发板上所有转发芯片都在一段时间内未接收到源MAC地址为MAC100的报文,这会出现以下问题:若率先学习到MAC100匹配的MAC表项的一个转发板即Board 1在一段时间内未接收到源MAC地址为MAC100的报文,即使其他转发板接收到源MAC地址为MAC100的报文,最后也会导致所有转发板删除MAC100匹配的MAC表项。
而事实上,即使率先学习到MAC100匹配的MAC表项的一个转发板即Board 1在一段时间内未接收到源MAC地址为MAC100的报文,若其他转发板接收到源MAC地址为MAC100的报文,是没有必要删除MAC100匹配的MAC表项,还可以继续依据MAC100匹配的MAC表项转发报文,防止删除MAC100匹配的MAC表项后收到目的MAC地址为MAC100的报文因查不到MAC表项而广播所导致的丢包。
本公开中,为了防止率先学习到MAC100匹配的MAC表项的一个转发板即Board 1在一段时间内未接收到源MAC地址为MAC100的报文,所有转发板上转发芯片删除MAC100匹配的MAC表项,本实施例提供了如图2所示的流程:
参见图2,图2为本实施例提供的方法流程图。该流程应用于网络设备。这里的网络设备可为PE设备,也可为其他设备,本设备并不具体限定。
在本实施例中的网络设备包括至少两个转发板,每一转发板上包括CPU和至少一个转发芯片。
如图2所示,该流程可包括以下步骤:
步骤201,转发板上的CPU扫描本地MAC软件表中满足指定条件的MAC软件表项,检查扫描到的MAC软件表项对应的MAC探测标识的当前值,所述MAC探测标识在所述MAC软件表项被创建时设置,初始值为第一值。
作为一个实施例,CPU是依据同一转发板上启动的定时器定时扫描MAC软件表项。其中,定时器的定时时间小于预先配置的硬件表项老化时间。比如,定时器的定时时间为硬件表项老化时间的一半等。
作为另一个实施例,CPU还可按照预设周期扫描本地MAC软件表中满足指定条件的MAC软件表项。
需要说明的是,上述第一值只是为便于描述而进行的命名,并非具体限定,其可取值为0。
步骤202,当检查出所述MAC探测标识的当前值为第一值时,指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址的报文时向本CPU返回第一MAC探测消息,所述指定MAC地址为所述MAC软件表项中的MAC地址,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则向同一设备其他转发板发送第二MAC探测消息。
在上面描述中,指定MAC地址为所述MAC软件表项中的MAC地址。
这里的第二值可为不同于第一值的任何值,比如为1。
在一个例子中,当检查出所述MAC探测标识的当前值为第一值,本步骤202可进一步包括:将所述MAC探测标识的当前值从第一值更改为与所述第一值不同的第二值。
当接收到第一MAC探测消息时,本步骤202可进一步包括:将所述MAC探测标识的当前值从第二值改为所述第一值,并指示同一转发板上各转发芯片停止返回第一MAC探测消息,以防止频繁返回第一MAC探测消息增加CPU负荷。
在上面描述中,上述的第二MAC探测消息用于指示所述指定MAC地址有效,以使收到所述第二MAC探测消息的其他转发板维持所述指定MAC地址匹配的MAC软件表项、MAC硬件表项有效。基于此,对于任一其他转发板,当收到第二MAC探测消息时,在一个例子中,若此时还未开始扫描MAC软件表项,则直接在即将开始的整个扫描时间段内维持包含所述指定MAC地址的MAC软件表项(记为目标MAC软件表项)有效;
在另一个例子中,若此时已扫描到包含所述指定MAC地址的MAC软件表项(记为目标MAC软件表项),则当目标MAC软件表项对应的MAC探测标识的当前值为第二值时,将所述MAC探测标识的当前值从第二值更改为第一值,并且,若之前已指示同一转发板上各转发芯片返回第一MAC探测消息,则指示同一转发板上各转发芯片停止返回第一MAC探测消息;当目标MAC软件表项对应的MAC探测标识的当前值为第一值时,在当前整个扫描时间段内维持MAC探测标识的当前值为第一值。
至此,完成图2所示流程。
作为一个实施例,满足指定条件的MAC软件表项包括:出接口为聚合口的MAC软件表项;或者,出接口为等价链路口的MAC软件表项。之所以这样限制,原因是:对于聚合口或者为等价链路口,来自同一MAC地址的报文有可能因接口变化而更换不同接口。以图1所示,PW口是聚合口,每个转发板(Board 1至Board N)上都有一个成员口加入这个聚合口,图1示出了Board 1上的Port1_1为PW口的成员口。假若开始,源MAC地址为MAC100的报文从Board1的Port1_1进入,经过某段时间,Board1上的成员口Port1_1退出了PW口,则从PW到AC方向,源MAC地址为MAC100的报文不再进入Board1的接口Port1_1,假设进入Board2上的接口Port1_2。在接口发生更换时,原先的接口Board1的Port1_1始终不会再接收到源MAC地址为MAC100的报文,而MAC100匹配的MAC硬件表项也不再会命中,最终会老化删除,Board1上MAC100匹配的MAC软件表项也会删除,并同步删除其他Board上MAC100匹配的MAC硬件表项和MAC软件表项。这样,后续其他Board比如Board2至Board N再收到源MAC地址为MAC100的报文时就会出现上述技术问题:因为查不到MAC表项而产生泛洪广播导致丢包。
而为避免上述技术问题,基于图2所示流程,在本公开中,由转发板上的CPU主动定时扫描MAC软件表项,在扫描到的MAC软件表项对应的MAC探测标识的当前值为第一值,则指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址(MAC软件表项中的MAC地址)的报文时向本CPU返回第一MAC探测消息,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则向同一设备其他转发板发送第二MAC探测消息,所述第二MAC探测消息用于指示所述指定MAC地址有效,以使得只要有转发板收到源MAC地址为指定MAC地址的报文,就不需要各转发板删除指定MAC地址匹配的MAC软硬件表项,避免现有因率先学习到指定MAC地址的转发板在一段时间内未接收到源MAC地址为指定MAC地址的报文,就要求所有转发板删除指定MAC地址匹配的MAC软硬件表项所导致的丢包等问题。
在本公开中,各转发板都会按照图2所示流程执行。
对于任一转发板,当接收到其他转发板发送的第二MAC探测消息,则检查所述MAC软件表项对应的MAC探测标识的当前值为第一值还是第二值;当所述MAC软件表项对应的MAC探测标识的当前值为第二值时,将所述MAC探测标识的当前值从第二值更改为第一值,并且,若之前已指示同一转发板上各转发芯片返回第一MAC探测消息,则指示同一转发板上各转发芯片停止返回第一MAC探测消息;当所述MAC软件表项对应的MAC探测标识的当前值为第一值时,在当前整个扫描时间段内维持MAC探测标识的当前值为第一值(即控制所述MAC软件表项不被老化)。
需要说明的是,上述步骤201中,若当前扫描到的MAC软件表项对应的MAC探测标识的当前值不为第一值,该可进一步包括:
当预先配置的硬件表项老化时间已到达、且也未收到同一设备其他转发板发送的第二MAC探测消息,则删除当前扫描到的MAC软件表项,并通知同一转发板上各转发芯片删除所述MAC软件表项对应的MAC硬件表项,所述MAC硬件表项的表项类型为第一类型标识,所述MAC硬件表项与所述MAC软件表项包括相同的MAC地址。最终实现了所有转发板上所有转发芯片都在一段时间内未接收到源MAC地址为上述MAC地址的报文时才删除该MAC地址匹配的MAC软、硬件表项。
下面通过一个具体实施例对图2所示流程:
以图3所示的PE设备为例:
如图3所示,PE设备内有N个转发板(Board 1至Board N),每个转发板上存在一个硬件转发芯片。
在图3中,AC口是普通的二层以太口,PW口是聚合口,Board 1上的接口Port3_1至Board N上的接口PortN_1为PW口的成员口。
如图3所示,Board 1上转发芯片301通过接口Port3_1收到报文。报文的源MAC地址为MAC100。转发芯片301在本转发芯片301的MAC硬件表中查找MAC100匹配的MAC表项(记为MAC硬件表项),若未查找到,则依据接口Port3_1、MAC100生成MAC100匹配的MAC硬件表项并记录至本转发芯片301的MAC硬件表中。为便于描述,该生成的新的MAC硬件表项记为表项b1。表项b1中的出接口为Port3_1所属的聚合口PW口。需要说明的是,本实施例中,若转发芯片301在本转发芯片301的MAC硬件表中查找到包含MAC100的MAC硬件表项,则不执行源MAC学习,直接按照现有转发流程转发报文即可。
在本实施例中,表b1的表项类型为用于指示不参与硬件老化机制的第一类型标识比如为static。表项b1主要包括MAC100、PW口。这里,硬件老化机制是指:转发芯片301定时扫描表项类型为第一类型标识的各MAC硬件表项,若扫描到的MAC硬件表项未有老化标志,则在扫描到的MAC硬件表项上设有老化标志,若扫描到的MAC硬件表项有老化标志,则删除扫描到的MAC硬件表项。转发芯片301定时扫描的时间是依据老化定时器,老化定时器的定时时间为预先配置的硬件表项老化时间。
当表项b1的表项类型为第一类型标识,则意味着转发芯片301不会扫描表项b1。
转发芯片301将MAC100、PW口携带在通知中发送给同一转发板即Board1上的CPU。
Board 1上的CPU收到上述通知时,依据通知中携带的MAC100、PW口生成MAC100匹配的MAC表项(记为MAC软件表项)并记录至本板MAC软件表中,这里的MAC软件表项记为表项c1。在一个例子中,本公开为表项c1设置了对应的MAC探测标识(通过bIsProbing表示),并记录当前时间为表项c1的表项学习时间。bIsProbing当前取值为第一值比如0。
Board 1上的CPU向设备内其它转发板发起MAC学习通知。MAC学习通知携带上述PW口、MAC100。
其它转发板接收MAC学习通知。以Board 2为例,则:
Board 2上转发芯片302依据MAC学习通知中携带的PW口、MAC100生成MAC100匹配的MAC表项(记为MAC硬件表项)并记录至本转发芯片302的MAC硬件表中。为便于描述,这里生成的新的MAC硬件表项可记为表项b2,表项b2的表项类型与上述表项b1的表项类型相同,为第一类型标识比如为static。
Board 2上CPU依据MAC学习通知中携带的PW口、MAC100生成MAC100匹配的MAC表项(记为MAC软件表项)并记录至本板MAC软件表中。这里的MAC软件表项记为表项c2。在一个例子中,本公开为表项c2设置了对应的MAC探测标识(通过bIsProbing表示),并记录当前时间为表项c2的表项学习时间。bIsProbing当前取值为第一值比如0。
其它转发板接收MAC学习通知后按照Board 2的方式执行,不再赘述。
至此,通过上面描述,Board 1至Board N上都会记录MAC100匹配的MAC软、硬件表项。
依次类推,最终Board 1至Board N上都会记录各MAC匹配的MAC软、硬件表项。
下面描述MAC表项老化机制:
在本实施例中,Board 1至Board N设置了定时器(为区分现有的老化定时器,这里的定时器可记为MAC探测定时器)。MAC探测定时器的定时时间小于预先配置的硬件表项老化时间(也即老化定时器的定时时间,记为T)。作为一个实施例,MAC探测定时器的定时时间为T/2。以Board 1为例下面描述MAC表项老化处理:
Board 1上的CPU依据MAC探测定时器定时扫描本板MAC软件表中出接口为PW口的MAC软件表项。以当前扫描到的MAC软件表项为上述的表项c1为例:
Board 1上的CPU检查表项c1对应的bIsProbing为第一值比如0,则将表项c1对应的bIsProbing从第一值修改为第二值比如1,指示本Board 1所有转发芯片在收到源MAC地址为MAC100的报文时向本CPU返回第一MAC探测消息。
Board 1上的CPU如果在下次扫描MAC软件表项之前收到第一MAC探测消息,表明探测到本Board 1接收到源MAC地址为MAC100的报文,此时MAC100匹配的MAC软、硬件表项不能老化,则将表项c1对应的bIsProbing从第二值修改为第一值,更新表项c1的表项学习时间,指示本Board 1上各转发芯片停止返回第一MAC探测消息,并向同一设备其他转发板(Board2至Board N)发送第二MAC探测消息。第二MAC探测消息指示MAC100有效。
需要说明的是,本实施例中,若Board 1上的CPU检查表项c1对应的bIsProbing为第二值,则当表项c1的硬件表项老化时间已到达、且也未收到同一设备其他Board发送的上述第二MAC探测消息,则意味着表项c1老化,删除表项c1,并通知本Board 1上各转发芯片删除对应的MAC硬件表项(即上述的表项b1)。
其他转发板(Board 2至Board N)接收第二MAC探测消息,以Board 2为例:
Board 2上的CPU收到第二MAC探测消息,查找到MAC100匹配的MAC软件表项(即上述的表项c2),若表项c2此时对应的bIsProbing取值为第二值,则将表项c2对应的bIsProbing从第二值修改为第一值,更新表项c1的表项学习时间,并在本CPU之前已指示本Board 2上各转发芯片返回第一MAC探测消息的前提下,则指示本Board 2上各转发芯片停止返回第一MAC探测消息(即不再消耗资源主动探测是否收到源MAC地址为MAC100的报文)。
至此,完成本实施例的描述。
下面对本申请提供的装置进行描述:
参见图4,图4为本申请提供的装置结构图。该装置应用于网络设备,所述网络设备包括至少两个转发板,每一转发板上包括CPU和至少一个转发芯片;其中,
转发板上的CPU定时扫描本地MAC软件表中满足指定条件的MAC软件表项,若当前扫描到的MAC软件表项对应的MAC探测标识的当前值为第一值,则将所述MAC探测标识的当前值更改为与所述第一值不同的第二值,并指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址的报文时向本CPU返回第一MAC探测消息,所述指定MAC地址为所述MAC软件表项中的MAC地址;所述MAC软件表项在被创建时设置对应的MAC探测标识、且该设置的MAC探测标识取值为所述第一值;
转发板上的CPU在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则将所述MAC探测标识的当前值从第二值更改为第一值,指示同一转发板上各转发芯片停止返回第一MAC探测消息,并向同一设备其他转发板发送第二MAC探测消息,所述第二MAC探测消息用于指示所述指定MAC地址有效,以使收到所述第二MAC探测消息的其他转发板维持所述指定MAC地址匹配的MAC软件表项、MAC硬件表项有效。
在一个例子中,所述CPU是依据同一转发板上启动的定时器定时扫描MAC软件表项;
所述定时器的定时时间小于预先配置的硬件表项老化时间。
在一个例子中,所述满足指定条件的MAC软件表项包括:
出接口为聚合口的MAC软件表项;或者,
出接口为等价链路口的MAC软件表项。
在一个例子中,转发板上的CPU在当前扫描到的MAC软件表项所对应的MAC探测标识的当前值不为第一值时,进一步在所述MAC软件表项对应的硬件表项老化时间已到达、且也未收到同一设备其他转发板发送的第二MAC探测消息时,删除所述MAC软件表项,并通知同一转发板上各转发芯片删除所述指定MAC地址匹配的MAC硬件表项,所述MAC硬件表项的表项类型为用于指示不参与硬件老化机制的类型标识;
在一个例子中,转发板上的CPU在接收到其他转发板发送的第二MAC探测消息时,进一步检查所述MAC探测标识的当前值为第一值还是第二值,若为第二值,将所述MAC探测标识的当前值从第二值更改为第一值,并且,若之前已指示同一转发板上各转发芯片返回第一MAC探测消息,则指示同一转发板上各转发芯片停止返回第一MAC探测消息;若为第一值,则在当前扫描MAC软件表项的整个时间段内维持MAC探测标识的当前值为第一值。
在一个例子中,转发板上的转发芯片通过本地接口接收源MAC地址为所述指定MAC地址的报文,依据所述报文学习所述指定MAC地址匹配的MAC硬件表项并记录至本转发芯片的MAC硬件表中,所述MAC硬件表项的表项类型为用于指示不参与硬件老化机制的类型标识。
至此,完成图4所示装置结构图。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (8)
1.一种MAC表项老化处理方法,其特征在于,该方法应用于网络设备中转发板上的CPU,该方法包括:
扫描本地MAC软件表中满足指定条件的MAC软件表项,检查扫描到的MAC软件表项对应的MAC探测标识的当前值,所述MAC探测标识在所述MAC软件表项被创建时设置,初始值为第一值;
当检查出所述MAC探测标识的当前值为第一值时,将所述MAC探测标识的当前值从第一值更改为与所述第一值不同的第二值,并指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址的报文时向所述CPU返回第一MAC探测消息,所述指定MAC地址为所述MAC软件表项中的MAC地址,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则将所述MAC探测标识的当前值从第二值改为所述第一值,并指示同一转发板上各转发芯片停止返回第一MAC探测消息,向同一设备其他转发板发送第二MAC探测消息;所述第二MAC探测消息用于指示所述指定MAC地址有效,以使收到所述第二MAC探测消息的其他转发板维持所述指定MAC地址匹配的MAC软件表项、MAC硬件表项有效。
2.根据权利要求1所述的方法,其特征在于,所述CPU是依据所处转发板上启动的定时器定时扫描MAC软件表项;
所述定时器的定时时间小于预先配置的硬件表项老化时间。
3.根据权利要求1所述的方法,其特征在于,所述满足指定条件的MAC软件表项包括:
出接口为聚合口的MAC软件表项;或者,
出接口为等价链路口的MAC软件表项。
4.根据权利要求1所述的方法,其特征在于,当检查出所述MAC探测标识的当前值为第二值时,该方法进一步包括:
若所述MAC软件表项对应的硬件表项老化时间已到达、且也未收到同一设备其他转发板发送的第二MAC探测消息,则删除所述MAC软件表项,并通知同一转发板上各转发芯片删除所述指定MAC地址匹配的MAC硬件表项,所述MAC硬件表项是转发芯片通过本地接口接收源MAC地址为所述指定MAC地址的报文时依据所述报文学习的,所述MAC硬件表项的表项类型为用于指示不参与硬件老化机制的类型标识。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
若接收到其他转发板发送的第二MAC探测消息,则检查所述MAC探测标识的当前值为第一值还是第二值;
当所述MAC探测标识的当前值为第二值时,将所述MAC探测标识的当前值从第二值更改为第一值,并且,若之前已指示同一转发板上各转发芯片返回第一MAC探测消息,则指示同一转发板上各转发芯片停止返回第一MAC探测消息;
当所述MAC探测标识的当前值为第一值时,在当前扫描时间段内维持MAC探测标识的当前值为第一值。
6.一种MAC表项老化处理装置,其特征在于,该装置应用于网络设备,所述网络设备包括至少两个转发板,每一转发板上包括CPU和至少一个转发芯片;其中,
转发板上的CPU,用于扫描本地MAC软件表中满足指定条件的MAC软件表项,检查扫描到的MAC软件表项对应的MAC探测标识的当前值,所述MAC探测标识在所述MAC软件表项被创建时设置,初始值为第一值;当检查出所述MAC探测标识的当前值为第一值时,将所述MAC探测标识的当前值从第一值更改为与所述第一值不同的第二值,并指示同一转发板上各转发芯片在收到源MAC地址为指定MAC地址的报文时向本CPU返回第一MAC探测消息,所述指定MAC地址为所述MAC软件表项中的MAC地址,并在下次扫描MAC软件表项之前若接收到第一MAC探测消息,则将所述MAC探测标识的当前值从第二值改为所述第一值,并指示同一转发板上各转发芯片停止返回第一MAC探测消息,向同一设备其他转发板发送第二MAC探测消息;所述第二MAC探测消息用于指示所述指定MAC地址有效,以使收到所述第二MAC探测消息的其他转发板维持所述指定MAC地址匹配的MAC软件表项、MAC硬件表项有效。
7.根据权利要求6所述的装置,其特征在于,所述满足指定条件的MAC软件表项包括:
出接口为聚合口的MAC软件表项;或者,
出接口为等价链路口的MAC软件表项。
8.根据权利要求6所述的装置,其特征在于,转发板上的CPU检查出所述MAC探测标识的当前值为第二值时,进一步当所述MAC软件表项对应的硬件表项老化时间已到达、且也未收到同一设备其他转发板发送的第二MAC探测消息,删除所述MAC软件表项,并通知同一转发板上各转发芯片删除所述指定MAC地址匹配的MAC硬件表项,所述MAC硬件表项是转发芯片通过本地接口接收源MAC地址为所述指定MAC地址的报文时依据所述报文学习的,所述MAC硬件表项的表项类型为用于指示不参与硬件老化机制的类型标识;
转发板上的CPU在接收到其他转发板发送的第二MAC探测消息时,进一步检查所述MAC探测标识的当前值为第一值还是第二值,若为第二值,将所述MAC探测标识的当前值从第二值更改为第一值,并且,若之前已指示同一转发板上各转发芯片返回第一MAC探测消息,则指示同一转发板上各转发芯片停止返回第一MAC探测消息;若为第一值,则在当前扫描MAC软件表项的整个时间段内维持MAC探测标识的当前值为第一值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811260899.5A CN109451087B (zh) | 2018-10-26 | 2018-10-26 | Mac表项老化处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811260899.5A CN109451087B (zh) | 2018-10-26 | 2018-10-26 | Mac表项老化处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109451087A CN109451087A (zh) | 2019-03-08 |
CN109451087B true CN109451087B (zh) | 2022-05-31 |
Family
ID=65548536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811260899.5A Active CN109451087B (zh) | 2018-10-26 | 2018-10-26 | Mac表项老化处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109451087B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110049149B (zh) * | 2019-04-25 | 2021-08-24 | 新华三技术有限公司 | Mac地址学习方法、装置及分布式设备 |
CN112187578B (zh) * | 2020-09-28 | 2022-11-25 | 新华三信息安全技术有限公司 | 表项生成方法、装置及设备 |
CN113507415B (zh) * | 2021-05-31 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种表项处理方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1192553C (zh) * | 2002-06-12 | 2005-03-09 | 华为技术有限公司 | 网络设备中地址解析协议表的老化更新方法 |
CN1783874A (zh) * | 2004-12-01 | 2006-06-07 | 华为技术有限公司 | 网络设备中地址解析协议高速缓存表项的老化方法 |
CN101047670B (zh) * | 2006-04-14 | 2010-04-21 | 华为技术有限公司 | 一种mac地址表老化、操作方法及其处理系统 |
CN101232447B (zh) * | 2008-02-28 | 2011-11-30 | 中兴通讯股份有限公司 | 一种控制学习的mac地址预老化的方法 |
CN102045200A (zh) * | 2010-12-24 | 2011-05-04 | 武汉烽火网络有限责任公司 | 分布式交换机mac地址表项有条件同步的方法 |
PL2566138T3 (pl) * | 2011-08-31 | 2015-04-30 | Liberty Global Europe Holding B V | Sposób i system trasowania ruchu danych |
CN106330712B (zh) * | 2015-06-18 | 2019-05-24 | 中兴通讯股份有限公司 | 一种mac地址学习的控制方法和装置 |
CN106603736B (zh) * | 2015-10-20 | 2020-05-19 | 中兴通讯股份有限公司 | Mac地址处理方法及装置 |
CN105959430A (zh) * | 2016-05-31 | 2016-09-21 | 深圳市风云实业有限公司 | 一种交换机mac地址老化方法 |
CN108347494B (zh) * | 2017-01-25 | 2022-03-11 | 中兴通讯股份有限公司 | Mac地址老化处理方法、网络处理器芯片及通信设备 |
CN107547244B (zh) * | 2017-05-25 | 2020-11-20 | 新华三技术有限公司 | 一种表项处理方法及装置 |
CN108111637A (zh) * | 2017-12-25 | 2018-06-01 | 锐捷网络股份有限公司 | 一种老化mac地址的方法、线卡和交换设备 |
CN108307001B (zh) * | 2018-04-28 | 2021-07-27 | 深圳市风云实业有限公司 | Mac地址老化方法、装置及电子设备 |
CN108418759B (zh) * | 2018-05-31 | 2020-09-08 | 新华三技术有限公司 | 一种mac地址表项处理方法及装置 |
-
2018
- 2018-10-26 CN CN201811260899.5A patent/CN109451087B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109451087A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451087B (zh) | Mac表项老化处理方法和装置 | |
CN110830371B (zh) | 报文重定向方法、装置、电子设备及可读存储介质 | |
CN105897444B (zh) | 一种组播组的管理方法和装置 | |
CN108011958B (zh) | 网络设备及mac地址表同步方法 | |
CN102263774B (zh) | 一种处理源角色信息的方法和装置 | |
US7707312B2 (en) | Printer discovery protocol system and method | |
CN109347705B (zh) | 一种环路检测方法及装置 | |
CN110430116B (zh) | 数据转发方法及装置、边缘设备及可读存储介质 | |
CN112039769A (zh) | 一种处理路由的方法及网络设备 | |
WO2014114196A1 (en) | Keeping a terminal access location record alive | |
CN107547496B (zh) | 一种邻居表项的处理方法及装置 | |
CN100444586C (zh) | 报文转发方法及设备 | |
US20080049607A1 (en) | Method and apparatus for checking maintenance association integrity and method and apparatus for adding maintenance end point | |
CN105991795A (zh) | Arp表项更新方法以及装置 | |
CN108600070B (zh) | 指定转发者df选举方法及装置 | |
CN101834781B (zh) | 一种聚合端口的介质访问控制地址保活装置及方法 | |
CN105991783A (zh) | 一种媒体接入控制地址学习方法、设备和系统 | |
EP4057578A1 (en) | Internet group management protocol host mobility in ethernet virtual private network multicast networks | |
US8854949B2 (en) | Network relay device and network relay method | |
CN114422437A (zh) | 一种异构报文的转发方法及装置 | |
CN108234358B (zh) | 一种组播报文传输方法、装置及机器可读存储介质 | |
WO2023174055A1 (zh) | 报文传输方法及通信装置 | |
CN113709067B (zh) | 一种多交换机的mac地址同步学习方法及相关装置 | |
CN110708230A (zh) | 一种指定转发者选举方法和装置 | |
CN110753135A (zh) | 一种ip地址配置方法、配置设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230612 Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd. Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd. |