一种MAC地址学习的控制方法及装置.pdf

上传人:大师****2 文档编号:1591736 上传时间:2018-06-27 格式:PDF 页数:11 大小:632.52KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510149556.1

申请日:

2015.03.31

公开号:

CN104735175A

公开日:

2015.06.24

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/12申请日:20150331|||公开

IPC分类号:

H04L29/12; H04L29/06

主分类号:

H04L29/12

申请人:

盛科网络(苏州)有限公司

发明人:

李磊; 周志洪; 赵茂聪

地址:

215021江苏省苏州市工业园区星汉街5号B幢4楼13/16单元

优先权:

专利代理机构:

苏州威世朋知识产权代理事务所(普通合伙)32235

代理人:

杨林洁

PDF下载: PDF下载
内容摘要

本发明揭示了一种MAC地址学习的控制方法及装置,所述方法包括步骤:接收报文;解析所述报文,得到所述报文的源MAC地址及对应的目的MAC地址;匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,允许学习对应的所述源MAC地址,若匹配失败,禁止学习对应的所述源MAC地址。本发明根据目的MAC地址与MAC表中的地址条目的匹配结果来决定是否进行对应的源MAC地址的学习,以实现防止未知报文对MAC表的冲击,同时又能保证已知报文的源MAC地址能学习到。

权利要求书

权利要求书1.  一种MAC地址学习的控制方法,其特征在于包括步骤: 接收报文; 解析所述报文,得到所述报文的源MAC地址及对应的目的MAC地址; 匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,允许学习对应的所述源MAC地址,若匹配失败,禁止学习对应的所述源MAC地址。 2.  根据权利要求1所述的MAC地址学习的控制方法,其特征在于,步骤“匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,允许学习对应的所述源MAC地址,若匹配失败,禁止学习对应的所述源MAC地址”具体包括: 匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,将对应的所述源MAC地址关联到允许学习状态,若匹配失败,将对应的所述源MAC地址关联到禁止学习状态; 学习所述允许学习状态对应的所述源MAC地址,且丢弃所述禁止学习状态对应的所述源MAC地址。 3.  根据权利要求2所述的MAC地址学习的控制方法,其特征在于,所述源MAC地址的初始学习状态为禁止学习状态,步骤“匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,将对应的所述源MAC地址关联到允许学习状态,若匹配失败,将对应的所述源MAC地址关联到禁止学习状态”具体包括: 匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,将对应的所述源MAC地址修改为允许学习状态,若匹配失败,将对应的所述源MAC地址维持为禁止学习状态。 4.  根据权利要求2所述的MAC地址学习的控制方法,其特征在于,所述源MAC地址的初始学习状态为允许学习状态,步骤“匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,将对应的所述源MAC地址关联到允许学习状态,若匹配失败,将对应的所述源MAC地址关联到禁止学习状态”具体包括: 匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,将对应的所述源MAC地址维持为允许学习状态,若匹配失败,将对应的所述源MAC地址修改为禁止学习状态。 5.  根据权利要求2所述的MAC地址学习的控制方法,其特征在于, 所述允许学习状态及所述禁止学习状态对应AD表。 6.  一种MAC地址学习的控制装置,其特征在于包括: MAC表,所述MAC表包含地址条目; 接收模块,用于接收报文; 解析模块,用于解析并得到所述报文的源MAC地址及对应的目的MAC地址; 匹配模块,用于匹配所述报文的所述目的MAC地址及所述地址条目; 学习模块,若匹配成功,所述学习模块用于将对应的所述源MAC地址学习到所述MAC表中,若匹配失败,所述学习模块用于丢弃对应的所述源MAC地址。 7.  根据权利要求6所述的MAC地址学习的控制装置,其特征在于,所述装置还包括AD表,所述AD表中包括允许学习单元及禁止学习单元,若匹配成功,所述匹配模块用于将对应的所述源MAC地址关联至所述允许学习单元,若匹配失败,所述匹配模块用于将对应的所述源MAC地址关联至所述禁止学习单元。 8.  根据权利要求7所述的MAC地址学习的控制装置,其特征在于,所述源MAC地址的初始状态为与所述禁止学习单元相关联,若匹配成功,所述匹配模块用于将对应的所述源MAC地址修改为与所述允许学习单元相关联,若匹配失败,所述匹配模块用于将对应的所述源MAC地址维持为与所述禁止学习单元相关联。 9.  根据权利要求7所述的MAC地址学习的控制装置,其特征在于,所述源MAC地址的初始状态为与所述允许学习单元相关联,若匹配成功,所述匹配模块用于将对应的所述源MAC地址维持为与所述允许学习单元相关联,若匹配失败,所述匹配模块用于将对应的所述源MAC地址修改为与所述禁止学习单元相关联。 10.  根据权利要求6所述的MAC地址学习的控制装置,其特征在于,所述报文包括未知报文和已知报文,所述地址条目与所述已知报文匹配,且所述地址条目与所述未知报文不匹配。

说明书

说明书一种MAC地址学习的控制方法及装置
技术领域
本发明涉及MAC(Media Access Control)地址学习领域,尤其涉及一种MAC地址学习的控制方法及装置。
背景技术
芯片中MAC表的规格都是一定的,MAC表的容量也是有限的,当黑客伪造大量源MAC地址不同的报文并发送到设备后,设备上的MAC地址表就可能被这些源MAC地址填满,尤其在软件学习模式下,还会造成对CPU的冲击。如此,当MAC地址表被填满后,即使它再收到正常的报文,也无法学习到正常报文中的源MAC地址。
目前,针对这种冲击MAC表的行为,基本都是采用基于端口或VLAN (Virtual LAN)关闭MAC地址学习,或者采用基于端口或VLAN进行MAC地址学习数的限制来防止这种冲击。上述方案虽然可以达到防止冲击报文填满整个MAC表的目的,但冲击报文还是有一定数目的源MAC地址已经学习到MAC表中,占用了MAC表的资源,在一定情况下还会造成MAC地址的漂移,带来其它的安全隐患;而且,关闭MAC地址学习和进行MAC地址学习数的限制是针对整个端口或VLAN的,会导致之后正常的报文也无法学习到。
发明内容
本发明的目的在于提供一种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地址修改为禁止学习状态。
作为本发明一实施方式的进一步改进,所述允许学习状态及所述禁止学习状态对应AD表。
为实现上述发明目的之一,本发明一实施方式提供一种MAC地址学习的控制装置,包括MAC表、接收模块、解析模块、匹配模块及学习模块,所述MAC表包含地址条目;接收模块用于接收报文;解析模块用于解析并得到所述报文的源MAC地址及对应的目的MAC地址;匹配模块用于匹配所述报文的所述目的MAC地址及所述地址条目;若匹配成功,所述学习模块用于将对应的所述源MAC地址学习到所述MAC表中,若匹配失败,所述学习模块用于丢弃对应的所述源MAC地址。
作为本发明一实施方式的进一步改进,所述装置还包括AD表,所述AD表中包括允许学习单元及禁止学习单元,若匹配成功,所述学习模块用于将对应的所述源MAC地址关联至所述允许学习单元,若匹配失败,所述学习模块用于将对应的所述源MAC地址关联至所述禁止学习单元。
作为本发明一实施方式的进一步改进,所述源MAC地址的初始状态为与所述禁止学习单元相关联,若匹配成功,所述学习模块用于将对应的所述源MAC地址修改为与所述允许学习单元相关联,若匹配失败,所述学习模块用于将对应的所述源MAC地址维持为与所述禁止学习单元相关联。
作为本发明一实施方式的进一步改进,所述源MAC地址的初始状态为与所述允许学习单元相关联,若匹配成功,所述学习模块用于将对应的所述源MAC地址维持为与所述允许学习单元相关联,若匹配失败,所述学习模块用于将对应的所述源MAC地址修改为与所述禁止学习单元相关联。
作为本发明一实施方式的进一步改进,所述报文包括未知报文和已知报文,所述地址条目与所述已知报文匹配,且所述地址条目与所述未知报文不匹配。
与现有技术相比,本发明的有益效果在于:本发明根据目的MAC地址与MAC表中的地址条目的匹配结果来决定是否进行对应的源MAC地址的学习,以实现防止未知报文对MAC表的冲击,同时又能保证已知报文的源MAC地址能学习到。
附图说明
图1是本发明一实施方式的MAC地址学习的控制方法流程图;
图2是本发明一实施方式的MAC地址学习的控制装置结构框图;
图3是本发明一具体示例的MAC地址学习的控制方法示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示,本发明一实施方式的MAC地址学习的控制方法包括步骤:
S1:接收报文;
这里,所述报文可分为未知报文和已知报文,所述未知报文例如为黑客伪造的包含虚假源MAC地址的冲击报文,这些未知报文可能对设备的MAC表产生冲击。
S2:解析所述报文,得到所述报文的源MAC地址及对应的目的MAC地址;
这里,每一所述报文均包含对应的源MAC地址、目的MAC地址及其他信息。
S3:匹配所述报文的所述目的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地址学习至MAC表中,防止未知报文对MAC表的冲击,同时又能保证已知报文的源MAC地址能学习到。
在本实施方式中,步骤S3具体包括:
匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,将对应的所述源MAC地址关联到允许学习状态,若匹配失败,将对应的所述源MAC地址关联到禁止学习状态;
学习所述允许学习状态对应的所述源MAC地址,且丢弃所述禁止学习状态对应的所述源MAC地址。
这里,根据匹配结果先将源MAC地址关联至不同的学习状态,再根据不同的学习状态控制是否学习对应的源MAC地址,如此,可更加精确、快捷地实现源MAC地址学习的控制,另外,所述允许学习状态及所述禁止学习状态对应AD表。
在本发明其他实施方式中,假设源MAC地址具有一初始学习状态,如此,便需要根据匹配结果对源MAC地址的初始学习状态进行修改或维持,使之关联至合适的学习状态。例如,当所述源MAC地址的初始学习状态为禁止学习状态时,若匹配成功,则需将对应的所述源MAC地址修改为允许学习状态,若匹配失败,则将对应的所述源MAC地址维持为禁止学习状态。再例如,当所述源MAC地址的初始学习状态为允许学习状态时,若匹配成功,将对应的所述源MAC地址维持为允许学习状态,若匹配失败,则需将对应的所述源MAC地址修改为禁止学习状态。如此,无论源MAC地址的初始学习状态如何,都可根据匹配结果做出相应的修改或维持动作,增强了源MAC地址学习状态控制的广泛性及自由度。
如图2所示,本发明一实施方式提供了一种MAC地址学习的控制装置,包括MAC表、接收模块100、解析模块200、匹配模块300及学习模块400,所述MAC表包含地址条目;接收模块100用于接收报文;解析模块200用于解析并得到所述报文的源MAC地址及对应的目的MAC地址;匹配模块300用于匹配所述报文的所述目的MAC地址及所述地址条目;若匹配成功,所述学习模块400用于将对应的所述源MAC地址学习到所述MAC表中,若匹配失败,所述学习模块400用于丢弃对应的所述源MAC地址。
其中,所述报文可分为未知报文和已知报文,所述未知报文例如为黑客伪造的包含虚假源MAC地址的冲击报文,这些未知报文可能对设备的MAC表产生冲击;每一所述报文均包含对应的源MAC地址、目的MAC地址及其他信息;MAC表中的地址条目与报文的目的MAC地址相对应,且只有当报文是已知报文时,匹配模块300才能在MAC表中查找到对应的地址条目,即此时匹配成功,若报文是未知报文,则匹配模块300无法在MAC表中查找到对应的地址条目,即此时匹配失败。
当接收模块100接收到报文时,匹配模块300会先进行目的MAC地址及源MAC地址的匹配过程,一般情况,这两个匹配过程是同步进行的。
其中,目的MAC地址是与MAC表中的目的地址条目进行匹配,当匹配模块300于MAC表中查找到与该目的MAC地址相对应的目的地址条目时,即匹配成功,亦即表明该目的MAC地址对应的报文为已知报文,当匹配模块300于MAC表中未查找到与该目的MAC地址相对应的目的地址条目时,即匹配失败,亦即表明该目的MAC地址对应的报文为未知报文。
源MAC地址是与MAC表中的源地址条目进行匹配,当匹配模块300于MAC表中查找到与该源MAC地址相对应的源地址条目时,即表明该源MAC地址已经学习至MAC表中,因此,学习模块400无需再将该源MAC地址学习至该MAC表中,当匹配模块300于MAC表中未查找到与该源MAC地址相对应的源地址条目时,即表明学习模块400还未将该源MAC地址学习至MAC表中,此时,即需要学习模块400将该源MAC地址学习至MAC表中。
在现有技术中,当于MAC表中未查找到与该源MAC地址相对应的源地址条目时,便将对应的该源MAC地址学习至MAC表中,如此,假若黑客伪造大量包含不同于源地址条目的源MAC地址的报文,该些伪造的源MAC地址便会全部学习至MAC表中,从而对MAC表产生冲击。而在本实施方式中,即使匹配模块300于MAC表中未查找到与该源MAC地址相对应的源地址条目,学习模块400也不会直接将对应的源MAC地址学习至MAC表中,而是还需满足对应的目的MAC地址与MAC表中的目的地址条目匹配成功这一条件,学习模块400才进行源MAC地址的学习,由于伪造的报文中所携带的目的MAC地址不存在于MAC表中,无法实现与目的地址条目的匹配,如此,可避免错误的将伪造的源MAC地址学习至MAC表中,防止未知报文对MAC表的冲击,同时又能保证已知报文的源MAC地址能学习到。
在本实施方式中,所述装置还包括AD表,所述AD表中包括允许学习单元及禁止学习单元,若匹配成功,所述匹配模块300用于将对应的所述源MAC地址关联至所述允许学习单元,若匹配失败,所述匹配模块300用于将对应的所述源MAC地址关联至所述禁止学习单元。
这里,匹配模块300根据匹配结果先将源MAC地址关联至不同的学习单元,学习模块400再根据不同的学习单元控制是否学习对应的源MAC地址,如此,可更加精确、快捷地实现源MAC地址学习的控制。
在本发明其他实施方式中,假设源MAC地址初始状态便与某一学习单元相关联,如此,匹配模块300便需要根据匹配结果对源MAC地址关联的学习模块进行修改或维持,使之关联至合适的学习单元。例如,当所述源MAC地址的初始状态为与禁止学习单元相关联时,若匹配成功,则所述匹配模块300需将对应的所述源MAC地址修改为与允许学习单元相关联,若匹配失败,则所述匹配模块300将对应的所述源MAC地址维持为与禁止学习单元相关联。再例如,当所述源MAC地址的初始状态为与允许学习单元相关联时,若匹配成功,所述匹配模块300将对应的所述源MAC地址维持为与允许学习单元相关联,若匹配失败,则所述匹配模块300需将对应的所述源MAC地址修改为与禁止学习单元相关联。如此,无论源MAC地址的初始状态如何,都可根据匹配结果做出相应的修改或维持动作,增强了源MAC地址学习状态控制的广泛性及自由度。
如图3所示,下面以一具体示例来详细说明本发明的MAC地址学习的控制方法,一并参见图2所示的MAC地址学习的控制装置,本示例包括如下步骤:
接收模块100接收报文,假设接收到四个报文,第一报文、第二报文、第三报文为已知报文,第四报文为未知报文;
解析模块200解析上述四个报文,得到对应的第一目的MAC地址及第一源MAC地址、第二目的MAC地址及第二源MAC地址、第三目的MAC地址及第三源MAC地址、第四目的MAC地址及第四源MAC地址;其中,还包括解析得到对应各个报文的转发ID;
匹配模块300将所述四个报文与MAC表中的目的地址条目相互匹配,假设第一目的MAC地址、第二目的MAC地址、第三目的MAC地址分别与目的地址条目A、目的地址条目B、目的地址条目C匹配成功,第四目的MAC地址在MAC表中查找不到对应的目的地址条目,即匹配失败;此时,匹配模块300将对应的第一源MAC地址、第二源MAC地址、第三源MAC地址均关联至允许学习单元a中,且将第四源MAC地址关联至禁止学习单元b中。
学习模块400学习允许学习单元a中的源MAC地址,即学习模块400根据相应的转发ID将该源MAC地址转发至MAC表对应位置处,同时,学习模块400丢弃且不学习禁止学习单元b中的源MAC地址;这里,需要说明的是,实际操作中还要考虑源MAC地址与MAC表中源地址条目的匹配结果,例如,当第一源MAC地址与MAC表中源地址条目的匹配成功时,即表明MAC表中已经有关该第一源MAC地址的学习历史,则此时学习模块400无需再将该第一源MAC地址学习至MAC表中,当然,也可由匹配模块300直接将该第一源MAC地址关联至禁止学习单元b中,如此,便不会造成该第一源MAC地址的重复学习。
与现有技术相比,本发明的有益效果在于:本发明根据目的MAC地址与MAC表中的地址条目的匹配结果来决定是否进行对应的源MAC地址的学习,以实现防止未知报文对MAC表的冲击,同时又能保证正常报文的源MAC地址能学习到。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

一种MAC地址学习的控制方法及装置.pdf_第1页
第1页 / 共11页
一种MAC地址学习的控制方法及装置.pdf_第2页
第2页 / 共11页
一种MAC地址学习的控制方法及装置.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种MAC地址学习的控制方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种MAC地址学习的控制方法及装置.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明揭示了一种MAC地址学习的控制方法及装置,所述方法包括步骤:接收报文;解析所述报文,得到所述报文的源MAC地址及对应的目的MAC地址;匹配所述报文的所述目的MAC地址及MAC表中的地址条目,若匹配成功,允许学习对应的所述源MAC地址,若匹配失败,禁止学习对应的所述源MAC地址。本发明根据目的MAC地址与MAC表中的地址条目的匹配结果来决定是否进行对应的源MAC地址的学习,以实现防止未知报文对。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1