CN108616614B - Mac地址管理方法、装置及电子设备 - Google Patents
Mac地址管理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108616614B CN108616614B CN201810401882.0A CN201810401882A CN108616614B CN 108616614 B CN108616614 B CN 108616614B CN 201810401882 A CN201810401882 A CN 201810401882A CN 108616614 B CN108616614 B CN 108616614B
- Authority
- CN
- China
- Prior art keywords
- mac address
- message
- address table
- table entry
- timestamp
- 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
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/32—Flooding
-
- 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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching of addresses or names
Abstract
本申请实施例提供了一种MAC地址管理方法、装置及电子设备,该方法包括:根据接收到的报文携带的报文信息对MAC地址表进行更新,并以当前时间为时间戳,将时间戳插入至MAC地址表中与报文对应的表项中;在老化周期到来时,针对MAC地址表中的各条表项,根据表项中存储的时间戳对MAC地址表进行一次老化处理;在报文转发时,根据表项中存储的时间戳以确定是否需要对MAC地址表进行二次老化处理;若需要进行二次老化处理,则将表项从MAC地址表中删除以完成二次老化处理,且报文按照VLAN泛洪的方式进行转发。避免了由于老化周期的时间间隔问题导致的一次老化处理不及时引起的转发错误的问题,减小了老化时间的误差,使得报文转发行为更加准确。
Description
技术领域
本发明涉及网络设备技术领域,具体而言,涉及一种MAC地址管理方法、装置及电子设备。
背景技术
交换机支持对输入报文进行自动地MAC地址学习,将报文的源MAC地址和输入端口映射到MAC地址表中,作为之后数据转发的依据。由于MAC地址表空间有限,因此交换机需要周期性执行MAC地址老化操作,将不活跃的MAC地址表项删除,以保证MAC地址表中有足够的空间对后续的报文进行MAC地址学习。现有技术中,一般是通过MAC地址表项中的hit位来控制MAC地址表项老化,hit的更新在交换机进行地址学习时进行。由于地址学习和地址老化是独立的,导致MAC地址的老化时间存在误差,其误差时间范围为设置的老化时间的1~2倍,因此就导致了在老化误差时间范围内,报文的转发行为也是不正确的。
发明内容
有鉴于此,本申请的目的在于,提供一种MAC地址管理方法、装置及电子设备以解决上述问题。
本申请较佳实施例提供一种MAC地址管理方法,应用于存储有MAC地址表的电子设备,所述方法包括:
在接收到报文时,根据所述报文携带的报文信息对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中;
在设定的老化周期到来时,针对MAC地址表中的各条表项,根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理;
在进行报文转发时,获得待转发报文的转发信息,根据所述转发信息查找进行一次老化处理后的MAC地址表以检测所述MAC地址表中是否存在与所述待转发报文对应的表项,若存在与所述待转发报文对应的表项,则根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理;
若不需要进行二次老化处理,则获得所述表项中存储的输出端口,将所述待转发报文从所述输出端口进行转发;
若需要进行二次老化处理,则将所述表项从所述MAC地址表中删除以完成二次老化处理,并根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
进一步地,所述根据所述待转发报文所在的VLAN,进行VLAN泛洪的步骤,包括:
根据所述待转发报文的输入端口所在的VLAN查找VLAN表,以得到加入该VLAN的所有端口,将所述待转发报文转发到除所述输入端口外的其他所有端口。
进一步地,所述在接收到报文时,根据所述报文携带的报文对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中的步骤,包括:
在接收到报文时,以所述报文携带的源MAC地址、VLAN ID作为键值查找所述MAC地址表,以检测所述MAC地址表中是否存在所述报文对应的表项;
若不存在,则在所述MAC地址表中添加一条表项,并将所述报文的源MAC地址、VLANID以及输入端口映射保存至该表项中,并将当前时间作为时间戳以存储在所述表项中;
若存在,则对所述MAC地址表中与所述报文对应的表项中存储的时间戳进行更新。
进一步地,所述根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理的步骤,包括:
检测当前时间与所述表项中存储的时间戳之间的差值是否大于预设老化时间;
若大于所述预设老化时间,则将所述表项从所述MAC地址表中删除。
进一步地,在进行一次老化处理后的MAC地址表中不存在与所述待转发报文对应的表项时,,所述方法还包括:
根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
进一步地,所述根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理的步骤,包括:
检测当前时间与所述表项中存储的时间戳之间的差值是否大于预设老化时间,若大于所述预设老化时间,则判定需要对所述MA地址表进行二次老化处理。
进一步地,所述报文信息包括报文的源MAC地址以及VLAN ID,所述转发信息包括待转发报文的目的MAC地址以及VLAN ID。
本申请另一较佳实施例提供一种MAC地址管理装置,应用于存储有MAC地址表的电子设备,所述装置包括:
MAC地址表更新模块,用于在接收到报文时,根据所述报文携带的报文信息对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中;
第一老化处理模块,用于在设定的老化周期到来时,针对MAC地址表中的各条表项,根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理;
检测模块,用于在进行报文转发时,获得待转发报文的转发信息,根据所述转发信息查找进行一次老化处理后的MAC地址表以检测所述MAC地址表中是否存在与所述待转发报文对应的表项;
判定模块,用于在存在与所述待转发报文对应的表项时,根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理;
转发模块,用于在不需要进行二次老化处理时,获得所述表项中存储的输出端口,将所述待转发报文从所述输出端口进行转发;
第二老化处理模块,用于在需要进行二次老化处理时,将所述表项从所述MAC地址表中删除以完成二次老化处理;
VLAN泛洪模块,用于根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
进一步地,所述MAC地址表更新模块包括查找单元、添加单元以及时间戳更新单元;
所述查找单元用于在接收到报文时,以所述报文携带的源MAC地址、VLAN ID作为键值查找所述MAC地址表,以检测所述MAC地址表中是否存在所述报文对应的表项;
所述添加单元用于在所述MAC地址表中不存在所述报文对应的表项时,在所述MAC地址表中添加一条表项,并将所述报文的源MAC地址、VLAN ID以及输入端口映射保存至该表项中,并将当前时间作为时间戳以存储在所述表项中;
所述时间戳更新单元用于在所述MAC地址表中存在所述报文对应的表项时,对所述MAC地址表中与所述报文对应的表项中存储的时间戳进行更新。
本申请另一较佳实施例提供一种电子设备,包括:
存储器;
一个或多个处理器;及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置成由所述一个或多个处理器执行,所述程序用于执行上述的MAC地址管理方法的步骤。
本申请实施例提供的MAC地址管理方法、装置及电子设备,通过在MAC地址表的表项中插入时间戳,在老化周期到来时,根据各个表项中的时间戳来判定是否进行一次老化处理,并且在进行报文转发时,根据待转发报文所对应表项的时间戳以判定是否进行二次老化处理。如此,避免了由于老化周期的时间间隔问题导致的一次老化处理不及时引起的转发错误的问题,减小了老化时间的误差,使得报文转发行为更加准确。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为传统老化机制中老化处理过程示意图之一。
图2为传统老化机制中老化处理过程示意图之二。
图3为本申请较佳实施例提供的电子设备的示意性结构框图。
图4为本申请较佳实施例提供的MAC地址管理方法的流程图。
图5为图4中步骤S110的子步骤的流程图。
图6为图4中步骤S120的子步骤的流程图。
图7为本申请较佳实施例提供的MAC地址管理装置的功能模块框图。
图8为本申请较佳实施例提供的MAC地址表更新模块的功能模块框图。
图标:100-电子设备;110-MAC地址管理装置;111-MAC地址表更新模块;1111-查找单元;1112-添加单元;1113-时间戳更新单元;112-第一老化处理模块;113-检测模块;114-判定模块;115-转发模块;116-第二老化处理模块;117-VLAN泛洪模块;120-处理器;130-存储器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
交换机以MAC地址表作为二层数据转发依据,其维护了一张MAC地址、VLAN(Virtual Local Area Network,虚拟局域网)ID和端口的映射关系表。当交换机接收到报文后,执行MAC地址学习操作,将报文的源MAC地址、VLAN ID以及输入端口号更新到MAC地址表中。然后根据报文的转发信息执行MAC地址转发操作。由于MAC地址表空间有限,因此交换机会周期性执行MAC地址老化操作,清理MAC地址表,将不活跃的MAC地址表项删除,为后续的MAC地址学习提供表项空间。
在现有技术中,一般会采用在交换机进行MAC地址学习时新增表项,MAC地址老化时删除表项,MAC地址转发时只根据MAC地址表中的信息进行转发,不会修改MAC地址表。在每条MAC地址表项中设置一个hit位来控制该条表项的更新和老化。
通过MAC地址表项中的hit位来控制MAC地址表项老化,由于MAC地址学习和MAC地址老化相互独立,导致MAC地址的老化时间存在误差,其误差时间范围为设置的老化时间的1~2倍,例如,如图1和图2所示,图1中示出了传统MAC地址老化机制老化时间为一个老化周期,老化时间误差为0秒的示例。图2中示出了传统MAC地址老化机制老化时间为两个老化周期,老化时间误差为一个老化周期的示例。MAC地址表影响报文的转发逻辑,而MAC地址表老化时间误差越大,对报文的正确转发影响就越大。从转发层面来说,传统的MAC地址表项老化机制由于存在着老化时间误差,对报文的正确转发有一定的影响。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明过程中对本申请做出的贡献。
基于上述研究,本申请实施例提供了一种MAC地址管理方案,通过在MAC地址表中的各个表项中插入时间戳,在老化周期到来时,根据表项中的时间戳来确定是否进行一次老化处理,并且进一步地,在报文转发时,根据一次老化处理后的MAC地址表中该报文对应的表项中的时间戳来确定是否进行二次老化处理。如此,可在老化层面和二层转发层面对MAC地址表进行重复老化处理,避免了传统老化机制中由于地址学习和老化处理之间的时间差造成的老化时间误差,并且,通过在二层转发层面再次进行老化处理,使得老化更加彻底,提高了报文转发的准确性。下面将结合附图对该内容进行详细介绍。
请参阅图3,为本申请实施例提供的一种电子设备100的示意图。该电子设备100可以是交换机、路由器等任意具有数据转发功能的设备。本实施例中后续以交换机为例进行说明。如图1所示,该电子设备100包括MAC地址管理装置110、处理器120及存储器130。其中,所述存储器130与所述处理器120之间直接或间接的电性连接,以实现数据的传输或交互。所述MAC地址管理装置110包括至少一个可以软件或固件的形式存储于所述存储器130中或固化在所述电子设备100的操作系统中的软件功能模块。所述处理器120用于执行所述存储器130中存储的可执行模块,例如所述MAC地址管理装置110包括的软件功能模块或计算机程序,从而实现本发明实施例提供的MAC地址管理方法。
可以理解,图3所示的结构仅为示意,所述电子设备100还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。值得说明的是,图3中所示的各组件可以采用硬件、软件或其组合实现,本实施例对此不做限制。
请参照图4,是本申请实施例提供的一种MAC地址管理方法的流程示意图,该MAC地址管理方法可以应用于图3所示的电子设备100。下面结合图4对该MAC地址管理方法的具体流程及步骤做详细阐述。
步骤S110,在接收到报文时,根据所述报文携带的报文信息对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中。
交换机在接收到报文后,需将报文的源MAC地址、VLAN ID、输入端口号等记录在MAC地址表中,以便进行报文转发、过滤等管理。在进行记录时,需在MAC地址表中找到对应的存储位置,为了后续便于查找,需要在记录的存储位置和源MAC地址的关键字之间建立一个确定的对应关系,理想状态是使得每一个关键字和MAC地址表中一个唯一的存储位置相对应。如此,在进行查找时,则可根据这个对应关系找到待查找的关键值在MAC地址表中的像,即对应的存储位置。现有技术中,这个对应关系常采用哈希函数,建立的MAC地址表即为哈希表。
在本实施例中,请参阅图5,步骤S110可以包括步骤S111、步骤S112以及步骤S113三个子步骤。
步骤S111,在接收到报文时,以所述报文携带的源MAC地址、VLAN ID作为键值查找所述MAC地址表,以检测所述MAC地址表中是否存在所述报文对应的表项,若不存在,则执行以下步骤S112,若存在,则执行以下步骤S113。
步骤S112,在所述MAC地址表中添加一条表项,并将所述报文的源MAC地址、VLANID以及输入端口映射保存至该表项中,并将当前时间作为时间戳以存储在所述表项中。
步骤S113,对所述MAC地址表中与所述报文对应的表项中存储的时间戳进行更新。
由上述可知,MAC地址表一般是基于报文的源MAC地址并根据哈希函数建立的。为了隔离冲突域和广播域,一般会对交换机的多个端口进行VLAN(Virtual Local AreaNetwork,虚拟局域网)划分,以避免广播信息的不安全性。在交换机接收到报文后,可根据报文携带的源MAC地址和VLAN ID为键值做哈希索引以查找存储的MAC地址表中是否存在该报文对应的表项。
若MAC地址表中不存在该报文对应的表项,则表明该源MAC地址的报文,交换机之前未接收到过,或者是之前很长一段时间内未接收到导致已进行老化处理。这种情况下,可在MAC地址表中添加一条表项,并根据该报文的源MAC地址基于哈希函数找到该报文在MAC地址表中的像,即存储位置。将报文的源MAC地址、VLAN ID和输入端口映射添加至该表项中。并且,将当前时间作为时间戳以存储在该表项中。
若MAC地址表中已存在该报文对应的表项,则表明该报文对应的源MAC地址仍然保持活跃状态。此时,由上述可知,该表项中已存储有上一次接收到该源MAC地址的报文时所插入的时间戳,因此,此时可对该表项中存储的时间戳进行更新,以时间戳来表明该表项的活跃状态的更新状况。
步骤S120,在设定的老化周期到来时,针对MAC地址表中的各条表项,根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理。
由上述可知,为了避免MAC地址表中由于地址存储超期,因此需定期根据接收到的报文的信息对满足老化条件的表项进行老化处理。预先可设置老化周期,老化周期是一个影响交换机学习进程的参数,在老化周期内,如果某个地址未被使用,则可将该地址从MAC地址表中删除。老化周期过长会导致交换机内的MAC地址表超期,从而使交换机做出一些不正确的过滤/转发决定。但是,老化周期过短,会造成MAC地址表刷新过快,大量接收到的报文的目的MAC地址在地址表中找不到,导致VLAN泛洪。经过研究发现,老化周期的范围一般可设置为10秒到1000000秒之间,默认300秒。
在本实施例中,请参阅图6,步骤S120包括步骤S121和步骤S122两个子步骤。
步骤S121,检测当前时间与所述表项中存储的时间戳之间的差值是否大于预设老化时间。
步骤S122,若大于所述预设老化时间,则将所述表项从所述MAC地址表中删除。
在设定的老化周期到来时,老化进行扫描所述MAC地址表中,针对MAC地址表中的各个表项,检测当前时间与表项中存储的时间戳之间的差值是否大于预设老化时间。若大于预设老化时间,则表明交换机未接收到该表项对应的源MAC地址的报文的时间已超过预设老化时间,表明该表项已不处于活跃状态,需对该表项进行老化处理,即将该表项从所述MAC地址表中删除。若表项中的时间戳和当前时间差值未大于预设老化时间,则对下一条表项进行扫描。
步骤S130,在进行报文转发时,获得待转发报文的转发信息,根据所述转发信息查找进行一次老化处理后的MAC地址表以检测是否存在与所述待转发报文对应的表项,若存在,则执行以下步骤S140。
步骤S140,根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理,若不需进行二次老化处理,则执行以下步骤S150,若需要进行二次老化处理,则执行以下步骤S160。
步骤S150,获得所述表项中存储的输出端口,将所述待转发报文从所述输出端口进行转发。
步骤S160,将所述表项从所述MAC地址表中删除以完成二次老化处理。
步骤S170,根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
由于老化周期存在时间范围,而每一次老化处理均需是在老化周期到来时才能执行,因此可能导致某一些表项中记录的时间戳与第一老化周期和第二老化周期之间的某一时刻之间的差值等于预设老化时间,但是仍需在第二老化周期到来时才能进行老化处理,导致老化处理不及时、不彻底。
因此,在本实施例中,在进行报文转发时,可再次根据表项中的时间戳与转发时刻的时间差之间的关系以确定是否进行二次老化处理,使得老化更加准确,提高报文转发的准确性。
本实施例中,在进行报文转发时,可获得待转发报文的转发信息,例如待转发报文的目的MAC地址、VLAN ID等。根据待转发报文的转发信息查找经过一次老化处理后的MAC地址表,以查看是否具有该待转发报文对应的表项。若存在该待转发报文对应的表项,则根据表项中的时间戳以确定是否需要对MAC地址表进行二次老化处理。,
本实施例中,在经过一次老化处理后的MAC地址表存在待转发报文对应的表项的情况下,通过以下步骤确定是否需要对MAC地址表进行二次老化处理:
检测当前时间与所述表项中存储的时间戳之间的差值是否大于预设老化时间,若大于所述预设老化时间,则判定需要对所述MAC地址表进行二次老化处理。
本实施例中,检测当前时间与待转发报文对应的表项中存储的时间戳之间的差值是否大于预设老化时间,若大于预设老化时间,则说明该条表项的时间戳与两次老化周期之间的某一时刻之间的时间差等于预设老化时间,因此导致在第一次老化周期到来时未能进行老化处理。这种情况下,可判定需对MAC地址表进行二次老化处理,即将该表项从MAC地址表中删除,以完成二次老化处理。
在将表项从MAC地址表中删除后,则MAC地址表中已不存在与待转发报文对应的表项。则可根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。本实施例中,VLAN泛洪可通过以下过程实现:
根据所述待转发报文的输入端口所在的VLAN查找VLAN表,以得到加入该VLAN的所有端口,将所述待转发报文转发到除所述输入端口外的其他所有端口。
此外,若表项中的时间戳与转发时刻之间的差值不大于预设时间,则可获得该表项中存储的输出端口,将待转发报文从输出端口进行转发。
此外,在本实施例中,若检测到在进行一次老化处理后MAC地址表中不存在与待转发报文对应的表项时,可跳转至步骤S170以根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
通过以上步骤,可利用在表项中插入时间戳,在老化周期到来时,若当前时间与表项中的时间戳大于预设老化时间,则可将该表项从MAC地址表中删除以完成对MAC地址表的一次老化处理。并且,进一步地,在进行报文转发时,可计算转发时刻与表项中的时间戳之间的差值,在该差值大于预设老化时间时,可将该表项从MAC地址表中删除以完成对MAC地址表的二次老化处理。如此,可避免由于两次老化周期之间的时间间隔,导致某一些表项可能需在两次老化周期某一时刻进行老化,但因第二次老化周期未至未能进行老化处理产生的老化不准确的问题。通过在转发报文时,根据时间戳来确定是否进行二次老化处理,提高了老化准确性,保障了报文转发的准确性。
请参阅图7,为本申请另一实施例提供的一种应用于上述电子设备100的MAC地址管理装置110的功能模块框图。所述MAC地址管理装置110包括MAC地址表更新模块111、第一老化处理模块112、检测模块113、判定模块114、转发模块115、第二老化处理模块116以及VLAN泛洪模块117。
所述MAC地址表更新模块111用于在接收到报文时,根据所述报文携带的报文信息对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中。所述MAC地址表更新模块111可用于执行图4中所示的步骤S110,具体的操作方法可参考步骤S110的详细描述。
所述第一老化处理模块112用于在设定的老化周期到来时,针对MAC地址表中的各条表项,根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理。所述第一老化处理模块112可用于执行图4中所示的步骤S120,具体的操作方法可参考步骤S120的详细描述。
所述检测模块113用于在进行报文转发时,获得待转发报文的转发信息,根据所述转发信息查找进行一次老化处理后的MAC地址表以检测所述MAC地址表中是否存在与所述待转发报文对应的表项。所述检测模块113可用于执行图4中所示的步骤S130,具体的操作方法可参考步骤S130和步骤S140的详细描述。
所述判定模块114用于在存在与所述待转发报文对应的表项时,根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理。所述判定模块114可用于执行图4中所示的步骤S140,具体的操作方法可参考步骤S140的详细描述。
所述转发模块115用于在不需要进行二次老化处理时,获得所述表项中存储的输出端口,将所述待转发报文从所述输出端口进行转发。所述转发模块115可用于执行图4中所示的步骤S150,具体的操作方法可参考步骤S150的详细描述。
所述第二老化处理模块116用于在需要进行二次老化处理时,将所述表项从所述MAC地址表中删除以完成二次老化处理。所述第二老化处理模块116可用于执行图4中所示的步骤S160,具体的操作方法可参考步骤S160的详细描述。
所述VLAN泛洪模块117用于根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。所述VLAN泛洪模块117可用于执行图4中所示的步骤S170,具体的操作方法可参考步骤S170的详细描述。
请参阅图8,在本实施例中,所述MAC地址表更新模块111包括查找单元1111、添加单元1112以及时间戳更新单元1113。
所述查找单元1111用于在接收到报文时,以所述报文携带的源MAC地址、VLAN ID作为键值查找所述MAC地址表,以检测所述MAC地址表中是否存在所述报文对应的表项。所述查找单元1111可用于执行图5中所示的步骤S111,具体的操作方法可参考步骤S111的详细描述。
所述添加单元1112用于在所述MAC地址表中不存在所述报文对应的表项时,在所述MAC地址表中添加一条表项,并将所述报文的源MAC地址、VLAN ID以及输入端口映射保存至该表项中,并将当前时间作为时间戳以存储在所述表项中。所述添加单元1112可用于执行图5中所示的步骤S112,具体的操作方法可参考步骤S112的详细描述。
所述时间戳更新单元1113用于在所述MAC地址表中存在所述报文对应的表项时,对所述MAC地址表中与所述报文对应的表项中存储的时间戳进行更新。所述时间戳更新单元1113可用于执行图5中所示的步骤S113,具体的操作方法可参考步骤S113的详细描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本申请实施例提供一种MAC地址管理方法、装置及电子设备100,通过在MAC地址表的表项中插入时间戳,在老化周期到来时,根据各个表项中的时间戳来判定是否进行一次老化处理,并且在进行报文转发时,根据待转发报文所对应表项的时间戳以判定是否进行二次老化处理。如此,避免了由于老化周期的时间粒度问题导致的一次老化处理不及时引起的转发错误的问题,减小了老化时间的误差,使得报文转发行为更加准确。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种MAC地址管理方法,其特征在于,应用于存储有MAC地址表的电子设备,所述方法包括:
在接收到报文时,根据所述报文携带的报文信息对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中;
在设定的老化周期到来时,针对MAC地址表中的各条表项,根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理;
在进行报文转发时,获得待转发报文的转发信息,根据所述转发信息查找进行一次老化处理后的MAC地址表以检测所述MAC地址表中是否存在与所述待转发报文对应的表项,若存在与所述待转发报文对应的表项,则根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理;
若不需要进行二次老化处理,则获得所述表项中存储的输出端口,将所述待转发报文从所述输出端口进行转发;
若需要进行二次老化处理,则将所述表项从所述MAC地址表中删除以完成二次老化处理,并根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
2.根据权利要求1所述的MAC地址管理方法,其特征在于,所述根据所述待转发报文所在的VLAN,进行VLAN泛洪的步骤,包括:
根据所述待转发报文的输入端口所在的VLAN查找VLAN表,以得到加入该VLAN的所有端口,将所述待转发报文转发到除所述输入端口外的其他所有端口。
3.根据权利要求1所述的MAC地址管理方法,其特征在于,所述在接收到报文时,根据所述报文携带的报文对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中的步骤,包括:
在接收到报文时,以所述报文携带的源MAC地址、VLAN ID作为键值查找所述MAC地址表,以检测所述MAC地址表中是否存在所述报文对应的表项;
若不存在,则在所述MAC地址表中添加一条表项,并将所述报文的源MAC地址、VLAN ID以及输入端口映射保存至该表项中,并将当前时间作为时间戳以存储在所述表项中;
若存在,则对所述MAC地址表中与所述报文对应的表项中存储的时间戳进行更新。
4.根据权利要求2所述的MAC地址管理方法,其特征在于,所述根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理的步骤,包括:
检测当前时间与所述表项中存储的时间戳之间的差值是否大于预设老化时间;
若大于所述预设老化时间,则将所述表项从所述MAC地址表中删除。
5.根据权利要求1所述的MAC地址管理方法,其特征在于,在进行一次老化处理后的MAC地址表中不存在与所述待转发报文对应的表项时,所述方法还包括:
根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
6.根据权利要求1所述的MAC地址管理方法,其特征在于,所述根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理的步骤,包括:
检测当前时间与所述表项中存储的时间戳之间的差值是否大于预设老化时间,若大于所述预设老化时间,则判定需要对所述MAC地址表进行二次老化处理。
7.根据权利要求1所述的MAC地址管理方法,其特征在于,所述报文信息包括报文的源MAC地址以及VLAN ID,所述转发信息包括待转发报文的目的MAC地址以及VLAN ID。
8.一种MAC地址管理装置,其特征在于,应用于存储有MAC地址表的电子设备,所述装置包括:
MAC地址表更新模块,用于在接收到报文时,根据所述报文携带的报文信息对所述MAC地址表进行更新,并以当前时间为时间戳,将所述时间戳插入至更新后的MAC地址表中与所述报文对应的表项中;
第一老化处理模块,用于在设定的老化周期到来时,针对MAC地址表中的各条表项,根据所述表项中存储的时间戳对所述MAC地址表进行一次老化处理;
检测模块,用于在进行报文转发时,获得待转发报文的转发信息,根据所述转发信息查找进行一次老化处理后的MAC地址表以检测所述MAC地址表中是否存在与所述待转发报文对应的表项;
判定模块,用于在存在与所述待转发报文对应的表项时,根据所述表项中存储的时间戳以确定是否需要对所述MAC地址表进行二次老化处理;
转发模块,用于在不需要进行二次老化处理时,获得所述表项中存储的输出端口,将所述待转发报文从所述输出端口进行转发;
第二老化处理模块,用于在需要进行二次老化处理时,将所述表项从所述MAC地址表中删除以完成二次老化处理;
VLAN泛洪模块,用于根据所述待转发报文的输入端口所在的VLAN,进行VLAN泛洪。
9.根据权利要求8所述的MAC地址管理装置,其特征在于,所述MAC地址表更新模块包括查找单元、添加单元以及时间戳更新单元;
所述查找单元用于在接收到报文时,以所述报文携带的源MAC地址、VLAN ID作为键值查找所述MAC地址表,以检测所述MAC地址表中是否存在所述报文对应的表项;
所述添加单元用于在所述MAC地址表中不存在所述报文对应的表项时,在所述MAC地址表中添加一条表项,并将所述报文的源MAC地址、VLAN ID以及输入端口映射保存至该表项中,并将当前时间作为时间戳以存储在所述表项中;
所述时间戳更新单元用于在所述MAC地址表中存在所述报文对应的表项时,对所述MAC地址表中与所述报文对应的表项中存储的时间戳进行更新。
10.一种电子设备,其特征在于,包括:
存储器;
一个或多个处理器;及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置成由所述一个或多个处理器执行,所述程序用于执行权利要求1-7任意一项MAC地址管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810401882.0A CN108616614B (zh) | 2018-04-28 | 2018-04-28 | Mac地址管理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810401882.0A CN108616614B (zh) | 2018-04-28 | 2018-04-28 | Mac地址管理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616614A CN108616614A (zh) | 2018-10-02 |
CN108616614B true CN108616614B (zh) | 2021-04-06 |
Family
ID=63661331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810401882.0A Active CN108616614B (zh) | 2018-04-28 | 2018-04-28 | Mac地址管理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616614B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671653B (zh) * | 2020-12-02 | 2022-07-01 | 国家计算机网络与信息安全管理中心 | 一种基于多核异构平台的cam表的操作方法 |
CN113794642B (zh) * | 2021-08-27 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种mac表项同步方法及装置 |
CN114900456B (zh) * | 2022-05-17 | 2023-10-31 | 苏州雄立科技有限公司 | 一种mac地址管理装置及方法 |
CN115438095A (zh) * | 2022-08-31 | 2022-12-06 | 中华人民共和国广东海事局 | 位置信息处理方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488862A (zh) * | 2009-02-23 | 2009-07-22 | 中兴通讯股份有限公司 | 分布式以太网交换机及其内部的mac地址维护方法 |
CN102404148A (zh) * | 2011-11-22 | 2012-04-04 | 华为技术有限公司 | 一种mac地址表管理方法及装置 |
CN103581022A (zh) * | 2013-10-23 | 2014-02-12 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN104506462A (zh) * | 2014-12-16 | 2015-04-08 | 福建星网锐捷网络有限公司 | 一种分布式交换机中mac地址管理方法及设备 |
CN105634999A (zh) * | 2014-11-05 | 2016-06-01 | 北京东土科技股份有限公司 | 一种介质访问控制地址的老化方法及装置 |
CN105959430A (zh) * | 2016-05-31 | 2016-09-21 | 深圳市风云实业有限公司 | 一种交换机mac地址老化方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6597700B2 (en) * | 1999-06-30 | 2003-07-22 | Nortel Networks Limited | System, device, and method for address management in a distributed communication environment |
CN103019858B (zh) * | 2012-12-03 | 2016-08-17 | 中兴通讯股份有限公司 | 媒体访问控制老化方法及网络处理器 |
CN104579718B (zh) * | 2013-10-10 | 2018-07-24 | 杭州迪普科技股份有限公司 | 一种优化arp老化机制的装置和方法 |
US9985837B2 (en) * | 2015-07-23 | 2018-05-29 | Cisco Technology, Inc. | Refresh of the binding tables between data-link-layer and network-layer addresses on mobility in a data center environment |
CN105812264B (zh) * | 2016-03-15 | 2019-04-19 | 西安电子科技大学 | 多路并行的mac地址学习和地址查找的装置及方法 |
CN106130833B (zh) * | 2016-06-20 | 2019-11-22 | 西安电子科技大学 | 基于Inter-MAC层的家庭网络融合方法及装置 |
-
2018
- 2018-04-28 CN CN201810401882.0A patent/CN108616614B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488862A (zh) * | 2009-02-23 | 2009-07-22 | 中兴通讯股份有限公司 | 分布式以太网交换机及其内部的mac地址维护方法 |
CN102404148A (zh) * | 2011-11-22 | 2012-04-04 | 华为技术有限公司 | 一种mac地址表管理方法及装置 |
CN103581022A (zh) * | 2013-10-23 | 2014-02-12 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN105634999A (zh) * | 2014-11-05 | 2016-06-01 | 北京东土科技股份有限公司 | 一种介质访问控制地址的老化方法及装置 |
CN104506462A (zh) * | 2014-12-16 | 2015-04-08 | 福建星网锐捷网络有限公司 | 一种分布式交换机中mac地址管理方法及设备 |
CN105959430A (zh) * | 2016-05-31 | 2016-09-21 | 深圳市风云实业有限公司 | 一种交换机mac地址老化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108616614A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108616614B (zh) | Mac地址管理方法、装置及电子设备 | |
US10656981B2 (en) | Anomaly detection using sequences of system calls | |
CN100542129C (zh) | 数据包传送装置 | |
CN105306436B (zh) | 一种异常流量检测方法 | |
TW201918050A (zh) | 訊息處理方法及裝置 | |
US7571239B2 (en) | Credential management and network querying | |
US10078655B2 (en) | Reconciling sensor data in a database | |
US20210273964A1 (en) | Abnormality sensing device and abnormality sensing method | |
US11616603B2 (en) | Telemetry data error detection | |
CN108307001B (zh) | Mac地址老化方法、装置及电子设备 | |
CN113810518A (zh) | 有效子域名识别方法、装置和电子设备 | |
US9419909B2 (en) | Determining when to relearn a relationship between a network address and a port | |
CN107590160B (zh) | 一种监控基数树内部结构以实现测试的方法及装置 | |
JP2017021704A (ja) | 情報処理装置及び情報処理装置制御方法 | |
US20180227321A1 (en) | Reputation score for newly observed domain | |
CN115309907B (zh) | 告警日志关联方法及装置 | |
US10346611B1 (en) | Detecting malicious software | |
CN109255238B (zh) | 终端威胁检测与响应方法及引擎 | |
CN108156203B (zh) | 一种存储系统及存储节点管理方法 | |
JP5249859B2 (ja) | スイッチング装置およびスイッチング方法 | |
WO2015090081A1 (zh) | 一种路由信息的老化方法、装置及计算机存储介质 | |
CN112039829A (zh) | 域名系统的劫持检测及上报方法、装置 | |
CN106612299B (zh) | 访问请求的处理方法和装置 | |
CN117527641B (zh) | 数据报文的丢包观测方法、装置、设备及存储介质 | |
CN111447213B (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 |