CN101431472B - 媒体访问控制条目的处理方法和装置 - Google Patents
媒体访问控制条目的处理方法和装置 Download PDFInfo
- Publication number
- CN101431472B CN101431472B CN2008101870321A CN200810187032A CN101431472B CN 101431472 B CN101431472 B CN 101431472B CN 2008101870321 A CN2008101870321 A CN 2008101870321A CN 200810187032 A CN200810187032 A CN 200810187032A CN 101431472 B CN101431472 B CN 101431472B
- Authority
- CN
- China
- Prior art keywords
- access control
- media access
- control item
- priority
- mac
- 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
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种媒体访问控制条目的处理方法和装置,该方法包括:对每个媒体访问控制条目分别设置优先级标识;确定第一媒体访问控制条目的物理地址,并且在预定条件下,根据第一媒体访问控制条目的优先级标识确定该条目的优先级;如果确定的物理地址中已经写入有第二媒体访问控制条目,则根据第二媒体访问控制条目的优先级标识确定第二媒体访问控制条目的优先级;对两个媒体访问控制条目的优先级进行比较,并对第一媒体访问控制条目进行处理。借助于本发明,通过设置各MAC条目的优先级标识来确定各MAC条目的优先级,进而通过比较确定是否写入新的MAC条目,可以使新的MAC条目不被直接丢弃,保证了重要业务的MAC条目的写入。
Description
技术领域
本发明涉及通信领域,尤其涉及一种媒体访问控制条目的处理方法和装置。
背景技术
媒体访问控制(Media Access Control,简称为MAC)子层协议地址是烧录在网卡(Network Interface Card,简称为NIC)中的硬件地址,该地址由48比特长(6字节)的16进制的数字组成,其中,前24位即0-23位由各厂家自行进行分配;后24位即24-47位为组织唯一标志符,是识别局域网节点的标识;特别地,第40位是组播地址标志位。
同一子网的各个设备通过MAC地址进行通信,但在开始通信前,各个设备并不知道其他设备的MAC地址,各个设备之间需要通过发送地址解析协议(Address Resolution Protocol,简称为ARP)广播来获取其他设备的MAC地址,获取成功后,将其他设备的MAC地址记录下来以备下次使用。同时,用于网络转发的交换设备也会学习其转发的地址,并将该地址与相应的端口对应,以备下一次进行地址转发时使用。随着网络的扩大,设备需要学习的MAC地址也越来越多,相应地,用于存储MAC地址的MAC表的容量也需要增加。
但是,MAC表的容量是有限的,而且目前大部分厂商通过散列(Hash,也可称为哈希)算法对MAC表进行管理,该散列算法是将任意长度的输入(也称为预映射,pre-image)变换成固定长度的输出,该输出就是散列值。可以看出,这种转换是一种压缩映射,也就是说,散列值的空间小于输入值的空间,不同的输入值可能会散列成相同的输出值,即,不能从散列值唯一地确定输入值。
同时,目前主要通过将任意长度的消息压缩为某一固定长度的消息摘要的函数的方式来管理MAC表,这导致MAC表的容量达不到100%,此外,如果写入的MAC地址的容量超过了MAC表的容量,或者写入的MAC地址发生Hash冲突,则会使得新的MAC地址被丢弃,出现不能写入新的MAC地址的情况。对于普通用户来说,不能写入新的MAC地址会导致用户的业务中断;而对于设备来说,如果不能写入为其分配的新的MAC地址,则会出现不可预测的问题,例如,在交换机中配置三层接口时,如果因为Hash冲突或者容量不够而导致分配的MAC地址写入MAC表时失败,将导致该交换机的三层接口与外界通信失败。
发明内容
考虑到相关技术中存在的如果写入的MAC地址超过了MAC表的容量,或者写入的MAC地址发生Hash冲突,则会出现不能写入新的MAC地址,进而可能会产生不可预测的情况的问题而提出本发明,为此,本发明的主要目的在于提供改进的MAC地址写入方案,用以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种媒体访问控制条目的处理方法。
根据本发明的媒体访问控制条目的处理方法包括:对于每个媒体访问控制条目,分别为其设置用以表示写入优先级的优先级标识;确定第一媒体访问控制条目的物理地址,并且在预定条件下,根据第一媒体访问控制条目的优先级标识确定第一媒体访问控制条目的优先级;如果确定的物理地址中已经写入有第二媒体访问控制条目,则根据第二媒体访问控制条目的优先级标识确定第二媒体访问控制条目的优先级;对第一媒体访问控制条目的优先级与第二媒体访问控制条目的优先级进行比较,并根据比较结果对第一媒体访问控制条目进行处理。
其中,设置用以表示写入优先级的优先级标识的处理具体可以包括:将优先级标识的最高位设置为用于表示媒体访问控制条目的类型,其中,类型包括:通过操作管理维护配置的媒体访问控制条目、动态写入的媒体访问控制条目;对于通过操作管理维护配置的媒体访问控制条目,将优先级标识中除最高位之外的其他位设置为用于表示操作管理维护配置;对于动态写入的媒体访问控制条目,将优先级标识中除最高位之外的其他位设置为用于表示携带该媒体访问控制条目的虚拟局域网的优先级。
具体地,上述操作管理维护配置包括以下之一:对媒体访问控制条目的永久配置、对媒体访问控制条目的静态配置、通过操作管理维护命令将媒体访问控制条目固化到设备。
并且,在上述处理中,动态写入的媒体访问控制条目的优先级低于通过操作管理维护配置的媒体访问控制条目的优先级。
此外,根据比较结果对第一媒体访问控制条目进行的处理具体可以包括:如果第一媒体访问控制条目的优先级高于第二媒体访问控制条目的优先级,则将第一媒体访问控制条目写入物理地址并覆盖第二媒体访问控制条目;如果第一媒体访问控制条目的优先级低 于或等于第二媒体访问控制条目的优先级,则丢弃第一媒体访问控制条目。
优选地,上述预定条件可以包括以下之一:用于保存媒体访问控制条目的空间的容量已满;用于保存媒体访问控制条目的空间的剩余容量小于或等于预定值;第一媒体访问控制条目与第二媒体访问控制条目发生散列冲突。
根据本发明的另一方面,提供了一种媒体访问控制条目的处理装置。
根据本发明的媒体访问控制条目的处理装置包括:设置模块,用于分别为每个媒体访问控制条目设置用以表示写入优先级的优先级标识;地址确定模块,用于确定待写入的第一媒体访问控制条目的物理地址;优先级确定模块,用于根据媒体访问控制条目的优先级标识确定该媒体访问控制条目的优先级;判断模块,用于判断地址确定模块确定的物理地址中是否已经写入有第二媒体访问控制条目;比较模块,用于将第一媒体访问控制条目的优先级与第二媒体访问控制条目的优先级进行比较;处理模块,用于根据比较模块中的比较结果对第一媒体访问控制条目进行处理。
其中,该装置可以进一步包括:调度模块,用于在满足预定条件时,调度优先级确定模块,其中,在满足第一预定条件时,调度优先级确定模块确定第一媒体访问控制条目的优先级,在满足第二预定条件时,调度优先级确定模块确定第二媒体访问控制条目的优先级;
并且,上述第一预定条件可以包括以下之一:用于保存媒体访问控制条目的空间的容量已满;用于保存媒体访问控制条目的空间的剩余容量小于或等于预定值;第一媒体访问控制条目与第二媒体 访问控制条目发生散列冲突;上述第二预定条件可以包括:判断模块判断物理地址中已经写入有第二媒体访问控制条目。
通过本发明的上述至少一个技术方案,通过设置各MAC条目的优先级标识来确定各MAC条目的优先级,并通过比较MAC条目的优先级来确定是否写入新的MAC条目,相比于现有技术,该方法可以使新的MAC条目不被直接丢弃,保证了重要业务的MAC条目的写入。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据相关技术的MAC条目的处理方法的流程图;
图2是根据本发明方法实施例的MAC条目的处理方法的流程图;
图3是根据本发明方法实施例的动态写入的MAC条目的处理方法的流程图;
图4是根据本发明方法实施例的通过OAM配置的MAC条目的处理方法的流程图;
图5是根据本发明装置实施例的MAC条目的处理装置的结构框图;
图6是根据本发明装置实施例的MAC条目的处理装置的优选结构框图。
具体实施方式
功能概述
如上所述,针对现有技术中存在的在MAC表容量不足或者发生Hash冲突时将新的MAC条目丢弃而导致的转发不可控情况,本发明在转发不可控方式的基础上提出一种改进的MAC学习技术方案。该方案主要通过设置各MAC条目的优先级标识,并根据MAC条目的优先级标识比较MAC条目的优先级,来保证优先级较高的MAC条目保存在MAC表中。这样,在MAC表容量不足或者发生Hash冲突时,首先对MAC条目进行优先级处理,保证优先级高的MAC条目不被直接丢弃,保证重要业务的MAC地址能够写入到MAC表中,从而优先保证了重要业务的使用。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了便于理解本发明实施例,在说明本发明实施例之前,首先结合附图1对现有技术中源MAC学习的流程图进行说明,需要说明的是,目前大部分厂商通过该方法实现源MAC学习,不同的厂商的实现方法可能有所不同,如图1所示,主要包括以下处理。
步骤S101,设置判断源MAC是否全为0,如果判断结果为是,进行到步骤S102,否则进行到步骤S103;
步骤S102,将源MAC丢弃;
步骤S103,判断源MAC是否为广播组播地址,如果判断结果为是,进行到步骤S104,否则进行到步骤S105;
步骤S104,丢弃源MAC并将其发送至CPU处理;
步骤S105,查询MAC表(源MAC和VID为索引);
步骤S106,判断源MAC是否有表项匹配,如果判断结果为是,则进行到步骤S107,否则,进行到步骤S110;
步骤S107,更新老化时间;
步骤S108,判断表项对应的端口是否发生迁移,如果判断结果为是,进行到步骤S109,否则进行到步骤S111;
步骤S109,判断源地址对应端口是否允许迁移,如果判断结果为是,进行到步骤S110,否则进行到步骤S111;
步骤S110,学习源MAC;
步骤S111,丢弃源MAC并将其发送至CPU处理。
通过上述方法,可以看出,由于在进行MAC地址学习时,可能发生存储MAC表的空间不够,如果检索MAC条目的方式采用Hash算法,又可能出现Hash冲突。但随着硬件技术的发展,目前MAC表的容量也不断扩大,使得冲突的几率不断减小。于是设计人员就很少关注这种冲突,一旦冲突发生了,也是直接丢弃要学习的MAC条目,不进行学习。但是如果只是普通用户,不进行学习只是意味着某个用户业务不通;但是如果是一些重要信息,或者是用户已经通过虚拟局域网(Virtual Local Area Network,简称为VLAN)优先级进行了区分,不进行学习则可能导致设备出现异常,或者低优先级用户先得到服务。
下面将结合附图详细描述本发明。
方法实施例
根据本发明实施例,提供了一种MAC条目的处理方法。
图2是根据本发明实施例的MAC条目的处理方法的流程图,需要说明的是,为了便于描述,在图2中以步骤的形式示出并描述了本发明的方法实施例的技术方案,在图2中所示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。虽然在图2中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图2所示,该方法包括以下步骤(步骤S202至步骤S208)。
步骤S202,对于每个媒体访问控制条目,分别为其设置用以表示写入优先级的优先级标识;
步骤S204,确定第一媒体访问控制条目的物理地址,并且在预定条件下,根据第一媒体访问控制条目的优先级标识确定第一媒体访问控制条目的优先级,其中,预定条件包括以下之一:用于保存媒体访问控制条目的空间的容量已满、用于保存媒体访问控制条目的空间的剩余容量小于或等于预定值、第一媒体访问控制条目与第二媒体访问控制条目发生散列冲突;
步骤S206,如果确定的物理地址中已经写入有第二媒体访问控制条目,则根据第二媒体访问控制条目的优先级标识确定第二媒体访问控制条目的优先级;
步骤S208,对第一媒体访问控制条目的优先级与第二媒体访问控制条目的优先级进行比较,并根据比较结果对第一媒体访问控制条目进行处理,例如,如果第一媒体访问控制条目的优先级高于第 二媒体访问控制条目的优先级,则将第一媒体访问控制条目写入物理地址并覆盖第二媒体访问控制条目;如果第一媒体访问控制条目的优先级低于或等于第二媒体访问控制条目的优先级,则丢弃第一媒体访问控制条目。
在具体实施过程中,设置用以表示写入优先级的优先级标识的操作包括:将优先级标识的最高位设置为用于表示媒体访问控制条目的类型,其中,媒体访问控制条目的类型包括:通过操作管理维护配置的媒体访问控制条目、动态写入的媒体访问控制条目,其中,可以设置动态写入的媒体访问控制条目的优先级为低于通过操作管理维护配置的媒体访问控制条目的优先级。
对于通过操作管理维护配置的媒体访问控制条目,将优先级标识中除最高位之外的其他位设置为用于表示操作管理维护配置;对于动态写入的媒体访问控制条目,将优先级标识中除最高位之外的其他位设置为用于表示携带该媒体访问控制条目的VLAN的优先级,其中,操作管理维护配置包括以下之一:对媒体访问控制条目的永久配置、对媒体访问控制条目的静态配置、通过操作管理维护命令将媒体访问控制条目固化到设备。
通过本发明实施例提供的技术方案,通过设置各MAC条目的优先级标识来确定各MAC条目的优先级,并通过比较MAC条目的优先级来确定是否写入新的MAC条目,该方法可以使新的MAC条目不被简单地丢弃,保证了重要业务的MAC条目的写入,优先保证了重要业务的使用。
本发明的主要发明点是在设置MAC条目的优先级标识,通过该优先级标识确定MAC条目的优先级,并根据MAC条目的优先级对MAC条目的优先级进行写入或丢弃处理。其中,设置MAC 条目的优先级标识的方法有多种,其实现方法可以根据不同的应用而有所区别,下面以交换设备为例对本发明实施例进行说明。
一、设置MAC条目的优先级标识
在内存空间中申请保存优先级标识的空间,例如,可以申请4个比特位的空间,其中,该4个比特位中的最高位可以表示以下之一:动态写入的MAC条目、用户通过OAM配置的MAC条目,其中,用户通过操作管理维护(Operation Administration Maintenance,简称为OAM)配置的MAC条目包括:静态配置的MAC条目;动态配置的MAC条目,但该MAC条目经过OAM命令后转化为静态配置的MAC条目(为了描述方便,将这种MAC条目称为通过OAM命令固化的MAC条目),例如,将该最高位设置为1可以表示通过OAM配置的MAC条目,将该最高位设置为0可以表示动态写入的MAC条目,当然,也可以反过来,将该最高位设置为0可以表示通过OAM配置的MAC条目,将该最高位设置为1可以表示动态写入的MAC条目,这里并不作限制,可以根据需要进行设置。
其中,如果优先级标识的最高位设置为1表示通过OAM配置的MAC条目,则该优先级标识中的其他三位表示不同的OAM配置,如果优先级标识的最高位设置为0表示动态写入的MAC条目,则该优先级标识中的其他三位表示数据包的VLAN priority拷贝。
二、根据MAC条目的优先级标识比较MAC条目的优先级
将新的MAC条目写入到MAC表时,如果发生Hash冲突或者MAC表容量不够时,不是直接丢弃新的MAC条目,而是根据预先设置的优先级标识比较新的MAC条目与已经存在的MAC条目的优先级,如果新MAC条目的优先级比已经存在的MAC条目优先级高,则用新的MAC条目覆盖已经存在的MAC条目,并同时将 该MAC条目同步给其它模块;如果新的MAC条目的优先级等于或者小于已经存在的MAC条目,则将该新的MAC条目丢弃,不对新的MAC条目进行学习。其中,上述新的MAC条目包括以下之一:通过动态配置的MAC条目、永久的MAC条目、通过OAM命令固化到设备的MAC条目。
上述虽然以交换设备为例对本发明实施例进行说明,但本发明并不局限于此例,因为熟悉此技术的人员应该很容易将此方法移植到其它设备,凡是涉及通过优先级操作对设备进行MAC学习的处理方法都应该受到本发明的保护。
对于上述设置优先级标识的方法,具体地,可以在MAC表的MAC条目中增加优先级位(即,上文所述的优先级标识),在MAC条目发生冲突时通过优先级比较后再决定是丢弃还是将以前的条目覆盖,下面对MAC表的MAC条目的设置方法进行说明。
为了便于理解本发明实施例,首先结合表1对现有技术中MAC条目的内容进行描述,如表1所示,目前的MAC条目包括以下内容:MAC ADD,表示条目的MAC地址;VLAN ID,表示学习MAC地址对应的VLAN;VPN,表示学习MAC地址对应的VPN信息,特别地,对于没有VPN信息的MAC地址,该VPN为0;PORT,表示学习MAC条目对应的端口;TIME,表示学习到此条目的时间;OTHER,表示各个厂商根据自身需要进行设置的其它内容,例如,可以进行如下设置:Permanent,用以表示MAC条目为永久MAC条目,即使设备重新启动也不会被删除;Static,用以表示MAC条目为静态MAC条目,即,该MAC条目由用户通过手工进行配置,只有用户手工删除或者设备重新启动该MAC条目才会消失;To-static,用以表示固化的MAC条目,即该MAC条目是设备通过动态写入来获得,但是通过用户审查认为这些MAC条目可信,已 经通过命令将其固化,不会随着时间而老化或删除,当然,还有其它的厂商特性,这里不一一列举。
表1
MAC ADD | VLAN ID | VPN | Port | Time | Other |
0000.0000.0001 | 50 | 0 | F_1/1 | 0:00:01:00 | 厂商特性 |
表2是根据本发明实施例的设置优先级位后的MAC条目的内容。其中,PRI(priority)为优先级位中的最高位,用来区别MAC条目是动态配置还是用户通过OAM配置的MAC条目,其中,最高位为1则表示后面的其他三个优先级位为用户手工配置的标志位,最高位为0则表示的其他三个优先级位为拷贝的VLAN优先级(即数据包中的VLAN的优先级),其中,PER、STA和To-S分别表示优先级位中除最高位之外的其他三位,其中,设置PER为1表示永久的MAC条目,设置STA为1表示静态配置的MAC条目,设置To-S为1表示通过OAM命令固化的MAC条目,当然,也可以反过来,设置PER为0表示永久的MAC条目,设置STA为0表示静态配置的STA,设置To-S为0表示通过OAM命令固化的MAC条目,这里并不作限制,可以根据需要来设置。
表2
MAC ADD | V ID | VPN | Port | PRI | PER | STA | To-S | Time | Other |
0000.0000.0001 | 50 | 0 | F_1 /1 | 1 | 0 | 0 | 1 | 0:00:01:00 | 厂商 特性 |
表3是表2中的Priority为1时的情况,各个优先级分别为:permanent:1100、static:1010、to-static:1001,其它情况保留,做其它用途。例如,多层交换机中需要设置IP地址,必须启用三层地址对应的MAC地址,这样,三层MAC地址对应的MAC条目应该具有较高优先级,在设计时可以配置其MAC条目的优先级标识为1110或者1111;其它优先级标识的设置可以根据设计者在考虑 不同设备的具体业务时根据需求来进行设置,最主要的目的是能够保证高优先级的MAC条目优先存入MAC表就可以。
表3
Priority | Permanent | Static | To-static |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
表4是表2中的Priority为0的情况,即,MAC条目通过动态写入获得,除最高优先级位的其他三位优先级位为从VLAN头部中的PRI拷贝的数据,其中,VLAN头部中各部分的含义可以参见IEEE802.1Q标准。一般来说,MAC条目都会有一个VLAN头部,即使不带VLAN头部的数据包在进入交换机之前都会打上一个VLAN头部,但是不同的设备可能实现方法不同,如果没有找到VLAN信息,则可以将优先级的后三位设置为0,或者取其它默认值。
表4
TPID | PRI | CFI | VLAN ID |
16Bit | 3bit | 1bit | 12bit |
表5是根据本发明实施例的设置优先级位后的MAC条目的内容,其中,PRI(priority)为优先级位中的最高位,用来区别MAC条目是动态配置还是用户通过OAM配置的MAC条目,其中,最高位为1则表示后面的其他三个优先级位为用户手工配置的标志位,其中,PER、STA和To-S分别表示优先级位中除最高位之外的其他三位,其涵义已经在表2中描述,这里不再赘述,最高位为0则表示的其他三个优先级位为拷贝的VLAN优先级(即数据包中的VLAN的优先级),通过该设置,当存储MAC条目发生冲突时不再直接将该MAC条目丢弃,而是根据该MAC条目的优先级标识确定该MAC条目的优先级后再决定是否将该MAC条目丢弃或保留。
表5
图3示出了动态写入的MAC条目发生冲突后的详细处理流程,如图3所示,在图1所示的方法的基础上,对MAC条目增加了优先级的处理,具体处理过程如下。
步骤S301,设置判断源MAC是否全为0,如果判断结果为是,则进行到步骤S302,否则进行到步骤S303;
步骤S302,将源MAC丢弃;
步骤S303,判断源MAC是否为广播组播地址,如果判断结果为是,则进行到步骤S304,否则进行到步骤S305;
步骤S304,丢弃源MAC并将其发送至CPU处理;
步骤S305,查询MAC表(源MAC和VID为索引);
步骤S306,判断源MAC是否有表项匹配,如果判断结果为是,则进行到步骤S307,否则进行到步骤S310;
步骤S307,更新老化时间;
步骤S308,判断表项对应的端口是否发生迁移,如果判断结果为是,则进行到步骤S309,否则进行到步骤S310;
步骤S309,判断源地址对应端口是否允许迁移,如果判断结果为是,则进行到步骤S310,否则进行到步骤S311;
步骤S310,学习源MAC;
步骤S311,丢弃源MAC并将其发送至CPU处理。
步骤S312,判断将要存入MAC条目的位置上是否已经存在数据,如果已经存在数据,则进行步骤S314,否则进行步骤S313;
步骤S313,将相应的MAC条目存入MAC表;
步骤S314,取出将要存入MAC条目的VLAN头部的priority位(如果没有则根据事先设置的默认值进行设置)并在头部加一个0构成P1,并与已经存在的MAC条目的P2进行比较,判断P1的优先级是否大于P2的优先级,如果判断结果为是,则进行到步骤S315,否则进行到步骤S316;
步骤S315,P1>P2(即新条目的优先级高),则新的MAC条目覆盖旧的MAC条目,同时同步给其它模块;
步骤S316,P1<=P2(即新条目的优先级低),则丢弃新的MAC条目,不对新的MAC条目进行学习。
需要说明的是,当通过检索发现MAC条目在MAC表中不存在时,将MAC条目写入MAC表;根据相应规则计算存储位置,如果对应存储位置没有MAC条目,则将MAC条目存入MAC表;但是如果对应存储位置已经存在MAC,则按照上述图3所示的流程进行处理。
图4示出了通过OAM配置下发的MAC条目表发生冲突后的处理流程,如图4所示,包括以下流程处理。
步骤S401,OAM配置产生MAC条目,并将该MAC条目写入MAC表。
步骤S402,判断新MAC条目的对应的存储位置是否存在数据,如果判断结果为是,则进行到步骤S403,否则进行到步骤S404。
步骤S403,将相应MAC条目存入MAC表。
步骤S404,判断新MAC条目的优先级P2是否大于已经存在的MAC条目的优先级P1,如果判断结果为是,则进行到步骤S405,否则进行到步骤S406。
在该步骤S404中,结合表3根据配置的命令和预先设置的值,如果为用户配置永久permanent地址且冲突发生,则设置其优先级为P1(1100),与已经存在的MAC条目P2(PRI、PER、STA、to-S构成)进行比较,如果P1>P2,则覆盖旧的MAC条目;如果P1<=P2,则配置失败,并产生告警消息提示用户地址冲突,配置静态MAC失败。在本例中,to-static操作稍微有些区别,因为其MAC条目已经在MAC表中存在,则冲突不会发生。在配置过程中,只需要在配置后修改其优先级位。如将动态MAC条目配置to-static后,修改相应优先级为1001;但是在清除to-static配置时,因为其之前的优先级已经丢失,则需要清除所以被to-static的MAC条目重新进行学习。这里是通过交换机的一个实施例,其中也可以通过设置其它位实现,不一定需要设置to-static位,只要能够利用优先级很好的区分MAC条目就可以。
步骤S405,将新MAC条目丢弃,不对其进行学习。
步骤S406,将该新MAC条目写入MAC表。
需要说明的是,当通过检索发现MAC条目在MAC表中不存在时,将MAC条目写入MAC表;根据相应规则计算存储位置,如果对应存储位置没有MAC条目,则将MAC条目存入MAC表;但是如果对应存储位置已经存在MAC,则按照上述图4所示的流程进行处理。
装置实施例
根据本发明实施例,提供一种MAC条目的处理装置。
图5示出了根据本发明实施例的MAC条目的处理装置的结构框图,如图5所示,该装置包括设置模块10、地址确定模块20、优先级确定模块30、判断模块40、比较模块50和处理模块60。
设置模块10,用于分别为每个媒体访问控制条目设置用以表示写入优先级的优先级标识;地址确定模块20,用于确定待写入的第一媒体访问控制条目的物理地址;优先级确定模块30,连接至设置模块10,用于根据媒体访问控制条目的优先级标识确定该媒体访问控制条目的优先级;判断模块40,连接至地址确定模块20,用于判断地址确定模块确定的物理地址中是否已经写入有第二媒体访问控制条目;比较模块50,连接至优先级确定模块30和判断模块40,用于将第一媒体访问控制条目的优先级与第二媒体访问控制条目的优先级进行比较;处理模块60,连接至比较模块50,用于根据比较模块中的比较结果对第一媒体访问控制条目进行处理,如果比较模块50的比较结果为:第一媒体访问控制条目的优先级高于第二媒体访问控制条目的优先级,则处理模块60将第一媒体访问控制条目写入物理地址并覆盖第二媒体访问控制条目;如果比较模块50的比较 结果为:第一媒体访问控制条目的优先级低于或等于第二媒体访问控制条目的优先级,则处理模块60丢弃第一媒体访问控制条目。
其中,上述的设置模块10设置优先级标识的方式可以为:将优先级标识的最高位设置为用于表示媒体访问控制条目的类型,其中,媒体访问控制条目的类型包括:通过操作管理维护配置的媒体访问控制条目、动态写入的媒体访问控制条目,其中,可以设置动态写入的媒体访问控制条目的优先级为低于通过操作管理维护配置的媒体访问控制条目的优先级。对于通过操作管理维护配置的媒体访问控制条目,将优先级标识中除最高位之外的其他位设置为用于表示操作管理维护配置;对于动态写入的媒体访问控制条目,将优先级标识中除最高位之外的其他位设置为用于表示携带该媒体访问控制条目的VLAN的优先级,其中,操作管理维护配置包括以下之一:对媒体访问控制条目的永久配置、对媒体访问控制条目的静态配置、通过操作管理维护命令将媒体访问控制条目固化到设备。
通过本发明实施例提供的MAC条目的处理装置,通过设置各MAC条目的优先级标识来确定各MAC条目的优先级,并通过比较MAC条目的优先级来确定是否写入新的MAC条目,使得新的MAC条目不被直接丢弃,保证了重要业务的MAC条目的写入,优先保证了重要业务的使用。
图6示出了本发明实施例的同步信号序列的发送装置的优选结构框架图,如图6所示,在图5所示装置的基础上,该装置还包括调度模块70,该调度模块70可以连接至优先级确定模块30和比较模块50,用于在满足预定条件时,调度优先级确定模块30至比较模块50,其中,在满足第一预定条件时,调度优先级确定模块30确定第一媒体访问控制条目的优先级,在满足第二预定条件时,调度优先级确定模块30确定第二媒体访问控制条目的优先级,其中,第一预定条件包括以下之一:用于保存媒体访问控制条目的空间的 容量已满、用于保存媒体访问控制条目的空间的剩余容量小于或等于预定值、第一媒体访问控制条目与第二媒体访问控制条目发生散列冲突;第二预定条件包括:判断模块判断物理地址中已经写入有第二媒体访问控制条目。
需要说明的是,本发明以交换机为例通过优先级操作对MAC地址学习处理,但并不局限于此,其他通过优先级操作对发生MAC地址学习冲突的方法都应该受到本发明的保护。另外,本发明实施例中提到的高优先级的概念只是相对的,实现时可以根据具体情况进行调整,例如,低优先级的MAC条目可以覆盖高优先级的MAC条目。
如上所述,借助于本发明提供的MAC条目的处理方法和/或装置,通过设置各MAC条目的优先级标识来确定各MAC条目的优先级,并通过比较MAC条目的优先级来确定是否写入新的MAC条目,使得新的MAC条目不被直接丢弃,保证了重要业务的MAC条目的写入,优先保证了重要业务的使用。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种媒体访问控制条目的处理方法,其特征在于,包括:
对于每个媒体访问控制条目,分别为其设置用以表示写入优先级的优先级标识;
确定第一媒体访问控制条目的物理地址,并且在预定条件下,根据所述第一媒体访问控制条目的优先级标识确定所述第一媒体访问控制条目的优先级;
如果确定的所述物理地址中已经写入有第二媒体访问控制条目,则根据所述第二媒体访问控制条目的优先级标识确定所述第二媒体访问控制条目的优先级;
对所述第一媒体访问控制条目的优先级与所述第二媒体访问控制条目的优先级进行比较,并根据比较结果对所述第一媒体访问控制条目进行处理。
2.根据权利要求1所述的方法,其特征在于,所述设置用以表示写入优先级的优先级标识包括:
将所述优先级标识的最高位设置为用于表示所述媒体访问控制条目的类型,其中,所述类型包括:通过操作管理维护配置的媒体访问控制条目、动态写入的媒体访问控制条目;
对于所述通过操作管理维护配置的媒体访问控制条目,将所述优先级标识中除所述最高位之外的其他位设置为用于表示操作管理维护配置;
对于所述动态写入的媒体访问控制条目,将所述优先级标识中除所述最高位之外的其他位设置为用于表示携带该媒体访问控制条目的虚拟局域网的优先级。
3.根据权利要求2所述的方法,其特征在于,所述操作管理维护配置包括以下之一:对媒体访问控制条目的永久配置、对媒体访问控制条目的静态配置、通过操作管理维护命令将媒体访问控制条目固化到设备。
4.根据权利要求2所述的方法,其特征在于,所述动态写入的媒体访问控制条目的优先级低于所述通过操作管理维护配置的媒体访问控制条目的优先级。
5.根据权利要求1所述的方法,其特征在于,所述根据比较结果对所述第一媒体访问控制条目进行处理包括:
如果所述第一媒体访问控制条目的优先级高于所述第二媒体访问控制条目的优先级,则将所述第一媒体访问控制条目写入所述物理地址并覆盖所述第二媒体访问控制条目;
如果所述第一媒体访问控制条目的优先级低于或等于所述第二媒体访问控制条目的优先级,则丢弃所述第一媒体访问控制条目。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述预定条件包括以下之一:
用于保存媒体访问控制条目的空间的容量已满;
用于保存媒体访问控制条目的空间的剩余容量小于或等于预定值;
所述第一媒体访问控制条目与所述第二媒体访问控制条目发生散列冲突。
7.一种媒体访问控制条目的处理装置,其特征在于,包括:
设置模块,用于分别为每个媒体访问控制条目设置用以表示写入优先级的优先级标识;
地址确定模块,用于确定待写入的第一媒体访问控制条目的物理地址;
优先级确定模块,用于根据媒体访问控制条目的优先级标识确定该媒体访问控制条目的优先级;
判断模块,用于判断所述地址确定模块确定的物理地址中是否已经写入有第二媒体访问控制条目;
比较模块,用于将所述第一媒体访问控制条目的优先级与所述第二媒体访问控制条目的优先级进行比较;
处理模块,用于根据所述比较模块中的比较结果对所述第一媒体访问控制条目进行处理。
8.根据权利要求7所述的装置,其特征在于,所述装置进一步包括:
调度模块,用于在满足预定条件时,调度所述优先级确定模块,其中,在满足第一预定条件时,调度所述优先级确定模块确定所述第一媒体访问控制条目的优先级,在满足第二预定条件时,调度所述优先级确定模块确定所述第二媒体访问控制条目的优先级;
所述第一预定条件包括以下之一:
用于保存媒体访问控制条目的空间的容量已满;
用于保存媒体访问控制条目的空间的剩余容量小于或等于预定值;
所述第一媒体访问控制条目与所述第二媒体访问控制条目发生散列冲突;
所述第二预定条件包括:所述判断模块判断所述物理地址中已经写入有所述第二媒体访问控制条目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101870321A CN101431472B (zh) | 2008-12-15 | 2008-12-15 | 媒体访问控制条目的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101870321A CN101431472B (zh) | 2008-12-15 | 2008-12-15 | 媒体访问控制条目的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101431472A CN101431472A (zh) | 2009-05-13 |
CN101431472B true CN101431472B (zh) | 2011-05-25 |
Family
ID=40646646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101870321A Active CN101431472B (zh) | 2008-12-15 | 2008-12-15 | 媒体访问控制条目的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101431472B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102356607A (zh) * | 2011-08-25 | 2012-02-15 | 华为技术有限公司 | 学习媒体接入控制地址的方法和装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410453A1 (en) * | 2010-06-21 | 2012-01-25 | Samsung SDS Co. Ltd. | Anti-malware device, server, and method of matching malware patterns |
WO2014094229A1 (en) * | 2012-12-18 | 2014-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for managing media access control addresses |
JP5954236B2 (ja) * | 2013-03-28 | 2016-07-20 | 日立金属株式会社 | ネットワーク中継装置 |
CN103491004B (zh) * | 2013-09-02 | 2016-07-20 | 奥维通信股份有限公司 | 一种基于mias系统的以太网交换方法 |
US11436274B2 (en) | 2016-01-19 | 2022-09-06 | Regwez, Inc. | Visual access code |
CN107357672B (zh) * | 2017-06-21 | 2020-12-18 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN109218458B (zh) * | 2017-07-07 | 2022-05-27 | 中兴通讯股份有限公司 | Mac地址的写入方法、设备及计算机可读存储介质 |
CN107547408B (zh) * | 2017-07-28 | 2020-08-28 | 新华三技术有限公司 | 一种mac地址哈希冲突的处理方法和装置 |
CN111343089B (zh) * | 2020-02-17 | 2022-03-25 | 烽火通信科技股份有限公司 | 解决mac地址hash冲突导致洪泛问题的方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774560A (zh) * | 2003-04-18 | 2006-05-17 | 通用电气公司 | 在闭式涡轮叶片上中心定位的刀齿 |
-
2008
- 2008-12-15 CN CN2008101870321A patent/CN101431472B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774560A (zh) * | 2003-04-18 | 2006-05-17 | 通用电气公司 | 在闭式涡轮叶片上中心定位的刀齿 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102356607A (zh) * | 2011-08-25 | 2012-02-15 | 华为技术有限公司 | 学习媒体接入控制地址的方法和装置 |
WO2012162964A1 (zh) * | 2011-08-25 | 2012-12-06 | 华为技术有限公司 | 学习媒体接入控制地址的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101431472A (zh) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101431472B (zh) | 媒体访问控制条目的处理方法和装置 | |
US20050141537A1 (en) | Auto-learning of MAC addresses and lexicographic lookup of hardware database | |
EP1779605B1 (en) | Forwarding database in a network switch device | |
CN101815107B (zh) | 一种以太环网中管理地址的方法、系统以及设备 | |
US6181702B1 (en) | Method and apparatus for capturing source and destination traffic | |
CN101019380B (zh) | 用于环形网络中的加速学习的系统和方法 | |
EP2086178A1 (en) | Link aggregation method, device, mac frame receiving/sending method and system | |
US7869439B1 (en) | Varying packet switch behavior based on a quantity of virtual interfaces associated with a virtual switch | |
US20080240106A1 (en) | Method and apparatus for MAC address learning | |
WO2009033428A1 (fr) | Procédé, système et dispositif pour retirer une adresse de commande d'accès au support | |
CN100461769C (zh) | 网络交换器用以处理虚拟局域网的包的方法 | |
US20100260188A1 (en) | Method and device for processing qinq packet | |
CN101494610B (zh) | 处理报文的方法及交换机 | |
CN100435528C (zh) | 减少网络内媒体接入控制地址学习的方法 | |
EP1583291B1 (en) | Individually programmable most significant bits of VLAN ID | |
CN101778035B (zh) | 一种虚拟专用局域网通信的方法及装置 | |
CN102916874B (zh) | 一种报文发送方法及设备 | |
CN100391196C (zh) | 基于虚拟局域网的数据交换方法 | |
EP1594258B1 (en) | Method and system for receiving and transmitting different data frames on digital transmission network | |
JP5971072B2 (ja) | フレーム転送装置及びフレーム転送方法 | |
CN112838993B (zh) | 一种实现mac vlan动态下发的方法 | |
CN102035659A (zh) | 域划分时报文的广播方法及装置 | |
WO2004023732A1 (en) | Method and apparatus for storing a port identifier in a lan switch | |
CN102057633B (zh) | 用于使用优选目的地列表处理交换机的方法和设备 | |
CN102045262A (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 |