CN101702680B - 媒体接入控制地址的老化方法、装置和通信设备 - Google Patents

媒体接入控制地址的老化方法、装置和通信设备 Download PDF

Info

Publication number
CN101702680B
CN101702680B CN2009102263689A CN200910226368A CN101702680B CN 101702680 B CN101702680 B CN 101702680B CN 2009102263689 A CN2009102263689 A CN 2009102263689A CN 200910226368 A CN200910226368 A CN 200910226368A CN 101702680 B CN101702680 B CN 101702680B
Authority
CN
China
Prior art keywords
mac
mac address
access control
media access
map record
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
CN2009102263689A
Other languages
English (en)
Other versions
CN101702680A (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.)
Beijing Zhigu Tech Co Ltd
Original Assignee
Fujian Star Net Communication 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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN2009102263689A priority Critical patent/CN101702680B/zh
Publication of CN101702680A publication Critical patent/CN101702680A/zh
Application granted granted Critical
Publication of CN101702680B publication Critical patent/CN101702680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供一种媒体接入控制地址的老化方法、装置和通信设备,该媒体接入控制地址的老化方法包括:新建数据流之后,在MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值;在清除无效的数据流记录的过程中,将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值;在对MAC地址映射表进行老化,遍历MAC地址映射表的过程中,跳过引用计数器的值不符合遍历条件的MAC地址映射记录,仅对引用计数器的值符合遍历条件的MAC地址映射记录进行老化处理。本发明实施例减少了内存访问次数,提高报文转发性能。

Description

媒体接入控制地址的老化方法、装置和通信设备
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种媒体接入控制地址的老化方法、装置和通信设备。 
背景技术
防火墙通常有若干个物理接口,每个物理接口通常都连接着若干个联网设备,例如:个人电脑(Personal Computer;以下简称:PC)等。每个联网设备都有一个唯一的链路层地址:媒体接入控制(Media AccessControl;以下简称:MAC)地址。 
每个数据链路帧携带源MAC地址和目的MAC地址,防火墙需要建立并维护一份MAC地址映射表,记录每个数据链路帧的源MAC地址和物理接口的映射关系。具体地,每收到一个数据链路帧,防火墙建立接收该数据链路帧的物理接口和数据链路帧的源MAC地址的映射关系,并记录到MAC地址映射表。 
MAC地址映射表占用系统内存,而MAC地址映射表可用的内存是有限的,因此需要建立MAC地址映射表的老化机制,及时清除无效的MAC地址与物理接口的映射记录,避免MAC地址映射表被大量无用信息占用,导致无法建立新的记录,造成系统工作异常。具体地,如果在预定时间内(通常是5分钟),防火墙没有收到来自某个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地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值; 
所述设置模块还用于在清除无效的数据流记录的过程中,将所述MAC地址映射表中,所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点; 
老化模块,用于在对所述MAC地址映射表进行老化,遍历所述MAC地址映射表的过程中,跳过所述引用计数器的值不符合遍历条件的MAC地址映射记录,仅对所述引用计数器的值符合所述遍历条件的MAC地址映射记录进行老化处理。 
本发明实施例还提供一种通信设备,包括上述媒体接入控制地址的老化装置。 
本发明实施例通过在MAC地址映射记录中增加引用计数器,在对MAC地址映射表进行老化,遍历MAC地址映射表的过程中,跳过引用计数器的值不符合遍历条件的MAC地址映射记录,仅对引用计数器的值符合遍历条件的MAC地址映射记录进行老化处理,减少了报文转发过程中更新MAC地址映射记录的时间戳的操作开销,从而减少了内存访问次数,进而提高了报文转发性能。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 
图1为本发明媒体接入控制地址的老化方法一个实施例的流程图; 
图2为本发明媒体接入控制地址的老化方法另一个实施例的流程图; 
图3为本发明媒体接入控制地址的老化装置一个实施例的结构示意图; 
图4为本发明媒体接入控制地址的老化装置另一个实施例的结构示意图。 
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。 
图1为本发明媒体接入控制地址的老化方法一个实施例的流程图,如图1所示,该实施例可以包括: 
步骤101,在新建数据流之后,在MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值。 
本实施例中,该第一预定数值为正整数,本实施例对第一预定数值的大小不作限定,可以将该第一预定数值设为1。 
步骤102,在清除无效的数据流记录的过程中,将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将上述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点。 
其中,第二预定数值为正整数,可以等于第一预定数值,也可以不等于第一预定数值,本实施例对第二预定数值的大小同样不作限定,可以将该第二预定数值设为1。 
本实施例中,在通信设备清除无效的数据流记录的过程中,会将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的 MAC地址映射记录的引用计数器的值减去1,并将上述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点;其中,该通信设备可以为路由器、交换机、路由器检测设备、入侵防御系统、网络防火墙或防火墙等以数据流跟踪数据交互过程,并根据MAC地址映射表进行数据交互的设备,本发明实施例以该通信设备为防火墙为例进行说明;该预定时间点可以为当前时间点,也可以为当前时间点加预定时间后的时间点;其中,该预定时间可以根据数据流使用的传输协议或用户需求进行配置,例如:可以将该预定时间设为5分钟;本发明实施例对预定时间点和预定时间的设定不作限定。 
防火墙的报文过滤功能可以跟踪完整的数据交互过程,在一定的上下文环境中,审核数据交互过程中每个交互报文的合法性。具体地,每收到一个数据流的首报文,防火墙在数据流表中新建一条数据流记录,每条数据流记录至少包括该数据流的源MAC地址、目的MAC地址和时间戳;其中该数据流的源MAC地址和目的MAC地址即为首报文的源MAC地址和目的MAC地址;由于同一数据流中的报文具有相同的源MAC地址和目的MAC地址,因此防火墙可以根据报文中的源MAC地址和目的MAC地址,确定报文属于哪个数据流;每接收到一个报文,防火墙将数据流表中与该报文所属数据流对应的数据流记录的时间戳更新为接收到报文的时间点加预定时间后的时间点。防火墙会定期执行数据流表老化程序,清除无效的数据流记录,无效的数据流记录即为时间戳比当前时间点更早的数据流记录。 
本实施例中,在运行数据流表老化程序,清除无效的数据流记录的过程中,防火墙会将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减1,并将上述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点。 
步骤103,在对MAC地址映射表进行老化,遍历MAC地址映射表的过 程中,跳过引用计数器的值不符合遍历条件的MAC地址映射记录,仅对引用计数器的值符合遍历条件的MAC地址映射记录进行老化处理。 
本实施例中,当第一预定数值和第二预定数值相等,例如:第一预定数值和第二预定数值均为1时,可以将该遍历条件设置为引用计数器的值为0。当然也可以将该遍历条件设置为引用计数器的值为1或其他数值,以上只是遍历条件的几种示例,本发明实施例并不仅限于此,本发明实施例对遍历条件的设置方式不作限定。但本发明实施例中,以遍历条件为引用计数器的值为0为例进行说明。 
具体地,MAC地址映射记录的引用计数器的值不为0,说明该MAC地址对应的设备仍在收发报文,因此防火墙在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,可以不遍历引用计数器的值不为0的MAC地址映射记录,仅遍历引用计数器的值为0的MAC地址映射记录,清除时间戳比当前时间点更早的MAC地址映射记录,并释放该MAC地址映射记录占用的内存资源。 
上述实施例中,通过在MAC地址映射记录中增加引用计数器,防火墙在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,跳过引用计数器的值不为0的MAC地址映射记录,仅对引用计数器的值为0的MAC地址映射记录进行老化处理,减少了防火墙在报文转发过程中更新MAC地址映射记录的时间戳的操作开销,从而减少了内存访问次数,进而提高了防火墙的报文转发性能。 
图2为本发明媒体接入控制地址的老化方法另一个实施例的流程图,本实施例以第一预定数值和第二预定数值均为1,遍历条件为引用计数器的值为0,通信设备为防火墙为例进行说明。如图2所示,该实施例可以包括: 
步骤201,新建数据流之前,预先为MAC地址映射表中的每条MAC地址映射记录添加引用计数器。 
步骤202,新建数据流之后,将新建数据流的源MAC地址和目的MAC 地址对应的MAC地址映射记录的引用计数器的值加1,并将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的索引记录在数据流表与新建数据流对应的数据流记录中。 
具体地,每收到一个数据流的首报文,防火墙在数据流表中新建一条数据流记录,每条数据流记录至少包括该数据流的源MAC地址、目的MAC地址和时间戳;其中该数据流的源MAC地址和目的MAC地址即为首报文的源MAC地址和目的MAC地址。 
每新建一条数据流,防火墙就会在MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加1;并在数据流表中记录该源MAC地址和目的MAC地址对应的MAC地址映射记录的索引,具体地,可以将新建数据流的源MAC地址对应的MAC地址映射记录的索引,以及该新建数据流的目的MAC地址对应的MAC地址映射记录的索引记录在数据流表与该新建数据流对应的数据流记录中。 
如果在接收到数据流的首报文之后,MAC地址映射表中不存在与该首报文的源MAC地址和/或目的MAC地址对应的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地址映射表中不存在与新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录,则可以在添加源MAC地址对应的MAC地址映射记录和引用计数器之后,将源MAC地址对应的MAC地址映射记录的引用计数器的值加1,在添加目的MAC地址对应的MAC地址映射记录和引用计数器之后,再将目的MAC地址对应的MAC地址映射记录的引用计数器的值加1;也可以在将源MAC地址对应的MAC地址映射记录和目的MAC地址对应的MAC地址映射记录和引用计数器添加完毕之后,再将源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加1。本发明实施例对源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的置值的时间点不作限定,只要可以实现在新建数据流之后,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加1即可。 
本实施例中,在新建数据流之前,预先为MAC地址映射表中的每条MAC地址映射记录添加引用计数器,在新建数据流之后,如果MAC地址映射表中不存在该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,则在MAC地址映射表中添加该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录之后,为该MAC地址映射记录添加引用计数器;当然,本发明实施例并不仅限于此,也可以不预先添加引用计数器,在新建数据流之后,如果该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录没有引用计数器,则为该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录添加引用计数器。本发明实施例对引用计数器的添加方式不作限定,任何可以为MAC地址映射记录添加引用计数器的方法均应落入本发明实施例的保护范围。 
本发明实施例中,该引用计数器的初值可以为0,当然也可以为其他数值,本发明实施例对引用计数器的初值不作限定。本发明实施例以引用计数 器的初值为0为例进行说明。 
步骤203,在运行数据流表老化程序,清除无效的数据流记录的过程中,根据该无效的数据流记录中记录的索引,在MAC地址映射表中查找该无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录。 
由于同一数据流中的报文具有相同的源MAC地址和目的MAC地址,因此防火墙可以根据报文中的源MAC地址和目的MAC地址,确定报文属于哪个数据流;每接收到一个报文,防火墙将数据流表中与该报文所属数据流对应的数据流记录的时间戳更新为接收到报文的时间点加预定时间后的时间点。防火墙会定期执行数据流表老化程序,清除无效的数据流记录,无效的数据流记录即为时间戳比当前时间点更早的数据流记录。 
在防火墙运行数据流表老化程序,清除无效的数据流记录的过程中,防火墙可以根据无效的数据流记录中记录的索引,在MAC地址映射表中查找该无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录。 
步骤204,将查找到的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减1,并将上述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点。 
其中,该预定时间点可以为当前时间点,也可以为当前时间点加预定时间后的时间点;该预定时间可以根据数据流使用的传输协议或用户需求进行配置,例如:可以将该预定时间设为5分钟;本发明实施例对预定时间点和预定时间的设定不作限定。 
步骤205,在对MAC地址映射表进行老化,遍历MAC地址映射表的过程中,跳过引用计数器的值不为0的MAC地址映射记录,仅对引用计数器的值为0的MAC地址映射记录进行老化处理。 
具体地,MAC地址映射记录的引用计数器的值不为0,说明该MAC地址对应的设备仍在收发报文,因此防火墙在运行MAC地址映射表老化程序, 遍历MAC地址映射表的过程中,可以不遍历引用计数器的值不为0的MAC地址映射记录,仅遍历引用计数器的值为0的MAC地址映射记录,清除时间戳比当前时间点更早的MAC地址映射记录,并释放该MAC地址映射记录占用的内存资源。 
上述实施例中,通过在MAC地址映射记录中增加引用计数器,防火墙在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,跳过引用计数器的值不为0的MAC地址映射记录,仅对引用计数器的值为0的MAC地址映射记录进行老化处理,因此对每个报文至少减少了一次内存访问,从而减少了防火墙在报文转发过程中更新MAC地址映射记录的时间戳的操作开销,进而提高了防火墙的报文转发性能。 
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 
图3为本发明媒体接入控制地址的老化装置一个实施例的结构示意图,该媒体接入控制地址的老化装置可以作为通信设备,或通信设备的一部分,实现本发明图1所示实施例的流程;其中,该通信设备可以为路由器、交换机、路由器检测设备、入侵防御系统、网络防火墙或防火墙等以数据流跟踪数据交互过程,并根据MAC地址映射表进行数据交互的设备,本发明实施例以该通信设备为防火墙为例进行说明。 
如图3所示,该媒体接入控制地址的老化装置可以包括:设置模块31和老化模块32。 
其中,设置模块31,用于在新建数据流之后,在MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值;该第一预定数值为正整数,本实施例对 第一预定数值的大小不作限定,可以将该第一预定数值设为1。 
设置模块31还用于在清除无效的数据流记录的过程中,将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点;其中,第二预定数值为正整数,可以等于第一预定数值,也可以不等于第一预定数值,本实施例对第二预定数值的大小同样不作限定,可以将该第二预定数值设为1;该预定时间点可以为当前时间点,也可以为当前时间点加预定时间后的时间点;其中,该预定时间可以根据数据流使用的传输协议或用户需求进行配置,例如:可以将该预定时间设为5分钟;本发明实施例对预定时间点和预定时间的设定不作限定。 
防火墙的报文过滤功能可以跟踪完整的数据交互过程,在一定的上下文环境中,审核数据交互过程中每个交互报文的合法性。具体地,每收到一个数据流的首报文,防火墙在数据流表中新建一条数据流记录,每条数据流记录至少包括该数据流的源MAC地址、目的MAC地址和时间戳;其中该数据流的源MAC地址和目的MAC地址即为首报文的源MAC地址和目的MAC地址;由于同一数据流中的报文具有相同的源MAC地址和目的MAC地址,因此防火墙可以根据报文中的源MAC地址和目的MAC地址,确定报文属于哪个数据流;每接收到一个报文,防火墙将数据流表中与该报文所属数据流对应的数据流记录的时间戳更新为接收到报文的时间点加预定时间后的时间点。防火墙会定期执行数据流表老化程序,清除无效的数据流记录,无效的数据流记录即为时间戳比当前时间点更早的数据流记录。 
本实施例中,在运行数据流表老化程序,清除无效的数据流记录的过程中,设置模块31会将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减1,并将上述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置 为预定时间点。 
老化模块32,用于在对MAC地址映射表进行老化,遍历MAC地址映射表的过程中,跳过引用计数器的值不符合遍历条件的MAC地址映射记录,仅对引用计数器的值符合遍历条件的MAC地址映射记录进行老化处理。 
其中,该遍历条件可以为引用计数器的值为0,当然也可以其他方式设置遍历条件,例如:可以将该遍历条件设置为引用计数器的值为1或其他数值,以上只是遍历条件的几种示例,本发明实施例并不仅限于此,本发明实施例对遍历条件的设置方式不作限定。但本发明实施例中,以遍历条件为引用计数器的值为0为例进行说明。 
具体地,MAC地址映射记录的引用计数器的值不为0,说明该MAC地址对应的设备仍在收发报文,因此老化模块32在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,可以不遍历引用计数器的值不为0的MAC地址映射记录,仅遍历引用计数器的值为0的MAC地址映射记录,清除时间戳比当前时间点更早的MAC地址映射记录,并释放该MAC地址映射记录占用的内存资源。 
上述实施例中,通过在MAC地址映射记录中增加引用计数器,老化模块32在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,跳过引用计数器的值不为0的MAC地址映射记录,仅对引用计数器的值为0的MAC地址映射记录进行老化处理,减少了防火墙在报文转发过程中更新MAC地址映射记录的时间戳的操作开销,从而减少了内存访问次数,进而提高了防火墙的报文转发性能。 
图4为本发明媒体接入控制地址的老化装置另一个实施例的结构示意图,该媒体接入控制地址的老化装置可以作为通信设备,或通信设备的一部分,实现本发明图1或图2所示实施例的流程;其中,该通信设备可以为路由器、交换机、路由器检测设备、入侵防御系统、网络防火墙或防火墙等以数据流跟踪数据交互过程,并根据MAC地址映射表进行数据交互的设备, 本发明实施例以该通信设备为防火墙为例进行说明。 
如图4所示,该媒体接入控制地址的老化装置可以包括:设置模块41、老化模块42、第一添加模块43、记录模块44和第二添加模块45。 
其中,设置模块41,用于在新建数据流之后,在MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值;该第一预定数值为正整数,本实施例对第一预定数值的大小不作限定,可以将该第一预定数值设为1。 
设置模块41还用于在清除无效的数据流记录的过程中,将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点;其中,第二预定数值为正整数,可以等于第一预定数值,也可以不等于第一预定数值,本实施例对第二预定数值的大小同样不作限定,可以将该第二预定数值设为1;该预定时间点可以为当前时间点,也可以为当前时间点加预定时间后的时间点;其中,该预定时间可以根据数据流使用的传输协议或用户需求进行配置,例如:可以将该预定时间设为5分钟;本发明实施例对预定时间点和预定时间的设定不作限定。 
防火墙的报文过滤功能可以跟踪完整的数据交互过程,在一定的上下文环境中,审核数据交互过程中每个交互报文的合法性。具体地,每收到一个数据流的首报文,防火墙在数据流表中新建一条数据流记录,每条数据流记录至少包括该数据流的源MAC地址、目的MAC地址和时间戳;其中该数据流的源MAC地址和目的MAC地址即为首报文的源MAC地址和目的MAC地址;由于同一数据流中的报文具有相同的源MAC地址和目的MAC地址,因此防火墙可以根据报文中的源MAC地址和目的MAC地址,确定报文属于哪个数据流;每接收到一个报文,防火墙将数据流表中与该报文所属数据流对应的数据流记录的时间戳更新为接收到报文的时间点加预定时间后的时间 点。防火墙会定期执行数据流表老化程序,清除无效的数据流记录,无效的数据流记录即为时间戳比当前时间点更早的数据流记录。 
本实施例中,在运行数据流表老化程序,清除无效的数据流记录的过程中,设置模块41会将MAC地址映射表中,无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减1,并将上述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点。 
老化模块42,用于在对MAC地址映射表进行老化,遍历MAC地址映射表的过程中,跳过引用计数器的值不符合遍历条件的MAC地址映射记录,仅对引用计数器的值符合遍历条件的MAC地址映射记录进行老化处理。 
其中,该遍历条件可以为引用计数器的值为0,当然也可以其他方式设置遍历条件,例如:可以将该遍历条件设置为引用计数器的值为1或其他数值,以上只是遍历条件的几种示例,本发明实施例并不仅限于此,本发明实施例对遍历条件的设置方式不作限定。但本发明实施例中,以遍历条件为引用计数器的值为0为例进行说明。 
具体地,MAC地址映射记录的引用计数器的值不为0,说明该MAC地址对应的设备仍在收发报文,因此老化模块42在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,可以不遍历引用计数器的值不为0的MAC地址映射记录,仅遍历引用计数器的值为0的MAC地址映射记录,清除时间戳比当前时间点更早的MAC地址映射记录,并释放该MAC地址映射记录占用的内存资源。 
第一添加模块43,用于在新建数据流之前,预先为MAC地址映射表中的每条MAC地址映射记录添加引用计数器。本实施例中,在新建数据流之前,第一添加模块43预先为MAC地址映射表中的每条MAC地址映射记录添加引用计数器,如果MAC地址映射表中不存在该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,则在MAC地址映射表中 添加该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录之后,为该MAC地址映射记录添加引用计数器;当然,本发明实施例并不仅限于此,也可以不预先添加引用计数器,在新建数据流之后,如果该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录没有引用计数器,则为该新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录添加引用计数器。本发明实施例对引用计数器的添加方式不作限定,任何可以为MAC地址映射记录添加引用计数器的方法均应落入本发明实施例的保护范围。 
其中,该引用计数器的初值可以为0,当然也可以为其他数值,本发明实施例对引用计数器的初值不作限定。本发明实施例以引用计数器的初值为0为例进行说明。 
记录模块44,用于将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的索引记录在数据流表与新建数据流对应的数据流记录中。 
本实施例中,设置模块41可以包括:第一设置子模块411、查找子模块412和第二设置子模块413。 
其中,第一设置子模块411,用于在新建数据流之后,在MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值; 
查找子模块412,用于根据记录模块44记录的索引,在MAC地址映射表中查找无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录; 
第二设置子模块413,用于将查找子模块412查找到的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点。 
该媒体接入控制地址的老化装置还可以包括: 
第二添加模块45,用于在新建数据流之后,如果MAC地址映射表中不存在与新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,则在MAC地址映射表中添加新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,并为该MAC地址映射记录添加引用计数器。 
具体地,第二添加模块45可以包括:第一记录添加子模块451和/或第二记录添加子模块452。其中,第一记录添加子模块451,用于在MAC地址映射表中添加新建数据流的源MAC地址与接收新建数据流的首报文的物理接口的映射记录,并为该映射记录添加引用计数器;第二记录添加子模块452,用于在接收到目的端对新建数据流的首报文的响应报文之后,在MAC地址映射表中添加新建数据流的目的MAC地址与接收响应报文的物理接口的映射记录,并为该映射记录添加引用计数器。 
上述实施例中,通过在MAC地址映射记录中增加引用计数器,老化模块42在运行MAC地址映射表老化程序,遍历MAC地址映射表的过程中,跳过引用计数器的值不为0的MAC地址映射记录,仅对引用计数器的值为0的MAC地址映射记录进行老化处理,因此对每个报文至少减少了一次内存访问,从而减少了防火墙在报文转发过程中更新MAC地址映射记录的时间戳的操作开销,进而提高了防火墙的报文转发性能。 
本发明实施例还提供了一种通信设备,该通信设备可以通过本发明图3或图4所示的媒体接入控制地址的老化装置实现,在此不再赘述;该该通信设备可以为路由器、交换机、路由器检测设备、入侵防御系统、网络防火墙或防火墙等以数据流跟踪数据交互过程,并根据MAC地址映射表进行数据交互的设备。 
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。 
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。 
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。 

Claims (12)

1.一种媒体接入控制地址的老化方法,其特征在于,包括:
新建数据流之后,在媒体接入控制MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值;
在清除无效的数据流记录的过程中,将所述MAC地址映射表中,所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点;
在对所述MAC地址映射表进行老化,遍历所述MAC地址映射表的过程中,跳过所述引用计数器的值不符合遍历条件的MAC地址映射记录,仅对所述引用计数器的值符合所述遍历条件的MAC地址映射记录进行老化处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
新建数据流之前,预先为所述MAC地址映射表中的每条MAC地址映射记录添加引用计数器。
3.根据权利要求2所述的方法,其特征在于,所述将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值之后,还包括:
将所述新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的索引记录在数据流表与所述新建数据流对应的数据流记录中。
4.根据权利要求3所述的方法,其特征在于,所述将所述MAC地址映射表中,所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值包括:
根据所述无效的数据流记录中记录的索引,在所述MAC地址映射表中查找所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录,并将查找到的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去所述第二预定数值。
5.根据权利要求2所述的方法,其特征在于,所述在媒体接入控制MAC 地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值之前,还包括:
在新建数据流之后,如果所述MAC地址映射表中不存在与新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,则在所述MAC地址映射表中添加所述新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,并为所述MAC地址映射记录添加引用计数器。
6.根据权利要求5所述的方法,其特征在于,所述在所述MAC地址映射表中添加所述新建数据流的源MAC地址对应的MAC地址映射记录包括:
在所述MAC地址映射表中添加所述新建数据流的源MAC地址与接收所述新建数据流的首报文的物理接口的映射记录;
所述在所述MAC地址映射表中添加所述新建数据流的目的MAC地址对应的MAC地址映射记录包括:
在接收到目的端对所述新建数据流的首报文的响应报文之后,在所述MAC地址映射表中添加所述新建数据流的目的MAC地址与接收所述响应报文的物理接口的映射记录。
7.一种媒体接入控制地址的老化装置,其特征在于,包括:
设置模块,用于在新建数据流之后,在媒体接入控制MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值;
所述设置模块还用于在清除无效的数据流记录的过程中,将所述MAC地址映射表中,所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点;
老化模块,用于在对所述MAC地址映射表进行老化,遍历所述MAC地址映射表的过程中,跳过所述引用计数器的值不符合遍历条件的MAC地址映射记录,仅对所述引用计数器的值符合所述遍历条件的MAC地址映射记录进行老化处理。 
8.根据权利要求7所述的装置,其特征在于,还包括:
第一添加模块,用于在新建数据流之前,预先为所述MAC地址映射表中的每条MAC地址映射记录添加引用计数器。
9.根据权利要求8所述的装置,其特征在于,还包括:
记录模块,用于将所述新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的索引记录在数据流表与所述新建数据流对应的数据流记录中。
10.根据权利要求9所述的装置,其特征在于,所述设置模块包括:
第一设置子模块,用于在新建数据流之后,在所述MAC地址映射表中,将新建数据流的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值加上第一预定数值;
查找子模块,用于根据所述记录模块记录的索引,在所述MAC地址映射表中查找所述无效的数据流记录中的源MAC地址和目的MAC地址对应的MAC地址映射记录;
第二设置子模块,用于将所述查找子模块查找到的源MAC地址和目的MAC地址对应的MAC地址映射记录的引用计数器的值减去第二预定数值,并将所述源MAC地址和目的MAC地址对应的MAC地址映射记录的时间戳置为预定时间点。
11.根据权利要求8所述的装置,其特征在于,还包括:
第二添加模块,用于在新建数据流之后,如果所述MAC地址映射表中不存在与新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,则在所述MAC地址映射表中添加所述新建数据流的源MAC地址和/或目的MAC地址对应的MAC地址映射记录,并为所述MAC地址映射记录添加引用计数器。
12.一种通信设备,其特征在于,包括根据权利要求7-11任意一项所述的媒体接入控制地址的老化装置。 
CN2009102263689A 2009-11-26 2009-11-26 媒体接入控制地址的老化方法、装置和通信设备 Active CN101702680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102263689A CN101702680B (zh) 2009-11-26 2009-11-26 媒体接入控制地址的老化方法、装置和通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102263689A CN101702680B (zh) 2009-11-26 2009-11-26 媒体接入控制地址的老化方法、装置和通信设备

Publications (2)

Publication Number Publication Date
CN101702680A CN101702680A (zh) 2010-05-05
CN101702680B true CN101702680B (zh) 2011-12-28

Family

ID=42157575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102263689A Active CN101702680B (zh) 2009-11-26 2009-11-26 媒体接入控制地址的老化方法、装置和通信设备

Country Status (1)

Country Link
CN (1) CN101702680B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958938B (zh) * 2010-06-01 2013-07-24 福建星网锐捷网络有限公司 基于网络处理器的mac地址表的学习方法及装置
CN102014005B (zh) * 2010-12-17 2013-08-07 曙光信息产业股份有限公司 一种利用多级内存查找方式进行tcp连接管理的方法
CN102111435B (zh) * 2010-12-17 2014-07-23 曙光信息产业(北京)有限公司 一种软硬件结合实现tcp连接状态管理的方法
CN105407073A (zh) * 2014-09-10 2016-03-16 中兴通讯股份有限公司 一种基于开放流OpenFlow协议的流表老化方法、设备和系统
CN113542130B (zh) * 2021-07-22 2023-07-14 新华三信息安全技术有限公司 地址表项的处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188510A (zh) * 2006-11-16 2008-05-28 华为技术有限公司 地址集中控制的方法、设备及系统
CN101340366A (zh) * 2007-03-30 2009-01-07 卢森特技术有限公司 用于媒体访问控制地址学习的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188510A (zh) * 2006-11-16 2008-05-28 华为技术有限公司 地址集中控制的方法、设备及系统
CN101340366A (zh) * 2007-03-30 2009-01-07 卢森特技术有限公司 用于媒体访问控制地址学习的方法及装置

Also Published As

Publication number Publication date
CN101702680A (zh) 2010-05-05

Similar Documents

Publication Publication Date Title
CN101426026B (zh) 一种多服务器间数据同步的方法及系统
CN101702680B (zh) 媒体接入控制地址的老化方法、装置和通信设备
KR101424411B1 (ko) 로케이션 기반 서비스들에서 로케이션 프라이버시를 위한 더미 정보
CN103918230B (zh) 对网络设备背景中的转发数据库进行同步
CN102217253B (zh) 报文转发方法、装置及网络设备
CN108259218B (zh) 一种ip地址分配方法和装置
CN104750740A (zh) 数据更新的方法及装置
CN105843852A (zh) 日志存储管理方法及系统
CN114339719B (zh) 一种dpi数据采集方法及相关装置
CN102148715A (zh) 虚拟网络配置迁移的方法及设备
CN103152390A (zh) 分布式存储系统的节点配置方法、装置、节点及系统
CN102195815A (zh) 网络管理方法和装置
CN107547400B (zh) 一种虚拟机迁移方法和装置
CN106909197B (zh) 一种虚拟化主机时间管理方法及虚拟化主机系统
CN111600912A (zh) 网络安全策略管理系统
CN103414641A (zh) 邻居表项释放方法、装置和网络设备
CN105681199A (zh) 一种车载总线中报文数据的处理方法及装置
CN101610197A (zh) 一种缓冲区管理方法及其系统
CN102426601B (zh) 数据删除方法和装置
CN102769495B (zh) 一种光纤接入网设备通信方法、装置及系统
CN101873232A (zh) 设备唯一性判断方法以及ip网络发现服务器
CN103368944A (zh) 一种内存共享网络架构及其协议规范
CN102075386A (zh) 识别方法及装置
CN101257458B (zh) 分发、安装过滤表项的方法、装置及系统
CN109587121B (zh) 安全策略的管控方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING Z-GOOD TECHNOLOGY SERVICE CO., LTD.

Free format text: FORMER OWNER: FUJIAN XINGWANGRUIJIE NETWORK CO., LTD.

Effective date: 20141222

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 350002 FUZHOU, FUJIAN PROVINCE TO: 100085 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20141222

Address after: 100085 Beijing city Haidian District No. 33 Xiaoying Road 1 1F06 room

Patentee after: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park building 19#

Patentee before: Fujian Xingwangruijie Network Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100505

Assignee: Fujian Xingwangruijie Network Co., Ltd.

Assignor: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Contract record no.: 2015990000029

Denomination of invention: Aging method, device and communication equipment of media accessing control address

Granted publication date: 20111228

License type: Common License

Record date: 20150116

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model