著录项信息
专利名称 | 一种检测访问控制列表生效的方法和装置 |
申请号 | CN200910092961.9 | 申请日期 | 2009-09-17 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2010-03-03 | 公开/公告号 | CN101662425 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/56 | IPC分类号 | H;0;4;L;1;2;/;5;6;;;H;0;4;L;1;2;/;2;6查看分类表>
|
申请人 | 中兴通讯股份有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中兴通讯股份有限公司 | 当前权利人 | 中兴通讯股份有限公司 |
发明人 | 高峰;李江卫 |
代理机构 | 北京派特恩知识产权代理事务所(普通合伙) | 代理人 | 蒋雅洁;王黎延 |
摘要
本发明公开了一种检测访问控制列表生效的方法,通过在每次执行访问控制列表(ACL)规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器,计数器按照预先设定的计数方式进行计数,通过读取计数器内存储的计数值,根据是否有计数值判断这条ACL规则是否生效;本发明同时还公开了一种检测访问控制列表生效的装置,能够实现在判断ACL规则是否生效时,既不增加网络负载,又不冲击设备中央处理器(CPU)的安全;此外,利用查看计数值来判断ACL规则是否生效的方法较为简单,能够加快网络故障的定位速度。
1.一种检测访问控制列表生效的方法,其特征在于,该方法包括:
在每次执行访问控制列表ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器;
计数器按照预先设定的计数方式进行计数,并存储计数值;
读取计数器内存储的计数值,如果有计数值,则确定这条ACL规则生效;反之,则确定这条ACL规则没有生效;
在读取计数器内存储的计数值之后,对计数器的计数值清0。
2.根据权利要求1所述的方法,其特征在于,所述挂接方式具体为将启动计数器作为一条ACL规则中动作部分里的一个动作的方式,或者是通过检测一条ACL规则中动作部分的结果来启动计数器的方式。
3.根据权利要求1或2所述的方法,其特征在于,所述计数方式为报文个数计数方式或报文字节数计数方式,其中,
所述报文个数计数方式为计数器在每次被启动时计数值自动加1;
所述报文字节数计数方式为计数器在每次被启动时计数值加上此次符合这条ACL规则的报文的字节数。
4.根据权利要求1或2所述的方法,其特征在于,所述计数器为预先在设备本身的计数器资源池中申请的,具体为静态申请方式申请或动态申请方式申请,其中,所述静态申请方式申请具体为:为设备中的每条ACL规则各申请一个计数器,包括为每条空的ACL规则申请一个计数器;
所述动态申请方式申请具体为:为设备中需要检测的每条ACL规则各申请一个计数器。
5.一种检测访问控制列表生效的装置,其特征在于,该装置包括:启动模块、计数器、读取模块;其中,
启动模块,用于在每次执行一条ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器;
计数器,用于按照预先设定的计数方式进行计数,并存储计数值;
读取模块,用于读取挂接在一条ACL规则上的计数器内存储的计数值,如果有计数值,则确定这条ACL规则生效,反之,则确定这条ACL规则没有生效;还用于在读取计数器内存储的计数值之后,对计数器的计数值清0。
一种检测访问控制列表生效的方法和装置\n技术领域\n[0001] 本发明涉及业务接入访问控制管理技术,尤指一种检测访问控制列表生效的方法和装置。\n背景技术\n[0002] 现今网络发展速度惊人,网络安全问题也表现的比较突出,对于承载着各种网络业务的网络设备(包括路由器、交换机等)拥有一个自身安全保护措施显得尤为重要,访问控制列表就是一个很好的帮手。\n[0003] 访问控制列表(ACL,Access Control List)的功能是过滤通过网络设备的特定数据包。ACL通过一系列匹配条件对数据包进行分类,这些条件可以是数据包的源地址、目的地址、端口号,交换机根据ACL中指定的条件来检测数据包,从而决定是转发还是丢弃该数据包。\n[0004] ACL包括端口ACL、全局ACL、VLAN-ACL。端口ACL是一种为设备上不同端口配置不同的ACL动作,实现对各个端口的不同控制;全局ACL给用户提供一种整个设备上所有端口都会生效的ACL配置机制;VLAN-ACL即基于虚拟局域网(VLAN)的ACL,用户通过对VLAN配置ACL动作,从而实现对VLAN内所有端口的访问控制。\n[0005] ACL既然是在网络设备中充当“防火墙”角色的,那么它是否能够正常工作,如何判断ACL是否正常工作就成为了一个关键问题。\n[0006] 一般ACL中的一条ACL规则包含两个比较重要的部分:匹配规则部分(Qualify)和动作部分(Action)。\n[0007] 例如我们需要配置一条ACL规则是要在端口A上丢弃源IP地址是10.1.1.1的数据包,那么这条规则的\n[0008] Qualify=端口A+源IP 10.1.1.1\n[0009] Action=丢弃\n[0010] 当这条ACL规则配置到端口A上,正常情况满足Qualify条件的数据包应该就会被丢弃掉了,但是网络设备往往不是像我们想象的这么简单,有时这样的报文还是会被正常转发而不会丢弃,那我们需要通过某种措施来判断是不是ACL规则没有生效,还是ACL规则虽然生效了,但是被其他流程影响导致了报文的转发。\n[0011] 这样判断ACL规则是否生效就是一个必须要解决的问题。\n[0012] 目前做了一些尝试,例如:\n[0013] 一种方式是可以通过修改这条ACL规则的Action,让它做一个端口镜像动作,把数据流镜像到某一个其他的物理端口,这样如果在镜像的物理端口能抓到这样的数据流,那么说明这个ACL规则是能够正常匹配的、即ACL规则是生效的,如果镜像的物理端口抓不到这样的数据流,就说明这个ACL规则没有被匹配到、即ACL规则没有生效。\n[0014] 另一种方式是可以尝试把ACL规则的动作部分改为将匹配ACL规则的数据流拷贝到设备自身中央处理器(CPU)、即把Action改成copy to cpu,这样如果数据流能正常匹配ACL规则的话,CPU就能收到该数据流,通过一个CPU自身的调试方式就可以看到该数据流,表示ACL规则是生效的;如果没有匹配ACL规则,那么该数据流在CPU上是看不到的,也就表示ACL规则没有生效。\n[0015] 这两种方式只是是早期诊断ACL规则是否生效的方式,这两种方式虽然能满足要求,但是都比较繁琐,第一种需要借助其他端口,如果网络设备的所有端口被用完了,这种方式就无法实施了,而且端口镜像会增加网络设备的负载,在现网设备上是不建议使用的;\n第二种方式更是危险,设备的CPU是用来处理协议报文、维持设备状态的,如果有大量的数据报文被强行的抓到CPU,很有可能会导致整个设备都工作异常。\n发明内容\n[0016] 有鉴于此,本发明的主要目的在于提供一种检测访问控制列表生效的方法和装置,有效判断ACL规则是否生效。\n[0017] 为达到上述目的,本发明的技术方案是这样实现的:\n[0018] 本发明提供的一种检测访问控制列表生效的方法,该方法包括:\n[0019] 在每次执行ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器;\n[0020] 计数器按照预先设定的计数方式进行计数,并存储计数值;\n[0021] 读取计数器内存储的计数值,如果有计数值,则确定这条ACL规则生效;反之,则确定这条ACL规则没有生效;\n[0022] 在读取计数器内存储的计数值之后,对计数器的计数值清0。\n[0023] 上述方案中,所述挂接方式具体为将启动计数器作为一条ACL规则中动作部分里的一个动作的方式,或者是通过检测一条ACL规则中动作部分的结果来启动计数器的方式。\n[0024] 上述方案中,所述计数方式为报文个数计数方式或报文字节数计数方式,其中,[0025] 上述方案中,所述报文个数计数方式为计数器在每次被启动时计数值自动加1;\n[0026] 上述方案中,所述报文字节数计数方式为计数器在每次被启动时计数值加上此次符合这条ACL规则的报文的字节数。\n[0027] 上述方案中,所述计数器为预先在设备本身的计数器资源池中申请的,具体为静态申请方式申请或动态申请方式申请,其中,\n[0028] 上述方案中,所述静态申请方式申请具体为:为设备中的每条ACL规则各申请一个计数器,包括为每条空的ACL规则申请一个计数器;\n[0029] 上述方案中,所述动态申请方式申请具体为:为设备中需要检测的每条ACL规则各申请一个计数器。\n[0030] 本发明提供的一种检测访问控制列表生效的装置,该装置包括:启动模块、计数器、读取模块;其中,\n[0031] 启动模块,用于在每次执行一条ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器;\n[0032] 计数器,用于按照预先设定的计数方式进行计数,并存储计数值;\n[0033] 读取模块,用于读取挂接在一条ACL规则上的计数器内存储的计数值,如果有计数值,则确定这条ACL规则生效,反之,则确定这条ACL规则没有生效;还用于在读取计数器内存储的计数值之后,对计数器的计数值清0。\n[0034] 本发明提供的一种检测访问控制列表生效的方法和装置,通过预先在设备本身的计数器资源池中申请计数器,将计数器按照一定的挂接方式挂接在ACL规则上;在每次执行ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器,计数器按照预先设定的计数方式进行计数,通过读取计数器内存储的计数值,根据是否有计数值判断这条ACL规则是否生效,从而实现在判断ACL规则是否生效时,既不增加网络负载,又不冲击设备CPU的安全;此外,利用查看计数值来判断ACL规则是否生效的方法较为简单,能够加快网络故障的定位速度。\n附图说明\n[0035] 图1为本发明实现检测访问控制列表生效的方法的流程示意图;\n[0036] 图2为本发明实现检测访问控制列表生效的装置的结构示意图。\n具体实施方式\n[0037] 本发明的基本思想是:通过预先在设备本身的计数器资源池中申请计数器,将计数器按照一定的挂接方式挂接在ACL规则上;在每次执行ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器,计数器按照预先设定的计数方式进行计数,通过读取计数器内存储的计数值,根据是否有计数值判断这条ACL规则是否生效。\n[0038] 其中,所述预先在设备本身的计数器资源池中申请计数器具体有两种方式:\n[0039] 一是为设备中的每条ACL规则各申请一个计数器,包括为每条空的ACL规则申请一个计数器,此方式为静态申请方式,这种方式会占用设备计数器资源,但在为某条空的ACL规则设置新的ACL规则时,就不需要再申请计数器了;\n[0040] 二是为设备中需要检测的每条ACL规则各申请一个计数器,此方式为动态申请方式,这种方式占用设备资源较少,但在设置新的需要检测的ACL规则时,需要对每条新的需要检测的ACL规则进行计数器的申请。\n[0041] 所述挂接方式具体为:将启动计数器作为一条ACL规则中动作部分里的一个动作的方式,或者是通过检测一条ACL规则中动作部分的结果等途径来启动计数器的方式。\n[0042] 所述计数方式包括报文个数计数方式和报文字节数计数方式等。\n[0043] 下面通过附图及具体实施例对本发明再做进一步的详细说明。\n[0044] 本发明实现一种检测访问控制列表生效的方法,预先在设备本身的计数器资源池中申请计数器,将计数器挂接在ACL规则上,如图1所示,该方法包括以下几个步骤:\n[0045] 步骤101:在每次执行一条ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器,按照预先设定的计数方式进行计数,并将计数值进行存储;\n[0046] 具体的,如果计数器挂接在一条ACL规则上的挂接方式采用将启动计数器作为ACL规则中动作部分里的一个动作的方式,则在每次执行一条ACL规则的动作部分时,在这条ACL规则的动作部分里启动计数器,计数器按照预先设定的计数方式进行计数;如果计数器挂接在一条ACL规则上的挂接方式采用通过检测这条ACL规则中动作部分的结果来启动计数器的方式,则在每次执行这条ACL规则的动作部分时,检测这条ACL规则中动作部分的结果,当检测到时启动计数器,计数器按照预先设定的计数方式进行计数,并将计数值进行存储;当没有检测到时,则不启动计数器。\n[0047] 本步骤中,当预先设定的计数方式为报文个数计数方式时,计数器在每次被启动时计数值自动加1;当预先设定的计数方式为报文字节数计数方式时,计数器在每次被启动时计数值加上此次符合这条ACL规则的报文的字节数。\n[0048] 步骤102:读取计数器内存储的计数值,根据是否有计数值判断这条ACL规则是否生效;\n[0049] 具体的,在需要判断一条ACL规则是否生效时,可以读取挂接在这条ACL规则上的计数器内存储的计数值,如果有计数值,则确定这条ACL规则生效,反之,则确定这条ACL规则没有生效;\n[0050] 在本步骤中,所述读取挂接在这条ACL规则上的计数器内存储的计数值同时,进一步可以对计数器清0,防止计数器计数超过最大值。\n[0051] 基于上述方法,本发明实现一种检测访问控制列表生效的装置,如图2所示,该装置包括:启动模块21、计数器22、读取模块23;其中,\n[0052] 启动模块21,用于在每次执行一条ACL规则的动作部分时,按照挂接方式,启动挂接在这条ACL规则上的计数器22;\n[0053] 具体的,如果挂接方式采用将启动计数器22作为ACL规则中动作部分里的一个动作的方式,则在每次执行一条ACL规则的动作部分时,在这条ACL规则的动作部分里触发启动模块21启动计数器22;如果挂接方式采用通过检测这条ACL规则中动作部分的结果来启动计数器22的方式,则在每次执行这条ACL规则的动作部分时,启动模块21检测这条ACL规则中动作部分的结果,当检测到时启动计数器22;当启动模21块没有检测到时,则不启动计数器22;\n[0054] 计数器22,用于按照预先设定的计数方式进行计数,并存储计数值;\n[0055] 具体的,当预先设定的计数方式为报文个数计数方式时,计数器22在每次被启动模块21启动时计数值自动加1;当预先设定的计数方式为报文字节数计数方式时,计数器\n22在每次被启动模块21启动时计数值加上此次符合这条ACL规则的报文的字节数;\n[0056] 读取模块23,用于读取挂接在一条ACL规则上的计数器22内存储的计数值,如果有计数值,则确定这条ACL规则生效,反之,则确定这条ACL规则没有生效;\n[0057] 进一步的,所述读取模块23还用于在读取计数器22内存储的计数值之后,对计数器22的计数值清0。\n[0058] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2021-08-27
未缴年费专利权终止
IPC(主分类): H04L 12/56
专利号: ZL 200910092961.9
申请日: 2009.09.17
授权公告日: 2012.07.04
- 2012-07-04
- 2010-09-08
实质审查的生效
IPC(主分类): H04L 12/56
专利申请号: 200910092961.9
申请日: 2009.09.17
- 2010-03-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2005-06-15
|
2003-12-12
| | |
2
| |
2009-05-06
|
2008-12-02
| | |
3
| |
2006-12-13
|
2005-06-09
| | |
4
| |
2007-11-28
|
2006-05-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |