CN104660526B - Mac表项学习方法和装置 - Google Patents

Mac表项学习方法和装置 Download PDF

Info

Publication number
CN104660526B
CN104660526B CN201310598405.5A CN201310598405A CN104660526B CN 104660526 B CN104660526 B CN 104660526B CN 201310598405 A CN201310598405 A CN 201310598405A CN 104660526 B CN104660526 B CN 104660526B
Authority
CN
China
Prior art keywords
mac address
mac
message
entries
address entries
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
Application number
CN201310598405.5A
Other languages
English (en)
Other versions
CN104660526A (zh
Inventor
曹建中
陈楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Haining Huangwan Town Asset Management Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310598405.5A priority Critical patent/CN104660526B/zh
Publication of CN104660526A publication Critical patent/CN104660526A/zh
Application granted granted Critical
Publication of CN104660526B publication Critical patent/CN104660526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本实施例提供一种MAC表项学习方法和装置,通过接收第一报文,若MAC转发表中未存储包含第一报文的目的MAC地址的第一MAC表项,则在MAC转发表中添加第二MAC表项,并确定第一报文的目的MAC地址为第二MAC表项中的MAC地址,当在第一预设时间段内,接收到源MAC地址与第二MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将接收第二报文的端口号确定为第二MAC表项中的端口号,从而,完成MAC表项学习。相当于,第二MAC表项是根据用用户的实际业务需求而进行学习的,从而,降低了无效MAC的学习,提高了MAC表项学习的效率。

Description

MAC表项学习方法和装置
技术领域
本发明实施例涉及通信技术,尤其涉及一种媒体接入控制(Media AccessControl,以下简称: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地址的报文。
本发明实施例第二方面一种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为本发明MAC表项学习方法实施例一的流程示意图;
图2为本发明MAC表项学习方法实施例二的流程示意图;
图3为本发明MAC表项学习装置实施例一的结构示意图;
图4为本发明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为本发明MAC表项学习方法实施例一的流程示意图,本实施例的执行主体是网络设备,该网络设备是指具有报文转发功能的网络设备,例如,路由器、交换机和网关设备等。如图1所示,本实施例的方法如下:
S101:接收第一报文,若MAC转发表中未存储包含上述第一报文的目的MAC地址的第一MAC表项,则在上述MAC转发表中添加第二MAC表项,并确定上述第一报文的目的MAC地址为上述第二MAC表项中的MAC地址。
其中,MAC转发表中包含至少一条MAC表项,MAC表项可以为包含MAC地址和端口号的MAC表项,也可以为只包含MAC地址、端口号为空或者为默认值的MAC表项,本发明中称前一种MAC表项为实MAC表项,后一种MAC表项为虚MAC表项。在S101中的若MAC转发表中未存储包含第一报文的目的MAC地址的第一MAC表项,是指转发表中即未存储包含第一报文的目的MAC地址的实MAC表项,也未存储包含第一报文的目的MAC地址的虚MAC表项。在这种情况下,则在MAC转发表中添加第二MAC表项,并确定第一报文的目的MAC地址为上述第二MAC表项中的MAC地址,该步骤即建立了一个虚MAC表项,虚MAC表项中的MAC地址为第一报文的目的MAC地址。
S102:当在第一预设时间段内,接收到源MAC地址与第二MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将接收第二报文的端口号确定为第二MAC表项中的端口号。
其中,第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与上述第二MAC表项中的MAC地址相同的报文的时刻。第一预设时间段也就是虚MAC表项的老化时间,即老化时间到了则删除该虚MAC表项,第一预设时间段具体为多长时间,依据实际应用而设定。
若在第一预设时间段内,接收到源MAC地址与第二MAC表项中的MAC地址相同的第二报文,则学习接收第二报文的端口号,将第二报文的端口号确定为第二MAC表项中的端口号,在S101步骤中的第二MAC表项相当于一个虚MAC表项,S102步骤相当于将该虚MAC表项转化成实MAC表项,S102中的第二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表项是指步骤S101中生成的第二MAC表项,即虚MAC表项,若在第一预设时间段内,未接收到源MAC地址与第二MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与第二MAC表项的MAC地址相同的第三报文,则删除第二MAC表项,则说明第二MAC表项中的MAC地址对应的设备故障,或者,第二MAC表项的MAC地址对应的设备无与其他设备进行通信的需求,或者是其他原因导致无法建立第二MAC表项中的MAC地址与端口号的对应关系,则删除第二MAC表项,即,删除虚MAC表项。从而,避免无效的MAC表项占用MAC转发表的存储空间,提高了MAC转发表的利用率。
在上述实施中,当在第一预设时间段内,接收到目的MAC地址与第二MAC表项的MAC地址相同的第三报文,则将第一预设时间段的起始时刻更新为接收第三报文的时刻。
在上述实施例中,在S102之后,当在第二预设时间段内,未接收到源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表项。
值得说明的是,第二预设时间段可以与第一预设时间段相同,也可以不相同,具体不作限定。
在上述实施例中,在S102之后,当在第二预设时间段内,接收到包含所述第二MAC表项的MAC地址的报文,则更新所述第二预设时间段的起始时刻为接收包含所述第二MAC表项的MAC地址的报文的时刻,其中,所述包含所述第二MAC表项的MAC地址的报文为源MAC地址为所述第二MAC表项的MAC地址的报文或者目的MAC地址为所述第二MAC表项的MAC地址的报文。即,当在第二预设时间段内,接收到源MAC地址与第二MAC表项的MAC地址相同的第四报文,则更新第二预设时间段的起始时刻为接收上述第四报文的时刻,当在第二预设时间段内,接收到目的MAC地址与第二MAC表项的MAC地址相同的第五报文,则更新第二预设时间段的起始时刻为接收上述第五报文的时刻。
图2为本发明MAC表项学习方法实施例二的流程示意图,本实施例的执行主体是网络设备,该网络设备是指具有报文转发功能的网络设备,例如,路由器、交换机和网关设备等。如图2所示,本实施例的方法如下:
S201:接收第一报文。
S202:判断MAC转发表中是否存储包含第一报文的目的MAC地址的第一MAC表项,若包含,执行S203,若不包含,执行S204。
其中,MAC转发表中包含至少一条MAC表项,MAC表项可以为包含MAC地址和端口号的MAC表项,也可以为只包含MAC地址、端口号为空或者为默认值的MAC表项,本发明中称前一种MAC表项为实MAC表项,后一种MAC表项为虚MAC表项。在S202中的包含第一报文的目的MAC地址的第一MAC表项,是指包含第一报文的目的MAC地址的实MAC表项,或者,包含第一报文的目的MAC地址的虚MAC表项。
S203:判断第一MAC表项中是否是实MAC表项。若是,执行S205,若否,执行S206。
S204:在MAC转发表中添加第二MAC表项,并确定第一报文的目的MAC地址为第二MAC表项中的MAC地址。
在此步骤中的第二MAC表项为虚MAC表项,即第二MAC表项中的MAC地址为第一报文的目的地址,端口号为空或者为默认值。
S205:第一MAC表项的老化时间的起始时刻更新为接收第一报文的时间,并根据第一MAC表项中的端口号转发第一报文。
S206:第一MAC表项的老化时间的起始时刻更新为接收第一报文的时间,广播上述第一报文。
S207:判断在第一预设时间内,是否接收到源MAC地址与第二MAC表项中的MAC地址相同的第二报文,若接收到,则执行S208,若未接收到,则执行S209。
其中,第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与第二MAC表项中的MAC地址相同的报文的时刻。
S208:学习接收第二报文的端口号,将接收第二报文的端口号确定为第二MAC表项中的端口号。
该步骤中的第二MAC表项包含MAC地址和端口号,即将虚MAC表项转化成实MAC表项。
S209:判断在第一预设时间段内,是否接收到目的MAC地址与第二MAC表项中的MAC地址相同的第三报文,若接收到,则执行S210,若未接收到,则执行S211。
S210:将第一预设时间段的起始时刻更新为接收第三报文的时刻。返回执行S207。
S211:则删除所述第二MAC表项。
本实施例中,根据第一报文的目的MAC地址,确定第二MAC表项中的的MAC地址,根据在第一预设时间段内接收到的源MAC地址与第二MAC表项的MAC地址相同的第二报文,学习第二MAC表项中的端口号,即根据用户的实际业务需求学习MAC表项,降低无效MAC表项的学习,提高了MAC表项的学习效率。
在上述实施例的S208之后,可以按照下述方法(但不限于下述方法)老化第二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地址的报文。
图3为本发明MAC表项学习装置实施例一的结构示意图,本实施例的装置包括接收模块301和处理模块302,其中,接收模块301用于接收第一报文,若媒体接入控制MAC转发表中未存储包含上述第一报文的目的MAC地址的第一MAC表项,则在上述MAC转发表中添加第二MAC表项,并确定上述第一报文的目的MAC地址为上述第二MAC表项中的MAC地址;处理模块302用于当在第一预设时间段内,接收到源MAC地址与上述第二MAC表项中的MAC地址相同的第二报文,则学习接收上述第二报文的端口号,将上述接收第二报文的端口号确定为上述第二MAC表项中的端口号,上述第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与上述第二MAC表项中的MAC地址相同的报文的时刻。
在上述实施例中,上述处理模块302还用于当在上述第一预设时间段内,未接收到源MAC地址与上述第二MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与上述第二MAC表项的MAC地址相同的第三报文,则删除上述第二MAC表项。
在上述实施例中,上述处理模块302还用于当在上述第一预设时间段内,接收到目的MAC地址与上述第二MAC表项的MAC地址相同的第三报文,则将上述第一预设时间段的起始时刻更新为接收上述第三报文的时刻。
在实施例中,上述处理模块302还用于确定接收上述第二报文的端口号为上述第二MAC表项中的端口号之后,当在第二预设时间段内,未接收到源MAC地址与上述第二MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与上述第二MAC表项的MAC地址相同的第五报文,则删除上述第二MAC表项;其中,上述第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含上述第二MAC表项的MAC地址的报文的时刻,上述包含上述第二MAC表项的MAC报文为源MAC地址为上述第二MAC表项的MAC地址的报文或者目的MAC地址为上述第二MAC表项的MAC地址的报文;
在上述实施例中,上述处理模块302还用于确定接收上述第二报文的端口号为上述第二MAC表项中的端口号之后,当在第二预设时间段内,接收到包含上述第二MAC表项的MAC地址的报文,则更新上述第二预设时间段的起始时刻为接收包含上述第二MAC表项的MAC地址的报文的时刻,其中,上述包含上述第二MAC表项的MAC地址的报文为源MAC地址为上述第二MAC表项的MAC地址的报文或者目的MAC地址为上述第二MAC表项的MAC地址的报文。
上述各装置实施例的模块对应可执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明MAC表项学习装置实施例二的结构示意图,本实施例的装置包括接收器401和处理器402,其中,接收器401用于接收第一报文,若媒体接入控制MAC转发表中未存储包含上述第一报文的目的MAC地址的第一MAC表项,则在上述MAC转发表中添加第二MAC表项,并确定上述第一报文的目的MAC地址为上述第二MAC表项中的MAC地址;处理器402用于当在第一预设时间段内,接收到源MAC地址与上述第二MAC表项中的MAC地址相同的第二报文,则学习接收上述第二报文的端口号,将上述接收第二报文的端口号确定为上述第二MAC表项中的端口号,上述第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与上述第二MAC表项中的MAC地址相同的报文的时刻。
在上述实施例中,上述处理器402还用于当在上述第一预设时间段内,未接收到源MAC地址与上述第二MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与上述第二MAC表项的MAC地址相同的第三报文,则删除上述第二MAC表项。
在上述实施例中,上述处理器402还用于当在上述第一预设时间段内,接收到目的MAC地址与上述第二MAC表项的MAC地址相同的第三报文,则将上述第一预设时间段的起始时刻更新为接收上述第三报文的时刻。
在实施例中,上述处理器402还用于确定接收上述第二报文的端口号为上述第二MAC表项中的端口号之后,当在第二预设时间段内,未接收到源MAC地址与上述第二MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与上述第二MAC表项的MAC地址相同的第五报文,则删除上述第二MAC表项;其中,上述第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含上述第二MAC表项的MAC地址的报文的时刻,上述包含上述第二MAC表项的MAC报文为源MAC地址为上述第二MAC表项的MAC地址的报文或者目的MAC地址为上述第二MAC表项的MAC地址的报文;
在上述实施例中,上述处理器402还用于确定接收上述第二报文的端口号为上述第二MAC表项中的端口号之后,当在第二预设时间段内,接收到包含上述第二MAC表项的MAC地址的报文,则更新上述第二预设时间段的起始时刻为接收包含上述第二MAC表项的MAC地址的报文的时刻,其中,上述包含上述第二MAC表项的MAC地址的报文为源MAC地址为上述第二MAC表项的MAC地址的报文或者目的MAC地址为上述第二MAC表项的MAC地址的报文。
上述各装置实施例的模块对应可执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种MAC表项学习方法,其特征在于,包括:
接收第一报文,若媒体接入控制MAC转发表中未存储包含所述第一报文的目的MAC地址的第一MAC表项,则在所述MAC转发表中添加第二MAC表项,并确定所述第一报文的目的MAC地址为所述第二MAC表项中的MAC地址;
当在第一预设时间段内,接收到源MAC地址与所述第二MAC表项中的MAC地址相同的第二报文,则学习接收所述第二报文的端口号,将所述接收第二报文的端口号确定为所述第二MAC表项中的端口号,所述第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与所述第二MAC表项中的MAC地址相同的报文的时刻;
其中,所述方法还包括:当在所述第一预设时间段内,未接收到源MAC地址与所述第二MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与所述第二MAC表项的MAC地址相同的第三报文,则删除所述第二MAC表项。
2.根据权利要求1所述的方法,其特征在于,还包括:当在所述第一预设时间段内,接收到目的MAC地址与所述第二MAC表项的MAC地址相同的第三报文,则将所述第一预设时间段的起始时刻更新为接收所述第三报文的时刻。
3.根据权利要求1或2所述的方法,其特征在于,所述确定接收所述第二报文的端口号为所述第二MAC表项中的端口号之后,还包括:
当在第二预设时间段内,未接收到源MAC地址与所述第二MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与所述第二MAC表项的MAC地址相同的第五报文,则删除所述第二MAC表项;
其中,所述第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含所述第二MAC表项的MAC地址的报文的时刻,所述包含所述第二MAC表项的MAC报文为源MAC地址为所述第二MAC表项的MAC地址的报文或者目的MAC地址为所述第二MAC表项的MAC地址的报文。
4.根据权利要求1或2所述的方法,其特征在于,所述确定接收所述第二报文的端口号为所述第二MAC表项中的端口号之后,还包括:
当在第二预设时间段内,接收到包含所述第二MAC表项的MAC地址的报文,则更新所述第二预设时间段的起始时刻为接收包含所述第二MAC表项的MAC地址的报文的时刻,其中,所述包含所述第二MAC表项的MAC地址的报文为源MAC地址为所述第二MAC表项的MAC地址的报文或者目的MAC地址为所述第二MAC表项的MAC地址的报文。
5.一种MAC表项学习装置,其特征在于,包括:
接收模块,用于接收第一报文,若媒体接入控制MAC转发表中未存储包含所述第一报文的目的MAC地址的第一MAC表项,则在所述MAC转发表中添加第二MAC表项,并确定所述第一报文的目的MAC地址为所述第二MAC表项中的MAC地址;
处理模块,用于当在第一预设时间段内,接收到源MAC地址与所述第二MAC表项中的MAC地址相同的第二报文,则学习接收所述第二报文的端口号,将所述接收第二报文的端口号确定为所述第二MAC表项中的端口号,所述第一预设时间段的起始时刻为当前时刻之前接收的最后一个目的MAC地址与所述第二MAC表项中的MAC地址相同的报文的时刻;
其中,所述处理模块还用于当在所述第一预设时间段内,未接收到源MAC地址与所述第二MAC表项的MAC地址相同的第二报文,并且,未接收到目的MAC地址与所述第二MAC表项的MAC地址相同的第三报文,则删除所述第二MAC表项。
6.根据权利要求5所述的装置,其特征在于,所述处理模块还用于当在所述第一预设时间段内,接收到目的MAC地址与所述第二MAC表项的MAC地址相同的第三报文,则将所述第一预设时间段的起始时刻更新为接收所述第三报文的时刻。
7.根据权利要求5或6所述的装置,其特征在于,所述处理模块还用于确定接收所述第二报文的端口号为所述第二MAC表项中的端口号之后,当在第二预设时间段内,未接收到源MAC地址与所述第二MAC表项的MAC地址相同的第四报文,并且,未接收到目的MAC地址与所述第二MAC表项的MAC地址相同的第五报文,则删除所述第二MAC表项;其中,所述第二预设时间段的起始时刻为当前时刻之前接收的最后一个包含所述第二MAC表项的MAC地址的报文的时刻,所述包含所述第二MAC表项的MAC报文为源MAC地址为所述第二MAC表项的MAC地址的报文或者目的MAC地址为所述第二MAC表项的MAC地址的报文。
8.根据权利要求5或6所述的装置,其特征在于,所述处理模块还用于确定接收所述第二报文的端口号为所述第二MAC表项中的端口号之后,当在第二预设时间段内,接收到包含所述第二MAC表项的MAC地址的报文,则更新所述第二预设时间段的起始时刻为接收包含所述第二MAC表项的MAC地址的报文的时刻,其中,所述包含所述第二MAC表项的MAC地址的报文为源MAC地址为所述第二MAC表项的MAC地址的报文或者目的MAC地址为所述第二MAC表项的MAC地址的报文。
CN201310598405.5A 2013-11-22 2013-11-22 Mac表项学习方法和装置 Active CN104660526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310598405.5A CN104660526B (zh) 2013-11-22 2013-11-22 Mac表项学习方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310598405.5A CN104660526B (zh) 2013-11-22 2013-11-22 Mac表项学习方法和装置

Publications (2)

Publication Number Publication Date
CN104660526A CN104660526A (zh) 2015-05-27
CN104660526B true CN104660526B (zh) 2018-03-16

Family

ID=53251239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310598405.5A Active CN104660526B (zh) 2013-11-22 2013-11-22 Mac表项学习方法和装置

Country Status (1)

Country Link
CN (1) CN104660526B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789525B (zh) * 2016-11-29 2019-06-25 迈普通信技术股份有限公司 一种vpls网络中报文转发方法和装置
CN113542130B (zh) * 2021-07-22 2023-07-14 新华三信息安全技术有限公司 地址表项的处理方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248466C (zh) * 2002-11-02 2006-03-29 华为技术有限公司 网络设备中控制报文转发的方法
CN101094187A (zh) * 2007-07-30 2007-12-26 杭州华三通信技术有限公司 一种学习介质访问控制地址的方法和装置、业务板
US7333491B2 (en) * 2002-04-30 2008-02-19 Realtek Semiconductor Corp. Method and apparatus for packet forwarding in a switch controller
EP1976195A1 (en) * 2007-03-30 2008-10-01 Lucent Technologies Inc. Method and apparatus for Mac address learning
CN101651627A (zh) * 2009-09-23 2010-02-17 杭州华三通信技术有限公司 一种媒体访问控制mac地址表项学习方法和装置
CN101651626A (zh) * 2009-09-23 2010-02-17 杭州华三通信技术有限公司 一种流量转发的方法及设备
CN101958938A (zh) * 2010-06-01 2011-01-26 福建星网锐捷网络有限公司 基于网络处理器的mac地址表的学习方法及装置
CN102334315A (zh) * 2011-08-09 2012-01-25 华为技术有限公司 端口阻断方法和路由设备
CN102404148A (zh) * 2011-11-22 2012-04-04 华为技术有限公司 一种mac地址表管理方法及装置
CN103209130A (zh) * 2013-04-22 2013-07-17 杭州华三通信技术有限公司 一种同步mac地址表项的方法及转发芯片

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141537A1 (en) * 2003-12-29 2005-06-30 Intel Corporation A Delaware Corporation Auto-learning of MAC addresses and lexicographic lookup of hardware database

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333491B2 (en) * 2002-04-30 2008-02-19 Realtek Semiconductor Corp. Method and apparatus for packet forwarding in a switch controller
CN1248466C (zh) * 2002-11-02 2006-03-29 华为技术有限公司 网络设备中控制报文转发的方法
EP1976195A1 (en) * 2007-03-30 2008-10-01 Lucent Technologies Inc. Method and apparatus for Mac address learning
CN101094187A (zh) * 2007-07-30 2007-12-26 杭州华三通信技术有限公司 一种学习介质访问控制地址的方法和装置、业务板
CN101651627A (zh) * 2009-09-23 2010-02-17 杭州华三通信技术有限公司 一种媒体访问控制mac地址表项学习方法和装置
CN101651626A (zh) * 2009-09-23 2010-02-17 杭州华三通信技术有限公司 一种流量转发的方法及设备
CN101958938A (zh) * 2010-06-01 2011-01-26 福建星网锐捷网络有限公司 基于网络处理器的mac地址表的学习方法及装置
CN102334315A (zh) * 2011-08-09 2012-01-25 华为技术有限公司 端口阻断方法和路由设备
CN102404148A (zh) * 2011-11-22 2012-04-04 华为技术有限公司 一种mac地址表管理方法及装置
CN103209130A (zh) * 2013-04-22 2013-07-17 杭州华三通信技术有限公司 一种同步mac地址表项的方法及转发芯片

Also Published As

Publication number Publication date
CN104660526A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN103259725B (zh) 报文发送方法和网络设备
CN109213699A (zh) 一种元数据管理方法、系统、设备及计算机可读存储介质
US20120155485A1 (en) Efficient space utilization of distributed mac address tables in ethernet switches
EP3059670B1 (en) Data storage method and storage server
CN102185706A (zh) 一种ieee1394网络拓扑图的生成方法
CN102204191A (zh) 一种报文转发方法和网间路由装置
CN107547364A (zh) 路由下发方法、装置和网络设备
CN107547346A (zh) 一种报文传输方法和装置
CN103201987A (zh) 区分路由信息更新的优先级
CN104660526B (zh) Mac表项学习方法和装置
CN106101412A (zh) 移动通信终端的信息会话处理方法及移动通信终端
CN104301446B (zh) 一种报文处理方法、交换机设备及系统
CN108322376B (zh) 路由同步方法、装置及机器可读存储介质
CN101171802A (zh) 节点,网络,对应关系产生方法和帧传送程序
CN106254270A (zh) 一种队列管理方法及装置
CN108418752A (zh) 一种聚合组的创建方法和装置
CN105991439B (zh) 管理数据中心服务器的方法及装置
CN105656814B (zh) 一种sdn网络转发系统与方法
CN103430497A (zh) 介质访问控制mac地址学习方法、控制器及交换设备
CN104838624A (zh) 一种控制业务数据在虚拟网络中转发的方法、装置及系统
CN107171964A (zh) 大规模组网中报文转发方法及装置
EP4012976A1 (en) Layer-two tunnel switching method, system, and apparatus
CN107547411A (zh) 一种路由处理方法、装置、电子设备及机器可读存储介质
US9729391B2 (en) Method and apparatus for path indication
CN103516620A (zh) 一种vm的迁移方法、系统及服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20191211

Address after: 314415 within huangwan town government, Jiaxing City, Zhejiang Province

Patentee after: Haining huangwan town Asset Management Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191211

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.