CN108307001B - Mac地址老化方法、装置及电子设备 - Google Patents

Mac地址老化方法、装置及电子设备 Download PDF

Info

Publication number
CN108307001B
CN108307001B CN201810404597.4A CN201810404597A CN108307001B CN 108307001 B CN108307001 B CN 108307001B CN 201810404597 A CN201810404597 A CN 201810404597A CN 108307001 B CN108307001 B CN 108307001B
Authority
CN
China
Prior art keywords
flag bit
table entry
mac address
entry
bit group
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
CN201810404597.4A
Other languages
English (en)
Other versions
CN108307001A (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.)
Shenzhen Forward Industrial Co Ltd
Original Assignee
Shenzhen Forward Industrial 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 Shenzhen Forward Industrial Co Ltd filed Critical Shenzhen Forward Industrial Co Ltd
Priority to CN201810404597.4A priority Critical patent/CN108307001B/zh
Publication of CN108307001A publication Critical patent/CN108307001A/zh
Application granted granted Critical
Publication of CN108307001B publication Critical patent/CN108307001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5053Lease time; Renewal aspects

Abstract

本发明实施例提供了一种MAC地址老化方法、装置及电子设备,该电子设备中存储有MAC地址表,该方法包括:获得MAC地址表中的冲突链,其中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项;在冲突链的指定位置添加一条标志位表项,该标志位表项中保存有冲突链中的各个表项的标志位组;在老化周期到来时,老化进程扫描标志位表项,根据标志位表项中记录的冲突链中的各个表项对应的标志位组确定是否对表项进行老化处理。该MAC地址老化方案,通过新增标志位表项,在进行老化时,可直接扫描标志位表项,根据标志位表项中与冲突链中各表项的与老化相关的标志位组从而确定是否对表项进行老化处理,提高了老化效率。

Description

MAC地址老化方法、装置及电子设备
技术领域
本发明涉及网络设备技术领域,具体而言,涉及一种MAC地址老化方法、装置及电子设备。
背景技术
现有的MAC地址老化处理需要通过遍历整个MAC地址表来实现,如果MAC地址表中存在冲突链,则在老化周期到来时,需要进入冲突链,再通过比对非键值字段来找到正确的表项,在老化的速度和效率上都比较差。
发明内容
有鉴于此,本发明实施例的目的在于,提供一种MAC地址老化方法、装置及电子设备以解决上述问题。
本发明较佳实施例提供一种MAC地址老化方法,应用于存储有MAC地址表的电子设备,所述方法包括:
获得所述MAC地址表中的冲突链,所述冲突链中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项;
在所述冲突链的指定位置添加一条标志位表项,所述标志位表项中保存有所述冲突链中的各个表项的标志位组;
在老化周期到来时,老化进程扫描所述标志位表项,根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理。
进一步地,所述在所述冲突链的指定位置添加一条标志位表项的步骤之后,所述方法还包括更新标志位表项的步骤,该步骤包括:
在接收到报文后,以该报文的目的MAC地址和外层VLAN ID为键值做哈希索引,查找存储的MAC地址表;
若所述MAC地址表中不存在所述报文对应的表项,则在所述MAC地址表中添加一条表项,将所述报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中,并对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置;
若所述MAC地址表中存在所述报文对应的表项,则直接对所述表项的标志位组进行更新,并在该表项处于冲突链中时,将所述表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。
进一步地,所述老化周期到来时,老化进程扫描所述标志位表项的步骤之后,所述方法还包括:
对所述标志位表项中满足重置位条件的标志位组进行重置位处理。
进一步地,所述标志位组包括活跃位,所述对所述标志位表项中满足重置位条件的标志位组进行重置位处理的步骤,包括:
针对所述标志位表项中的各个标志位组,若所述标志位组中的活跃位表明所述标志位组对应的表项为活跃状态,则判定该标志位组满足重置位条件,并将该标志位组中的活跃位置为不活跃状态。
进一步地,所述标志位组还包括有效位以及静态地址位,所述根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理的步骤包括:
针对所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组,查找出未进行重置位处理的标志位组,针对查找出的各个标志位组,若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项为静态地址,则确定不对所述标志位组对应的表项进行老化处理;
若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项不为静态地址,则再检测该标志位组中的活跃位是否为活跃状态,若不为活跃状态,则确定对所述标志位组对应的表项进行老化处理。
进一步地,所述标志位组包括活跃位、有效位以及静态地址位,所述对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的所述冲突链中的标志位表项中的对应位置的步骤,包括:
将该表项的标志位组中的有效位置为有效状态,且将该标志位组中的活跃位置为活跃状态;
检测所述表项中存储的报文的MAC地址是否为静态地址,若为静态地址,则将该表项对应的标志位组中的静态地址位置为静态,若不为静态地址,则将该表项对应的标志位组中的静态地址位置为非静态;
在所述表项处于冲突链中时,将该表项的标志位组的状态同步至所述冲突链中的标志位表项中的该表项的对应位置。
本发明另一较佳实施例提供一种MAC地址老化装置,应用于存储有MAC地址表的电子设备,所述MAC地址老化装置包括:
冲突链获取模块,用于获得所述MAC地址表中的冲突链,所述冲突链中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项;
添加模块,用于在所述冲突链的指定位置添加一条标志位表项,所述标志位表项中保存有所述冲突链中的各个表项的标志位组;
老化模块,用于在老化周期到来时,老化进程扫描所述标志位表项,根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理。
进一步地,所述MAC地址老化装置还包括更新模块,所述更新模块包括查找单元、第一更新单元以及第二更新单元;
所述查找单元用于在接收到报文后,以该报文的目的MAC地址和外层VLAN ID为键值做哈希索引,查找存储的MAC地址表;
所述第一更新单元用于在所述MAC地址表中不存在所述报文对应的表项时,在所述MAC地址表中添加一条表项,将所述报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中,并对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置;
所述第二更新单元用于在所述MAC地址表中存在所述报文对应的表项时,直接对该表项的标志位组进行更新,并在该表项处于冲突链中时,将所述表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。
进一步地,所述MAC地址老化装置还包括重置位模块,所述重置位模块用于对所述标志位表项中满足重置位条件的标志位组进行重置位处理。
本发明另一较佳实施例提供一种电子设备,包括:
存储器;
一个或多个处理器;及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置成由所述一个或多个处理器执行,所述程序用于执行上述的MAC地址老化方法的步骤。
本发明实施例提供的一种MAC地址老化方法、装置及电子设备,通过在MAC地址表的冲突链的指定位置新增一条标志位表项,将冲突链中的各个表项中与老化相关的标志位同步至所述标志位表项中。在老化周期到来时,通过扫描建立的标志位表项,根据标志位表项中记录的各个表项对应的标志位组,从而确定是否需要对标志位组对应的表项进行老化处理。如此,则避免了现有技术中的需要遍历整个MAC地址表以进入冲突链,并通过非键值比对以找到对应表项造成的速度和效率较低的问题。该MAC地址老化方案提高了老化效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的电子设备的示意性结构框图。
图2为本发明较佳实施例提供的MAC地址老化方法的流程图。
图3为本发明较佳实施例提供的MAC地址老化方法的另一流程图。
图4为图3中步骤S220的子步骤的流程图。
图5为本发明较佳实施例提供的标志位表项的示意图。
图6为本发明较佳实施例提供的MAC地址老化装置的功能模块框图。
图7为本发明实施例提供的更新模块的功能模块框图。
图标:100-电子设备;110-MAC地址老化装置;111-冲突链获取模块;112-添加模块;113-老化模块;114-更新模块;1141-查找单元;1142-第一更新单元;1143-第二更新单元;115-重置位模块;120-处理器;130-存储器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
交换机具有MAC地址自动学习能力,将接收到的报文的源地址、端口号等将存储在交换机的MAC地址表中。一个地址从记录至MAC地址表开始计时,如果在老化时间内各端口均未接收到源地址为该地址的报文,为了避免交换机内的MAC地址表超期,从而导致交换机做出一些不正确的过滤/转发决定,则需要将该地址从MAC地址表中删除(即进行老化处理)。
地址在记录至MAC地址表中时,采用哈希函数映射至MAC地址表中的不同存储位置。而对于不同的目的MAC地址和外层VLAN ID可能得到同一个映射地址,这样就会造成地址冲突,即在MAC地址表中形成冲突链。冲突链中的键值和MAC地址表项之间不存在一一对应关系,这种情况下,在老化周期到来时,针对冲突链中的MAC地址表项,则需遍历整个MAC地址表,并进入冲突链,通过比对非键值来找到正确的表项进而进行老化处理。如此,将导致老化速度及效率的低下。
基于上述研究,本实施例提供了一种MAC地址老化方案,通过获取MAC地址表中的冲突链,在冲突链中添加一条标志位表项,在标志位表项中记录冲突链中各个表项的和老化相关的标志位组。在老化周期到来时,根据标志位表项中的标志位组来对MAC地址表进行相应的老化处理。如此,则无需遍历整个MAC地址表以进入冲突链,仅需通过检测标志位表项中的标志位组即可确定是否需要对对应表项进行老化处理。下面将结合附图对该内容进行详细介绍。
请参阅图1,为本申请实施例提供的一种电子设备100的示意图。该电子设备100可以是交换机、路由器等任意具有数据转发功能的设备。本实施例中后续以交换机为例进行说明。如图1所示,该电子设备100包括MAC地址老化装置110、处理器120及存储器130。其中,所述存储器130与所述处理器120之间直接或间接的电性连接,以实现数据的传输或交互。所述MAC地址老化装置110包括至少一个可以软件或固件的形式存储于所述存储器130中或固化在所述电子设备100的操作系统中的软件功能模块。所述处理器120用于执行所述存储器130中存储的可执行模块,例如所述MAC地址老化装置110包括的软件功能模块或计算机程序,从而实现本发明实施例提供的MAC地址老化方法。
可以理解,图1所示的结构仅为示意,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。值得说明的是,图1中所示的各组件可以采用硬件、软件或其组合实现,本实施例对此不做限制。
请参照图2,是本申请实施例提供的一种MAC地址老化方法的流程示意图,该MAC地址老化方法可以应用于图1所示的电子设备100。下面结合图2对该MAC地址老化方法的具体流程及步骤做详细阐述。
步骤S110,获得所述MAC地址表中的冲突链,所述冲突链中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项。
交换机在接收到报文后,需将报文的源MAC地址、输入端口号等记录在MAC地址表中,以便进行报文转发、过滤等管理。在进行记录时,需在MAC地址表中找到对应的存储位置,为了后续便于查找,需要在记录的存储位置和目的MAC地址、外层VLAN ID的关键字之间建立一个确定的对应关系,理想状态是使得每一个关键字和MAC地址表中一个唯一的存储位置相对应。如此,在进行查找时,则可根据这个对应关系找到待查找的关键值在MAC地址表中的像,即对应的存储位置。现有技术中,这个对应关系常采用哈希函数,建立的MAC地址表即为哈希表。然而,采用哈希函数的方式,对于不同的关键字可能得到同一个哈希地址,这种现象叫做冲突。在交换机接收到的不同目的MAC地址的报文较多时,可能产生的冲突关系则越多。如此,一个MAC地址表中可能存在多条冲突链,各条冲突表项中包括至少一条在MAC地址表中具有相同的存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项。本实施例中,可查找出MAC地址表中的冲突链,所述冲突链可为多条。
步骤S120,在所述冲突链的指定位置添加一条标志位表项,所述标志位表项中保存有所述冲突链中的各个表项的标志位组。
为了便于后续对表项的老化,一般会在表项中添加和老化相关的标志位组。本实施例中,针对查找出的MAC地址表的各条冲突链,在所述冲突链的指定位置,例如冲突链中所有表项的最前端,或者是所有表项的最后端,具体地不作限制。本实施例中,采用在冲突链中的所有表项的最后端添加一条标志位表项。该标志位表项中记录有冲突链中各条表项中和老化相关的标志位组。
各条表项的标志位组将决定是否对该表项进行老化处理,标志位组的状态是根据交换机接收到的报文的目的MAC地址、外层VLAN ID与该表项中记录的地址的关系来实时更新的。本实施例中,请参阅图3,通过以下方式对MAC地址表中的表项以及标志位表项中的标志位组进行更新:
步骤S210,在接收到报文后,以该报文的目的MAC地址和外层VLAN ID为键值做哈希索引,查找存储的MAC地址表。
步骤S220,若所述MAC地址表中不存在所述报文对应的表项,则在所述MAC地址表中添加一条表项,将所述报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中,并对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的更新信息同步至所述冲突链建立的标志位表中的对应位置。
步骤S230,若所述MAC地址表中存在所述报文对应的表项,则直接对所述表项的标志位组进行更新,并在该表项处于冲突链中时,将所述表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。
由上述可知,MAC地址表一般是基于报文的目的MAC地址、外层VLAN ID,并根据哈希函数建立的。为了隔离冲突域和广播域,一般会对交换机的多个端口进行VLAN(VirtualLocal Area Network,虚拟局域网)划分,以避免广播信息的不安全性。在交换机接收到报文后,可根据报文携带的目的MAC地址和外层VLAN ID为键值做哈希索引以查找存储的MAC地址表中是否存在该报文对应的表项。
若MAC地址表中不存在该报文对应的表项,则表明该目的MAC地址的报文交换机之前未接收到过,或者是之前很长一段时间内未接收到导致已进行老化处理。这种情况下,可在MAC地址表中添加一条表项,并根据该报文的目的MAC地址、外层VLAN ID基于哈希函数找到该报文在MAC地址表中的像,即存储位置。将报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中。
并且,还需在该表项中添加和老化相关的标志位组,并对标志位组进行处理以体现出该表项的和老化相关的信息。在本实施例中,所述标志位组包括活跃位(HITSA)、有效位(VALID)以及静态地址位(STAIC)。交换机在接收到报文并在MAC地址表中添加对应表项后,请参阅图4,通过以下步骤对标志位组进行更新并将更新信息同步至添加的标志位表项中。
步骤S221,将该表项的标志位组中的有效位置为有效状态,且将该标志位组中的活跃位置为活跃状态。
步骤S222,检测所述表项中存储的报文的MAC地址是否为静态地址,若为静态地址,则将该表项对应的标志位组中的静态地址位置为静态,若不为静态地址,则将该表项对应的标志位组中的静态地址位置为非静态。
步骤S223,在所述表项处于冲突链中时,将该表项对应的标志位组的状态同步至所述冲突链中的标志位表项中的该表项的对应位置。
本实施例中,交换机接收到某一目的MAC地址的报文,表明该目的MAC地址处于活跃状态,并且该目的MAC地址当前为有效状态。因此,可将该报文对应的表项的标志位组中的活跃位置为活跃状态,例如置为1。将标志位组中的有效位置为有效状态,例如置为1。
由于静态MAC地址无需进行老化,因此,本实施例中还需检测该报文对应的源MAC地址是否为静态地址。若为静态地址,则需将静态地址位置为静态,例如置为1。若不是静态地址,则可置为0。在MAC地址表中完成表项的标志位组的更新处理后,若该表项是处于冲突链中的表项,则需将该表项中标志位组的状态更新至该表项所在的冲突链中的标志位表项的对应存储位置。
此外,若交换机接收到的报文在MAC地址表中有对应的表项,则表明该报文对应的MAC地址表项仍然保持活跃状态,因此,可直接对该表项对应的标志位组进行更新,其更新处理过程可参考上述描述。并且,将MAC地址表中该表项的标志位组的更新状态同步至该表项所在的冲突链中的标志位表项的对应位置处。
本实施例中,建立的标志位表项的表头还包奇偶校验位(PAR),在向标志位表项中写入数据时可通过奇偶校验算法产生奇偶校验位。后续在读出数据时可通过奇偶校验算法算出校验位,以便与标志位表项中的奇偶校验位进行对比,若相同则证明数据是正确的,若不同则表明数据错误。如此,可保证写入的数据和读出的数据一致,保障数据正确性。图5示出了本实施例建立的标志位表项的一种示例,其中,N为MAC地址表中冲突链的长度。
步骤S130,在老化周期到来时,老化进程扫描所述标志位表项,根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理。
由上述可知,为了避免MAC地址表中由于地址存储超期,因此需定期根据接收到的报文的信息对满足老化条件的表项进行老化处理。预先可设置老化周期,老化周期是一个影响交换机学习进程的参数,在老化周期内,如果某个地址未被使用,则可将该地址从MAC地址表中删除。老化周期过长会导致交换机内的MAC地址表超期,从而使交换机做出一些不正确的过滤/转发决定。但是,老化周期过短,会造成MAC地址表刷新过快,大量接收到的报文的目的MAC地址在地址表中找不到,导致VLAN泛洪。经过研究发现,老化周期的范围一般可设置为10秒到1000000秒之间,默认为300秒。
在老化周期到来时,针对MAC地址表中的冲突链的表项的老化处理,老化进程可扫描冲突链中添加的标志位表项以完成老化。此时,除了需进行老化之外,还需对表项中的各标志位进行重置位处理,如此,才能保证在下一老化周期到来时,标志位项可准确体现出该表项对应的状态。可选地,本实施例中,在老化周期到来时,可对标志位表项中满足重置位条件的标志位组进行重置位处理。本实施例中,针对标志位表项中对应于冲突链中的各条表项的标志位组,若所述标志位组中的活跃位表明该标志位组对应的表项为活跃状态,则判定该标志位组满足重置位条件,可将该标志位组中的活跃位置为不活跃状态,例如置为0。如此,则每到一个老化周期,需对之前为活跃状态的表项置为不活跃,在下一个老化周期到来之前,若再次接收到该目的MAC地址的报文,则又会按上述的方式再次将该表项置为活跃状态,如此循环,若每一个老化周期内都能够接收到该目的MAC地址的报文,则对应表项则一直可不被老化。
本实施例中,在对满足重置位条件的标志位组进行重置位后,还需根据标志位表项中记录的冲突链中的各个表项对应的标志位组确定是否对对应表项进行老化,可选地,该步骤可通过以下过程实现:
针对所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组,查找出未进行重置位处理的标志位组,针对查找出的各个标志位组,若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项为静态地址,则确定不对所述标志位组对应的表项进行老化处理。
若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项不为静态地址,则再检测该标志位组中的活跃位是否为活跃状态,若不为活跃状态,则确定对所述标志位组对应的表项进行老化处理。
本实施例中,满足重置位条件的标志位组对应的表项在该老化周期到来之前的上一老化周期内是活跃的,因此在该老化周期的处理对象中可将满足重置位条件的标志位组对应的表项排除开。针对标志位表项中未进行重置位处理的其他标志位组对应的表项,若表项对应的标志位组中,其有效位为有效状态,但静态地址位表明为静态地址,则不对该表项进行老化。若表项对应的标志位组中,有效位为有效状态且静态地址位不为静态,则再检测活跃位,若活跃位不为活跃状态,则对该表项进行老化处理,即将该表项从MAC地址表中删除,并且将其标志位组从标志位表项中删除。
请参阅图6,为本申请另一实施例提供的一种应用于上述电子设备100的MAC地址老化装置110的功能模块框图。所述MAC地址老化装置110包括冲突链获取模块111、添加模块112以及老化模块113。
所述冲突链获取模块111用于获得所述MAC地址表中的冲突链,所述冲突链中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项。所述冲突链获取模块111可用于执行图2中所示的步骤S110,具体的操作方法可参考步骤S110的详细描述。
所述添加模块112用于在所述冲突链的指定位置添加一条标志位表项,所述标志位表项中保存有所述冲突链中的各个表项的标志位组。所述标志位表建立模块112可用于执行图2中所示的步骤S120,具体的操作方法可参考步骤S120的详细描述。
所述老化模块113用于在老化周期到来时,老化进程扫描所述标志位表项,根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理。所述老化模块113可用于执行图2中所示的步骤S130,具体的操作方法可参考步骤S130的详细描述。
在本实施例中,所述MAC地址老化装置110还包括更新模块114,请参阅图7,所述更新模块114包括查找单元1141、第一更新单元1142以及第二更新单元1143。
所述查找单元1141用于在接收到报文后,以该报文的目的MAC地址和外层VLAN ID为键值做哈希索引,查找存储的MAC地址表。所述查找单元1141可用于执行图3中所示的步骤S210,具体的操作方法可参考步骤S210的详细描述。
所述第一更新单元1142用于在所述MAC地址表中不存在所述报文对应的表项时,在所述MAC地址表中添加一条表项,将所述报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中,并对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。所述第一更新单元1142可用于执行图3中所示的步骤S220,具体的操作方法可参考步骤S220的详细描述。
所述第二更新单元1143用于在所述MAC地址表中存在所述报文对应的表项时,直接对该表项的标志位组进行更新,并在该表项处于冲突链中时,将所述表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。所述第二更新单元1143可用于执行图3中所示的步骤S230,具体的操作方法可参考步骤S230的详细描述。
在本实施例中,所述MAC地址老化装置110还包括重置位模块115,所述重置位模块115用于对所述标志位表项中满足重置位条件的标志位组进行重置位处理。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本发明实施例提供的一种MAC地址老化方法、装置及电子设备100,通过在MAC地址表的冲突链的指定位置新增一条标志位表项,将冲突链中的各个表项中与老化相关的标志位同步至所述标志位表项中。在老化周期到来时,通过扫描建立的标志位表项,根据标志位表项中记录的各个表项对应的标志位组,从而确定是否需要对标志位组对应的表项进行老化处理。如此,则避免了现有技术中的需要遍历整个MAC地址表以进入冲突链,并通过非键值比对以找到对应表项造成的速度和效率较低的问题。该MAC地址老化方案提高了老化效率。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种MAC地址老化方法,其特征在于,应用于存储有MAC地址表的电子设备,所述方法包括:
获得所述MAC地址表中的冲突链,所述冲突链中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项;
在所述冲突链的指定位置添加一条标志位表项,所述标志位表项中保存有所述冲突链中的各个表项的标志位组;
在老化周期到来时,老化进程扫描所述标志位表项,根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理;
其中,所述标志位组包括活跃位、有效位以及静态地址位,所述根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理的步骤包括:
针对所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组,查找出未进行重置位处理的标志位组,针对查找出的各个标志位组,若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项为静态地址,则确定不对所述标志位组对应的表项进行老化处理;
若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项不为静态地址,则再检测该标志位组中的活跃位是否为活跃状态,若不为活跃状态,则确定对所述标志位组对应的表项进行老化处理。
2.根据权利要求1所述的MAC地址老化方法,其特征在于,所述在所述冲突链的指定位置添加一条标志位表项的步骤之后,所述方法还包括更新标志位表项的步骤,该步骤包括:
在接收到报文后,以该报文的目的MAC地址和外层VLAN ID为键值做哈希索引,查找存储的MAC地址表;
若所述MAC地址表中不存在所述报文对应的表项,则在所述MAC地址表中添加一条表项,将所述报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中,并对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置;
若所述MAC地址表中存在所述报文对应的表项,则直接对所述表项的标志位组进行更新,并在该表项处于冲突链中时,将所述表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。
3.根据权利要求1所述的MAC地址老化方法,其特征在于,所述老化周期到来时,老化进程扫描所述标志位表项的步骤之后,所述方法还包括:
对所述标志位表项中满足重置位条件的标志位组进行重置位处理。
4.根据权利要求3所述的MAC地址老化方法,其特征在于,所述对所述标志位表项中满足重置位条件的标志位组进行重置位处理的步骤,包括:
针对所述标志位表项中的各个标志位组,若所述标志位组中的活跃位表明所述标志位组对应的表项为活跃状态,则判定该标志位组满足重置位条件,并将该标志位组中的活跃位置为不活跃状态。
5.根据权利要求2所述的MAC地址老化方法,其特征在于,所述标志位组包括活跃位、有效位以及静态地址位,所述对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的所述冲突链中的标志位表项中的对应位置的步骤,包括:
将该表项的标志位组中的有效位置为有效状态,且将该标志位组中的活跃位置为活跃状态;
检测所述表项中存储的报文的MAC地址是否为静态地址,若为静态地址,则将该表项对应的标志位组中的静态地址位置为静态,若不为静态地址,则将该表项对应的标志位组中的静态地址位置为非静态;
在所述表项处于冲突链中时,将该表项的标志位组的状态同步至所述冲突链中的标志位表项中的该表项的对应位置。
6.一种MAC地址老化装置,其特征在于,应用于存储有MAC地址表的电子设备,所述MAC地址老化装置包括:
冲突链获取模块,用于获得所述MAC地址表中的冲突链,所述冲突链中包括至少一条在所述MAC地址表中具有相同存储位置但目的MAC地址、外层VLAN ID不同的报文对应的表项;
添加模块,用于在所述冲突链的指定位置添加一条标志位表项,所述标志位表项中保存有所述冲突链中的各个表项的标志位组;
老化模块,用于在老化周期到来时,老化进程扫描所述标志位表项,根据所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组确定是否对所述表项进行老化处理;
其中,所述标志位组包括活跃位、有效位以及静态地址位,所述老化模块,具体用于:
针对所述标志位表项中记录的所述冲突链中的各个表项对应的标志位组,查找出未进行重置位处理的标志位组,针对查找出的各个标志位组,若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项为静态地址,则确定不对所述标志位组对应的表项进行老化处理;
若所述标志位组中的有效位表明所述标志位组对应的表项为有效状态且所述标志位组中的静态地址位表明所述标志位组对应的表项不为静态地址,则再检测该标志位组中的活跃位是否为活跃状态,若不为活跃状态,则确定对所述标志位组对应的表项进行老化处理。
7.根据权利要求6所述的MAC地址老化装置,其特征在于,所述MAC地址老化装置还包括更新模块,所述更新模块包括查找单元、第一更新单元以及第二更新单元;
所述查找单元用于在接收到报文后,以该报文的目的MAC地址和外层VLAN ID为键值做哈希索引,查找存储的MAC地址表;
所述第一更新单元用于在所述MAC地址表中不存在所述报文对应的表项时,在所述MAC地址表中添加一条表项,将所述报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中,并对该表项的标志位组进行更新,在该表项处于冲突链中时,将该表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置;
所述第二更新单元用于在所述MAC地址表中存在所述报文对应的表项时,直接对该表项的标志位组进行更新,并在该表项处于冲突链中时,将所述表项的标志位组的更新信息同步至所述冲突链中的标志位表项中的对应位置。
8.根据权利要求7所述的MAC地址老化装置,其特征在于,所述MAC地址老化装置还包括重置位模块,所述重置位模块用于对所述标志位表项中满足重置位条件的标志位组进行重置位处理。
9.一种电子设备,其特征在于,包括:
存储器;
一个或多个处理器;及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置成由所述一个或多个处理器执行,所述程序用于执行权利要求1-5任意一项MAC地址老化方法的步骤。
CN201810404597.4A 2018-04-28 2018-04-28 Mac地址老化方法、装置及电子设备 Active CN108307001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810404597.4A CN108307001B (zh) 2018-04-28 2018-04-28 Mac地址老化方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810404597.4A CN108307001B (zh) 2018-04-28 2018-04-28 Mac地址老化方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108307001A CN108307001A (zh) 2018-07-20
CN108307001B true CN108307001B (zh) 2021-07-27

Family

ID=62846494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810404597.4A Active CN108307001B (zh) 2018-04-28 2018-04-28 Mac地址老化方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108307001B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109451087B (zh) * 2018-10-26 2022-05-31 新华三技术有限公司 Mac表项老化处理方法和装置
CN112398739B (zh) * 2020-11-13 2022-03-08 深圳市风云实业有限公司 一种支持hsr协议的代理节点表实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117931A (zh) * 2013-02-21 2013-05-22 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统
CN103139074A (zh) * 2013-02-07 2013-06-05 杭州华三通信技术有限公司 用于处理mac地址冲突的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842603B2 (en) * 2007-12-21 2014-09-23 Motorola Mobility Llc Method and apparatus for detection of network having multiple IP-address capability
CN103581022B (zh) * 2013-10-23 2017-01-11 福建星网锐捷网络有限公司 Mac地址的查找转发方法和装置
CN103731355B (zh) * 2013-12-31 2017-01-25 迈普通信技术股份有限公司 避免mac地址学习时哈希冲突的方法及系统
CN104333520A (zh) * 2014-11-28 2015-02-04 上海斐讯数据通信技术有限公司 一种交换机mac地址表双老化时间控制方法
CN105721315B (zh) * 2016-04-06 2018-11-23 烽火通信科技股份有限公司 一种集中式mac地址学习的控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139074A (zh) * 2013-02-07 2013-06-05 杭州华三通信技术有限公司 用于处理mac地址冲突的方法和装置
CN103117931A (zh) * 2013-02-21 2013-05-22 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统

Also Published As

Publication number Publication date
CN108307001A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN106878262B (zh) 报文检测方法及装置、建立本地威胁情报库的方法及装置
CN108616614B (zh) Mac地址管理方法、装置及电子设备
KR101519936B1 (ko) 컴퓨터 네트워크 보안을 보조하기 위한 변하는 상태 데이터추적
CN100542129C (zh) 数据包传送装置
US9361238B2 (en) Memory addressing mechanism using a buffer of a hierarchy of collision free hash tables
US20190220334A1 (en) Anomaly detection using sequences of system calls
JPH05502362A (ja) パケットデータ通信システムにおけるシーケンス番号の追跡方法及び装置
US9954762B2 (en) Populating forwarding database tables in a fabric environment
CN108307001B (zh) Mac地址老化方法、装置及电子设备
US10078655B2 (en) Reconciling sensor data in a database
US20170116246A1 (en) Index management
US11803570B1 (en) Selective DNS synchronization
US9959303B2 (en) Alleviation of index hot spots in datasharing environment with remote update and provisional keys
CN107590160B (zh) 一种监控基数树内部结构以实现测试的方法及装置
CN107153692B (zh) 一种字符串匹配的方法及设备
US8812465B2 (en) Time-outs with time-reversed linear probing
US7765475B2 (en) List display with redundant text removal
CN111064798A (zh) 节点入网方法、装置、客户端节点及存储介质
CN110049149B (zh) Mac地址学习方法、装置及分布式设备
CN109286570B (zh) 一种邻接表项的查找方法及装置
CN108768859B (zh) 数据处理方法、装置及系统
WO2020170911A1 (ja) 推定装置、推定方法及びプログラム
JPH1040255A (ja) ハッシュ表管理装置
CN106612299B (zh) 访问请求的处理方法和装置
CN111131051A (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