CN109274592B - Mac地址表项处理方法、装置以及计算机可读介质 - Google Patents
Mac地址表项处理方法、装置以及计算机可读介质 Download PDFInfo
- Publication number
- CN109274592B CN109274592B CN201811396682.7A CN201811396682A CN109274592B CN 109274592 B CN109274592 B CN 109274592B CN 201811396682 A CN201811396682 A CN 201811396682A CN 109274592 B CN109274592 B CN 109274592B
- Authority
- CN
- China
- Prior art keywords
- identifier
- mac
- processor
- message
- software
- 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
Images
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
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
Abstract
本发明提供了一种MAC地址表项处理方法、装置以及计算机可读介质,包括:第一处理器接收任一转发芯片上送的报文,报文中包含接收报文的第一端口的端口信息;第一处理器根据报文生成第一软件MAC表项;第一处理器根据端口信息确定目标转发芯片,其中,目标转发芯片为与第一端口属于同一聚合成员组的端口所对应的转发芯片;第一处理器向目标转发芯片下发包含第一标识的硬件MAC表项,向其他转发芯片下发包含第二标识的硬件MAC表项,其中,第一标识用于表示不上送匹配到硬件MAC表项的报文,第二标识用于表示上送匹配到硬件MAC表项的报文,解决了在进行MAC表项的核查时会发生丢包现象从而降低网络设备可靠性的技术问题。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种MAC地址表项处理方法、装置以及计算机可读介质。
背景技术
在进行报文转发时,网络设备根据接收到的报文中的媒体访问控制(MediaAccess Control,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为本发明实施例提供的一种MAC地址表项处理方法的另一种流程图;
图4为本发明实施例提供的一种MAC地址表项处理方法的另一种流程图;
图5为本发明实施例提供的一种MAC地址表项处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在进行MAC学习时,转发芯片自身学习到的MAC表项为动态MAC表项,根据预设的周期进行老化,由同步过程记录的MAC表项为静态MAC表项,不会进行老化。当网络设备上存在聚合的情况时,一个聚合接口中的物理接口可能分别学习到同一个MAC表项,会分别进行MAC表项同步,那么,同一的MAC表项在接口板上分别被更新为静态MAC表项。这样一来,在进行MAC表项的核查时,会同时被删除,从而导致一定时间内的丢包,降低网络设备的可靠性。
基于此,本发明实施例提供的一种MAC地址表项处理方法、装置以及计算机可读介质,可以解决现有技术中存在的在进行MAC表项的核查时会发生丢包现象从而降低网络设备可靠性的技术问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种MAC地址表项处理方法进行详细介绍,所述MAC地址表项处理方法可以应用于如图1所示的包含第一接口板的网络设备,该第一接口板包括第一处理器(即第一CPU)和至少两个转发芯片。
如图2所示,MAC地址表项处理方法可以包括以下步骤:
步骤S101,第一处理器接收任一转发芯片上送的报文,报文中包含接收报文的第一端口的端口信息。
例如,在第一接口板上,第一转发芯片的第一接口板接收到报文,在第一转发芯片上匹配硬件MAC表,如果没有匹配到,则第一转发芯片向第一处理器上送报文,该报文中包含第一端口(即接收报文的端口)的端口信息,如标识inlif_id。
步骤S102,第一处理器根据报文生成第一软件MAC表项。
本步骤中,第一处理器在接收到第一转发芯片上送的报文后,根据这个报文更新软件MAC表,从而生成第一软件MAC表项。
具体的,首先,第一处理器对报文进行解析,获取报文中所携带的MAC地址和端口标识;然后,第一处理器生成包含MAC地址和端口标识的第一软件MAC表项,第一软件MAC表项还包含自学习标识和老化标识,其中,自学习标识被置为第一值,以表示第一软件MAC表项中包含的MAC地址为本接口板学习到的MAC地址,老化标识被置为第二值,以表示第一软件MAC表项能够被老化。
例如,自学习标识可以为selflrn,自学习标识的第一值为1,表示第一软件MAC表项中包含的MAC地址为本接口板学习到的MAC地址,自学习标识的第二值为0,表示第一软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址;老化标识可以为age,老化标识的第一值也为1,表示第一软件MAC表项不能够被老化,老化标识的第二值也为0,表示第一软件MAC表项能够被老化。因此,本步骤中,自学习标识被置为selflrn=1,老化标识被置为age=0,即表示第一软件MAC表项中包含的MAC地址为本接口板学习到的MAC地址且第一软件MAC表项能够被老化。在本发明中,被老化的MAC表项不会立即删除,而是先行标记为被老化的状态,等到进行核查时再一起将被标记为老化的MAC表项删除。
步骤S103,第一处理器根据端口信息确定目标转发芯片,其中,目标转发芯片为与第一端口属于同一聚合成员组的端口所对应的转发芯片。
在实际应用中,第一处理器轮询本板上的各转发芯片,根据步骤S101中的端口信息判断各个转发芯片是否为与第一端口属于同一聚合成员组的端口所对应的转发芯片,从而确定出目标转发芯片。
步骤S104,第一处理器向目标转发芯片下发包含第一标识的硬件MAC表项,向其他转发芯片下发包含第二标识的硬件MAC表项,其中,第一标识用于表示不上送匹配到硬件MAC表项的报文,第二标识用于表示上送匹配到硬件MAC表项的报文。
本步骤中,第一处理器向本板上的各个转发芯片下发不完全相同的硬件MAC表项,即包含第一标识的硬件表项与包含第二标识的硬件表项。例如,第一标识为sync=0,表示不上送匹配到硬件MAC表项的报文;第二标识为sync=1,表示上送匹配到硬件MAC表项的报文。
具体的,第一处理器轮询各个转发芯片,确定接收上述报文的端口是否属于该转发芯片。如果属于,则下发包含第一标识(即sync=0)的硬件MAC表项(即动态硬件表项),其中,第一标识sync=0表示接收到的报文包含该MAC地址时,不重新学习;如果不属于,则判断该转发芯片是否为目标转发芯片(即步骤S103中与第一端口属于同一聚合成员组的端口所对应的转发芯片),如果是,则下发包含第一标识(即sync=0)的硬件MAC表项,以表示接收到的报文包含该MAC地址时不重新学习,如果不是目标转发芯片,则下发包含第二标识(即sync=1)的硬件MAC表项(即静态硬件表项),其中,第二标识sync=1表示接收到的报文包含该MAC地址时,重新学习。
本实施例中,通过向与接收报文端口属于同一聚合成员组的端口所对应的目标转发芯片下发表示不上送匹配到硬件MAC表项的报文,以及向其他转发芯片下发表示上送匹配到硬件MAC表项的报文,使得其他转发芯片在同一MAC进入到设备时能够上送匹配到硬件MAC表项的报文,以使状态重新更新,从而避免了在进行MAC表项的核查时被删除,以此避免出现丢包的现象,而且也使聚合成员组端口对应的目标转发芯片在接收到报文后不会重复上送MAC学习消息,从而避免了重复学习带来的震荡,因此,提高了网络设备的可靠性。
因此,对于接口板上既存在聚合口,又存在非聚合的情况,本实施例中,只是聚合成员组端口所在的转发芯片sync清零(即下发包含sync=0的硬件MAC表项),而不存在聚合成员端口的转发芯片sync置位,因此,当同板聚合中MAC重新迁移到该接口时,不会重新学习,也就不会上送匹配到硬件MAC表项的报文,避免频繁进行报文处理,从而减少对处理器的占用,以加快MAC学习;而对于非聚合成员组端口所在的转发芯片,则下发包含sync=1的硬件MAC表项,那么,当流量从聚合口迁移到非聚合口时,非聚合口的转发芯片会重新上报MAC学习消息,从而刷新转发芯片中的MAC表项,确保流量正常转发。
基于前述实施例,在本发明的又一实施例中,如图3所示,所述方法还可以包括以下步骤:
步骤S201,第一处理器若接收到转发芯片上送的老化消息,则变更第一软件MAC表项中的自学习标识及老化标识,自学习标识被置为第三值,以表示第一软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,老化标识被置为第四值,以表示第一软件MAC表项已经被老化。
作为本实施例的优选实施方式,在老化的确定过程中,转发芯片自己计时该软件MAC表项是否到达老化时间,若到达老化时间,则转发芯片向第一处理器上送老化消息。
当第一处理器接收到转发芯片上送的老化消息时,不立刻老化删除该软件MAC表项(即第一处理器的软件MAC表项),而是将该软件MAC表项中的自学习标识与老化标识置位,即将自学习标识变更为第三值selflrn=0,表示该软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,还将该软件MAC表项中的老化标识变更为第四值age=1,表示该软件MAC表项已经被老化。
此外,第一处理器还可以将第一接口板中的所有标识为第一标识(即sync=0)的硬件MAC表项更改为第二标识sync=1,即将标识改为:表示上送匹配到硬件MAC表项的报文,以实现在再次接收到报文的时候重新学习。
步骤S202,当到达预设核查周期时,第一处理器删除老化标识被置为第四值的第一软件MAC表项。
作为一个优选方案,在超过预设的核查周期时,第一处理器便将被标记为selflrn=0,age=1的软件MAC表项进行删除,还可以同时控制删除所有的硬件MAC表项。
在本发明的又一实施例中,网络设备还包括第二接口板,如图4所示,所述方法还包括:
步骤S301,第一处理器在学习到第一软件MAC表项后,向第二接口板中的第二处理器(即第二CPU)发送同步消息。
需要说明的是,在第一处理器学习到第一软件MAC表项后,第一处理器便向第二接口板发送同步消息,以实现将MAC地址的表项同步到第二接口板。
步骤S302,第二处理器基于同步消息生成包含自学习标识和老化标识的第二软件MAC表项,其中,自学习标识被置为第三值,以表示第二软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,老化标识被置为第四值,以表示第二软件MAC表项能够被老化。
当第二接口板接收到同步消息后,在其内部的第二处理器的软件表中创建软件表项(即第二软件MAC表项),其中的自学习标识被置为第三值,即selflrn=0,表示第二软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址;其中的老化标识被置为第四值,即age=0,表示第二软件MAC表项能够被老化。需要说明的是,由于第二处理器上没有动态表项,所以老化标识永远不会变为age=1。
在步骤S302之后,所述方法还可以包括:第二处理器向与第二处理器连接的转发芯片(即图1中的第三转发芯片与第四转发芯片)下发包含第二标识的硬件MAC表项,其中,第二标识用于表示上送匹配到所述硬件MAC表项的报文。即第二处理器向自身的转发芯片下发包含标识sync=1的硬件MAC表项,以表示上送匹配到所述硬件MAC表项的报文。
因此,对于跨板聚合方面,当流量从聚合成员端口迁移到另一个接口板(即第二接口板)的端口时,第二接口板端口对应的转发芯片会重新上报MAC学习消息,从而刷新转发芯片中的MAC表项,确保多个接口板之间的流量正常转发。
在本发明的又一实施例中,如图5所示,还提供一种MAC地址表项处理装置,应用于包含第一接口板的网络设备,第一接口板包括第一处理器和至少两个转发芯片。第一处理器包括:接收单元11、生成单元12、确定单元13以及下发单元14。
其中,接收单元用于接收任一转发芯片上送的报文,报文中包含接收报文的第一端口的端口信息。生成单元用于根据报文生成第一软件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地址表项处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种MAC地址表项处理方法,其特征在于,应用于包含第一接口板的网络设备,所述第一接口板包括第一处理器和至少两个转发芯片;
所述方法包括:
所述第一处理器接收任一转发芯片上送的报文,所述报文中包含接收所述报文的第一端口的端口信息;
所述第一处理器根据所述报文生成第一软件MAC表项;
所述第一处理器根据所述端口信息确定目标转发芯片,其中,所述目标转发芯片为与所述第一端口属于同一聚合成员组的端口所对应的转发芯片;
所述第一处理器向所述目标转发芯片下发包含第一标识的硬件MAC表项,向除所述目标转发芯片以外的其他转发芯片下发包含第二标识的硬件MAC表项,其中,所述第一标识用于表示不上送匹配到所述硬件MAC表项的报文,所述第二标识用于表示上送匹配到所述硬件MAC表项的报文。
2.根据权利要求1所述的MAC地址表项处理方法,其特征在于,所述第一处理器根据所述报文生成第一软件MAC表项,包括:
所述第一处理器对所述报文进行解析,获取所述报文中所携带的MAC地址和所述端口标识;
所述第一处理器生成包含所述MAC地址和所述端口标识的第一软件MAC表项,所述第一软件MAC表项还包含自学习标识和老化标识,其中,所述自学习标识被置为第一值,以表示所述第一软件MAC表项中包含的MAC地址为本接口板学习到的MAC地址,所述老化标识被置为第二值,以表示所述第一软件MAC表项能够被老化。
3.根据权利要求2所述的MAC地址表项处理方法,其特征在于,还包括:
所述第一处理器若接收到转发芯片上送的老化消息,则变更所述第一软件MAC表项中的自学习标识及老化标识,所述自学习标识被置为第三值,以表示所述第一软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,所述老化标识被置为第四值,以表示所述第一软件MAC表项已经被老化;
当到达预设核查周期时,所述第一处理器删除所述老化标识被置为第四值的第一软件MAC表项。
4.根据权利要求2所述的MAC地址表项处理方法,其特征在于,所述网络设备还包括第二接口板,所述方法还包括:
所述第一处理器在学习到所述第一软件MAC表项后,向所述第二接口板中的第二处理器发送同步消息;
所述第二处理器基于所述同步消息生成包含所述自学习标识和所述老化标识的第二软件MAC表项,其中,所述自学习标识被置为第三值,以表示所述第二软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,所述老化标识被置为第四值,以表示所述第二软件MAC表项能够被老化。
5.根据权利要求4所述的MAC地址表项处理方法,其特征在于,还包括:
所述第二处理器向与所述第二处理器连接的转发芯片下发包含所述第二标识的硬件MAC表项,其中,所述第二标识用于表示上送匹配到所述硬件MAC表项的报文。
6.一种MAC地址表项处理装置,其特征在于,应用于包含第一接口板的网络设备,所述第一接口板包括第一处理器和至少两个转发芯片;
所述第一处理器包括:
接收单元,用于接收任一转发芯片上送的报文,所述报文中包含接收所述报文的第一端口的端口信息;
生成单元,用于根据所述报文生成第一软件MAC表项;
确定单元,用于根据所述端口信息确定目标转发芯片,其中,所述目标转发芯片为与所述第一端口属于同一聚合成员组的端口所对应的转发芯片;
下发单元,用于向所述目标转发芯片下发包含第一标识的硬件MAC表项,向除所述目标转发芯片以外的其他转发芯片下发包含第二标识的硬件MAC表项,其中,所述第一标识用于表示不上送匹配到所述硬件MAC表项的报文,所述第二标识用于表示上送匹配到所述硬件MAC表项的报文。
7.根据权利要求6所述的MAC地址表项处理装置,其特征在于,所述生成单元包括:
解析模块,用于对所述报文进行解析,获取所述报文中所携带的MAC地址和所述端口标识;
生成模块,用于生成包含所述MAC地址和所述端口标识的第一软件MAC表项,所述第一软件MAC表项还包含自学习标识和老化标识,其中,所述自学习标识被置为第一值,以表示所述第一软件MAC表项中包含的MAC地址为本接口板学习到的MAC地址,所述老化标识被置为第二值,以表示所述第一软件MAC表项能够被老化。
8.根据权利要求7所述的MAC地址表项处理装置,其特征在于,所述第一处理器还包括:
变更单元,用于若所述第一处理器接收到转发芯片上送的老化消息,则变更所述第一软件MAC表项中的自学习标识及老化标识,所述自学习标识被置为第三值,以表示所述第一软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,所述老化标识被置为第四值,以表示所述第一软件MAC表项已经被老化;
删除单元,用于在到达预设核查周期时,删除所述老化标识被置为第四值的第一软件MAC表项。
9.根据权利要求7所述的MAC地址表项处理装置,其特征在于,所述网络设备还包括:包含第二处理器的第二接口板;
所述第一处理器还包括发送单元,用于在学习到所述第一软件MAC表项后,向所述第二处理器发送同步消息;
所述第二处理器用于基于所述同步消息生成包含所述自学习标识和所述老化标识的第二软件MAC表项,其中,所述自学习标识被置为第三值,以表示所述第二软件MAC表项中包含的MAC地址不为本接口板学习到的MAC地址,所述老化标识被置为第四值,以表示所述第二软件MAC表项能够被老化;
所述第二处理器还用于向与所述第二处理器连接的转发芯片下发包含所述第二标识的硬件MAC表项,其中,所述第二标识用于表示上送匹配到所述硬件MAC表项的报文。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至5任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811396682.7A CN109274592B (zh) | 2018-11-22 | 2018-11-22 | Mac地址表项处理方法、装置以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811396682.7A CN109274592B (zh) | 2018-11-22 | 2018-11-22 | Mac地址表项处理方法、装置以及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109274592A CN109274592A (zh) | 2019-01-25 |
CN109274592B true CN109274592B (zh) | 2021-03-09 |
Family
ID=65190614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811396682.7A Active CN109274592B (zh) | 2018-11-22 | 2018-11-22 | Mac地址表项处理方法、装置以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274592B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109802872B (zh) * | 2019-03-19 | 2021-07-30 | 北京信而泰科技股份有限公司 | 一种报文捕获方法、装置及设备 |
CN110049149B (zh) * | 2019-04-25 | 2021-08-24 | 新华三技术有限公司 | Mac地址学习方法、装置及分布式设备 |
CN113114569B (zh) * | 2020-01-10 | 2023-06-02 | 北京京东尚科信息技术有限公司 | 数据流卸载的方法和装置 |
CN113079030B (zh) * | 2020-05-29 | 2022-05-24 | 新华三信息安全技术有限公司 | 配置信息下发方法和接入设备 |
CN113282525B (zh) * | 2021-05-27 | 2023-03-28 | 杭州迪普科技股份有限公司 | 一种报文分流的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179514A (zh) * | 2007-12-18 | 2008-05-14 | 杭州华三通信技术有限公司 | 分布式网络处理系统mac表项维护方法和维护装置 |
CN101656676A (zh) * | 2009-09-18 | 2010-02-24 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项更新方法和装置 |
CN101820435A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 分布式网络处理系统的mac地址表项信息同步方法及装置 |
CN102316019A (zh) * | 2010-06-30 | 2012-01-11 | 阿瓦雅公司 | 用于IPv6的经路由的分割多链路骨干传输 |
CN103338161A (zh) * | 2013-07-10 | 2013-10-02 | 杭州华三通信技术有限公司 | 一种实现跨设备聚合的方法和设备 |
CN104322018A (zh) * | 2012-12-27 | 2015-01-28 | 华为技术有限公司 | 介质访问控制信息的同步方法和装置 |
CN108011958A (zh) * | 2017-12-06 | 2018-05-08 | 新华三技术有限公司 | 网络设备及mac地址表同步方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877667B (zh) * | 2009-04-30 | 2013-01-09 | 华为技术有限公司 | 一种报文转发方法、装置和系统 |
CN102571610A (zh) * | 2012-03-02 | 2012-07-11 | 杭州华三通信技术有限公司 | 一种报文转发方法和边缘设备 |
US8953607B2 (en) * | 2012-04-03 | 2015-02-10 | International Business Machines Corporation | Internet group membership protocol group membership synchronization in virtual link aggregation |
CN103401797B (zh) * | 2013-07-24 | 2016-05-11 | 杭州华三通信技术有限公司 | 一种报文处理方法和设备 |
CN103414773B (zh) * | 2013-08-12 | 2017-02-15 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN104092621B (zh) * | 2014-07-25 | 2017-11-14 | 新华三技术有限公司 | 一种负载分担方法和装置 |
-
2018
- 2018-11-22 CN CN201811396682.7A patent/CN109274592B/zh active Active
Patent Citations (7)
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地址表项信息同步方法及装置 |
CN101656676A (zh) * | 2009-09-18 | 2010-02-24 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项更新方法和装置 |
CN102316019A (zh) * | 2010-06-30 | 2012-01-11 | 阿瓦雅公司 | 用于IPv6的经路由的分割多链路骨干传输 |
CN104322018A (zh) * | 2012-12-27 | 2015-01-28 | 华为技术有限公司 | 介质访问控制信息的同步方法和装置 |
CN103338161A (zh) * | 2013-07-10 | 2013-10-02 | 杭州华三通信技术有限公司 | 一种实现跨设备聚合的方法和设备 |
CN108011958A (zh) * | 2017-12-06 | 2018-05-08 | 新华三技术有限公司 | 网络设备及mac地址表同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109274592A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274592B (zh) | Mac地址表项处理方法、装置以及计算机可读介质 | |
US9742667B2 (en) | Packet processing method, device and system | |
CN108011958B (zh) | 网络设备及mac地址表同步方法 | |
CN112367257B (zh) | 路由通告方法及装置 | |
CN104580107A (zh) | 恶意攻击检测方法及控制器 | |
CN108566344B (zh) | 一种报文处理方法和装置 | |
CN109218458B (zh) | Mac地址的写入方法、设备及计算机可读存储介质 | |
CN106059806B (zh) | 一种can报文发送方法及装置 | |
CN103810038A (zh) | 一种ha集群中虚拟机存储文件迁移方法及其装置 | |
CN103747484B (zh) | 一种rim流程系统信息处理方法和服务节点设备 | |
US10693731B2 (en) | Flow entry management method and device | |
CN107528929B (zh) | Arp条目的处理方法及装置 | |
CN108390828B (zh) | 报文转发方法及装置 | |
CN113949658B (zh) | 表项处理方法、系统、装置、电子设备及存储介质 | |
CN107819684B (zh) | 同步处理方法及装置 | |
CN111935337B (zh) | 聚合链路的mac地址保活方法、设备和存储介质 | |
CN111030859B (zh) | 一种端口汇聚的配置方法及装置 | |
CN107707486A (zh) | 一种基于openflow通道的报文处理方法和装置 | |
CN106302184B (zh) | 一种流表项下发方法、流表项保存方法、相关装置和系统 | |
CN110049149B (zh) | Mac地址学习方法、装置及分布式设备 | |
CN110337137B (zh) | 数据包过滤方法、装置及系统 | |
CN108206748A (zh) | 一种应用于td-lte物联网业务隔离环境的核心网备份方法 | |
CN114448869A (zh) | 数据表同步方法及其装置、数据交换设备、存储介质 | |
CN112929197A (zh) | 一种网络通信方法、装置、设备和存储介质 | |
CN111818192B (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 |