CN110049149A - Mac地址学习方法、装置及分布式设备 - Google Patents
Mac地址学习方法、装置及分布式设备 Download PDFInfo
- Publication number
- CN110049149A CN110049149A CN201910338203.4A CN201910338203A CN110049149A CN 110049149 A CN110049149 A CN 110049149A CN 201910338203 A CN201910338203 A CN 201910338203A CN 110049149 A CN110049149 A CN 110049149A
- Authority
- CN
- China
- Prior art keywords
- mac address
- list item
- address list
- message
- mac
- 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
- 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
-
- 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
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地址的第一报文,禁止更新第二MAC地址表项的表项类型。从而避免不同转发板学习到同一MAC地址的MAC地址表项,并向其它转发板同步MAC地址表项时,各转发板均将自学习的MAC地址表项的表项类型更新为静态类型,而无法删除MAC地址表项的问题。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种MAC地址学习方法、装置及分布式设备。
背景技术
分布式设备通常包括多块转发板。转发板接收报文,并基于报文的源MAC(MediaAccess Control,介质访问控制)地址查询MAC地址表。若MAC地址表中不存在与源MAC地址匹配的MAC地址表项,则本地生成源MAC地址对应的MAC地址表项,并设置MAC地址表项的表项类型为自学习类型。同时,向其它转发板同步MAC地址表项。其它转发板接收本板同步的MAC地址表项,并设置MAC地址表项的表项类型为静态类型。
当自学习类型的MAC地址表项到达老化时长时,转发板删除自学习类型的MAC地址表项,并向其它转发板发送表项删除消息。其它转发板根据表项删除消息,删除从本板同步的MAC地址表项(静态类型的MAC地址表项)。
参见图1,为一应用场景示意图。其中,设备110和设备120通过聚合口连接。设备120包括转发板121和转发板122。设备110采用逐包方式在聚合口的各成员口之间进行负载分担,因此,设备120可通过转发板121和转发板122接收到同一源MAC地址(记为MAC110)的报文。
转发板121和转发板122分别本地学习MAC110的MAC地址表项,并设置MAC地址表项的表项类型为自学习类型。同时,向对方同步自学习的MAC地址表项。转发板121和转发板122接收同步的MAC地址表项,并修改本地自学习MAC地址表项的表项类型为静态类型。此时,转发板121和转发板122中的MAC110的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地址表项的待更新标记。
可选的,所述方法还包括:
若接收到其它转发板发送的表项删除消息,获取所述表项删除消息包括的第二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地址表项的表项类型为静态类型。
可选的,所述装置还包括:
标记添加单元,用于若存在所述第二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地址表项,并向其它转发板同步MAC地址表项时,各转发板均将自学习的MAC地址表项的表项类型更新为静态类型,而无法删除MAC地址表项的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例示出的一种应用场景;
图2是本发明实施例示出的一种MAC地址学习方法流程图;
图3是本发明实施例示出的一种确定是否接收到第一报文的实现流程;
图4是本发明实施例示出的一种MAC地址表项删除流程;
图5是本发明实施例示出的一种MAC地址学习装置的结构示意图;
图6是本发明实施例示出的一种分布式设备包括的转发板的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明实施例。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例提供一种MAC地址学习方法。该方法中,转发板接收到其它转发板同步的MAC地址表项时,若本板承载有该MAC地址对应的流量,则不更新本板MAC地址表项的表项类型。从而避免不同转发板学习到同一MAC地址的MAC地址表项,并向其它转发板同步MAC地址表项时,各转发板均将自学习的MAC地址表项的表项类型更新为静态类型,而无法删除MAC地址表项的问题。
为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明实施例执行详细描述:
参见图2,为本发明实施例提供的MAC地址学习方法流程图。该流程应用于分布式设备包括的转发板。
分布式设备通常包括多块转发板。各转发板之间需要同步MAC地址表项。
如图2所示,该流程可包括以下步骤:
步骤201,若接收到其它转发板同步的第一MAC地址表项,本转发板获取第一MAC地址表项包括的第一MAC地址。
需要说明的是,转发板接收到报文时,首先基于报文的源MAC地址,查询本地维护的MAC地址表中是否存在与源MAC地址匹配的MAC地址表项。若不存在匹配的MAC地址表项,则进行MAC地址学习,即根据报文的源MAC地址和接收该报文的接口,生成记录源MAC地址和接口对应关系的MAC地址表项,并设置该MAC地址表项的表项类型为自学习类型。同时,向其它转发板同步该MAC地址表项。
同理,本转发板可接收到其它转发板同步的第一MAC地址表项。该第一MAC地址表项包括第一MAC地址。
这里,第一MAC地址表项、第一MAC地址只是为便于区分而进行的命名,并非用于限定。
步骤202,根据第一MAC地址,本转发板查询本地维护的MAC地址表中是否存在第二MAC地址表项。
该第二MAC地址表项包括第一MAC地址。
这里,第二MAC地址表项只是为便于区分而进行的命名,并非用于限定。
通过本步骤,可查询本地是否存在与第一MAC地址匹配的MAC地址表项。
步骤203,若存在第二MAC地址表项,且第二MAC地址表项的表项类型为自学习类型,本转发板确定在预设的第一时间段内是否接收到源MAC地址为第一MAC地址的第一报文。
这里,第一时间段、第一报文只是为便于区分而进行的命名,并非用于限定。
通过本步骤,可检测本转发板是否仍承载有源MAC地址为第一MAC地址的流量。
本转发板确定在预设的第一时间段内是否接收到源MAC地址为第一MAC地址的第一报文的过程,在下文中描述,这里暂不赘述。
步骤204,若接收到第一报文,本转发板禁止更新第二MAC地址表项的表项类型。
若接收到第一报文,说明本板承载有源MAC地址为第一MAC地址的流量,则禁止更新第二MAC地址表项的表项类型。即,维持第二MAC地址表项的表项类型为自学习类型。
基于此可知,分布式设备中多个转发板学习到同一MAC地址的MAC地址表项并互相同步时,只要转发板承载有源MAC地址为该MAC地址的流量,就不会因同步而更新本地自学习的MAC地址表项的表项类型。也就不会出现同一MAC地址的MAC地址表项的表项类型均为静态类型的情况,从而保证MAC地址表项可被删除。
至此,完成图2所示流程。
通过图2所示流程可以看出,本发明实施例中,转发板在确定自身承载有自学习的MAC地址对应的流量时,不接受其它转发板的同步,维持本板MAC地址表项的自学习类型。从而保证不同转发板上同一MAC地址的MAC地址表项不会全部为静态类型,避免MAC地址表项无法删除的问题。
可选的,作为一个实施例,在执行步骤203之后,若本板在第一时间段内未接收到源MAC地址为第一MAC地址的第一报文,说明本板已不再承载源MAC地址为第一MAC地址的流量,因此,接受其它转发板的同步,更新第二MAC地址表项的表项类型为静态类型。该静态类型的MAC地址表项不能本地老化,后续,需要根据其它转发板发送的表项删除消息删除。
下面对转发板确定第一时间段内是否接收到源MAC地址为第一MAC地址的第一报文的过程进行描述。参见图3,为本发明实施例示出的确定是否接收到第一报文的实现流程。
如图3所示,该流程可包括以下步骤:
步骤301,若存在第二MAC地址表项,且第二MAC地址表项的表项类型为自学习类型,本转发板为第二MAC地址表项添加待更新标记。
本发明实施例中,本转发板接收到其它转发板同步的第一MAC地址表项后,不会立即更新本地的第二MAC地址表项的表项类型,而是为第二MAC地址表项添加待更新标记,以便基于该待更新标记执行后续处理。
步骤302,在添加待更新标记后,本转发板检测在第一时间段内是否接收到源MAC地址为第一MAC地址的第一报文。
作为一种实施方式,转发板可在接收到报文时,基于报文的源MAC地址匹配MAC地址表项。若基于源MAC地址命中添加待更新标记的第二MAC地址表项,则确认接收到第一报文。
步骤303,若接收到第一报文或达到第一时间段,本转发板清除第二MAC地址表项的待更新标记。
在通过步骤302确定接收到第一报文时,说明本转发板承载有源MAC地址为第一MAC地址的流量。本转发板清除第二MAC地址表项的待更新标记。
若在第一时间段内未接收到第一报文,说明本转发板未承载源MAC地址为第一MAC地址的流量。在达到第一时间段时,本转发板清除第二MAC地址表项的待更新标记。
至此,完成图3所示流程。
通过图3所示流程,可确定转发板是否承载有源MAC地址为第一MAC地址的流量。
可选的,作为一个实施例,本发明还包括MAC地址表项删除流程。参见图4,为本发明实施例示出的一种MAC地址表项删除流程。
如图4所示,该流程可包括以下步骤:
步骤401,若接收到其它转发板发送的表项删除消息,获取表项删除消息包括的第二MAC地址。
需要说明的是,若转发板不再承载自学习MAC地址对应的流量,在达到老化时间时,会删除自学习的MAC地址表项,并向其它转发板发送表项删除消息,以通知其它转发板删除对应的MAC地址表项。
同理,本转发板也会接收到其它转发板发送的表项删除消息。该表项删除消息中包括其它转发板通知本转发板删除的第二MAC地址。这里,第二MAC地址只是为便于区分而进行的命名,并非用于限定。
步骤402,根据第二MAC地址,本转发板查询本地维护的MAC地址表中是否存在第三MAC地址表项。
该第三MAC地址表项包括第二MAC地址。这里,之所以称为第三MAC地址表项,只是为便于区分而进行的命名,并非用于限定。
即,通过本步骤查找到与第二MAC地址匹配的MAC地址表项。
步骤403,若存在第三MAC地址表项,且在预设的第二时间段内未接收到源MAC地址为第二MAC地址的第二报文,本转发板删除第三MAC地址表项。
即,若在第二时间段内未接收到源MAC地址为第二MAC地址的第二报文,说明本转发板未承载源MAC地址为第二MAC地址的流量,因此,可删除包括第二MAC地址的第三MAC地址表项。
这里,第二时间段、第二报文只是为便于区分而进行的命名,并非用于限定。
至此,完成图4所示流程。
通过图4所示流程可以看出,本发明实施例中,转发板接收到其它转发板发送的表项删除消息时,不会立即删除本地的MAC地址表项。而是在确定自身未承载所要删除的MAC地址对应的流量时,才真正删除对应的MAC地址表项。
可选的,作为一个实施例,在执行步骤402之后,若确定本板存在第三MAC地址表项,且在第二时间段内接收到源MAC地址为第二MAC地址的第二报文,说明本板承载有源MAC地址为第二MAC地址的流量,则更新第三MAC地址表项的表项类型为自学习类型。即,若转发板承载有所要删除的MAC地址对应的流量,则不会删除该MAC地址表项。
下面通过具体实施例对本发明实施例提供的方法进行描述:
仍以图1所示应用场景为例。设备110和设备120通过聚合链路连接。设备110采用逐包方式在聚合口(记为S1)的各成员口之间进行负载分担。
若转发板121接收到设备110发送的报文(记为Packet11),转发板121基于Packet11的源MAC地址(记为MAC110),查询本地维护的MAC地址表。若不存在与MAC110匹配的MAC地址表项,则转发板121生成包括MAC110和聚合口S1的MAC地址表项,并设置该MAC地址表项的表项类型为自学习类型(记为Selflearn),如表1所示。
表1
转发板121向转发板122同步表1中的MAC地址表项(包括MAC110和S1)。
若转发板122接收转发板121同步的MAC地址表项之前,接收到设备110发送的报文(记为Packet21)。转发板122基于Packet21的源MAC地址(MAC110),查询本地维护的MAC地址表。若不存在与MAC110匹配的MAC地址表项,则转发板122生成包括MAC110和聚合口S1的MAC地址表项,并设置该MAC地址表项的表项类型为Selflearn,如表2所示。
表2
转发板122向转发板121同步表2中的MAC地址表项(包括MAC110和S1)。
若转发板122接收到转发板121同步的MAC地址表项(包括MAC110和S1的对应关系),则根据MAC110查询表2。转发板122确定表2中存在与MAC110匹配的MAC地址表项,且该MAC地址表项的表项类型为Selflearn,则转发板122为该MAC地址表项添加待更新标记,如表3所示。
表3
转发板122对接收到的报文基于报文的源MAC地址,匹配表3所示MAC地址表项。若在预设的时间段内接收到基于源MAC地址命中该MAC地址表项的报文,说明转发板122承载有源MAC地址为MAC110的流量。转发板122清除表3中MAC地址表项的待更新标记。清除后,如表2所示。并禁止更新表2中MAC地址表项的表项类型。
若转发板121接收到转发板122同步的MAC地址表项(包括MAC110和S1的对应关系),则根据MAC110查询表1。转发板121确定表1中存在与MAC110匹配的MAC地址表项,且该MAC地址表项的表项类型为Selflearn,则转发板121为该MAC地址表项添加待更新标记,如表4所示。
表4
转发板121对接收到的报文基于报文的源MAC地址,匹配表4所示MAC地址表项。若在预设的时间段内未接收到基于源MAC地址命中该MAC地址表项的报文,说明转发板121未承载源MAC地址为MAC110的流量。转发板121清除表4中MAC地址表项的待更新标记。清除后,如表1所示。转发板121更新表1中MAC地址表项的表项类型为静态类型(记为Static)。由于Static类型的MAC地址表项无法本地老化,因此,删除表1中的老化时间。更新后,如表5所示。
表5
若转发板122承载的源MAC地址为MAC110的流量停止,则在到达老化时间T时,删除表2中的MAC地址表项。并向转发板121发送表项删除消息,该表项删除消息包括MAC110。
转发板121接收到表项删除消息后,根据表项删除消息包括的MAC110查询表5,确定存在与MAC110匹配的MAC地址表项。转发板121为该MAC地址表项添加待更新标记,如表6所示。
表6
转发板121对接收到的报文基于报文的源MAC地址,匹配表6中的MAC地址表项。若在预设的时间段内未接收到源MAC地址命中该MAC地址表项的报文,说明转发板121未承载源MAC地址为MAC110的流量,则删除表6所示MAC地址表项。
至此,完成本具体实施例的描述。
以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述:
参见图5,为本发明实施例提供的装置的结构示意图。该装置包括:地址获取单元501、表项查询单元502、报文确定单元503以及类型更新单元504,其中:
地址获取单元501,用于若接收到其它转发板同步的第一MAC地址表项,获取所述第一MAC地址表项包括的第一MAC地址;
表项查询单元502,用于根据所述第一MAC地址,查询本地维护的MAC地址表中是否存在第二MAC地址表项,所述第二MAC地址表项包括所述第一MAC地址;
报文确定单元503,用于若存在所述第二MAC地址表项,且所述第二MAC地址表项的表项类型为自学习类型,确定在预设的第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文;
类型更新单元504,用于若接收到所述第一报文,禁止更新所述第二MAC地址表项的表项类型。
作为一个实施例,所述类型更新单元504,还用于若未接收到所述第一报文,更新所述第二MAC地址表项的表项类型为静态类型。
作为一个实施例,所述装置还包括:
标记添加单元,用于若存在所述第二MAC地址表项,且所述第二MAC地址表项的表项类型为自学习类型,为所述第二MAC地址表项添加待更新标记;
所述报文确定单元503,具体用于在添加所述待更新标记后,检测在第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文;
标记清除单元,用于若接收到所述第一报文或达到所述第一时间段,清除所述第二MAC地址表项的待更新标记。
作为一个实施例,所述装置还包括:
所述地址获取单元501,还用于若接收到其它转发板发送的表项删除消息,获取所述表项删除消息包括的第二MAC地址;
所述表项查询单元502,还用于根据所述第二MAC地址,查询本地维护的MAC地址表中是否存在第三MAC地址表项,所述第三MAC地址表项包括所述第二MAC地址;
表项删除单元,用于若存在所述第三MAC地址表项,且在预设的第二时间段内未接收到源MAC地址为所述第二MAC地址的第二报文,删除所述第三MAC地址表项。
作为一个实施例,所述类型更新单元504,还用于若存在所述第三MAC地址表项,且在所述第二时间段内接收到源MAC地址为所述第二MAC地址的第二报文,更新所述第三MAC地址表项的表项类型为自学习类型。
至此,完成图5所示装置的描述。本发明实施例中,转发板接收到其它转发板同步的MAC地址表项时,若本板仍承载有同步的MAC地址对应的流量,则不会更新本板MAC地址表项的表项类型。从而避免不同转发板学习到同一MAC地址的MAC地址表项,并向其它转发板同步MAC地址表项时,各转发板均将自学习的MAC地址表项的表项类型更新为静态类型,而无法删除MAC地址表项的问题。
下面对本发明实施例提供的分布式设备进行描述:
参见图6,为本发明实施例提供的分布式设备包括的转发板的硬件结构示意图。该转发板可包括处理器601、存储有机器可执行指令的机器可读存储介质602。处理器601与机器可读存储介质602可经由系统总线603通信。并且,通过读取并执行机器可读存储介质602中与MAC地址学习逻辑对应的机器可执行指令,处理器601可执行上文描述的MAC地址学习方法。
本文提到的机器可读存储介质602可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质602可以包括如下至少一个种存储介质:易失存储器、非易失性存储器、其它类型存储介质。其中,易失性存储器可为RAM(Random Access Memory,随机存取存储器),非易失性存储器可为闪存、存储驱动器(如硬盘驱动器)、固态硬盘、存储盘(如光盘、DVD等)。
本发明实施例还提供一种包括机器可执行指令的机器可读存储介质,例如图6中的机器可读存储介质602,所述机器可执行指令可由分布式设备的转发板中的处理器601执行,以实现以上描述的MAC地址学习方法。
至此,完成图6所示分布式设备的转发板的描述。
以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种介质访问控制MAC地址学习方法,应用于分布式设备包括的转发板,其特征在于,所述方法包括:
若接收到其它转发板同步的第一MAC地址表项,获取所述第一MAC地址表项包括的第一MAC地址;
根据所述第一MAC地址,查询本地维护的MAC地址表中是否存在第二MAC地址表项,所述第二MAC地址表项包括所述第一MAC地址;
若存在所述第二MAC地址表项,且所述第二MAC地址表项的表项类型为自学习类型,确定在预设的第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文;
若接收到所述第一报文,禁止更新所述第二MAC地址表项的表项类型。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若未接收到所述第一报文,更新所述第二MAC地址表项的表项类型为静态类型。
3.如权利要求1或2所述的方法,其特征在于,若存在所述第二MAC地址表项,且所述第二MAC地址表项的表项类型为自学习类型,所述方法还包括:
为所述第二MAC地址表项添加待更新标记;
所述确定在预设的第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文,包括:
在添加所述待更新标记后,检测在第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文;
所述方法还包括:
若接收到所述第一报文或达到所述第一时间段,清除所述第二MAC地址表项的待更新标记。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到其它转发板发送的表项删除消息,获取所述表项删除消息包括的第二MAC地址;
根据所述第二MAC地址,查询本地维护的MAC地址表中是否存在第三MAC地址表项,所述第三MAC地址表项包括所述第二MAC地址;
若存在所述第三MAC地址表项,且在预设的第二时间段内未接收到源MAC地址为所述第二MAC地址的第二报文,删除所述第三MAC地址表项。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若存在所述第三MAC地址表项,且在所述第二时间段内接收到源MAC地址为所述第二MAC地址的第二报文,更新所述第三MAC地址表项的表项类型为自学习类型。
6.一种介质访问控制MAC地址学习装置,应用于分布式设备包括的转发板,其特征在于,所述装置包括:
地址获取单元,用于若接收到其它转发板同步的第一MAC地址表项,获取所述第一MAC地址表项包括的第一MAC地址;
表项查询单元,用于根据所述第一MAC地址,查询本地维护的MAC地址表中是否存在第二MAC地址表项,所述第二MAC地址表项包括所述第一MAC地址;
报文确定单元,用于若存在所述第二MAC地址表项,且所述第二MAC地址表项的表项类型为自学习类型,确定在预设的第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文;
类型更新单元,用于若接收到所述第一报文,禁止更新所述第二MAC地址表项的表项类型。
7.如权利要求6所述的装置,其特征在于:
所述类型更新单元,还用于若未接收到所述第一报文,更新所述第二MAC地址表项的表项类型为静态类型。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括:
标记添加单元,用于若存在所述第二MAC地址表项,且所述第二MAC地址表项的表项类型为自学习类型,为所述第二MAC地址表项添加待更新标记;
所述报文确定单元,具体用于在添加所述待更新标记后,检测在第一时间段内是否接收到源MAC地址为所述第一MAC地址的第一报文;
标记清除单元,用于若接收到所述第一报文或达到所述第一时间段,清除所述第二MAC地址表项的待更新标记。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
所述地址获取单元,还用于若接收到其它转发板发送的表项删除消息,获取所述表项删除消息包括的第二MAC地址;
所述表项查询单元,还用于根据所述第二MAC地址,查询本地维护的MAC地址表中是否存在第三MAC地址表项,所述第三MAC地址表项包括所述第二MAC地址;
表项删除单元,用于若存在所述第三MAC地址表项,且在预设的第二时间段内未接收到源MAC地址为所述第二MAC地址的第二报文,删除所述第三MAC地址表项。
10.如权利要求9所述的装置,其特征在于:
所述类型更新单元,还用于若存在所述第三MAC地址表项,且在所述第二时间段内接收到源MAC地址为所述第二MAC地址的第二报文,更新所述第三MAC地址表项的表项类型为自学习类型。
11.一种分布式设备,其特征在于,所述分布式设备包括至少两块转发板,所述转发板包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法步骤。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910338203.4A CN110049149B (zh) | 2019-04-25 | 2019-04-25 | Mac地址学习方法、装置及分布式设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910338203.4A CN110049149B (zh) | 2019-04-25 | 2019-04-25 | Mac地址学习方法、装置及分布式设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110049149A true CN110049149A (zh) | 2019-07-23 |
CN110049149B CN110049149B (zh) | 2021-08-24 |
Family
ID=67279417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910338203.4A Active CN110049149B (zh) | 2019-04-25 | 2019-04-25 | Mac地址学习方法、装置及分布式设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110049149B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327717A (zh) * | 2020-01-20 | 2020-06-23 | 新华三大数据技术有限公司 | 一种mac地址学习方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045200A (zh) * | 2010-12-24 | 2011-05-04 | 武汉烽火网络有限责任公司 | 分布式交换机mac地址表项有条件同步的方法 |
CN104394103A (zh) * | 2014-12-16 | 2015-03-04 | 上海斐讯数据通信技术有限公司 | 一种静态mac地址同步方法、系统及交换机 |
US20170228251A1 (en) * | 2014-09-29 | 2017-08-10 | Hangzhou H3C Technologies Co., Ltd. | Learning A MAC Address in VXLAN |
CN107707690A (zh) * | 2017-11-28 | 2018-02-16 | 锐捷网络股份有限公司 | 一种动态地址不老化的方法、装置和介质 |
CN109274592A (zh) * | 2018-11-22 | 2019-01-25 | 新华三技术有限公司 | Mac地址表项处理方法、装置以及计算机可读介质 |
CN109347746A (zh) * | 2018-10-16 | 2019-02-15 | 新华三技术有限公司 | 一种mac地址学习方法及装置 |
CN109451087A (zh) * | 2018-10-26 | 2019-03-08 | 新华三技术有限公司 | Mac表项老化处理方法和装置 |
-
2019
- 2019-04-25 CN CN201910338203.4A patent/CN110049149B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045200A (zh) * | 2010-12-24 | 2011-05-04 | 武汉烽火网络有限责任公司 | 分布式交换机mac地址表项有条件同步的方法 |
US20170228251A1 (en) * | 2014-09-29 | 2017-08-10 | Hangzhou H3C Technologies Co., Ltd. | Learning A MAC Address in VXLAN |
CN104394103A (zh) * | 2014-12-16 | 2015-03-04 | 上海斐讯数据通信技术有限公司 | 一种静态mac地址同步方法、系统及交换机 |
CN107707690A (zh) * | 2017-11-28 | 2018-02-16 | 锐捷网络股份有限公司 | 一种动态地址不老化的方法、装置和介质 |
CN109347746A (zh) * | 2018-10-16 | 2019-02-15 | 新华三技术有限公司 | 一种mac地址学习方法及装置 |
CN109451087A (zh) * | 2018-10-26 | 2019-03-08 | 新华三技术有限公司 | Mac表项老化处理方法和装置 |
CN109274592A (zh) * | 2018-11-22 | 2019-01-25 | 新华三技术有限公司 | Mac地址表项处理方法、装置以及计算机可读介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327717A (zh) * | 2020-01-20 | 2020-06-23 | 新华三大数据技术有限公司 | 一种mac地址学习方法及装置 |
CN111327717B (zh) * | 2020-01-20 | 2022-04-01 | 新华三大数据技术有限公司 | 一种mac地址学习方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110049149B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10187855B2 (en) | Message processing method and apparatus | |
CN108449405A (zh) | 事件提醒方法、装置、计算机设备和存储介质 | |
US8595303B2 (en) | Thread data aggregation | |
CN106657349A (zh) | 一种消息订阅处理装置、系统及方法 | |
CN106911780A (zh) | 业务id生成方法、装置及系统 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN107995304A (zh) | 一种基于cookie的会话保持方法及装置 | |
CN104618432B (zh) | 一种事件发送与接收的处理方法和处理系统 | |
CN110460509A (zh) | 邮件群组的创建方法及装置 | |
US20160012151A1 (en) | Using vertex self-information scores for vertices in an entity graph to determine whether to perform entity resolution on the vertices in the entity graph | |
CN110022260A (zh) | 一种跨环境回执消息处理方法及系统 | |
CN103530395B (zh) | 数据追踪方法及装置 | |
CN105959346A (zh) | 基于服务器集群的数据处理系统及方法 | |
CN109274592A (zh) | Mac地址表项处理方法、装置以及计算机可读介质 | |
CN104486224A (zh) | 路由学习方法和设备 | |
CN106909197B (zh) | 一种虚拟化主机时间管理方法及虚拟化主机系统 | |
CN110049149A (zh) | Mac地址学习方法、装置及分布式设备 | |
US9338232B2 (en) | Method and system for synchronizing status of member servers belonging to same replication group | |
CN108880885A (zh) | 一种报文处理方法及装置 | |
CN108055199A (zh) | 支持离线消息保存的移动推送方法及系统 | |
CN108418752A (zh) | 一种聚合组的创建方法和装置 | |
US8756093B2 (en) | Method of monitoring a combined workflow with rejection determination function, device and recording medium therefor | |
US8290488B2 (en) | Scanning methods and systems for wireless networks | |
US20200004720A1 (en) | Data center management system and method | |
CN109819000A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |