Mac地址表访问控制方法、装置及网络设备的制作方法

文档序号:7957706阅读:187来源:国知局
专利名称:Mac地址表访问控制方法、装置及网络设备的制作方法
技术领域
本发明涉及网络通信技术领域,尤指一种MAC地址表访问控制方法、装置及网络设备。
背景技术
现有的网络通信模式有三种单播、广播、组播。路由设备之所以能够直接向接收报文的节点发送报文,而不是像集线器一样以广播模式对所有节点发送报文,原因是路由设备可以识别连在网络上的所有节点的媒体访问控制(Media Access Control,MAC)地址, 并把它们存储在MAC地址表中,该MAC地址是识别局域网(Local Area Network, LAN)节点的标识。MAC地址表存放于路由设备的缓存中,当需要向目的MAC地址的节点发送报文时, 路由设备就在MAC地址表中查找该目的MAC地址的节点位置,然后直接向查找到的节点发送报文。地址过滤是以太网普遍使用的过滤网络上的报文的方法,以太网络上有各种目的 MAC地址的报文,其中有些是应该接收的报文,有些则是不应该接收的报文,工作在以太网上的路由设备通过设置自己的MAC地址表,来对网络上的报文进行过滤,选出自己应该接收的报文,避免将多余的报文接收上来加重系统的处理负担。所谓MAC地址表容量是指路由设备的MAC地址表最多可以存储的MAC地址的数量,能够存储的MAC地址的数量越多,路由设备上可以运行的协议的数量就越多,能够实现的功能也就越多。但是在实际应用中一些路由设备的MAC地址表容量较小,能够存储的MAC 地址就很少,路由设备能够实现的功能非常有限。目前,一般采用软件MAC地址表来解决硬件MAC地址表容量较小的问题,软件MAC 地址表的配置及地址过滤的方法有以下两种一种是精确地址表方式,这种方式将MAC地址表中存放以太网路由设备所有允许接收的报文的目的MAC地址,每个到达以太网路由设备的报文首先在硬件MAC地址表中查询,当硬件MAC地址表中不存在查询的MAC地址时,再到软件MAC地址表中查询,如果查找到匹配的MAC地址,则接收该报文,否则就拒绝接收该报文。另一种是哈希地址表方式,这种方式的MAC地址表中并不直接存放允许接收的报文的目的MAC地址,而是存放一个512比特的表。以太网路由设备允许接收的报文的目的 MAC地址,通过一个32位的循环冗余校验码(Cyclic Redundancy Check, CRC)计算,得到一个0到511范围内的数值,用这个数值去索引MAC地址表,可以将表示允许接收的报文的比特位设置为1,将表示拒绝接收的报文的比特位设置为0。这种方式与精确地址表方式一样,每个到达以太网路由设备的报文首先在硬件MAC地址表中查询,当硬件MAC地址表中不存在查询的MAC地址时,计算CRC得到一个数值,再用这个数值去哈希地址表中查询,如果查找到匹配的数值,则接收该报文,否则就拒绝接收该报文。在上述两种软件MAC地址表中查询MAC地址时,对于每个到达的MAC地址都需要逐一过滤,占用很大内存,报文转发的速度和效率较低,影响设备的性能。
因此,现有技术中,采用软件MAC地址表进行地址过滤来克服硬件MAC地址表容量较小的缺陷时,导致了报文转发的速度和效率较低,进而影响设备性能。

发明内容
本发明实施例提供一种MAC地址表访问控制方法及装置,用以解决现有技术中存在的硬件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为本发明实施例中的判断启动限速开关的方法流程图;图3为本发明实施例中的删除MAC地址的方法流程图;图4为本发明实施例中的判断关闭限速开关的方法流程图;图5为本发明实施例中的MAC地址表访问控制装置的结构示意图6为本发明实施例一中的MAC地址表访问控制方法的流程图;图7为本发明实施例二中的MAC地址表访问控制方法的流程图。
具体实施例方式针对现有技术中存在的硬件MAC地址表容量较小的问题,以及采用软件MAC地址表进行地址过滤时存在报文转发的速度和效率较低,进而影响设备性能的问题,本发明实施例提供的一种MAC地址表访问控制方法,如图1所示,具体包括如下步骤步骤Sll 配置设备端口上已打开的选定通信模式的通信协议时,不执行添加配置的通信协议的MAC地址到MAC地址表中的操作,并运行通信协议其中,配置的通信协议的 MAC地址是选定通信模式的MAC地址。交换机、路由设备等设备端口的通信模式有广播、组播、单播等等模式,因此,可以根据实际需要选定设备端口中的一种或多种通信模式,当设备端口打开选定通信模式时, 即可接收该通信模式的报文了,例如,当打开路由设备端口的广播和组播时,就可以接收广播报文和组播报文了。由于有广播、组播、单播等等多种通信模式,那么相应的有广播协议、组播协议、单播协议等等多种通信协议,而每一种通信协议又包含多个通信协议,例如组播协议有路由信息协议(Routing Information Protocol,RIP)、开放式最短路径优先(Open Shortest Path First, 0SPF)协议、虚拟路由器冗余协议(Virtual Router Redundancy Protocol, VRRP)等等通信协议。在路由设备等设备上可以同时配置多种通信协议,例如同时配置组播协议和广播协议,又可以同时配置多个组播协议,例如同时配置RIP和VRRP。相应的,可以删除设备上配置的通信协议。每个通信协议都有其使用的MAC地址,例如OSPF协议可以使用的MAC地址为 0100. 5E00. 0005。假设设备端口的选定通信模式为组播,并且设备端口的组播已打开,在配置OSPF协议时,现有技术中需要将0100. 5E00. 0005增加到MAC地址表中。在本实施例中, 由于配置的OSPF协议是组播协议,因此不用添加OSPF协议的0100. 5E00. 0005到MAC地址表中。在配置设备端口上未打开的通信模式的通信协议时,需要添加配置的设备端口上未打开的通信模式的通信协议的MAC地址到MAC地址表中。步骤S12 当有报文到达设备端口时,判断报文是否是已打开的选定通信模式的报文,若是,执行步骤S14 ;否则,执行步骤S13。配置的通信协议运行后,当有报文到达设备端口时,设备端口首先需要判断到达的报文是否是已打开的选定通信模式的报文,判断的结果不同时,后续的步骤也不同。步骤S13 判断该报文中携带的MAC地址是否与MAC地址表中的MAC地址相匹配, 若是,执行步骤S14;否则,执行步骤S15。对于判断为不是已打开的选定通信模式的报文,还需要进一步判断报文中携带的 MAC地址是否与MAC地址表中的MAC地址相匹配,当判断结果不同时,后续的步骤也不相同。当报文携带的MAC地址能够与MAC地址表中存储的MAC地址匹配时,报文即可被接收;否则,报文被拒收。步骤S14:接收该报文。
对于判断为是已打开的选定通信模式的报文以及报文携带的MAC地址与MAC地址表中的MAC地址相匹配时,该报文被接收。步骤S15:拒接该报文。当报文不是已打开的选定通信模式的报文时,并且携带的MAC地址与MAC地址表中的MAC地址不匹配时,该报文被拒收。具体的,上述步骤Sll中的配置设备端口上已打开的选定通信模式的通信协议时,不执行添加配置的通信协议的MAC地址到MAC地址表中的操作,具体包括配置通信协议时,判断配置的通信协议是否是选定通信模式的通信协议以及判断该选定通信模式在设备端口上是否已打开;当配置的通信协议是选定通信模式的通信协议且该选定通信模式在设备端口上已打开时,不执行添加配置的通信协议的MAC地址到MAC地址表中的操作。具体的,上述步骤Sll中的运行通信协议之后,如图2所示,还包括如下步骤步骤S21 当运行配置的已打开的选定通信模式的通信协议后,将记录已打开的选定通信模式的通信协议运行个数的计数值加1。步骤S22 判断该计数值加1后是否达到设定的限速开关启动值,若是,执行步骤 S23 ;否则,执行步骤S24。因为有的通信协议在运行时要求设备端口的选定通信模式处于打开的状态,有的通信协议在运行时不要求设备端口的选定通信模式处于打开的状态,一种较优的方式是计数值记录具备以下两个条件的通信协议的运行个数第一,已打开的选定通信模式的通信协议;第二,该通信协议要求设备端口的选定通信模式处于打开的状态。根据记录具备上述两个条件的通信协议的运行个数的计数值加1后是否达到设定的限速开关启动值,来决定是否开启限速开关。步骤S23 启动限速开关限制接收已打开的选定通信模式的数据报文的速度不大于设定的报文接收速度。报文包括协议报文和数据报文,协议报文数量一般比较少,并且有的通信协议在接收不到协议报文时不能正常运行,因此不限制协议报文的接收速度,仅限制普通的数据报文的接收速度。可以在设备端口限制接收数据报文的速度,也可以由设备端口接收所有的数据报文,设备存储接收到的所有的数据报文,在将这些数据报文发送给设备中处理这些报文的单元时限制接收数据报文的速度。步骤S24 不限制接收已打开的选定通信模式的报文的速度。在本实施例中,如果设备端口的选定通信模式为组播,当设备端口打开组播时,那么设备所在网络中所有的组播报文都会被接收,当大量的组播报文被接收时,会造成CPU 占用率过高,甚至会造成设备瘫痪。为了避免CPU占用率过高,可以限速接收组播报文。当然也可以限速接收单播报文等等其他通信模式的报文。本实施例中在限速接收某一种通信模式的报文时,对于其他通信模式的报文不会限速接收,例如,在限速接收组播报文的时候,不会限速接收单播报文。当然可选的,可以同时限速接收多种通信模式的报文,例如,同时限速接收组播报文和单播报文。这里仅仅是举例进行说明,并不仅仅局限于列举的实例。在设备上可以同时运行同一种通信模式的多个通信协议,可以设置计数值来记录同一种通信模式的通信协议的运行个数,例如设置计数值记录组播通信协议的运行个数,每当有一个组播通信协议运行时,计数值就加1。设定限速开关启动值,当该计数值加1后达到限速开关启动值时,到达的报文包括两种,一种是数据报文,一种是协议运行所需要的协议报文,当记录已打开的选定通信模式的通信协议运行个数的计数值加1后达到设定的限速开关启动值时,启动限速开关限制接收已打开的选定通信模式的数据报文的速度不大于设定的报文接收速度,不限制接收已打开的选定通信模式的协议报文的速度。限速开关启动值可以设为1或者其他数值,也就是说,可以在运行第一个组播通信协议后启动限速开关,也可以在组播通信协议的运行个数达到限速开关启动值时启动限速开关。可以设定报文接收速度,当限速开关启动后,以不大于设定的报文接收速度的速度接收报文,这样就可以避免当大量的同一种通信模式的报文被接收时,使得CPU占用率过高,甚至会造成设备瘫痪的问题。下面详细说明由组播报文的MAC地址映射得到的IP地址的分组使用情况。组播报文的目的MAC地址映射为D类IP地址,范围是从224. 0. 0. 0到 239. 255. 255. 255。D类地址不能出现在组播报文的源IP地址字段。单播报文传输过程中, 传输路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在IP网络中传输。 然而在进行组播时,报文的目的地址不是一个,而是一组,形成组地址。所有的报文接收节点都加入到一个组内,并且一旦加入之后,流向组地址的报文立即开始向接收节点传输,组中的所有节点成员都能接收到报文。组播组中的成员是动态的,节点可以随时加入或离开组播组。组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组的IP地址是永远不会变化的,但是永久组播组的成员可以变化,数量也可以是任意的。非永久组播组使用的IP组播地址可以供临时组播组使用。其中 224. 0. 0. 0 224. 0. 0. 255为永久组播组地址,224. 0. 0. 0保留不做分配,其它的地址供路由协议使用;224. 0. 1. 0 224. 0. 1. 255是公用组播地址,可以用于互联网;224. 0. 2. 0 238. 255. 255. 255为临时组地址,全网范围内有效;239. 0. 0. 0 239. 255. 255. 255为本地管理组播地址,仅在特定的本地范围内有效。可见,2M. 0. 0. 1 224. 0. 0. 255是作为路由协议使用的,在该方案中接收这类协议报文时不做限速,其他组播组报文均做限速。这样既可以在保证路由协议正在的运行,同时又可以避免出现CPU占用率过高的情况出现。以上介绍了在配置通信协议时MAC地址表访问控制方法的具体过程,下面具体介绍在删除通信协议时MAC地址表访问控制方的具体过程。较优的,本实施例中的MAC地址表访问控制方法,如图3所示,还包括如下步骤步骤S31 确定需要删除的通信协议。步骤S32 判断要删除的通信协议是否是已打开的选定通信模式的通信协议,若是,执行步骤S33 ;否则,执行步骤S34。在删除通信协议时,可以判断要删除的通信协议是否是已打开的选定通信模式的通信协议,当判断结果不同时,后续的步骤也不同。步骤S33 不执行删除MAC地址表中的MAC地址的操作,执行步骤S35。当判断结果为要删除的通信协议是已打开的选定通信模式的通信协议时,不用删除MAC地址表中的MAC地址。由于要删除的通信协议是已打开的选定通信模式的通信协议, 那么在配置该通信协议时,就不用执行添加使用该通信协议的选定通信模式的MAC地址到MAC地址表中的操作,因此在删除通信协议时,不用删除MAC地址表中的MAC地址。步骤S34 删除MAC地址表中要删除的通信协议的MAC地址,执行步骤S35。当判断结果为要删除的通信协议不是已打开的选定通信模式的通信协议时,直接删除MAC地址表中该通信协议的MAC地址即可。由于要删除的通信协议不是已打开的选定通信模式的通信协议,那么在配置该通信协议时,添加了该MAC地址到MAC地址表中,因此在删除通信协议时,就需要删除MAC地址表中的该MAC地址。步骤S35 停止运行要删除的通信协议后删除该通信协议。无论是否需要删除MAC地址表中的MAC地址,最终都是要停止运行要删除的通信协议,然后删除该通信协议。在删除通信协议之后,还可以监控已打开的选定通信模式的通信协议运行个数, 来确定是否需要关闭限速开关。较优的,上述步骤S35中的删除该通信协议之后,如图4所示,还包括如下步骤步骤S41 当删除配置的已打开的选定通信模式的通信协议后,将记录已打开的选定通信模式的通信协议运行个数的计数值减1。步骤S42 判断该计数值减1后是否达到设定的限速开关关闭值,若是,执行步骤 S43 ;否则,执行步骤S44。步骤S43 关闭限速开关取消对于接收已打开的选定通信模式的数据报文的速度的限制。步骤S44 保持接收已打开的选定通信模式的报文的速度不大于设定的报文接收速度。每删除一个已打开的选定通信模式的通信协议,在设备上记录该通信模式的通信协议运行个数的计数值就会减1。在设定限速开关关闭值后,当该计数值减1后达到限速开关关闭值时,就关闭限速开关取消对于接收已打开的选定通信模式的报文的速度的限制。 限速开关关闭值可以设为0或者其他数值,也就是说,可以在关闭最后一个该通信模式的通信协议时关闭限速开关,也可以在删除已打开的选定通信模式的通信协议后,该计数值达到限速开关关闭值时关闭限速开关。一种较优的方式,该计数值可以记录具备以下两个条件的通信协议的运行个数 第一,已打开的选定通信模式的通信协议;第二,该通信协议要求设备端口的选定通信模式处于打开的状态。根据记录具备上述两个条件的通信协议的运行个数的计数值加1后是否达到设定的限速开关关闭值,来决定是否关闭限速开关。较优的,MAC地址表包括软件MAC地址表和硬件MAC地址表。上述步骤S34中的删除MAC地址表中要删除的通信协议的MAC地址之后,还包括 当软件MAC地址表中的MAC地址数量不大于硬件MAC地址表容量时,判断设备端口上是否有已打开的选定通信模式;当设备端口有已打开的选定通信模式时,关闭设备端口已打开的选定通信模式。MAC地址表可以包括软件MAC地址表和硬件MAC地址表,当需要添加MAC地址时, 首先添加到软件MAC地址表中,再添加到硬件MAC地址表中;相应的,当需要删除MAC地址时,首先删除软件MAC地址表中的MAC地址,再删除硬件MAC地址表中的MAC地址。在删除软件MAC地址表中的MAC地址后,当软件MAC地址表中的MAC地址数量不大于硬件MAC地址表容量时,也就是说硬件MAC表还有可以存储MAC地址的空间时,判断设备端口上是否有已打开的选定通信模式;当设备端口有已打开的选定通信模式时,关闭设备端口已打开的选定通信模式,也就是说采用现有技术的流程来添加或者删除MAC地址。较优的,在确定设备端口有已经打开的选定通信模式之后,关闭设备端口已打开的选定通信模式之前,还包括判断运行的已打开的选定通信模式的通信协议是否要求设备端口的选定通信模式处于打开的状态;当运行的已打开的选定通信模式的通信协议都不要求设备端口的选定通信模式处于打开的状态时,关闭设备端口已打开的选定通信模式。在设备端口有已打开的选定通信模式且运行的已打开的选定通信模式的通信协议都不要求设备端口的选定通信模式处于打开的状态时,再关闭已打开的选定通信模式, 这样可以保证在设备端口的选定通信模式处于打开状态下才能正常运行的通信协议正常运行。以上所述为删除通信协议的具体流程。下面介绍一个优选的方案,在硬件MAC地址表中的MAC地址数量没有达到硬件MAC地址表的容量之前,按照现有技术添加或删除硬件MAC地址表中的MAC地址;当硬件MAC地址表中的MAC地址数量达到硬件MAC地址容量时,再选定设备端口的通信模式,并打开设备端口的选定通信模式。较优的,上述步骤Sll之前的配置设备端口上已打开的选定通信模式的通信协议之前,还包括当软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量时,判断是否打开了选定通信模式;若是,删除硬件MAC地址表中已打开的选定通信模式的MAC地址;否则,在设备端口上打开选定通信模式后,删除硬件MAC地址表中已打开的选定通信模式的 MAC地址。MAC地址表可以包括软件MAC地址表和硬件MAC地址表,当需要添加MAC地址时, 首先添加到软件MAC地址表中,在添加到硬件MAC地址表中,由于硬件MAC地址表的容量是有限的,也就是说硬件MAC地址表可以存储的MAC地址的个数是有限的,那么,当硬件MAC 地址表中的MAC地址数量够用时,按照现有技术的流程添加或者删除MAC地址;当软件MAC 地址表中的MAC地址数量大于硬件MAC地址表容量时,也就是说硬件MAC地址表不能存储所有软件MAC地址表中的所有的MAC地址时,判断设备端口是否打开了选定通信模式;若是,删除硬件MAC地址表中已打开的选定通信模式的MAC地址;否则,在设备端口上打开选定通信模式后,删除硬件MAC地址表中已打开的选定通信模式的MAC地址,从而释放硬件 MAC地址表的空间,来存储没有打开的通信模式的MAC地址。较优的,上述确定出软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量之后,判断是否打开了选定通信模式之前,还包括统计硬件MAC地址表中各个通信模式的 MAC地址的数量;将MAC地址数量最多的通信模式设置为选定通信模式。选定通信模式的方法可以有很多种,这里只是列举了将MAC地址数量最多的通信模式设置为选定通信模式着一种方法。当然,也可以将MAC地址最少的通信模式设置为选定通信模式,具体可以根据需要设定设置规则,设定某一个或几个通信模式为选定通信模式。该方法在设备端口打开选定的通信模式后,配置设备端口上已打开的选定的通信模式的通信协议时,无需在MAC地址表中添加MAC地址,MAC地址表中只添加没有打开的通信模式的MAC地址,这就解决了现有技术中MAC地址表容量较小的问题;并且,由于设备端口已经打开了选定通信模式,当选定的通信模式报文到达时,接收即可,无需再到MAC地址表中查询MAC地址,相对于现有技术中需要到MAC地址表中查询每个到达的报文中携带的 MAC地址的方式,减少了内存占有率,也就提高了报文转发的速度和效率,提高了设备的性能。基于同一发明构思,本发明实施例还提供一种MAC地址表访问控制装置,该MAC地址表访问控制装置可以设置在网络设备中,其结构如图5所示,包括地址配置单元10,用于配置设备端口上已打开的选定通信模式的通信协议时,不执行添加配置的通信协议的MAC地址到MAC地址表中的操作,并运行配置的通信协议。访问处理单元20,用于当有报文到达设备端口时,在判断出该报文是否是已打开的选定通信模式的报文时,接收该报文。较优的,上述地址配置单元10,用于配置设备端口上未打开的通信模式的通信协议时,添加配置的通信协议的MAC地址到MAC地址表中。上述访问处理单元20,还用于在判断出到达的报文不是已打开的选定通信模式的报文时,确定该报文中携带的MAC地址与MAC地址表中的MAC地址相匹配时,接收该报文。具体的,上述地址配置单元10,具体用于配置通信协议时,判断配置的通信协议是否是选定通信模式的通信协议以及判断该选定通信模式在设备端口上是否已打开;当配置的通信协议是选定通信模式的通信协议且该选定通信模式在设备端口上已打开时,不执行添加配置的所述通信协议的MAC地址到MAC地址表中的操作。较优的,上述地址配置单元10,还用于运行通信协议之后,将记录已打开的选定通信模式的通信协议运行个数的计数值加1 ;当所述计数值加1后达到设定的限速开关启动值时,通知访问处理单元20启动限速开关限制接收已打开的选定通信模式的数据报文的速度不大于设定的报文接收速度。较优的,上述地址配置单元10,还用于删除通信协议时,判断要删除的通信协议是否是已打开的选定通信模式的通信协议;若是,不执行删除MAC地址表中的MAC地址的操作;否则,删除MAC地址表中要删除的通信协议的MAC地址;停止运行要删除的通信协议后删除该通信协议。较优的,上述地址配置单元10,还用于删除该通信协议之后,将记录已打开的选定通信模式的通信协议运行个数的计数值减1 ;当该计数值减1后达到设定的限速开关关闭值时,通知访问处理单元20关闭限速开关取消对于接收已打开的选定通信模式的数据报文的速度的限制。较优的,上述MAC地址表包括软件MAC地址表和硬件MAC地址表。上述地址配置单元10,还用于删除MAC地址表中要删除的通信协议MAC地址之后, 当软件MAC地址表中的MAC地址数量不大于硬件MAC地址表容量时,判断设备端口上是否有已打开的选定通信模式;当设备端口有已打开的选定通信模式时,关闭设备端口已打开的选定通信模式。较优的,上述地址配置单元10,还用于在确定设备端口有已经打开的选定通信模式之后,关闭设备端口已打开的选定通信模式之前,判断运行的已打开的选定通信模式的通信协议是否要求设备端口的选定通信模式处于打开的状态;当运行的已打开的选定通信模式的通信协议都不要求设备端口的选定通信模式处于打开的状态时,关闭设备端口已打开的选定通信模式。较优的,上述地址配置单元10,还用于在配置设备端口上已打开的选定通信模式的通信协议之前,当软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量时,判断是否打开了选定通信模式;若是,删除硬件MAC地址表中已打开的选定通信模式的MAC地址; 否则,在设备端口上打开选定通信模式后,删除硬件MAC地址表中已打开的选定通信模式的MAC地址。较优的,上述地址配置单元10,还用于确定出软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量之后,判断是否打开了选定通信模式之前,统计硬件MAC地址表中各个通信模式MAC地址的数量;将MAC地址数量最多的通信模式作为选定通信模式。下面以两个具体的实施例来详细说明MAC地址表访问控制方法的整体流程实施例一本实施例以配置通信协议为例来说明MAC地址表访问控制方法的具体流程,具体步骤如图6所示步骤S501 监控软件MAC地址表中的MAC地址数量。步骤S502 判断软件MAC地址表中的MAC地址数量是否大于硬件MAC地址表容量, 若是,执行步骤S503 ;否则,执行步骤S501。步骤S503 统计软件MAC地址表中各个通信模式的MAC地址的数量;将MAC地址数量最多的通信模式设置为选定通信模式。当MAC地址数量最多的通信模式是一个的时候,选定通信模式为一个;当MAC地址数量最多的通信模式为两个的时候,选定通信模式为两个。也可以选出MAC地址数量最多的通信模式和MAC地址数量第二多的通信模式,将这两个通信模式作为选定通信模式。步骤S501-步骤S503是通过监控软件MAC地址表中的各个通信模式的MAC地址数量,设置MAC地址数量最多的通信模式为选定通信模式,这里仅仅是列举了一个设置选定通信模式的方法,当然也可以设置MAC地址数量最少的通信模式为选定通信模式,或者根据实际需要设置一个或者几个通信模式为选定通信模式。步骤S504 判断是否打开了选定通信模式,若是,执行步骤S506 ;否则,执行步骤 S505。步骤S505 在设备端口上打开选定通信模式,执行步骤S506。这里仅仅设定了当软件MAC地址表MAC地址的数量超过硬件MAC地址容量时,才会选定通信模式,并打开选定通信模式,当然也可以随时依据实际需要来打开选定的一种或者多种通信模式。步骤S506 删除硬件MAC地址表中已打开的选定通信模式的MAC地址。步骤S504-步骤S506针对选定通信模式,判断选定通信模式是否打开,若已经打开,删除硬件MAC地址表中已打开的选定通信模式的MAC地址;若没有打开,在打开设备端口的选定通信模式后,删除硬件MAC地址表中已打开的选定通信模式的MAC地址,这样就释放了硬件MAC地址表的空间,由于一部分MAC地址不用再存储在MAC地址表中,从而可以解决现有技术中MAC地址表的容量较小的问题。步骤S507 配置通信协议时,判断配置的通信协议是否是选定通信模式的通信协议,若是,执行步骤S508 ;否则,执行步骤S511。
步骤S508 判断该选定通信模式在设备端口上是否已打开,若是,执行步骤S510 ; 否则,执行步骤S509。步骤S509 打开设备端口选定通信模式,执行步骤S510。步骤S510 不执行添加配置的通信协议的MAC地址到MAC地址表中的操作,运行配置的通信协议。步骤S511 添加配置的通信协议的MAC地址到MAC地址表中,运行配置的通信协议。上述是配置通信协议的过程,在配置完通信协议后,当有报文到达的时候,就可以根据到达的报文是否是选定通信模式的报文,来确定是否需要到MAC地址表中匹配MAC地址。当到达的报文是已打开的选定通信模式的报文时,接收该报文即可,由于已打开的选定通信模式的报文不用再到MAC地址表中匹配MAC地址,所以减少了 CPU占有率,提高了设备性能;当到达的报文不是已打开的选定通信模式的报文时,当报文携带的MAC地址与MAC地址表中的MAC地址匹配时,接收该报文。可选的,当记录已打开的选定通信模式的通信协议运行个数的计数值加1后达到设定改的限度开关启动值时,可以以设定的报文接收速度来限制接收已打开的选定通信模式的数据报文的速度,这样就可以避免接收的已打开的选定通信模式的数据报文数量过多,而造成的CPU占用率过高对设备产生的不良影响。实施例二本实施例以删除通信协议为例来说明MAC地址表访问控制方法的具体流程,具体步骤如图7所示步骤S601 确定需要删除的通信协议。步骤S602 判断要删除的通信协议是否是已打开的选定通信模式的通信协议,若是,执行步骤S603 ;否则,执行步骤S604。步骤S603 不执行删除MAC地址表中的MAC地址的操作,执行步骤S609。步骤S604 删除MAC地址表中配置的要删除的通信协议的MAC地址,执行步骤 S605。步骤S605 监控软件MAC地址表中的MAC地址数量。步骤S606 判断软件MAC地址表中的MAC地址数量是否小于硬件MAC地址表容量, 若是,执行步骤S607 ;否则,执行步骤S609。步骤S607 判断设备端口上是否有已打开的选定通信模式,若是,执行步骤S608 ; 否则,执行步骤S609。步骤S608 关闭设备端口已打开的选定通信模式,执行步骤S609。步骤S605-步骤S608是在删除MAC地址表中的MAC地址后,判断软件MAC地址表中的MAC地址数量是否小于硬件MAC地址的容量,也就是判断硬件MAC地址是否能存储所有的软件MAC地址表中的MAC地址。当软件MAC地址表中的MAC地址数量小于硬件MAC地址容量时,关闭设备端口已打开的选定通信模式,仍然采用现有技术来添加或删除MAC地址。一种优选的方式是在确定出设备端口有已经打开的选定通信模式后,再判断正在运行的已打开的选定通信模式的通信协议是否要求设备端口的选定通信模式处于打开的状态,当所有运行的已打开的选定通信模式的通信协议都不要求设备端口的选定通信模式处于打开的状态时,再执行步骤S608,关闭设备端口已打开的选定通信模式。这样可以保证要求设备端口的选定通信模式处于打开的状态的通信协议可以正常运行。步骤S609 停止运行要删除的通信协议后删除该通信协议。上述过程是删除配置的通信协议的过程,在删除通信协议后,根据到达的报文是否是选定通信模式的报文,来确定是否需要到MAC地址表中匹配MAC地址。当到达的报文是已打开的选定通信模式的报文时,接收该报文即可,由于已打开的选定通信模式的报文不用再到MAC地址表中匹配MAC地址,所以减少了 CPU占有率,提高了设备性能;当到达的报文不是已打开的选定通信模式的报文时,当报文携带的MAC地址与MAC地址表中的MAC 地址匹配时,接收该报文。可选的,当删除的是选定通信模式的通信协议时,将记录已打开的选定通信模式的通信协议运行个数的计数值减1,该计数值减1后达到设定的限速开关关闭值时,关闭限速开关取消对于接收已打开的选定通信模式的数据报文的速度的限制。当已打开的选定通信模式的数据报文到达时,正常接收该数据报文。上述说明示出并描述了本发明的优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
权利要求
1.一种MAC地址表访问控制方法,其特征在于,包括配置设备端口上已打开的选定通信模式的通信协议时,不执行添加配置的所述通信协议的媒体访问控制MAC地址到MAC地址表中的操作,并运行所述通信协议;当有报文到达所述设备端口时,在判断出所述报文是已打开的选定通信模式的报文时,接收所述报文。
2.如权利要求1所述的方法,其特征在于,还包括配置设备端口上未打开的通信模式的通信协议时,添加配置的未打开通信模式的通信协议的MAC地址到MAC地址表中;在判断出所述报文不是已打开的选定通信模式的报文时,确定所述报文中携带的MAC 地址与MAC地址表中的MAC地址相匹配时,接收所述报文。
3.如权利要求1所述的方法,其特征在于,所述运行所述通信协议之后,还包括 将记录已打开的选定通信模式的通信协议运行个数的计数值加1 ;当所述计数值加1后达到设定的限速开关启动值时,启动限速开关限制接收已打开的选定通信模式的数据报文的速度不大于设定的报文接收速度。
4.如权利要求1所述的方法,其特征在于,还包括删除通信协议时,判断要删除的通信协议是否是已打开的选定通信模式的通信协议; 若是,不执行删除MAC地址表中的MAC地址的操作;否则,删除MAC地址表中要删除的通信协议的MAC地址;停止运行要删除的通信协议后删除该通信协议。
5.如权利要求4所述的方法,其特征在于,所述删除该通信协议之后,还包括 将记录已打开的选定通信模式的通信协议运行个数的计数值减1 ;当所述计数值减1后达到设定的限速开关关闭值时,关闭限速开关取消对于接收已打开的选定通信模式的数据报文的速度的限制。
6.如权利要求4所述的方法,其特征在于,所述MAC地址表包括软件MAC地址表和硬件 MAC地址表;所述删除MAC地址表中要删除的通信协议的MAC地址之后,还包括 当软件MAC地址表中的MAC地址数量不大于硬件MAC地址表容量时,判断设备端口上是否有已打开的选定通信模式;当设备端口有已打开的选定通信模式时,关闭设备端口已打开的选定通信模式。
7.如权利要求6所述的方法,其特征在于,确定设备端口有已经打开的选定通信模式之后,关闭设备端口已打开的选定通信模式之前,还包括判断运行的已打开的选定通信模式的通信协议是否要求设备端口的选定通信模式处于打开的状态;当运行的已打开的选定通信模式的通信协议都不要求设备端口的选定通信模式处于打开的状态时,关闭设备端口已打开的选定通信模式。
8.如权利要求1所述的方法,其特征在于,所述MAC地址表包括软件MAC地址表和硬件 MAC地址表;所述配置设备端口上已打开的选定通信模式的通信协议之前,还包括 当软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量时,判断是否打开了选若是,删除硬件MAC地址表中已打开的选定通信模式的MAC地址;否则,在设备端口上打开选定通信模式后,删除硬件MAC地址表中已打开的选定通信模式的MAC地址。
9.如权利要求8所述的方法,其特征在于,确定出软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量之后,判断是否打开了选定通信模式之前,还包括统计硬件MAC地址表中各个通信模式的MAC地址的数量;将MAC地址数量最多的通信模式设置为选定通信模式。
10.一种MAC地址表访问控制装置,其特征在于,包括地址配置单元,用于配置设备端口上已打开的选定通信模式的通信协议时,不执行添加配置的所述通信协议的媒体访问控制MAC地址到MAC地址表中的操作,并运行所述通信协议;访问处理单元,用于当有报文到达所述设备端口时,在判断出所述报文是否是已打开的选定通信模式的报文时,接收所述报文。
11.如权利要求10所述的装置,其特征在于,所述地址配置单元,还用于配置设备端口上未打开的通信模式的通信协议时,添加配置的所述通信协议的MAC地址到MAC地址表中;所述访问控制单元,还用于在判断出所述报文不是已打开的选定通信模式的报文时, 确定所述报文中携带的MAC地址与MAC地址表中的MAC地址相匹配时,接收所述报文。
12.如权利要求10所述的装置,其特征在于,所述地址配置单元,还用于运行所述通信协议之后,将记录已打开的选定通信模式的通信协议运行个数的计数值加1 ;当所述计数值加1后达到设定的限速开关启动值时,通知访问处理单元启动限速开关限制接收已打开的选定通信模式的数据报文的速度不大于设定的报文接收速度。
13.如权利要求10所述的装置,其特征在于,所述地址配置单元,还用于删除通信协议时,判断要删除的通信协议是否是已打开的选定通信模式的通信协议;若是,不执行删除 MAC地址表中的MAC地址的操作;否则,删除MAC地址表中要删除的通信协议的MAC地址;停止运行要删除的通信协议后删除该通信协议。
14.如权利要求13所述的装置,其特征在于,所述地址配置单元,还用于删除所述通信协议之后,将记录已打开的选定通信模式的通信协议运行个数的计数值减1 ;当所述计数值减1后达到设定的限速开关关闭值时,通知所述访问处理单元关闭限速开关取消对于接收已打开的选定通信模式的数据报文的速度的限制。
15.如权利要求13所述的装置,其特征在于,所述MAC地址表包括软件MAC地址表和硬件MAC地址表;所述地址配置单元,还用于删除MAC地址表中要删除的通信协议的MAC地址之后,当软件MAC地址表中的MAC地址数量不大于硬件MAC地址表容量时,判断设备端口上是否有已打开的选定通信模式;当设备端口有已打开的选定通信模式时,关闭设备端口已打开的选定通信模式。
16.如权利要求15所述的装置,其特征在于,所述地址配置单元,还用于在确定设备端口有已经打开的选定通信模式之后,关闭设备端口已打开的选定通信模式之前,判断运行的已打开的选定通信模式的通信协议是否要求设备端口的选定通信模式处于打开的状态;当运行的已打开的选定通信模式的通信协议都不要求设备端口的选定通信模式处于打开的状态时,关闭设备端口已打开的选定通信模式。
17.如权利要求10所述的装置,其特征在于,所述MAC地址表包括软件MAC地址表和硬件MAC地址表;所述地址配置单元,还用于在配置设备端口上已打开的选定通信模式的通信协议之前,当软件MAC地址表中的MAC地址数量大于硬件MAC地址表容量时,判断是否打开了选定通信模式;若是,删除硬件MAC地址表中已打开的选定通信模式的MAC地址;否则,在设备端口上打开选定通信模式后,删除硬件MAC地址表中已打开的选定通信模式的MAC地址。
18.如权利要求17所述的装置,其特征在于,所述地址配置单元,还用于确定出软件 MAC地址表中的MAC地址数量大于硬件MAC地址表容量之后,判断是否打开了选定通信模式之前,统计硬件MAC地址表中各个通信模式MAC地址的数量;将MAC地址数量最多的通信模式作为选定通信模式。
19.一种网络设备,其特征在于,包括如权利要求10-18任一所述的MAC地址表访问控制装置。
全文摘要
本发明公开了一种MAC地址表访问控制方法、装置及网络设备,该方法包括配置设备端口上已打开的选定通信模式的通信协议时,不执行添加配置的所述通信协议的媒体访问控制MAC地址到MAC地址表中的操作,并运行所述通信协议;当有报文到达所述端口时,在判断出所述报文是已打开的选定通信模式的报文时,接收所述报文。该方法节省了MAC地表中的空间,解决了MAC地址表容量较小的问题;减少了内存占有率,提高了报文转发的速度和效率,提高了设备的性能。
文档编号H04L12/56GK102355511SQ20111033849
公开日2012年2月15日 申请日期2011年10月31日 优先权日2011年10月31日
发明者肖宇 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1