一种防止媒体访问控制地址漂移的方法及网络处理设备.pdf

上传人:62****3 文档编号:4331351 上传时间:2018-09-13 格式:PDF 页数:18 大小:525.41KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110173473.8

申请日:

2011.06.24

公开号:

CN102843440A

公开日:

2012.12.26

当前法律状态:

授权

有效性:

有权

法律详情:

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

IPC分类号:

H04L29/12; H04L12/56

主分类号:

H04L29/12

申请人:

中兴通讯股份有限公司

发明人:

吴军; 陈强

地址:

518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

北京银龙知识产权代理有限公司 11243

代理人:

黄灿;姜精斌

PDF下载: PDF下载
内容摘要

本发明提供了一种防止媒体访问控制地址漂移的方法及网络处理设备。其中,所述方法包括:网络接入设备在自身第一端口上接收到第一报文;所述网络接入设备根据当前存在的ACL规则,判断是否丢弃所述第一报文;在判断出不丢弃所述第一报文时,根据目的MAC地址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一报文的第一源MAC地址和第一VLAN信息对应的第一表项;在判断出不存在所述第一表项时,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第一ACL规则。本发明能够简便地实现防止MAC地址漂移的功能。

权利要求书

1.一种防止MAC地址漂移的方法,应用于一网络接入设备,所述网络接入设备包括有与外部设备连接的多个端口,其特征在于,所述方法包括:所述网络接入设备在自身第一端口上接收到第一报文,其中,所述网络接入设备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息;所述网络接入设备根据当前存在的ACL规则,判断是否丢弃所述第一报文;在判断出不丢弃所述第一报文时,所述网络接入设备根据目的MAC地址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第一VLAN信息对应的第一表项;在判断出不存在所述第一表项时,所述网络接入设备根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第一ACL规则。2.如权利要求1所述的方法,其特征在于,在所述MAC地址表中的表项发生老化时,所述方法还包括:所述网络接入设备针对当前存在的每一ACL规则,如果所述MAC地址表中不存在与该ACL规则所针对报文的源MAC地址和VLAN信息对应的表项,则删除该ACL规则。3.如权利要求1所述的方法,其特征在于,所述网络接入设备进一步在所述MAC地址表中针对第一端口配置静态MAC地址的表项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。4.如权利要求1所述的方法,其特征在于,在判断出不存在所述第一表项时,所述网络接入设备进一步判断所述MAC地址表中对应于所述第一端口的表项是否已达到预设的第一上限值:若是,则上报第一端口对应的表项已达到所述第一上限值的告警,并结束本流程;否则,进入所述根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的ACL规则的步骤。5.如权利要求1所述的方法,其特征在于,所述建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第一ACL规则,包括:判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第二ACL规则:在存在所述第二ACL规则时,将所述第二ACL规则中的端口更新为所述第一端口;在不存在所述第二ACL规则时,建立所述第一ACL规则。6.如权利要求5所述的方法,其特征在于,在不存在所述第二ACL规则时,进一步判断当前存在的对应于所述第一端口的ACL规则是否已达到预设的第二上限值:若达到,则上报第一端口对应的ACL规则已达到所述第二上限值的告警,并结束本流程;否则,建立包括有所述第一端口、第一MAC地址、第一VLAN信息的第一ACL规则,所述第一ACL规则用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文。7.一种网络接入设备,包括有与外部设备连接的多个端口,其特征在于,所述网络接入设备还包括:接收单元,用于在所述网络接入设备的第一端口上接收到第一报文,其中,所述网络接入设备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息;ACL单元,用于根据所述网络接入设备中当前存在的ACL规则,判断是否丢弃所述第一报文;交换处理单元,用于在所述ACL单元判断出不丢弃所述第一报文时,根据目的MAC地址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第一VLAN信息对应的第一表项;CPU处理单元,用于在所述交换处理单元判断出不存在所述第一表项时,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第一ACL规则。8.如权利要求7所述的网络接入设备,其特征在于,还包括:所述ACL单元,还用于在所述MAC地址表中的表项发生老化时,针对当前存在的每一ACL规则,如果所述MAC地址表中不存在与该ACL规则所针对报文的源MAC地址和VLAN信息对应的表项,则删除该ACL规则。9.如权利要求7所述的网络接入设备,其特征在于,还包括:配置单元,用于预先将所述网络接入设备的端口的属性都配置根据目的MAC地址转发报文并禁止学习报文的源MAC地址,以及将接收到的新报文同时发送给所述CPU处理单元,所述新报文是源MAC地址和VLAN信息在所述MAC地址表中不存在对应表项的报文。10.如权利要求9所述的网络接入设备,其特征在于,所述配置单元,还用于在所述MAC地址表中针对第一端口配置静态MAC地址的表项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。11.如权利要求7所述的网络接入设备,其特征在于,所述CPU处理单元包括:第一判断单元,用于判断所述MAC地址表中对应于所述第一端口的表项是否已达到预设的第一上限值:第一处理单元,用于在所述MAC地址表中对应于所述第一端口的表项已达到预设的第一上限值时,上报第一端口对应的表项已达到所述第一上限值的告警;第二处理单元,用于在所述MAC地址表中对应于所述第一端口的表项未达到预设的第一上限值时,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的ACL规则。12.如权利要求7所述的网络接入设备,其特征在于,所述第二处理单元包括:第二判断单元,用于判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第二ACL规则;第三处理单元,用于在存在所述第二ACL规则时,将所述第二ACL规则的端口更新为所述第一端口;第四处理单元,用于在不存在所述第二ACL规则时,建立包括有所述第一端口、第一MAC地址、第一VLAN信息的第一ACL规则,所述第一ACL规则用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文。13.如权利要求12所述的网络接入设备,其特征在于,所述第四处理单元包括:第三判断单元,用于判断当前存在的对应于所述第一端口的ACL规则是否已达到预设的第二上限值;第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则已达到预设的第二上限值时,上报第一端口对应的ACL规则已达到所述第二上限值的告警;第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则未达到预设的第二上限值时,建立所述第一ACL规则。

说明书

一种防止媒体访问控制地址漂移的方法及网络处理设备

技术领域

本发明涉及网络通信技术领域,具体涉及一种防止媒体访问控制(MAC,
Media Access Control)地址漂移的方法及网络处理设备。

背景技术

随着网络技术的发展和普及,网络规模日益扩大,网络架构逐渐繁琐,网
络配置越来越复杂。经常会出现设备位置发生变化(如通过无线网络接入的便
携式设备位置经常发生移动)的情况,但有时候也会因网络故障(比如环路),
导致出现异常MAC地址漂移,影响网络数据安全和用户正常使用网络。因此
必须采取措施提供安全保障,防止因MAC地址非正常漂移造成用户无法使用
网络和其它安全问题。

现有技术通常采用静态MAC地址表的方式来防止MAC地址漂移。其做
法是在设备应用之初,针对其每个端口配置相关的MAC地址绑定规则,对于
每个端口只允许来自特定MAC地址的流通过。这种方法存在以下不足:初期
配置量大且可操作性差。对于每台设备的每个端口都需要配置静态MAC地址
表,并且还需要清楚的知道哪些MAC地址是合法的,因此设备部署前需要获
取大量信息,且配置工作量很大。

发明内容

本发明所要解决的技术问题是提供一种防止MAC地址漂移的方法及网络
处理设备,用以简便地实现防止MAC地址漂移的功能。

为解决上述技术问题,本发明提供方案如下:

一种防止MAC地址漂移的方法,应用于一网络接入设备,所述网络接入
设备包括有与外部设备连接的多个端口,所述方法包括:

所述网络接入设备在自身第一端口上接收到第一报文,其中,所述网络接
入设备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一
报文的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息;

所述网络接入设备根据当前存在的ACL规则,判断是否丢弃所述第一报
文;

在判断出不丢弃所述第一报文时,所述网络接入设备根据目的MAC地址
转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC
地址和第一VLAN信息对应的第一表项;

在判断出不存在所述第一表项时,所述网络接入设备根据所述第一报文在
所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端
口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第
一VLAN信息的报文的第一ACL规则。

优选地,上述方法中,

在所述MAC地址表中的表项发生老化时,所述方法还包括:

所述网络接入设备针对当前存在的每一ACL规则,如果所述MAC地址
表中不存在与该ACL规则所针对报文的源MAC地址和VLAN信息对应的表
项,则删除该ACL规则。

优选地,上述方法中,

所述网络接入设备进一步在所述MAC地址表中针对第一端口配置静态
MAC地址的表项,以允许第一端口上接收到的源MAC地址为所述静态MAC
地址的报文得以通过。

优选地,上述方法中,

在判断出不存在所述第一表项时,所述网络接入设备进一步判断所述
MAC地址表中对应于所述第一端口的表项是否已达到预设的第一上限值:

若是,则上报第一端口对应的表项已达到所述第一上限值的告警,并结束
本流程;

否则,进入所述根据所述第一报文在所述MAC地址表中建立对应的表项,
以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地
址为第一MAC地址、VLAN信息为第一VLAN信息的报文的ACL规则的步
骤。

优选地,上述方法中,所述建立一用以指示丢弃在所述第一端口外的其它
端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信
息的报文的第一ACL规则,包括:

判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地
址、VLAN信息为第一VLAN信息的报文的第二ACL规则:

在存在所述第二ACL规则时,将所述第二ACL规则中的端口更新为所述
第一端口;

在不存在所述第二ACL规则时,建立所述第一ACL规则。

优选地,上述方法中,

在不存在所述第二ACL规则时,进一步判断当前存在的对应于所述第一
端口的ACL规则是否已达到预设的第二上限值:

若达到,则上报第一端口对应的ACL规则已达到所述第二上限值的告警,
并结束本流程;

否则,建立包括有所述第一端口、第一MAC地址、第一VLAN信息的第
一ACL规则,所述第一ACL规则用以指示丢弃在所述第一端口外的其它端口
上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的
报文。

本发明还提供了一种网络接入设备,包括有与外部设备连接的多个端口,
所述网络接入设备还包括:

接收单元,用于在所述网络接入设备的第一端口上接收到第一报文,其中,
所述网络接入设备的端口的属性都被预先配置为禁止学习报文的源MAC地
址,所述第一报文的源MAC地址为第一MAC地址、VLAN信息为第一VLAN
信息;

ACL单元,用于根据所述网络接入设备中当前存在的ACL规则,判断是
否丢弃所述第一报文;

交换处理单元,用于在所述ACL单元判断出不丢弃所述第一报文时,根
据目的MAC地址转发所述第一报文,并判断自身的MAC地址表中是否存在
与所述第一源MAC地址和第一VLAN信息对应的第一表项;

CPU处理单元,用于在所述交换处理单元判断出不存在所述第一表项时,
根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指
示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地
址、VLAN信息为第一VLAN信息的报文的第一ACL规则。

优选地,上述网络接入设备中,还包括:

所述ACL单元,还用于在所述MAC地址表中的表项发生老化时,针对
当前存在的每一ACL规则,如果所述MAC地址表中不存在与该ACL规则所
针对报文的源MAC地址和VLAN信息对应的表项,则删除该ACL规则。

优选地,上述网络接入设备中,还包括:

配置单元,用于预先将所述网络接入设备的端口的属性都配置根据目的
MAC地址转发报文并禁止学习报文的源MAC地址,以及将接收到的新报文
同时发送给所述CPU处理单元,所述新报文是源MAC地址和VLAN信息在
所述MAC地址表中不存在对应表项的报文。

优选地,上述网络接入设备中,

所述配置单元,还用于在所述MAC地址表中针对第一端口配置静态MAC
地址的表项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址
的报文得以通过。

优选地,上述网络接入设备中,

所述CPU处理单元包括:

第一判断单元,用于判断所述MAC地址表中对应于所述第一端口的表项
是否已达到预设的第一上限值:

第一处理单元,用于在所述MAC地址表中对应于所述第一端口的表项已
达到预设的第一上限值时,上报第一端口对应的表项已达到所述第一上限值的
告警;

第二处理单元,用于在所述MAC地址表中对应于所述第一端口的表项未
达到预设的第一上限值时,根据所述第一报文在所述MAC地址表中建立对应
的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源
MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的ACL
规则。

优选地,上述网络接入设备中,

所述第二处理单元包括:

第二判断单元,用于判断当前存在的ACL规则中是否存在针对源MAC
地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第二ACL规
则;

第三处理单元,用于在存在所述第二ACL规则时,将所述第二ACL规则
的端口更新为所述第一端口;

第四处理单元,用于在不存在所述第二ACL规则时,建立包括有所述第
一端口、第一MAC地址、第一VLAN信息的第一ACL规则,所述第一ACL
规则用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第
一MAC地址、VLAN信息为第一VLAN信息的报文。

优选地,上述网络接入设备中,

所述第四处理单元包括:

第三判断单元,用于判断当前存在的对应于所述第一端口的ACL规则是
否已达到预设的第二上限值;

第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则已达
到预设的第二上限值时,上报第一端口对应的ACL规则已达到所述第二上限
值的告警;

第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则未达
到预设的第二上限值时,建立所述第一ACL规则。

从以上所述可以看出,本发明提供的防止MAC地址漂移的方法及网络处
理设备,无需预先获知针对网络接入设备的端口哪些源MAC地址是合法的,
也无需配置大量的静态MAC地址表,就可以实现MAC地址防漂移功能,相
比于现有技术,本实施例能够大大简化MAC地址防漂移功能的实现。并且,
本发明还能够通过自动根据MAC地址表的老化,对ACL规则进行更新,以
避免在某个终端设备的MAC地址正常漂移后,来自该终端设备的报文被始终
丢弃,而导致该终端设备无法正常通信的问题。

附图说明

图1为本发明实施例所述防止MAC地址漂移的方法的流程示意图;

图2为本发明实施例所述网络接入设备的结构示意图;

图3为本发明另一实施例防止MAC地址漂移的方法的整体处理流程图;

图4为本实施例中CPU的收包进程对报文的详细处理流程图;

图5为本实施例中ACL记录表更新流程图。

具体实施方式

本发明提供的防止MAC地址漂移的方法及网络处理设备,根据报文的解
析信息建立动态的MAC地址表项,并建立相应的ACL规则,用以在非法(未
记录)端口上丢弃具有相同源MAC和VLAN信息的报文,以达到防止MAC
地址漂移的目的。

以下将结合附图,通过具体实施例对本发明作进一步的说明。

本发明实施例所述的防止MAC地址漂移的方法,应用于一网络接入设备,
所述网络接入设备包括有与外部设备连接的多个端口。具体的,该网络接入设
备可以是各种无源光网络(PON)系统中的光网络单元(ONU)、连接多个终
端的交换机等等。

请参照图1,本实施例所述防止MAC地址漂移的方法包括以下步骤:

步骤11,所述网络接入设备在自身第一端口上接收到第一报文,其中,
所述网络接入设备的端口的属性都被预先配置为禁止学习报文的源MAC地
址,所述第一报文的源MAC地址为第一MAC地址、VLAN信息为第一VLAN
信息。

这里,由于网络接入设备的端口都被配置为禁止从端口接收到的报文中学
习源MAC地址,这样可以避免同一MAC地址出现在网络接入设备的(L2二
层)MAC地址表的不同表项中。

步骤12,所述网络接入设备根据当前存在的访问控制列表(ACL)规则,
判断是否丢弃所述第一报文。

步骤13,在判断出不丢弃所述第一报文时,所述网络接入设备根据目的
MAC地址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述
第一源MAC地址和第一VLAN信息对应的第一表项。

这里,网络接入设备根据所述第一报文的目的MAC地址,查找自身的
MAC地址表,确定所述第一报文的出端口,然后将第一报文通过该出端口转
发出去。

步骤14,在判断出不存在所述第一表项时,所述网络接入设备根据所述
第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在
所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN
信息为第一VLAN信息的报文的第一ACL规则。

这里,由于禁止了端口的MAC地址自动学习功能,本实施例通过上述步
骤14建立MAC地址表项,以生成用于报文转发的MAC地址表。

以上步骤中,为了能够生成合适的MAC地址表项,在建立MAC地址表
项前先判断是否已存在类似的第一表项,只有在不存在第一表项时,才去根据
所述第一报文在所述MAC地址表中建立对应的表项,即建立一个包括有所述
第一端口、所述第一报文的第一源MAC地址和第一VLAN信息的MAC地址
表项。由于MAC地址表项中已记录了第一源MAC地址是来自于第一端口的,
因此为了防止MAC地址非正常漂移造成用户无法使用网络和其它安全问题,
此时还要建立第一ACL规则,该第一ACL规则应用在所述网络接入设备的所
有端口上,以使得网络接入设备丢弃在所述第一端口外的其它端口上接收到的
源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文。

可以看出,本实施例的上述方法,无需预先获知针对网络接入设备的端口
哪些源MAC地址是合法的,也无需配置大量的静态MAC地址表,就可以实
现MAC地址防漂移功能,相比于现有技术,本实施例能够大大简化MAC地
址防漂移功能的实现。

本实施例在上述步骤13中,当判断出存在所述第一表项时,则进入以下
步骤:

步骤15,在判断出所述网络接入设备的MAC地址表中存在所述第一表项
时,结束流程。此时不需要执行任何动作,直接结束流程。

本实施例中所述网络接入设备的MAC地址表仍然可以按照现有技术的老
化方式进行老化,本实施例所述方法在所述MAC地址表中的表项发生老化时,
则对当前存在的ACL规则逐一进行轮询,以判断在所述MAC地址表中是否
存在与该ACL规则所针对的报文的源MAC地址和VLAN信息对应的MAC
地址表项:如果不存在,则删除该ACL规则;如果存在,则无需执行任何动
作。

这样,本实施例能够自动根据MAC地址表的老化,对ACL规则进行更
新,以避免在某个终端设备的MAC地址正常漂移后,来自该终端设备的报文
被始终丢弃,而导致该终端设备无法正常通信的问题。例如,现有技术的采用
静态MAC地址表的方式来防止MAC地址漂移的方式,在终端设备发生位置
变动,比如便携式电脑从A处移动到B处,为了保证其能够正常通信,就必
须重新配置静态MAC绑定规则;然而这种移动是不可知,无法预测的,配置
及查询起来极其繁琐。采用了本实施例的上述方案则不存在上述问题。

考虑到有部分终端设备通常是固定不变地接入到网络接入设备的某个端
口,因此,本实施例中所述网络接入设备可以在所述MAC地址表中针对第一
端口配置预定数量的允许接入的静态MAC地址所对应的表项,以允许第一端
口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。例如,在
所配置的静态MAC地址的表项中,将静态MAC地址、对应的VLAN信息和
接口绑定。这里,静态MAC地址的表项不会老化。这样,本实施例能够建立
动态和静态MAC相结合的防漂移机制,能在保证设备安全性的同时保留设备
应用的灵活性。

本实施例在具体应用中,可以预先针对网络接入设备的端口,设置每个端
口对应的MAC地址表项的第一上限值,以及设置每个端口对应的ACL规则
的第二上限值。

作为一种优选的实施方式,在上述的步骤14中,在判断出不存在所述第
一表项时,所述网络接入设备进一步判断所述MAC地址表中对应于所述第一
端口的表项是否已达到预设的第一上限值:

若是,则上报第一端口对应的表项已达到所述第一上限值的告警,并结束
本流程;

否则,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建
立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第
一MAC地址、VLAN信息为第一VLAN信息的报文的ACL规则。

作为一种优选的实施方式,在上述的步骤14中,所述建立一用以指示丢
弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、
VLAN信息为第一VLAN信息的报文的第一ACL规则,具体包括:

判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地
址、VLAN信息为第一VLAN信息的报文的第二ACL规则:

在存在所述第二ACL规则时,将所述第二ACL规则的端口更新为所述第
一端口;

在不存在所述第二ACL规则时,建立所述第一ACL规则。

其中,在不存在所述第二ACL规则时,所述网络接入设备进一步判断当
前存在的对应于所述第一端口的ACL规则是否已达到预设的第二上限值:

若达到,则上报第一端口对应的ACL规则已达到所述第二上限值的告警,
并结束本流程;

否则,建立所述第一ACL规则。

这里,第一ACL规则包括有第一端口、第一源MAC地址和第一VLAN
信息,用以指示将在所述第一端口外的其它端口上接收到的源MAC地址为第
一MAC地址、VLAN信息为第一VLAN信息的报文丢弃,而接收所述第一端
口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息
的报文。第一ACL规则建立后,所述网络接入设备的每个端口在接收到报文
后,首先与当前存在的ACL规则进行匹配,判断该报文是否能够被允许接收
或者是丢弃,从而能够防止MAC地址的非法漂移所造成的通信故障或安全问
题。

如果需要关闭本实施例所提供的防止MAC地址漂移的功能,则需要清空
ACL规则和MAC地址表,并重新设置网络接入设备的端口CML
(CPU-managed learning)属性为正常转发且学习报文的源MAC,但报文不再
送至CPU。

基于以上所述的防止MAC地址漂移的方法,本发明实施例还提供了一种
网络接入设备。所述网络接入设备包括有与外部设备连接的多个端口。请参照
图2所示,网络接入设备还包括:

接收单元,用于在所述网络接入设备的第一端口上接收到第一报文,其中,
所述网络接入设备的端口的属性都被预先配置为禁止学习报文的源MAC地
址,所述第一报文的源MAC地址为第一MAC地址、VLAN信息为第一VLAN
信息;

ACL单元,用于根据所述网络接入设备中当前存在的ACL规则,判断是
否丢弃所述第一报文;

交换处理单元,用于在所述ACL单元判断出不丢弃所述第一报文时,根
据目的MAC地址转发所述第一报文,并判断自身的MAC地址表中是否存在
与所述第一源MAC地址和第一VLAN信息对应的第一表项;

CPU处理单元,用于在所述交换处理单元判断出不存在所述第一表项时,
根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指
示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地
址、VLAN信息为第一VLAN信息的报文的第一ACL规则。

为避免在某个终端设备的MAC地址正常漂移后,来自该终端设备的报文
被始终丢弃,而导致该终端设备无法正常通信的问题,本实施例的网络接入设
备还包括:

所述ACL单元,还用于在所述MAC地址表中的表项发生老化时,针对
当前存在的每一ACL规则,如果所述MAC地址表中不存在与该ACL规则所
针对的报文的源MAC地址和VLAN信息对应的表项,则删除该ACL规则。

优选的,本实施例的网络接入设备,还包括:

配置单元,用于预先将所述网络接入设备的端口的属性都配置根据目的
MAC地址转发报文并禁止学习报文的源MAC地址,以及将接收到的新报文
同时发送给所述CPU处理单元,所述新报文是源MAC地址和VLAN信息在
所述MAC地址表中不存在对应表项的报文。

所述配置单元,还用于在所述MAC地址表中针对第一端口配置静态MAC
地址的表项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址
的报文得以通过。

优选地,所述CPU处理单元包括:

第一判断单元,用于判断所述MAC地址表中对应于所述第一端口的表项
是否已达到预设的第一上限值:

第一处理单元,用于在所述MAC地址表中对应于所述第一端口的表项已
达到预设的第一上限值时,上报第一端口对应的表项已达到所述第一上限值的
告警;

第二处理单元,用于在所述MAC地址表中对应于所述第一端口的表项未
达到预设的第一上限值时,根据所述第一报文在所述MAC地址表中建立对应
的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到的源
MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的ACL
规则。

其中,所述第二处理单元包括:

第二判断单元,用于判断当前存在的ACL规则中是否存在针对源MAC
地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第二ACL规
则;

第三处理单元,用于在存在所述第二ACL规则时,将所述第二ACL规则
的端口更新为所述第一端口;

第四处理单元,用于在不存在所述第二ACL规则时,建立包括有所述第
一端口、第一MAC地址、第一VLAN信息的第一ACL规则,所述第一ACL
规则用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第
一MAC地址、VLAN信息为第一VLAN信息的报文。

其中,所述第四处理单元包括:

第三判断单元,用于判断当前存在的对应于所述第一端口的ACL规则是
否已达到预设的第二上限值;

第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则已达
到预设的第二上限值时,上报第一端口对应的ACL规则已达到所述第二上限
值的告警;

第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则未达
到预设的第二上限值时,建立所述第一ACL规则。

最后,再通过本发明在设备上的具体应用,进一步说明本发明。

图3是本发明一实施例所述防止MAC地址漂移的方法的整体处理流程
图,其包括:

S101,设置设备每个端口的CML(CPU-managed learning)属性为根据目
的MAC地址查表转发并且不学习报文的源MAC地址,同时将源MAC地址
和VLAN信息在MAC地址表中没有对应的匹配表项的报文送至CPU;设置每
个端口对应的MAC地址表项的第一上限值,删除设备端口上的已学习到的
MAC地址的表项;

S102,在CPU的收包进程中检测经由设备端口送至CPU的报文,分析报
文中的操作码(opcode)字段,若该字段为SLF tag(source MAC lookup failed,
具体到本装置为0x2)时,表明该报文是设置端口CML属性后因源MAC地
址查找失败而送至CPU的报文,则进入步骤S103;否则,结束该流程。

S103,若是SLF原因送至CPU的报文,获取接收到该报文的端口号,并
解析出报文中的VLAN信息和MAC地址;

S104,根据S103中获得的信息建立软件ACL记录表,并将该VLAN信
息和MAC地址灯写入交换芯片的MAC地址表(硬件L2地址表)中,生成
一个对应的MAC地址表项,使后续报文得以正常转发;同时建立以MAC地
址、VLAN信息和端口号为关键字(key)的ACL规则,以对于该端口之外的
其他端口则禁止相同的MAC地址+VLAN信息的流进入。

图4是本实施例中CPU的收包进程对报文的详细处理流程图,其包括:

S201,以报文中解析出来的源MAC地址、VLAN信息为key,查找硬件
L2地址表:若找到,无须任何动作,流程结束;否则进入S202;

S202,若S201中没有找到相应条目,则先去判断该报文的收端口号对应
的MAC地址表项是否已达所设第一上限值:若已达到,则上报告警信息,流
程结束;否则进入S203;

S203,由软件将S201中的MAC地址、VLAN信息写进交换芯片的硬件
L2地址表中去;

S204,查找ACL记录表条目,看是否存在以前述的MAC地址和VLAN
信息为key的ACL条目:若存在,进入S205;否则进入S206;

S205,若存在以前述的MAC地址和VLAN信息为key的旧ACL条目,
再比较前述的收端口号与找到的旧ACL条目中的旧端口号,如果不同,则需
要将旧端口加入到阻止端口列表中,将前述端口号从阻止端口列表中剔除。具
体可以通过修改旧ACL条目中的端口号,将其由旧端口号修改为收端口号,
并重新安装(install)该ACL规则;

S206,先判断收端口对应的ACL条目是否已经达到预设的第二上限值;

S207,若没有达到第二上限值,则新建以MAC地址、VLAN信息和收端
口号为key的ACL规则,以对收端口之外的其他端口则禁止相同MAC地址
+VLAN信息的流进入;

S208,若已达到第二上限值,则上报告警信息,流程结束。

图5是本实施例中ACL记录表更新流程图,由于ACL条目数量有限,例
如,共0~255个ACL条目。因此,在建立ACL条目时,需要查找各个ACL
条目,判断其是否已用,以找到空ACL条目,在该空ACL条目中添加相应信
息生成ACL规则。图5具体包括:

S301,从ACL记录表的第一条开始查找,判断该条目是否已被使用;

S302,若条目被标记为未用,则设置找到空条目的标志量
find_empty_entry=1;

S303,若条目被标记为已用,则判断MAC地址表中是否存在对应于该条
目中的MAC地址和VLAN信息的MAC地址表项;

S304,若不存在,则删除条目中所记录的ACL规则,并且清空该ACL
记录条目,标记此条目为未用,同时设置找到空条目的标志量
find_empty_entry=1;

S305,判断是否已是软件ACL记录表的最后一个条目,若是结束返回,
流程结束;

S306,若S305未达ACL记录表的最后一个条目,则将条目数加1,回到
S301重新开始;

S307,若有空条目,则建立新的ACL规则,并将相关信息记录到该空条
目中,并标记其为已用;

S308,若最终没有找到空的条目,则上报告警信息,结束流程。

以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术
人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些
改进和润饰也应视为本发明的保护范围。

一种防止媒体访问控制地址漂移的方法及网络处理设备.pdf_第1页
第1页 / 共18页
一种防止媒体访问控制地址漂移的方法及网络处理设备.pdf_第2页
第2页 / 共18页
一种防止媒体访问控制地址漂移的方法及网络处理设备.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种防止媒体访问控制地址漂移的方法及网络处理设备.pdf》由会员分享,可在线阅读,更多相关《一种防止媒体访问控制地址漂移的方法及网络处理设备.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102843440 A (43)申请公布日 2012.12.26 C N 1 0 2 8 4 3 4 4 0 A *CN102843440A* (21)申请号 201110173473.8 (22)申请日 2011.06.24 H04L 29/12(2006.01) H04L 12/56(2006.01) (71)申请人中兴通讯股份有限公司 地址 518057 广东省深圳市南山区高新技术 产业园科技南路中兴通讯大厦法务部 (72)发明人吴军 陈强 (74)专利代理机构北京银龙知识产权代理有限 公司 11243 代理人黄灿 姜精斌 (54) 发明名称 一种防止媒体访问控。

2、制地址漂移的方法及网 络处理设备 (57) 摘要 本发明提供了一种防止媒体访问控制地址漂 移的方法及网络处理设备。其中,所述方法包括: 网络接入设备在自身第一端口上接收到第一报 文;所述网络接入设备根据当前存在的ACL规则, 判断是否丢弃所述第一报文;在判断出不丢弃所 述第一报文时,根据目的MAC地址转发所述第一 报文,并判断自身的MAC地址表中是否存在与所 述第一报文的第一源MAC地址和第一VLAN信息 对应的第一表项;在判断出不存在所述第一表项 时,根据所述第一报文在所述MAC地址表中建立 对应的表项,以及建立一用以指示丢弃在所述第 一端口外的其它端口上接收到的源MAC地址为第 一MAC地。

3、址、VLAN信息为第一VLAN信息的报文的 第一ACL规则。本发明能够简便地实现防止MAC 地址漂移的功能。 (51)Int.Cl. 权利要求书3页 说明书9页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 9 页 附图 5 页 1/3页 2 1.一种防止MAC地址漂移的方法,应用于一网络接入设备,所述网络接入设备包括有 与外部设备连接的多个端口,其特征在于,所述方法包括: 所述网络接入设备在自身第一端口上接收到第一报文,其中,所述网络接入设备的端 口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源MAC地址为第一 MAC地址。

4、、VLAN信息为第一VLAN信息; 所述网络接入设备根据当前存在的ACL规则,判断是否丢弃所述第一报文; 在判断出不丢弃所述第一报文时,所述网络接入设备根据目的MAC地址转发所述第一 报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第一VLAN信息对应的 第一表项; 在判断出不存在所述第一表项时,所述网络接入设备根据所述第一报文在所述MAC地 址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上接收到 的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第一ACL规则。 2.如权利要求1所述的方法,其特征在于, 在所述MAC地址表中的表项发。

5、生老化时,所述方法还包括: 所述网络接入设备针对当前存在的每一ACL规则,如果所述MAC地址表中不存在与该 ACL规则所针对报文的源MAC地址和VLAN信息对应的表项,则删除该ACL规则。 3.如权利要求1所述的方法,其特征在于, 所述网络接入设备进一步在所述MAC地址表中针对第一端口配置静态MAC地址的表 项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。 4.如权利要求1所述的方法,其特征在于, 在判断出不存在所述第一表项时,所述网络接入设备进一步判断所述MAC地址表中对 应于所述第一端口的表项是否已达到预设的第一上限值: 若是,则上报第一端口对应的表项已达到所述。

6、第一上限值的告警,并结束本流程; 否则,进入所述根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一 用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN 信息为第一VLAN信息的报文的ACL规则的步骤。 5.如权利要求1所述的方法,其特征在于,所述建立一用以指示丢弃在所述第一端口 外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文 的第一ACL规则,包括: 判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地址、VLAN信息为第 一VLAN信息的报文的第二ACL规则: 在存在所述第二ACL规则时,将。

7、所述第二ACL规则中的端口更新为所述第一端口; 在不存在所述第二ACL规则时,建立所述第一ACL规则。 6.如权利要求5所述的方法,其特征在于, 在不存在所述第二ACL规则时,进一步判断当前存在的对应于所述第一端口的ACL规 则是否已达到预设的第二上限值: 若达到,则上报第一端口对应的ACL规则已达到所述第二上限值的告警,并结束本流 程; 否则,建立包括有所述第一端口、第一MAC地址、第一VLAN信息的第一ACL规则,所述 权 利 要 求 书CN 102843440 A 2/3页 3 第一ACL规则用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一 MAC地址、VLAN信息为第。

8、一VLAN信息的报文。 7.一种网络接入设备,包括有与外部设备连接的多个端口,其特征在于,所述网络接入 设备还包括: 接收单元,用于在所述网络接入设备的第一端口上接收到第一报文,其中,所述网络接 入设备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源MAC 地址为第一MAC地址、VLAN信息为第一VLAN信息; ACL单元,用于根据所述网络接入设备中当前存在的ACL规则,判断是否丢弃所述第一 报文; 交换处理单元,用于在所述ACL单元判断出不丢弃所述第一报文时,根据目的MAC地 址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第一 VLAN信。

9、息对应的第一表项; CPU处理单元,用于在所述交换处理单元判断出不存在所述第一表项时,根据所述第一 报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的 其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第 一ACL规则。 8.如权利要求7所述的网络接入设备,其特征在于,还包括: 所述ACL单元,还用于在所述MAC地址表中的表项发生老化时,针对当前存在的每一 ACL规则,如果所述MAC地址表中不存在与该ACL规则所针对报文的源MAC地址和VLAN信 息对应的表项,则删除该ACL规则。 9.如权利要求7所述的网络接入设备,其特征在于。

10、,还包括: 配置单元,用于预先将所述网络接入设备的端口的属性都配置根据目的MAC地址转发 报文并禁止学习报文的源MAC地址,以及将接收到的新报文同时发送给所述CPU处理单元, 所述新报文是源MAC地址和VLAN信息在所述MAC地址表中不存在对应表项的报文。 10.如权利要求9所述的网络接入设备,其特征在于, 所述配置单元,还用于在所述MAC地址表中针对第一端口配置静态MAC地址的表项,以 允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。 11.如权利要求7所述的网络接入设备,其特征在于, 所述CPU处理单元包括: 第一判断单元,用于判断所述MAC地址表中对应于所述第一端口。

11、的表项是否已达到预 设的第一上限值: 第一处理单元,用于在所述MAC地址表中对应于所述第一端口的表项已达到预设的第 一上限值时,上报第一端口对应的表项已达到所述第一上限值的告警; 第二处理单元,用于在所述MAC地址表中对应于所述第一端口的表项未达到预设的第 一上限值时,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指 示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为 第一VLAN信息的报文的ACL规则。 12.如权利要求7所述的网络接入设备,其特征在于, 所述第二处理单元包括: 权 利 要 求 书CN 102843440 A 3/3页 。

12、4 第二判断单元,用于判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC 地址、VLAN信息为第一VLAN信息的报文的第二ACL规则; 第三处理单元,用于在存在所述第二ACL规则时,将所述第二ACL规则的端口更新为所 述第一端口; 第四处理单元,用于在不存在所述第二ACL规则时,建立包括有所述第一端口、第一 MAC地址、第一VLAN信息的第一ACL规则,所述第一ACL规则用以指示丢弃在所述第一端口 外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文。 13.如权利要求12所述的网络接入设备,其特征在于, 所述第四处理单元包括: 第三判断单元,用。

13、于判断当前存在的对应于所述第一端口的ACL规则是否已达到预设 的第二上限值; 第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则已达到预设的第二 上限值时,上报第一端口对应的ACL规则已达到所述第二上限值的告警; 第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则未达到预设的第二 上限值时,建立所述第一ACL规则。 权 利 要 求 书CN 102843440 A 1/9页 5 一种防止媒体访问控制地址漂移的方法及网络处理设备 技术领域 0001 本发明涉及网络通信技术领域,具体涉及一种防止媒体访问控制(MAC,Media Access Control)地址漂移的方法及网络处。

14、理设备。 背景技术 0002 随着网络技术的发展和普及,网络规模日益扩大,网络架构逐渐繁琐,网络配置越 来越复杂。经常会出现设备位置发生变化(如通过无线网络接入的便携式设备位置经常发 生移动)的情况,但有时候也会因网络故障(比如环路),导致出现异常MAC地址漂移,影响 网络数据安全和用户正常使用网络。因此必须采取措施提供安全保障,防止因MAC地址非 正常漂移造成用户无法使用网络和其它安全问题。 0003 现有技术通常采用静态MAC地址表的方式来防止MAC地址漂移。其做法是在设备 应用之初,针对其每个端口配置相关的MAC地址绑定规则,对于每个端口只允许来自特定 MAC地址的流通过。这种方法存在以。

15、下不足:初期配置量大且可操作性差。对于每台设备 的每个端口都需要配置静态MAC地址表,并且还需要清楚的知道哪些MAC地址是合法的,因 此设备部署前需要获取大量信息,且配置工作量很大。 发明内容 0004 本发明所要解决的技术问题是提供一种防止MAC地址漂移的方法及网络处理设 备,用以简便地实现防止MAC地址漂移的功能。 0005 为解决上述技术问题,本发明提供方案如下: 0006 一种防止MAC地址漂移的方法,应用于一网络接入设备,所述网络接入设备包括 有与外部设备连接的多个端口,所述方法包括: 0007 所述网络接入设备在自身第一端口上接收到第一报文,其中,所述网络接入设备 的端口的属性都被。

16、预先配置为禁止学习报文的源MAC地址,所述第一报文的源MAC地址为 第一MAC地址、VLAN信息为第一VLAN信息; 0008 所述网络接入设备根据当前存在的ACL规则,判断是否丢弃所述第一报文; 0009 在判断出不丢弃所述第一报文时,所述网络接入设备根据目的MAC地址转发所述 第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第一VLAN信息对 应的第一表项; 0010 在判断出不存在所述第一表项时,所述网络接入设备根据所述第一报文在所述 MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它端口上 接收到的源MAC地址为第一MAC地址、VLAN信息为。

17、第一VLAN信息的报文的第一ACL规则。 0011 优选地,上述方法中, 0012 在所述MAC地址表中的表项发生老化时,所述方法还包括: 0013 所述网络接入设备针对当前存在的每一ACL规则,如果所述MAC地址表中不存在 与该ACL规则所针对报文的源MAC地址和VLAN信息对应的表项,则删除该ACL规则。 说 明 书CN 102843440 A 2/9页 6 0014 优选地,上述方法中, 0015 所述网络接入设备进一步在所述MAC地址表中针对第一端口配置静态MAC地址的 表项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。 0016 优选地,上述方法中, 00。

18、17 在判断出不存在所述第一表项时,所述网络接入设备进一步判断所述MAC地址表 中对应于所述第一端口的表项是否已达到预设的第一上限值: 0018 若是,则上报第一端口对应的表项已达到所述第一上限值的告警,并结束本流 程; 0019 否则,进入所述根据所述第一报文在所述MAC地址表中建立对应的表项,以及建 立一用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、 VLAN信息为第一VLAN信息的报文的ACL规则的步骤。 0020 优选地,上述方法中,所述建立一用以指示丢弃在所述第一端口外的其它端口上 接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的。

19、报文的第一ACL规则, 包括: 0021 判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地址、VLAN信息 为第一VLAN信息的报文的第二ACL规则: 0022 在存在所述第二ACL规则时,将所述第二ACL规则中的端口更新为所述第一端 口; 0023 在不存在所述第二ACL规则时,建立所述第一ACL规则。 0024 优选地,上述方法中, 0025 在不存在所述第二ACL规则时,进一步判断当前存在的对应于所述第一端口的 ACL规则是否已达到预设的第二上限值: 0026 若达到,则上报第一端口对应的ACL规则已达到所述第二上限值的告警,并结束 本流程; 0027 否则,建立包括有所。

20、述第一端口、第一MAC地址、第一VLAN信息的第一ACL规则, 所述第一ACL规则用以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第 一MAC地址、VLAN信息为第一VLAN信息的报文。 0028 本发明还提供了一种网络接入设备,包括有与外部设备连接的多个端口,所述网 络接入设备还包括: 0029 接收单元,用于在所述网络接入设备的第一端口上接收到第一报文,其中,所述网 络接入设备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源 MAC地址为第一MAC地址、VLAN信息为第一VLAN信息; 0030 ACL单元,用于根据所述网络接入设备中当前存在的ACL规则。

21、,判断是否丢弃所述 第一报文; 0031 交换处理单元,用于在所述ACL单元判断出不丢弃所述第一报文时,根据目的MAC 地址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第 一VLAN信息对应的第一表项; 0032 CPU处理单元,用于在所述交换处理单元判断出不存在所述第一表项时,根据所述 第一报文在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口 说 明 书CN 102843440 A 3/9页 7 外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文 的第一ACL规则。 0033 优选地,上述网络接入设。

22、备中,还包括: 0034 所述ACL单元,还用于在所述MAC地址表中的表项发生老化时,针对当前存在的每 一ACL规则,如果所述MAC地址表中不存在与该ACL规则所针对报文的源MAC地址和VLAN 信息对应的表项,则删除该ACL规则。 0035 优选地,上述网络接入设备中,还包括: 0036 配置单元,用于预先将所述网络接入设备的端口的属性都配置根据目的MAC地址 转发报文并禁止学习报文的源MAC地址,以及将接收到的新报文同时发送给所述CPU处理 单元,所述新报文是源MAC地址和VLAN信息在所述MAC地址表中不存在对应表项的报文。 0037 优选地,上述网络接入设备中, 0038 所述配置单元。

23、,还用于在所述MAC地址表中针对第一端口配置静态MAC地址的表 项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。 0039 优选地,上述网络接入设备中, 0040 所述CPU处理单元包括: 0041 第一判断单元,用于判断所述MAC地址表中对应于所述第一端口的表项是否已达 到预设的第一上限值: 0042 第一处理单元,用于在所述MAC地址表中对应于所述第一端口的表项已达到预设 的第一上限值时,上报第一端口对应的表项已达到所述第一上限值的告警; 0043 第二处理单元,用于在所述MAC地址表中对应于所述第一端口的表项未达到预设 的第一上限值时,根据所述第一报文在所述M。

24、AC地址表中建立对应的表项,以及建立一用 以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信 息为第一VLAN信息的报文的ACL规则。 0044 优选地,上述网络接入设备中, 0045 所述第二处理单元包括: 0046 第二判断单元,用于判断当前存在的ACL规则中是否存在针对源MAC地址为第一 MAC地址、VLAN信息为第一VLAN信息的报文的第二ACL规则; 0047 第三处理单元,用于在存在所述第二ACL规则时,将所述第二ACL规则的端口更新 为所述第一端口; 0048 第四处理单元,用于在不存在所述第二ACL规则时,建立包括有所述第一端口、第 一MAC。

25、地址、第一VLAN信息的第一ACL规则,所述第一ACL规则用以指示丢弃在所述第一 端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的 报文。 0049 优选地,上述网络接入设备中, 0050 所述第四处理单元包括: 0051 第三判断单元,用于判断当前存在的对应于所述第一端口的ACL规则是否已达到 预设的第二上限值; 0052 第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则已达到预设的 第二上限值时,上报第一端口对应的ACL规则已达到所述第二上限值的告警; 说 明 书CN 102843440 A 4/9页 8 0053 第五处理单元,用于在当。

26、前存在的对应于所述第一端口的ACL规则未达到预设的 第二上限值时,建立所述第一ACL规则。 0054 从以上所述可以看出,本发明提供的防止MAC地址漂移的方法及网络处理设备, 无需预先获知针对网络接入设备的端口哪些源MAC地址是合法的,也无需配置大量的静态 MAC地址表,就可以实现MAC地址防漂移功能,相比于现有技术,本实施例能够大大简化MAC 地址防漂移功能的实现。并且,本发明还能够通过自动根据MAC地址表的老化,对ACL规则 进行更新,以避免在某个终端设备的MAC地址正常漂移后,来自该终端设备的报文被始终 丢弃,而导致该终端设备无法正常通信的问题。 附图说明 0055 图1为本发明实施例所。

27、述防止MAC地址漂移的方法的流程示意图; 0056 图2为本发明实施例所述网络接入设备的结构示意图; 0057 图3为本发明另一实施例防止MAC地址漂移的方法的整体处理流程图; 0058 图4为本实施例中CPU的收包进程对报文的详细处理流程图; 0059 图5为本实施例中ACL记录表更新流程图。 具体实施方式 0060 本发明提供的防止MAC地址漂移的方法及网络处理设备,根据报文的解析信息建 立动态的MAC地址表项,并建立相应的ACL规则,用以在非法(未记录)端口上丢弃具有相 同源MAC和VLAN信息的报文,以达到防止MAC地址漂移的目的。 0061 以下将结合附图,通过具体实施例对本发明作进。

28、一步的说明。 0062 本发明实施例所述的防止MAC地址漂移的方法,应用于一网络接入设备,所述网 络接入设备包括有与外部设备连接的多个端口。具体的,该网络接入设备可以是各种无源 光网络(PON)系统中的光网络单元(ONU)、连接多个终端的交换机等等。 0063 请参照图1,本实施例所述防止MAC地址漂移的方法包括以下步骤: 0064 步骤11,所述网络接入设备在自身第一端口上接收到第一报文,其中,所述网络接 入设备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源MAC 地址为第一MAC地址、VLAN信息为第一VLAN信息。 0065 这里,由于网络接入设备的端口都被配置为。

29、禁止从端口接收到的报文中学习源 MAC地址,这样可以避免同一MAC地址出现在网络接入设备的(L2二层)MAC地址表的不同 表项中。 0066 步骤12,所述网络接入设备根据当前存在的访问控制列表(ACL)规则,判断是否 丢弃所述第一报文。 0067 步骤13,在判断出不丢弃所述第一报文时,所述网络接入设备根据目的MAC地址 转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第一 VLAN信息对应的第一表项。 0068 这里,网络接入设备根据所述第一报文的目的MAC地址,查找自身的MAC地址表, 确定所述第一报文的出端口,然后将第一报文通过该出端口转发出去。 0069 。

30、步骤14,在判断出不存在所述第一表项时,所述网络接入设备根据所述第一报文 说 明 书CN 102843440 A 5/9页 9 在所述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口外的其它 端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文的第一ACL 规则。 0070 这里,由于禁止了端口的MAC地址自动学习功能,本实施例通过上述步骤14建立 MAC地址表项,以生成用于报文转发的MAC地址表。 0071 以上步骤中,为了能够生成合适的MAC地址表项,在建立MAC地址表项前先判断 是否已存在类似的第一表项,只有在不存在第一表项时,才去根据所述第。

31、一报文在所述MAC 地址表中建立对应的表项,即建立一个包括有所述第一端口、所述第一报文的第一源MAC 地址和第一VLAN信息的MAC地址表项。由于MAC地址表项中已记录了第一源MAC地址是来 自于第一端口的,因此为了防止MAC地址非正常漂移造成用户无法使用网络和其它安全问 题,此时还要建立第一ACL规则,该第一ACL规则应用在所述网络接入设备的所有端口上, 以使得网络接入设备丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC 地址、VLAN信息为第一VLAN信息的报文。 0072 可以看出,本实施例的上述方法,无需预先获知针对网络接入设备的端口哪些源 MAC地址是合法的,也无需配。

32、置大量的静态MAC地址表,就可以实现MAC地址防漂移功能,相 比于现有技术,本实施例能够大大简化MAC地址防漂移功能的实现。 0073 本实施例在上述步骤13中,当判断出存在所述第一表项时,则进入以下步骤: 0074 步骤15,在判断出所述网络接入设备的MAC地址表中存在所述第一表项时,结束 流程。此时不需要执行任何动作,直接结束流程。 0075 本实施例中所述网络接入设备的MAC地址表仍然可以按照现有技术的老化方式 进行老化,本实施例所述方法在所述MAC地址表中的表项发生老化时,则对当前存在的ACL 规则逐一进行轮询,以判断在所述MAC地址表中是否存在与该ACL规则所针对的报文的源 MAC地。

33、址和VLAN信息对应的MAC地址表项:如果不存在,则删除该ACL规则;如果存在,则 无需执行任何动作。 0076 这样,本实施例能够自动根据MAC地址表的老化,对ACL规则进行更新,以避免在 某个终端设备的MAC地址正常漂移后,来自该终端设备的报文被始终丢弃,而导致该终端 设备无法正常通信的问题。例如,现有技术的采用静态MAC地址表的方式来防止MAC地址 漂移的方式,在终端设备发生位置变动,比如便携式电脑从A处移动到B处,为了保证其能 够正常通信,就必须重新配置静态MAC绑定规则;然而这种移动是不可知,无法预测的,配 置及查询起来极其繁琐。采用了本实施例的上述方案则不存在上述问题。 0077 。

34、考虑到有部分终端设备通常是固定不变地接入到网络接入设备的某个端口,因 此,本实施例中所述网络接入设备可以在所述MAC地址表中针对第一端口配置预定数量的 允许接入的静态MAC地址所对应的表项,以允许第一端口上接收到的源MAC地址为所述静 态MAC地址的报文得以通过。例如,在所配置的静态MAC地址的表项中,将静态MAC地址、 对应的VLAN信息和接口绑定。这里,静态MAC地址的表项不会老化。这样,本实施例能够 建立动态和静态MAC相结合的防漂移机制,能在保证设备安全性的同时保留设备应用的灵 活性。 0078 本实施例在具体应用中,可以预先针对网络接入设备的端口,设置每个端口对应 的MAC地址表项的。

35、第一上限值,以及设置每个端口对应的ACL规则的第二上限值。 说 明 书CN 102843440 A 6/9页 10 0079 作为一种优选的实施方式,在上述的步骤14中,在判断出不存在所述第一表项 时,所述网络接入设备进一步判断所述MAC地址表中对应于所述第一端口的表项是否已达 到预设的第一上限值: 0080 若是,则上报第一端口对应的表项已达到所述第一上限值的告警,并结束本流 程; 0081 否则,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用以 指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息 为第一VLAN信息的报文的ACL规则。 。

36、0082 作为一种优选的实施方式,在上述的步骤14中,所述建立一用以指示丢弃在所述 第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信 息的报文的第一ACL规则,具体包括: 0083 判断当前存在的ACL规则中是否存在针对源MAC地址为第一MAC地址、VLAN信息 为第一VLAN信息的报文的第二ACL规则: 0084 在存在所述第二ACL规则时,将所述第二ACL规则的端口更新为所述第一端口; 0085 在不存在所述第二ACL规则时,建立所述第一ACL规则。 0086 其中,在不存在所述第二ACL规则时,所述网络接入设备进一步判断当前存在的 对应于所述第一端。

37、口的ACL规则是否已达到预设的第二上限值: 0087 若达到,则上报第一端口对应的ACL规则已达到所述第二上限值的告警,并结束 本流程; 0088 否则,建立所述第一ACL规则。 0089 这里,第一ACL规则包括有第一端口、第一源MAC地址和第一VLAN信息,用以指示 将在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一 VLAN信息的报文丢弃,而接收所述第一端口上接收到的源MAC地址为第一MAC地址、VLAN 信息为第一VLAN信息的报文。第一ACL规则建立后,所述网络接入设备的每个端口在接收 到报文后,首先与当前存在的ACL规则进行匹配,判断该报文是否能。

38、够被允许接收或者是 丢弃,从而能够防止MAC地址的非法漂移所造成的通信故障或安全问题。 0090 如果需要关闭本实施例所提供的防止MAC地址漂移的功能,则需要清空ACL规则 和MAC地址表,并重新设置网络接入设备的端口CML(CPU-managed learning)属性为正常 转发且学习报文的源MAC,但报文不再送至CPU。 0091 基于以上所述的防止MAC地址漂移的方法,本发明实施例还提供了一种网络接入 设备。所述网络接入设备包括有与外部设备连接的多个端口。请参照图2所示,网络接入 设备还包括: 0092 接收单元,用于在所述网络接入设备的第一端口上接收到第一报文,其中,所述网 络接入设。

39、备的端口的属性都被预先配置为禁止学习报文的源MAC地址,所述第一报文的源 MAC地址为第一MAC地址、VLAN信息为第一VLAN信息; 0093 ACL单元,用于根据所述网络接入设备中当前存在的ACL规则,判断是否丢弃所述 第一报文; 0094 交换处理单元,用于在所述ACL单元判断出不丢弃所述第一报文时,根据目的MAC 地址转发所述第一报文,并判断自身的MAC地址表中是否存在与所述第一源MAC地址和第 说 明 书CN 102843440 A 10 7/9页 11 一VLAN信息对应的第一表项; 0095 CPU处理单元,用于在所述交换处理单元判断出不存在所述第一表项时,根据所述 第一报文在所。

40、述MAC地址表中建立对应的表项,以及建立一用以指示丢弃在所述第一端口 外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的报文 的第一ACL规则。 0096 为避免在某个终端设备的MAC地址正常漂移后,来自该终端设备的报文被始终丢 弃,而导致该终端设备无法正常通信的问题,本实施例的网络接入设备还包括: 0097 所述ACL单元,还用于在所述MAC地址表中的表项发生老化时,针对当前存在的 每一ACL规则,如果所述MAC地址表中不存在与该ACL规则所针对的报文的源MAC地址和 VLAN信息对应的表项,则删除该ACL规则。 0098 优选的,本实施例的网络接入设备,还。

41、包括: 0099 配置单元,用于预先将所述网络接入设备的端口的属性都配置根据目的MAC地址 转发报文并禁止学习报文的源MAC地址,以及将接收到的新报文同时发送给所述CPU处理 单元,所述新报文是源MAC地址和VLAN信息在所述MAC地址表中不存在对应表项的报文。 0100 所述配置单元,还用于在所述MAC地址表中针对第一端口配置静态MAC地址的表 项,以允许第一端口上接收到的源MAC地址为所述静态MAC地址的报文得以通过。 0101 优选地,所述CPU处理单元包括: 0102 第一判断单元,用于判断所述MAC地址表中对应于所述第一端口的表项是否已达 到预设的第一上限值: 0103 第一处理单元。

42、,用于在所述MAC地址表中对应于所述第一端口的表项已达到预设 的第一上限值时,上报第一端口对应的表项已达到所述第一上限值的告警; 0104 第二处理单元,用于在所述MAC地址表中对应于所述第一端口的表项未达到预设 的第一上限值时,根据所述第一报文在所述MAC地址表中建立对应的表项,以及建立一用 以指示丢弃在所述第一端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信 息为第一VLAN信息的报文的ACL规则。 0105 其中,所述第二处理单元包括: 0106 第二判断单元,用于判断当前存在的ACL规则中是否存在针对源MAC地址为第一 MAC地址、VLAN信息为第一VLAN信息的报文。

43、的第二ACL规则; 0107 第三处理单元,用于在存在所述第二ACL规则时,将所述第二ACL规则的端口更新 为所述第一端口; 0108 第四处理单元,用于在不存在所述第二ACL规则时,建立包括有所述第一端口、第 一MAC地址、第一VLAN信息的第一ACL规则,所述第一ACL规则用以指示丢弃在所述第一 端口外的其它端口上接收到的源MAC地址为第一MAC地址、VLAN信息为第一VLAN信息的 报文。 0109 其中,所述第四处理单元包括: 0110 第三判断单元,用于判断当前存在的对应于所述第一端口的ACL规则是否已达到 预设的第二上限值; 0111 第五处理单元,用于在当前存在的对应于所述第一端。

44、口的ACL规则已达到预设的 第二上限值时,上报第一端口对应的ACL规则已达到所述第二上限值的告警; 说 明 书CN 102843440 A 11 8/9页 12 0112 第五处理单元,用于在当前存在的对应于所述第一端口的ACL规则未达到预设的 第二上限值时,建立所述第一ACL规则。 0113 最后,再通过本发明在设备上的具体应用,进一步说明本发明。 0114 图3是本发明一实施例所述防止MAC地址漂移的方法的整体处理流程图,其包 括: 0115 S101,设置设备每个端口的CML(CPU-managed learning)属性为根据目的MAC地 址查表转发并且不学习报文的源MAC地址,同时将。

45、源MAC地址和VLAN信息在MAC地址表中 没有对应的匹配表项的报文送至CPU;设置每个端口对应的MAC地址表项的第一上限值,删 除设备端口上的已学习到的MAC地址的表项; 0116 S102,在CPU的收包进程中检测经由设备端口送至CPU的报文,分析报文中的操作 码(opcode)字段,若该字段为SLF tag(source MAC lookup failed,具体到本装置为0x2) 时,表明该报文是设置端口CML属性后因源MAC地址查找失败而送至CPU的报文,则进入步 骤S103;否则,结束该流程。 0117 S103,若是SLF原因送至CPU的报文,获取接收到该报文的端口号,并解析出报文。

46、 中的VLAN信息和MAC地址; 0118 S104,根据S103中获得的信息建立软件ACL记录表,并将该VLAN信息和MAC地址 灯写入交换芯片的MAC地址表(硬件L2地址表)中,生成一个对应的MAC地址表项,使后 续报文得以正常转发;同时建立以MAC地址、VLAN信息和端口号为关键字(key)的ACL规 则,以对于该端口之外的其他端口则禁止相同的MAC地址+VLAN信息的流进入。 0119 图4是本实施例中CPU的收包进程对报文的详细处理流程图,其包括: 0120 S201,以报文中解析出来的源MAC地址、VLAN信息为key,查找硬件L2地址表:若 找到,无须任何动作,流程结束;否则进入。

47、S202; 0121 S202,若S201中没有找到相应条目,则先去判断该报文的收端口号对应的MAC地 址表项是否已达所设第一上限值:若已达到,则上报告警信息,流程结束;否则进入S203; 0122 S203,由软件将S201中的MAC地址、VLAN信息写进交换芯片的硬件L2地址表中 去; 0123 S204,查找ACL记录表条目,看是否存在以前述的MAC地址和VLAN信息为key的 ACL条目:若存在,进入S205;否则进入S206; 0124 S205,若存在以前述的MAC地址和VLAN信息为key的旧ACL条目,再比较前述的 收端口号与找到的旧ACL条目中的旧端口号,如果不同,则需要将旧。

48、端口加入到阻止端口 列表中,将前述端口号从阻止端口列表中剔除。具体可以通过修改旧ACL条目中的端口号, 将其由旧端口号修改为收端口号,并重新安装(install)该ACL规则; 0125 S206,先判断收端口对应的ACL条目是否已经达到预设的第二上限值; 0126 S207,若没有达到第二上限值,则新建以MAC地址、VLAN信息和收端口号为key的 ACL规则,以对收端口之外的其他端口则禁止相同MAC地址+VLAN信息的流进入; 0127 S208,若已达到第二上限值,则上报告警信息,流程结束。 0128 图5是本实施例中ACL记录表更新流程图,由于ACL条目数量有限,例如,共0 255个A。

49、CL条目。因此,在建立ACL条目时,需要查找各个ACL条目,判断其是否已用,以找 到空ACL条目,在该空ACL条目中添加相应信息生成ACL规则。图5具体包括: 说 明 书CN 102843440 A 12 9/9页 13 0129 S301,从ACL记录表的第一条开始查找,判断该条目是否已被使用; 0130 S302,若条目被标记为未用,则设置找到空条目的标志量find_empty_entry1; 0131 S303,若条目被标记为已用,则判断MAC地址表中是否存在对应于该条目中的MAC 地址和VLAN信息的MAC地址表项; 0132 S304,若不存在,则删除条目中所记录的ACL规则,并且清空该ACL记录条目,标记 此条目为未用,同时设置找到空条目的标志量f。

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

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


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