学习媒体接入控制地址的方法和装置的制作方法

文档序号:7846983阅读:146来源:国知局
专利名称:学习媒体接入控制地址的方法和装置的制作方法
技术领域
本发明涉及数据通讯领域,具体地说,涉及学习媒体接入控制地址的方法和装置。
背景技术
以太网交换设备在媒体接入控制(MAC,Media Access Control)层根据MAC地址进行转发。如图1所示的MAC地址学习过程,报文1从设备1通过入端口,进入设备3,设备3 首先进行报文合法性检查,如果合法,则进行源MAC地址学习(写入MAC地址表),然后查找目的MAC地址对应的MAC表项,找到MAC地址表,读出该MAC地址表对应的端口,报文从该端口转发出去。这样就完成了一次报文转发。然而,MAC地址表资源是有限的,如果MAC地址表学习满后,在没有老化或者删除 MAC地址的情况下,新来的报文(带有新MAC地址)就不能学习新MAC地址,回来的报文找不到MAC表项,就会造成广播,设备一般都会对未知单播造成的广播进行流量抑制,从而不能保证没有学习到MAC地址的业务的质量。

发明内容
本发明的实施例可以解决在MAC地址表资源耗尽的情况下不能学习新MAC地址, 从而影响业务质量的问题。一方面,本发明的实施例提供了一种学习MAC地址的方法,包括接收包含源MAC地址的报文;如果MAC地址表中没有空闲存储空间,根据所述源MAC地址的MAC地址优先级P 以及所述MAC地址表中各个表项的MAC地址优先级,确定所述MAC地址表中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P,所述P系根据所述报文包含的信息或所述报文所属的业务的信息确定;使用所述一个表项占用的存储空间存储包含所述源MAC地址的表项。另一方面,本发明的实施例提供了一种学习MAC地址的装置,包括报文接收单元,用于接收包含源MAC地址的报文;优先级确定单元,用于根据所述报文包含的信息或所述报文所属的业务的信息确定所述源MAC地址的MAC地址优先级P ;空闲判断单元,用于判断MAC地址表中是否有空闲存储空间;抢占单元,如果所述MAC地址表中没有空闲存储空间,用于根据所述P以及所述 MAC地址表中各个表项的MAC地址优先级,确定所述MAC地址表中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P ;保存单元,用于使用所述一个表项占用的存储空间存储包含所述源MAC地址的表项。通过实施本发明的实施例,可以在MAC地址表存储资源用完的情况下,使用已经被占用的存储空间学习新的MAC地址,从而提升业务的服务质量。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为报文转发示意图;图2为本发明实施例的学习MAC地址的方法流程示意图;图3为本发明实施例的MAC地址表项数据示意图;图4为本发明实施例的严格优先级学习策略的流程示意图;图5为本发明实施例的比例优先级学习策略的流程示意图;图6为本发明实施例的学习MAC地址的装置示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。各种业务可以有不同的业务优先级,比如IP电话(V0IP,Voice on IP)、宽带电视 (BTV, Broadband TV)、高速因特网服务(HIS, High Speed Internet)等业务的优先级可以是从高到低的顺序。本发明的实施例提供了一种学习MAC地址的方法,如图2所示,包括步骤201 接收包含源MAC地址的报文;步骤203 如果MAC地址表中没有空闲存储空间,根据所述源MAC地址的MAC地址优先级P以及所述MAC地址表中各个表项的MAC地址优先级,确定所述MAC地址表中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P,所述P系根据所述报文包含的信息或所述报文所属的业务的信息确定;步骤205 使用所述一个表项占用的存储空间存储包含所述源MAC地址的表项。该表项的MAC地址优先级为所述P。为了根据MAC地址优先级信息实施优先级学习策略,系统中保存有MAC地址表中的每个表项的MAC地址优先级数据,该表项的MAC地址优先级也就是该表项的MAC地址的 MAC地址优先级。例如,如图3所示,MAC地址优先级数据可以直接存储在MAC地址表的MAC 表项中。当然,MAC地址优先级数据也可以不存储在MAC地址表中。由于MAC地址表资源有限,不可能使用很长的字段来存储优先级,而业务的优先级各式各样,优先级的取值也是大小不一,可以根据接收到的报文包含的信息或者该报文所属业务的信息,确定源MAC地址的MAC地址优先级。可以采用如下几种方式确定源MAC 地址的MAC地址优先级1.获取所述报文包含的报文优先级,根据所述报文优先级以及报文优先级到MAC地址优先级的映射关系,确定所述源MAC地址的MAC地址优先级P。收到的报文包含的报文优先级字段,这些优先级字段可以是802. Ip的优先级字段,IP头部的优先级字段,多协议标签交换(MPLS,Multi-Protocol Label Switching)报文的优先级字段,自定义的优先级字段等。例如,使用802. Ip的报文优先级字段时,如果在MAC表项中用3个比特(bit)存储MAC地址优先级,报文优先级到MAC地址优先级的映射关系可以是直接用802. Ip的优先级作为MAC地址优先级来存储并进行业务处理。使用IP报文优先级字段时,报文优先级到 MAC地址优先级的映射关系可以是以优先级字段的最高3个bit作为作为MAC地址优先级来存储和处理。2.确定报文所属的业务,获取该业务的业务优先级,根据业务优先级到MAC地址优先级的映射关系,确定所述源MAC地址的MAC地址优先级。为了确定报文所属的业务,可以从报文中提取业务识别信息,如VLAN ID,端口号、 封装类型等,根据这些业务识别信息确定报文所属的业务,进而获得该业务的业务优先级。 也可以根据报文中未包含的信息,如报文的来源端口、子端口、PVC等信息确定报文所属的业务。例如,在接入网领域,可以使用业务流表示一种业务,可以使用用户VLAN、用户的封装类型(如PPPoE类型)、一个或多个端口、一个PVC等标识一个业务流,这个业务流通常都具有业务优先级属性。业务报文经过匹配业务流后,根据业务流的优先级,确定所述报文所属的业务,该业务具有业务优先级,根据业务优先级到MAC地址的映射关系,确定源MAC 地址的MAC地址优先级。3.确定所述报文所属的业务,所述源MAC地址的MAC地址优先级P等于配置数据中所述业务对应的MAC地址优先级。根据业务识别信息确定报文所属的具体业务,配置数据中包含了该具体业务的报文中包含的源MAC地址的MAC地址优先级。以下结合几个例子说明以上几种确定源MAC地址优先级的方法。在一个实施例中,MAC地址优先级有4个等级为从0到3,配置一个业务,该业务基于端口 0/1/0,配置该业务的MAC地址优先级为3,对于属于该业务的所有报文,即从该端口进入的所有报文,这些报文包含的源MAC地址的MAC地址优先级都为3。在另一个实施例中,MAC地址优先级有4个等级为从0到3,业务流优先级,即业务优先级有8个等级为从0到7,配置两条业务流一条业务流为端口 0/2/0虚路径标识(vpi, virtual path identifier) 0 虚ffl道标i只(vci, virtual channel identifier) 35,业务优先级为7,没有配置MAC地址优先级;另一条为端口 0/2/0 vpiO vci 36,配置该业务流的 MAC地址优先级为2。报文进入设备端口 0/2/0后,首先确定报文所属的业务流,对于vpi 0 vci 35业务的报文,由于没有配置MAC地址优先级,需要将业务流的优先级映射到MAC地址优先级,可以把业务流优先级0到1映射到MAC地址优先级的0,2到3映射到1,依此类推。 当然,也可以采用其他方法进行映射,例如将6到7映射为0,4到5映射为1,依此类推。如果vpi 0 vci 35上来的报文的MAC地址优先级映射为3,从该端口的vpi 0 vci 35进入的所有报文包含的源MAC地址的MAC地址优先级为3。对于vpi 0 vci 36上来的报文,由于该业务流配置了 MAC地址优先级,则将该报文的MAC地址优先级为配置值2。
6
在另一个实施例中,MAC地址优先级有4个等级为从0到3,业务流优先级,即业务优先级有8个等级为从0到7,配置两条业务流一条为端口 0/3/0 vlan50,业务流优先级为5,没有配置MAC地址优先级;另一条为端口 0/3/0 vlan 60,配置该业务流的MAC地址优先级为1。报文进入设备端口 0/3/0,确定该报文为vlan为50的业务的报文,由于没有配置MAC地址优先级,根据业务优先级到MAC地址优先级的映射关系,例如,和前一个实施例相同的映射关系,将业务的优先级1映射到MAC地址优先级,将该端口上来的vlan为50的报文的业务流优先级5映射为MAC地址优先级2,即从该端口进入的所有vlan为50的报文的源MAC地址在MAC地址表中的MAC地址优先级为2。对于该端口上来的所有vlan为60 的报文,由于该业务流配置了 MAC地址优先级,则将该报文的MAC地址表的优先级设置为1。在另一个实施例中,采用混合方式确定MAC地址优先级,可以部分根据报文自带优先级字段确定MAC地址优先级映射(上面的第1种方式),部分根据业务优先级到MAC 地址优先级的映射关系确定MAC地址优先级(上面的第2种方式),部分根据配置确定业务对应的MAC地址优先级(上面的第3种方式)。例如,确定报文所属的业务,检查业务配置的MAC地址优先级,如果配置了 MAC优先级,则不需要映射,直接根据配置的MAC优先级来处理,如果没有配置MAC优先级,但是配置了业务优先级,则将业务优先级映射成MAC地址优先级来处理,如果没有配置业务优先级,则还可以将报文自带的优先级字段映射为MAC 地址优先级。处理的优先顺序从高到底可以是配置的MAC优先级、业务优先级映射到MAC 地址优先级、报文优先级字段映射到MAC地址优先级。采用这种处理顺序,可以使MAC地址优先级尽可能反映业务的优先级顺序,从而为不同的业务提供更好的区别服务。步骤203中,当没有空闲存储空间时,可以通过采用优先级学习策略,从已经被使用的存储空间中抢占一个地址表项占据的空间,以存储包含源MAC地址的地址表项,避免因没有MAC地址表资源而导致无法学习新的MAC地址,从而提升业务的服务质量。优先级学习策略可以包括1、严格优先级策略基于严格优先级策略,203确定所述MAC地址表中的一个表项占用的存储空间具体为确定所述MAC地址表中MAC地址优先级为Pl的一个表项占用的存储空间,其中,所述 Pl的MAC地址优先级低于所述P的MAC地址优先级。优选地,该一个地址表项可以是所有 MAC地址优先级低于P的表项中MAC地址优先级最低的表项。在MAC地址表资源耗尽的情况下,高优先级的业务MAC地址学习可以抢占低优先级的MAC表项资源,只要MAC地址表中有MAC地址优先级比正在学习的源MAC地址的优先级低的表项资源,就可以抢占。如果抢占优先级最低的表项,可以实现更好的区别服务,尽可能减小对较高优先级服务的影响。如果没有可被抢占的资源,就不学习该源MAC地址。这种策略使得高优先级业务比低优先级业务得到更好的优先处理。2、比例优先级策略如果高优先级的业务非常多,则高优先级业务可能会把MAC表项资源抢占完,从而导致低优先级的业务无法学习MAC地址,从而导致低优先级的业务饿死。为了防止低优先级业务饿死,同时又让高优先级业务得到相对更高的处理优先级,可以对每个MAC地址优先级配置一个门限值。例如,按照从高到低的顺序为每个MAC地址优先级配置一个门限值,高优先级的配置的门限值不少于低优先级的门限值。
例如,MAC地址表资源为1000个,如果使用2个bit来表示4个MAC地址优先级, 则4个优先级的门限值的权重配置可以是40 %,30 %,20 %,10 %,即4个优先级的门限值为400、300、200、100。如果用3个bit表示8个优先级,门限值可配置为30%,20%,10%, 10%,8%,8%,7%,7%。在学习MAC的时候,当MAC地址表中有空闲表项的时候,无论某个MAC地址优先级的MAC地址表项数量是否小于该优先级对应的门限值,都可以直接使用空闲表项,不用考虑配置的门限值。例如,1000个MAC地址表项,优先级为0的最低优先级配置的门限值为 100,在0优先级占满100个表项后,如果还有空闲表项,则可以继续学习优先级为0的MAC 地址。当没有空闲表项的时候,可以考虑配置给不同MAC地址优先级的门限值。可以比较MAC地址表中每个不等于P的MAC地址优先级Q的表项的数量和该Q的门限值如果Q的优先级低于P,且Q的数量大于门限值,则可以确定MAC地址表中MAC地址优先级为Q的一个表项占用的存储空间来进行抢占。例如,有0到3优先级依次升高的共 4个MAC地址优先级的情形,当没有空闲存储空间,MAC地址优先级为3的源MAC地址需要抢占时,MAC地址优先级为0和1的表项都超过了分别分配给0和1优先级的门限值,则可以从这两种表项中确定一个表项予以抢占。优选地,所述一个表项可以是MAC地址优先级为所有满足MAC地址优先级低于P且该优先级的表项数量大于门限值的条件的表项中MAC 地址优先级最低的表项。如前面的例子,在0和1两种优先级表项中确定一个优先级0的表项予以抢占。因为可以抢占到低优先级MAC地址占用的资源,所以可以为高优先级业务提供比低优先级业务更高的处理优先级。对于优选方案,可以尽可能抢占优先级低的业务, 从而实现更好的区别服务。以上情况确定的是MAC地址优先级低于所述P的一个表项。如果Q的优先级低于P,且Q的数量小于等于门限值,则不能抢占MAC地址优先级为Q的表项。如果Q的优先级高于P,且Q的数量大于门限值,且MAC地址表中P的数量小于门限值,则可以确定MAC地址表中MAC地址优先级为Q的一个表项占用的存储空间来进行抢占。例如,有0到7共8个优先级依次升高的MAC地址优先级的情形,当MAC地址优先级为 0的源MAC地址需要占用MAC地址表资源学习MAC地址时,MAC地址表中MAC地址优先级为 0的表项的数量还未达到分配的门限值,但其余MAC地址表资源已经都被MAC地址优先级为6和7的表项用完,并且MAC地址优先级为6和7的表项的数量都分别超过了各自的门限值,则可以从6和7占用的表项中确定一个表项占据的存储空间予以抢占。优选地,所述一个表项可以是所有满足条件的表项中MAC地址优先级最低的表项。如前例,可以抢占优先级为6的表项。当高优先级MAC地址把所有地址表资源都占用后,低优先级MAC地址可以抢回分配的配额,保证了低优先级业务不会被饿死。对于优选方案,可以尽可能抢占优先级低的业务,从而实现更好的区别服务。这种情况是203所述的确定所述MAC地址表中的一个表项占用的存储空间的一种具体情形确定所述MAC地址表中MAC地址优先级为Q的一个表项占用的存储空间,其中,所述Q的MAC地址优先级大于所述P的MAC地址优先级, 所述MAC地址表中MAC地址优先级为所述P的表项的数量小于为所述P配置的门限值,且 MAC地址优先级为所述Q的表项的数量大于为所述P2配置的门限值。
如果Q的优先级高于P,且Q的数量大于门限值,且MAC地址表中P的数量大于等于门限值,则不能抢占MAC地址优先级为Q的表项的存储空间;如果Q的优先级高于P,且Q的数量小于等于门限值,则不能抢占MAC地址优先级为Q的表项的存储空间。换言之,当本优先级MAC表项的数量大于等于分配的门限值时,如果MAC地址表中不存在某个低优先级的表项,或虽然存在低优先级的表项但是低优先级的表项数量小于等于分配的门限值,则没有可以抢占的资源,无法抢占,就不学习新来的源MAC地址;当本优先级MAC表项的数量小于分配的门限值时,由于资源总数一定,则存在某个其他优先级的表项数量超过了为该某个优先级配置的门限值,因此,该其他优先级的MAC表项是能被抢占的,可以从中选择一个表项进行抢占。由于设备的MAC地址表资源是有限的,为了保障一些业务的优先性,可以给各种业务单独分配MAC地址表资源。例如,可以单独限制业务流(一个端口可能有多条业务流)、 端口、vlan的MAC地址资源数量,此时,可以基于这些单独分配的MAC地址表资源来应用前述的学习MAC地址的方法,可以达到粒度更细的基于优先级的MAC地址学习。例如如果单独为一个业务流分配了 10个MAC地址表资源,则可以在这条业务流上配置MAC地址优先级学习策略,可以把报文包含的报文优先级映射到MAC地址优先级,采用严格优先级策略或比例优先级策略进行MAC地址的优先级学习。 为了采用优先级学习策略,需要保存MAC表项对应的MAC地址优先级,例如可以在 MAC表项中增加优先级的存储字段。可以利用MAC地址表中的表项的MAC地址优先级数据, 来判断MAC地址表中是否存在能被抢占的表项资源。向MAC地址表中增加表项时,在该表项中记录MAC地址优先级。可以通过预先配置的方式确定是否采用优先级学习策略对MAC地址进行学习,也可以通过预先配置的方式确定是采用严格优先级学习策略,还是采用比例优先级学习策略。图4所示的为采用严格优先级学习策略的一个具体实施例。该实施例中,MAC地址优先级为1到η共η个优先级依次升高的MAC地址优先级,η为大于1的整数。使用η个计数器,其中,第k个计数器(计数器k)记录MAC地址优先级为k的MAC地址使用的MAC表项资源的数量,其中,k= 1,2, ... , η。向MAC地址表中增加表项时,相应优先级的学习数计数器加1,老化或者删除该MAC地址的时候,相应优先级对应的计数器减1。通过计数器, 可以更直接地判断是否存在能被抢占的表项资源。该实施例包括以下步骤步骤401 收到一个包含源MAC地址的报文;步骤403 确定该报文的MAC地址优先级为m,m小于等于η且大于等于1。可以采用前文所述的方法确定该报文的MAC地址优先级。步骤405 判断各个计数器的和是否小于MAC地址表资源总数,如果各个计数器的和等于MAC地址表资源总数,即MAC地址表中已经没有空闲表项,转至407,如果小于,即还有空闲表项,转至417。步骤407 确定本次要检查的计数器为计数器i。计数器1是第一个被检查的计数器,下一个要检查的为第i+Ι个计数器。按优先级从小到大的顺序进行检查,可以找到能被抢占的优先级最低的表项。
步骤409 判断i是否等于m,如果是,转至415,如果不是,转至411 ;步骤411 判断计数器i的值是否不等于0,如果是,执行413,如果不是,执行407。 通过判断计数器i的值是否不等于0,判断MAC地址表中是否存在能够被抢占的表项。步骤413 使用MAC地址表中一个MAC地址优先级为i的表项的存储空间生成包含源MAC地址的表项,设置该表项的优先级为m,计数器m加1,计数器i减1。步骤415 没有能被抢占的低优先级的表项,不学习该源MAC地址;步骤417 使用MAC地址表的一个空闲表项的存储空间生成包含该源MAC地址的表项,并设置该表项的MAC地址优先级为m,计数器m加1。图5所示的为采用比例优先级学习策略的一个具体实施例。该实施例中,MAC地址优先级为1到η共η个优先级依次升高的MAC地址优先级,η为大于1的整数。使用η个计数器,其中,计数器k记录MAC地址优先级为k的MAC地址使用的MAC表项资源的数量。其中,k= 1,2, ...,η。同时,为每个MAC地址优先级设定该优先级的门限值,优先级为k的 MAC地址的门限值为QK。该实施例包括以下步骤步骤501 收到一个包含源MAC地址的报文;步骤503 确定该报文的MAC地址优先级为m,m小于等于η且大于等于1。可以采用前文所述的方法确定该报文的MAC地址优先级。步骤505 判断各个计数器的和是否小于MAC地址表资源总数,如果各个计数器的和不小于MAC地址表资源总数,即MAC地址表中已经没有空闲表项,转至507,如果小于,即还有空闲表项,转至525。步骤507 判断计数器m的值是否小于Qm,如果大于等于,转至509,尝试抢占一个低优先级的表项,如果小于,转至519,回抢一个表项。步骤509 确定本次要检查的计数器为计数器i,计数器1是第一个被检查的计数器,下一个要检查的为第i+Ι个计数器。按优先级从小到大的顺序进行检查,可以找到能被抢占的优先级最低的表项。步骤511 判断i是否等于m,如果是,转至517,如果不是,转至513;步骤513 判断计数器i的值是否大于Qm,如果是,执行515,如果否,转至509 ;步骤515 使用MAC地址表中一个MAC地址优先级为i的表项的存储空间生成包含源MAC地址的表项,设置该表项的MAC地址优先级为m,计数器m加1,计数器i减1 ;步骤517 没有能被抢占的低优先级表项,不学习该源MAC地址;步骤519 确定本次要检查的计数器为计数器i,计数器1是第一个被检查的计数器,下一个要检查的为第i+Ι个计数器。按优先级从小到大的顺序进行检查,可以找到能被抢占的优先级最低的表项。步骤521 判断计数器i的值是否大于Qi,如果是,表示MAC地址表中优先级i的表项的数量超过了优先级i的门限值,继续执行523回抢一个表项资源;如果否,表示没有超过门限值,转至519,继续检查下一个计数器。步骤523 使用MAC地址表中一个MAC地址优先级为i的表项的存储空间生成包含源MAC地址的表项,设置该表项的MAC地址优先级为m,计数器m加1,计数器i减1 ;步骤525 使用MAC地址表的一个空闲表项的存储空间生成包含该源MAC地址的表项,并设置该表项的MAC地址优先级为m,计数器m加1。
本发明的实施例提供了一种学习MAC地址的装置,如图6中600所示报文接收单元601接收包含源MAC地址的报文;收到该报文后,优先级确定单元603根据所述报文包含的信息或所述报文所属的业务的信息确定所述源MAC地址的MAC地址优先级P ;空闲判断单元605判断MAC地址表607中是否有空闲存储空间;如果MAC地址表607中没有空闲表项,抢占单元609根据所述P以及所述MAC地址表中各个表项的MAC地址优先级,确定MAC地址表607中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P ;保存单元611使用抢占单元609确定的一个表项占用的存储空间存储包含所述源 MAC地址的表项。进一步,如果MAC地址表607中有空闲存储空间,非抢占单元613使用所述空闲存储空间存储包含所述源MAC地址的表项,所述包含所述源MAC地址的表项的MAC地址优先级为所述P。抢占单元609确定MAC地址表中的一个表项占用的存储空间,可以具体为确定所述MAC地址表中MAC地址优先级为P1的表项中的一个表项占用的存储空间,其中,所述P1 的MAC地址优先级低于所述P的MAC地址优先级。进一步,所述MAC地址表中MAC地址优先级为所述P1的表项的数量大于为所述P1配置的门限值。抢占单元609确定MAC地址表中的一个表项占用的存储空间,可以具体为确定所述MAC地址表中MAC地址优先级为P2的表项中的一个表项占用的存储空间,其中,所述P2 的MAC地址优先级大于所述P的MAC地址优先级,所述MAC地址表中MAC地址优先级为所述P的表项的数量小于为所述P配置的门限值,且MAC地址优先级为所述P2的表项的数量大于为所述P2配置的门限值。上述各个单元,可以通过采用通用处理器和存储器,配合软件程序实现,MAC地址表可以是一段内存。上述各个单元也可以通过可编程逻辑,或ASIC芯片等硬件实现,例如 MAC地址表可以用可编程逻辑,或ASIC芯片等硬件实现。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种学习媒体接入控制MAC地址的方法,其特征在于,包括接收包含源MAC地址的报文;如果MAC地址表中没有空闲存储空间,根据所述源MAC地址的MAC地址优先级P以及所述MAC地址表中各个表项的MAC地址优先级,确定所述MAC地址表中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P,所述P系根据所述报文包含的信息或所述报文所属的业务的信息确定;使用所述一个表项占用的存储空间存储包含所述源MAC地址的表项。
2.如权利要求1所述的方法,其特征在于,所述确定所述MAC地址表中的一个表项占用的存储空间,具体包括确定所述MAC地址表中MAC地址优先级为P1的表项中的一个表项占用的存储空间,其中,所述P1的MAC地址优先级低于所述P的MAC地址优先级。
3.如权利要求2所述的方法,其特征在于,所述MAC地址表中MAC地址优先级为所述P1 的表项的数量大于为所述P1配置的门限值。
4.如权利要求2或3所述的方法,其特征在于,所述一个表项为所述MAC地址优先级为 P1的表项中优先级最低的表项。
5.如权利要求1所述的方法,其特征在于,所述确定所述MAC地址表中的一个表项占用的存储空间,具体包括确定所述MAC地址表中MAC地址优先级为P2的表项中的一个表项占用的存储空间,其中,所述P2的MAC地址优先级大于所述P的MAC地址优先级,所述MAC地址表中MAC地址优先级为所述P的表项的数量小于为所述P配置的门限值,且MAC地址优先级为所述P2的表项的数量大于为所述P2配置的门限值。
6.如权利要求5所述的方法,其特征在于,所述一个表项为所述MAC地址优先级为P2 的表项中优先级最低的表项。
7.如权利要求1-6任一所述的方法,其特征在于,进一步包括如果MAC地址表中有空闲存储空间,使用所述空闲存储空间存储包含所述源MAC地址的表项,所述包含所述源MAC地址的表项的MAC地址优先级为所述P。
8.如权利要求1-7任一所述的方法,其特征在于,所述根据所述报文包含的信息或所述报文所属的业务的信息确定,包括获取所述报文包含的报文优先级,根据所述报文优先级以及报文优先级到MAC地址优先级的映射关系确定;或者,确定所述报文所属的业务,获取所述业务的业务优先级,根据业务优先级到MAC地址优先级的映射关系确定;或者,确定所述报文所属的业务,根据配置数据中所述业务对应的MAC地址优先级确定。
9.如权利要求1-8任一所述的方法,其特征在于,所述MAC地址表中的每个表项都包含该表项包含的MAC地址的MAC地址优先级。
10.一种学习媒体接入控制MAC地址的装置,其特征在于,包括报文接收单元,用于接收包含源MAC地址的报文;优先级确定单元,用于确定所述源MAC地址的MAC地址优先级P ;空闲判断单元,用于判断MAC地址表中是否有空闲存储空间;抢占单元,如果所述MAC地址表中没有空闲存储空间,用于根据所述P以及所述MAC地址表中各个表项的MAC地址优先级,确定所述MAC地址表中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P ;保存单元,用于使用所述一个表项占用的存储空间存储包含所述源MAC地址的表项, 所述包含所述源MAC地址的表项的MAC地址优先级为所述P。
11.如权利要求10所述的装置,其特征在于,进一步包括非抢占单元,如果MAC地址表中有空闲存储空间,用于使用所述空闲存储空间存储包含所述源MAC地址的表项,所述包含所述源MAC地址的表项的MAC地址优先级为所述P。
全文摘要
学习MAC地址的方法和装置,所述方法包括接收包含源MAC地址的报文;如果MAC地址表中没有空闲存储空间,根据所述源MAC地址的MAC地址优先级P以及所述MAC地址表中各个表项的MAC地址优先级,确定所述MAC地址表中的一个表项占用的存储空间,所述一个表项的MAC地址优先级不等于所述P,所述P系根据所述报文包含的信息或所述报文所属的业务的信息确定;使用所述一个表项占用的存储空间存储包含所述源MAC地址的表项。通过实施本发明的实施例,可以在MAC地址表存储资源用完的情况下,使用已经被占用的存储空间学习新的MAC地址,从而提升业务的服务质量。
文档编号H04L29/12GK102356607SQ201180001646
公开日2012年2月15日 申请日期2011年8月25日 优先权日2011年8月25日
发明者王玉容 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1