本发明涉及通信领域,具体而言,涉及一种媒体介入控制(mediaaccesscontrol,简称为mac)地址处理方法及装置。
背景技术:
宽带接入设备中为传统的固定接入用户提供了mac地址防漂移功能。而随着移动业务的发展,宽带接入设备也会挂接无线业务接入点,无线用户的mac地址会随着用户位置的改变而发生漂移,因此对于无线用户来说mac漂移是正常行为要允许的。
针对相关技术中,传统的宽带接入设备无法同时满足为固定接入用户提供mac地址防漂移功能,而为移动接入用户提供允许mac地址漂移的功能,给运营商及用户体验和运营维护带来不便的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明的实施例提供了一种媒体介入控制(mediaaccesscontrol,简称为mac)地址处理方法及装置,以至少解决相关技术中存在的传统的宽带接入设备无法同时满足为固定接入用户提供mac地址防漂移功能,而为移动接入用户提供允许mac地址漂移的功能,给运营商及用户体验和运营维护带来不便的问题。
根据本发明实施例的一个方面,提供了一种mac地址处理方法,包括:学习报文的mac条目,其中,所述mac条目至少包括mac地址、端口和 虚拟局域网(virtuallocalareanetwork,简称为vlan);根据所述vlan获取预先设置的mac地址的漂移属性,其中,所述漂移属性为允许所述mac地址漂移或禁止所述mac地址漂移;根据所述mac地址的漂移属性处理所述mac地址。
进一步地,根据所述mac地址的漂移属性处理所述mac地址包括:在所述漂移属性为允许所述mac地址漂移的情况下,不干预学习所述mac地址。
进一步地,根据所述mac地址的漂移属性处理所述mac地址包括:在所述漂移属性为禁止所述mac地址漂移的情况下,将所述mac地址作为静态mac地址写入交换芯片。
进一步地,所述方法还包括:在超过预设时间之后,老化所述静态mac地址。
进一步地,根据所述vlan获取预先设置的mac地址的漂移属性包括:根据所述vlan的标签获取预先设置的mac地址的漂移属性。
根据本发明实施例的另一方面,提供了一种mac地址处理的装置,该装置包括:学习模块,用于学习报文的mac条目,其中,所述mac条目至少包括mac地址、端口和虚拟局域网vlan;获取模块,用于根据所述vlan获取预先设置的mac地址的漂移属性,其中,所述漂移属性为允许所述mac地址漂移或禁止所述mac地址漂移;处理模块,用于根据所述mac地址的漂移属性处理所述mac地址。
进一步地,所述处理模块包括:第一处理单元,用于在所述漂移属性为允许所述mac地址漂移的情况下,不干预学习所述mac地址。
进一步地,所述处理模块包括:第二处理单元,用于在所述漂移属性为禁止所述mac地址漂移的情况下,将所述mac地址作为静态mac地址写入交换芯片。
进一步地,所述获取模块包括:获取单元,用于根据所述vlan的标签 获取预先设置的mac地址的漂移属性
通过本发明及实施例,采用学习报文的mac条目,其中,所述mac条目至少包括mac地址、端口和虚拟局域网vlan;根据所述vlan获取预先设置的mac地址的漂移属性,其中,所述漂移属性为允许所述mac地址漂移或禁止所述mac地址漂移;根据所述mac地址的漂移属性处理所述mac地址的技术方案,解决了相关技术中存在的传统的宽带接入设备无法同时满足为固定接入用户提供mac地址防漂移功能,而为移动接入用户提供允许mac地址漂移的功能,给运营商及用户体验和运营维护带来不便的问题,实现了传统的宽带接入设备在可以提供固定接入用户mac地址防漂移功能的同时,还可以为移动接入用户提供允许mac地址漂移的功能,在不增加硬件成本的情况下扩展了传统的宽带接入设备的功能,方便运营商扩展业务功能,带来良好的用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种mac地址处理方法的流程图一;
图2是根据本发明实施例的另一种mac地址处理方法的流程图二;
图3是根据本发明实施例的另一种mac地址处理装置的结构框图一;
图4是根据本发明实施例的再一种mac地址处理装置的结构框图二;
图5是根据本发明优选实施例的一种mac地址处理装置的结构框图;
图6是根据本发明优选实施例的一种mac地址处理方法的流程示意图一;
图7是根据本发明优选实施例的另一种mac地址处理方法的流程示意图 二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本发明的实施例中提供了一种mac地址处理方法,图1是根据本发明实施例的一种mac地址处方法的流程图,如图1所示,该流程可以包括如下步骤:
步骤s100,学习报文的mac条目,其中mac条目至少包括mac地址、端口和虚拟局域网vlan;
步骤s102,根据vlan获取预先设置的mac地址的漂移属性,其中,漂移属性为允许该mac地址漂移或禁止该mac地址漂移;
步骤s104,根据该mac地址的漂移属性处理该mac地址。
mac防漂是宽带接入设备工程应用比较普遍的安全特性,它的特点是不允许mac地址在端口间漂移。比如mac-a地址在端口1学习到,如果此时mac-a数据流从端口2进来,并且端口1学习到的mac-a条目还未老化,则不允许mac-a从端口2学习到。一般是底层硬件支持防漂,提供全局或者端口级别的mac地址防漂使能的设置,在固定用户接入并且对于安全性要求比较高的场景下,打开设备的mac防漂功能,禁止用户之间的mac地址漂移,开启的优点是防止用户之间互相干扰,提高服务质量,另外对于经常出现的用户侧环路情况,打开mac防漂也能够降低这种情况出现后对于整个网络的影响。
随着移动业务的发展,宽带接入设备也会挂接无线业务接入点,无线用户的mac地址会随着用户位置的改变而发生漂移,因此对于无线接入(移动接入)用户来说mac漂移是正常行为要允许的。宽带接入设备对于传统的固定接入业务用户,如果不想降低安全性要求,则还应该保持mac防漂禁止的 策略,而对于移动业务用户,则应该允许mac漂移。相关技术中,传统的宽带接入设备无法同时满足为固定接入用户提供mac地址防漂移功能,和为移动接入用户提供允许mac地址漂移的功能,给运营商及用户体验和运营维护带来不便的问题,目前尚未提出有效的解决方案。
通过附图1提供的方法,将固定接入业务和移动接入业务两种不同性质的业务通过划分不同的vlan进行区分,提出一种在宽带接入设备上实现基于vlan的mac地址防漂移的方法,不要求升级硬件设备,在现有硬件设备下依靠宽带接入设备的上层软件控制来实现设备支持基于vlan的mac地址防漂移,实现了传统的宽带接入设备在可以提供固定接入用户mac地址防漂移(macstationmovementcontrol)功能的同时,还可以为移动接入用户提供允许mac地址漂移的功能,在不增加硬件成本的情况下扩展了传统的宽带接入设备的功能,方便运营商扩展业务功能,带来良好的用户体验。
在本发明的实施例中还提供了另一种mac地址处理方法,图2是根据本发明实施例的另一种mac地址处方法的流程图,如图2所示,该流程可以包括如下步骤:
步骤s200,学习报文的mac条目,其中mac条目至少包括mac地址、端口和虚拟局域网vlan;
步骤s202,根据vlan获取预先设置的mac地址的漂移属性,其中,漂移属性为允许该mac地址漂移或禁止该mac地址漂移;
步骤s204,判断该mac地址漂移属性是否为允许漂移;
步骤s206,在是的情况下,宽带接入设备不干预学习该mac地址;
步骤s208,在否的情况下,将该mac地址作为静态mac地址写入交换芯片。
根据vlan判断该mac地址的漂移属性,并根据判断的不同结果处理该mac地址。而不同的vlan对应于不同的宽带接入业务,例如vlan-a可以对应固定接入业务、vlan-n对应移动接入业务。设置固定接入业务为 vlan-a,vlan-a对应的漂移属性为禁止mac地址漂移,当宽带接入设备学习到报文时,获得了mac地址和vlan-a,根据vlan-a或者该业务为固定接入业务,且漂移属性为禁止mac地址漂移。宽带接入设备将该mac地址写入静态mac地址表,不再允许宽带接入设备的其他端口学习该mac地址。这样可以使得宽带接入设备既能够支持允许移动接入业务用户mac地址漂移,又能提供禁止固定接入业务用户mac漂移功能的安全特性,宽带接入设备支持基于vlan的mac防漂显得很有价值,具有很高的实用性,扩展了宽带接入设备的功能。同理,也可以设置移动接入业务为允许漂移或禁止漂移,所达到的效果是可以预见的。
在优选的实施方式中,根据vlan获取预先设置的mac地址的漂移属性可以包括:根据vlan的标签获取预先设置的mac地址的漂移属性。根据vlan获得mac地址的漂移属性有多种方法或实施方式,例如根据vlanid查询;根据vlan标签判断mac地址的漂移属性等。
在优选的实施方式中,以上处理mac地址的方法还可以进一步包括:在超过预设时间之后,老化写入硬件的静态mac地址。静态mac地址硬件是无法自动老化的,关于禁止漂移vlan内mac地址的老化问题可以选择几种策略,一是设备运行过程中永不老化,直到设备重启或者手工执行清除命令才老化,这种策略适用于设备mac地址比较充裕的情况下;如果设备mac地址存储资源不是太充裕,还是希望静态mac地址能够老化,不要一直占有硬件的mac地址资源,则需要上层软件模拟硬件老化过程,把一段时间内已经没有业务流的静态mac地址老化,例如在mac地址老化时间到时查询硬件mac地址表的hit标识位,如果标识位为1则把标识位改为0,如果标识位为0则直接通知硬件删除该静态mac,并且同步删除上层业务软件表中的mac地址表项,从而实现mac地址的老化。
在实际应用中,将本发明实施例的方法用于宽带接入设备中,使得宽带接入设备能够适应移动接入业务的特点,同时对于原有固定接入用户mac地址防漂的安全特性也能够得以保持,设备的适用范围可以进一步扩充。
在本发明的实施例中提供了一种mac地址处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种mac地址处理装置的结构框图一,如图2所示,该装置可以包括学习模块30、获取模块32和处理模块34,下面对该装置进行说明。
学习模块30,用于学习报文的mac条目,其中,mac条目至少包括mac地址、端口和虚拟局域网vlan;
获取模块32,用于根据vlan获取预先设置的mac地址的漂移属性,其中,漂移属性为允许该mac地址漂移或禁止该mac地址漂移;
处理模块34,用于根据该mac地址的漂移属性处理该mac地址。
通过本实施例提供的装置,将固定接入业务和移动接入业务两种不同性质的业务通过划分不同的vlan进行区分,提出一种在宽带接入设备上实现基于vlan的mac地址防漂移的方法,不要求升级硬件设备,在现有硬件设备下依靠宽带接入设备的上层软件控制来实现设备支持基于vlan的mac地址防漂移,实现了传统的宽带接入设备在可以提供固定接入用户mac地址防漂移(macstationmovementcontrol)功能的同时,还可以为移动接入用户提供允许mac地址漂移的功能,在不增加硬件成本的情况下扩展了传统的宽带接入设备的功能,方便运营商扩展业务功能,带来良好的用户体验。
在优选的实施方式中,处理模块30可以包括:第一处理单元,用于在漂移属性为允许该mac地址漂移的情况下,不干预学习该mac地址,和/或,第二处理单元,用于在漂移属性为禁止该mac地址漂移的情况下,将该mac地址作为静态mac地址写入交换芯片。
图4是根据本发明实施例的另一种mac地址处理装置的结构框图二,如图4所示,该装置可以包括学习模块40、获取模块42、处理模块44和老化模 块46,下面对该装置进行说明。
学习模块40,用于学习报文的mac条目,其中,mac条目至少包括mac地址、端口和虚拟局域网vlan;
获取模块42,用于根据vlan获取预先设置的mac地址的漂移属性,其中,漂移属性为允许该mac地址漂移或禁止该mac地址漂移;
处理模块44,用于根据该mac地址的漂移属性处理该mac地址;
老化模块46,用于在超过预设时间之后,老化该静态mac地址。
静态mac地址硬件是无法自动老化的,关于禁止漂移vlan内mac地址的老化问题可以选择几种策略,一是设备运行过程中永不老化,直到设备重启或者手工执行清除命令才老化,这种策略适用于设备mac地址比较充裕的情况下;如果设备mac地址存储资源不是太充裕,还是希望静态mac地址能够老化,不要一直占有硬件的mac地址资源,则需要上层软件模拟硬件老化过程,把一段时间内已经没有业务流的静态mac地址老化,例如在mac地址老化时间到时查询硬件mac地址表的hit标识位,如果标识位为1则把标识位改为0,如果标识位为0则直接通知硬件删除该静态mac,并且同步删除上层业务软件表中的mac地址表项,从而实现mac地址的老化。
在优选的实施方式中,以上装置中提及的获取模块32、获取模块42还可以包括获取单元,用于根据vlan的标签获取预先设置的mac地址的漂移属性。在优选的实施方式中,根据vlan获取预先设置的mac地址的漂移属性可以包括:根据vlan的标签获取预先设置的mac地址的漂移属性。根据vlan获得mac地址的漂移属性有多种方法或实施方式,例如根据vlanid查询;根据vlan标签判断mac地址的漂移属性等。
下面再结合具体实施例对本发明进行说明。
图5是根据本发明优选实施例的一种mac地址处理装置的结构框图。该装置位于宽带接入中,可以包括如下模块:
学习模块50,功能类似于附图3的学习模块30、附图4中的学习模块40, 主要用于学习报文中的mac条目,其中mac条目至少包括mac地址、端口和vlan;
mac地址模块52,功能类似于附图3的获取模块32、附图4中的获取模块42,主要用于根据vlan判断该mac地址的漂移属性。其中,mac地址的漂移属性可以包括为允许该mac地址漂移或禁止该mac地址漂移;
mac地址防漂业务控制模块54,功能类似于附图3的处理模块34、附图4中的处理模块44,主要用于根据mac地址模块52的判断结果处理该mac地址,可以包括在漂移属性为运行漂移的情况下,不干预学习mac地址;在禁止漂移的情况下,将该mac地址和vlan写入硬件mac地址;还可以用于在超过预设时间后,老化静态mac地址表项。
mac地址硬件表56,主要用于漂移属性为禁止漂移的情况下,接受该mac地址和vlan写入硬件表项,和在在超过预设时间后,接受老化静态mac地址表项,删除该静态mac地址。
本优选实施例的目的在于提出一种在宽带接入设备上实现基于vlan的mac地址防漂移的方法,不要求升级硬件设备,在现有硬件设备下依靠宽带接入设备的上层软件控制来实现设备支持基于vlan的mac防漂,使得宽带接入设备既能够支持移动接入用户,又能保持固定接入用户mac防漂的安全特性。
图6是根据本发明优选实施例的一种mac地址处理方法的流程示意图一,如图6所示,该方法流程可以包括如下步骤:
步骤s600,宽带接入设备设置全局允许mac地址漂移;
步骤s602,宽带接入设备设置固定接入业务的vlan禁止mac地址漂移;
步骤s604,默认设置移动接入业务的vlan允许mac地址漂移。
首先,宽带接入设备上设置全局允许mac地址漂移,即硬件允许用户口之间的mac地址漂移。这一步,保证硬件上是不会防止mac地址在用户口 之间漂移,保证用户的数据包不会被硬件直接丢弃。其次,宽带设备上设置固定接入业务的vlan禁止mac地址漂移。再次,可以默认设置移动业务vlan的mac地址漂移属性是允许漂移,移动业务vlan使用默认值即可。比如设置固定接入业务的vlan100-200禁止mac地址漂移;此时宽带接入设备端口从vlan100-200范围段内学习到的mac地址,mac地址防漂业务控制模块会把该mac地址以静态mac的形式重新设置给硬件,从而保证这些vlan段内的mac地址不会再从其他端口学习到,到达防漂的效果。当然,也可以设置移动接入业务的vlan为禁止mac地址漂移。通过以上步骤的配置,宽带接入设备固定接入业务voan100-200的mac地址不允许漂移,而移动接入业务vlan则能够漂移。
图7是根据本发明优选实施例的另一种mac地址处理方法的流程示意图二,如图7所示,该方法流程可以包括如下步骤:
步骤s700,学习到mac-a和vlan-a;
首先接入设备用户口之间的mac地址是设置为允许漂移的,然后设置某些vlan不允许漂移,比如固定接入用户的vlan业务;所有vlan的默认防漂属性是允许漂移,即可以默认设置移动接入用户的vlan业务mac地址属性为允许漂移。宽带接入设备的学习模块可以学习到报文,至少可以学习到业务报文的mac-a、vlan-a以及端口号。
步骤s702,上报mac-a和vlan-a至mac地址模块;
学习模块将学习到业务报文的mac-a和vlan-a传输至mac地址模块;
步骤s704,根据vlan-a判断该mac地址的防漂属性是否允许漂移;
mac地址模块根据vlan-a查询获知vlan-a对应的是业务性质以及mac地址防漂属性。
步骤s706,在判断结果为是的情况下,不干预学习该mac地址和vlan;
步骤s708,在判断结果为否的情况下,mac地址防漂业务控制模块将该mac-a和vlan-a设置为静态地址;
mac地址模块有一张软件mac地址表,当硬件学习到mac地址并且上报给上层的mac地址模块。mac地址模块判断一下vlan的防漂属性,如果该vkan的mac防漂属性是允许漂移的则不需要干预,如果该vlan的mac防漂属性是禁止漂移的,则把该mac地址以静态mac地址的方式写入到硬件中,而硬件中静态mac地址的优先级是高于动态mac地址的,这样相同的vlan的这个mac地址就无法从其他端口学习到了,达到mac防漂的效果。
在mac地址判断业务是移动接入业务,且mac地址的防漂属性是允许漂移时,宽带接入设备不干预学习该业务报文,即可以达到允许移动接入业务mac地址在各个端口中漂移,可以从各端口学习到该移动业务报文。在mac地址判断业务是固定用户接入业务,且mac地址的防漂属性是禁止漂移时,mac地址防漂业务控制模块54将该mac地址和vlan以静态地址的方式写入硬件表项,这样该vlan的mac地址就无法从其他端口学习到了,达到mac防漂的效果。
步骤s710,达到预设时间,老化该mac-a和vlan-a。
静态mac地址硬件是无法自动老化的,关于禁止漂移vlan内mac地址的老化问题可以选择几种策略,一是设备运行过程中永不老化,直到设备重启或者手工执行清除命令才老化,这种策略适用于设备mac地址资源比较充裕的情况下;如果设备mac不是太充裕,还是希望静态mac地址能够老化,不要一直占有硬件的mac地址资源,则需要上层软件模拟硬件老化过程,把一段时间内已经没有业务流的静态mac地址老化,例如在mac地址老化 时间到时查询硬件mac地址表的hit标识位,如果标识位为1则把标识位改为0,如果标识位为0则直接通知硬件删除该静态mac,并且同步删除上层业务软件表中的mac地址表项,从而实现mac地址的老化。
综上所述,通过上述实施例、优选实施例和实施方式,采用将固定接入业务和移动接入业务两种不同性质的业务通过划分不同的vlan进行区分,提出一种在宽带接入设备上实现基于vlan的mac地址防漂移的方法,不要求升级硬件设备,在现有硬件设备下依靠宽带接入设备的上层软件控制来实现设备支持基于vlan的mac地址防漂移,实现了传统的宽带接入设备在可以提供固定接入用户mac地址防漂移功能的同时,还可以为移动接入用户提供允许mac地址漂移的功能,在不增加硬件成本的情况下扩展了传统的宽带接入设备的功能,方便运营商扩展业务功能,带来良好的用户体验。在实际使用中,将本发明实施例的方法用于宽带接入设备中,使得宽带接入设备能够适应移动接入业务的特点,同时对于原有固定接入用户mac地址防漂的安全特性也能够得以保持,设备的适用范围进一步扩充。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。