[发明专利]一种基于ACL的数据包处理方法有效
申请号: | 201210482377.6 | 申请日: | 2012-11-23 |
公开(公告)号: | CN103023817A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 朱智博;廖延安;韩峰 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | H04L12/911 | 分类号: | H04L12/911;H04L12/823 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 acl 数据包 处理 方法 | ||
技术领域
本发明涉及通信领域,特别涉及一种基于ACL的数据包处理方法。
背景技术
在通信领域中,访问控制列表(ACL)是一种应用在交换设备上的技术,其可以有效的实现网络流量和网络访问权限的控制,在安全监控方面得到越来越广泛的应用。ACL的原理是设置一系列规则,这些规则中包含能够匹配数据包的匹配条件及每个匹配条件所对应的动作策略;在现有的网络系统中,存在着许多功能模块,数据包是否要执行所述功能模块要通过ACL来控制,目前常用的基于ACL的数据包处理方法包括以下两种:
a)、每个功能模块拥有自己的ACL树,数据包与每个功能模块的ACL树分别从上至下进行匹配,若与所述ACL树的其中一个ACL匹配成功,就执行该功能模块且不会继续往下匹配。
b)、所有的功能模块使用统一的ACL树,数据包与该ACL树从上至下进行匹配,若与其中一个的功能模块所引用的ACL匹配成功,就执行该功能模块且不会继续往下匹配。
在上述两种方案中,方案一随着功能模块的增加,增加了开发的复杂度,也增加了设备维护的复杂度,维护者必须同时了解多个功能模块;在方案二中,当不同的功能模块存在子集的时候必然导致一条ACL被拆开成多条,增加了维护成本;同时当数据包与其中一个的功能模块所引用的ACL匹配成功后,就不继续匹配,这样会导致数据包不能完全执行所要求的业务;因此,现有技术确有改善的必要。
发明内容
针对现有技术的不足,本发明提出一种基于ACL的数据包处理方法,使得所有的功能模块在使用统一ACL树的同时能够实现不同功能模块间的隔离,且可以使数据包完成所有要求的业务,使系统开发简单化,降低系统的维护成本。
本发明通过以下技术方案予以实现:
一种基于ACL的数据包处理方法,所述方法包括以下步骤:
S1、数据包遍历ACL树,并判断其与当前ACL的匹配条件是否匹配;若匹配,执行步骤S2;若不匹配,则继续执行步骤S1;
S2、按照当前ACL的匹配条件所对应的动作策略对数据包进行处理;其中,所述动作策略包括允许动作和过滤动作;当执行过滤动作时,执行步骤S3;当执行允许动作时,执行步骤S4;
S3、记录所有引用当前ACL的功能模块的ID;
S4、数据包遍历引用当前ACL的功能模块;
S5、判断数据包是否遍历完ACL树,若数据包已经遍历完ACL树,则结束处理;否则返回步骤S1。
所述步骤S4进一步包括:
S41:数据包遍历引用当前ACL的功能模块,并判断当前功能模块的ID是否被记录;若当前功能模块的ID没有被记录,则执行步骤S42;否则,继续执行步骤S41;
S42:记录当前功能模块的ID后,数据包执行所述当前功能模块的功能,当前功能模块输出其返回值;
S43:判断数据包是否遍历完引用当前ACL的功能模块,若数据包已经遍历完引用当前ACL的功能模块,则执行步骤S5;否则,返回执行步骤S41。
所述步骤S42进一步包括当所述当前功能模块输出的返回值为接收时,则执行步骤S43;当所述当前功能模块输出的返回值为丢弃时,则直接丢弃该数据包并结束处理。
所述引用当前ACL的功能模块的ID是唯一的。
所述引用当前ACL的所有功能模块能引用所述ACL树中除当前ACL外的其他ACL。
本发明通过提出一种基于ACL的数据包处理方法,使得所有的功能模块在使用统一ACL树的同时能够实现不同功能模块间的隔离,且可以使数据包完成所有要求的业务,使系统开发简单化,降低系统的维护成本。
附图说明
图1为本发明的流程图。
具体实施方式
下面对于本发明所提出的一种基于ACL的数据包处理方法,结合附图和实施例详细说明。
本实施例提供一种基于ACL的数据包处理方法,如图1所示,所述方法包括以下步骤:
一种基于ACL的数据包处理方法,所述方法包括以下步骤:
S1、数据包遍历ACL树,并判断其与当前ACL的匹配条件是否匹配;若匹配,执行步骤S2;若不匹配,则继续执行步骤S1;
S2、按照当前ACL的匹配条件所对应的动作策略对数据包进行处理;其中,所述动作策略包括允许动作和过滤动作;当执行过滤动作时,执行步骤S3;当执行允许动作时,执行步骤S4;
S3、记录所有引用当前ACL的功能模块的ID;
S4、数据包遍历引用当前ACL的功能模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210482377.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:非线性估计装置、方法和接收机
- 下一篇:一种提取纯化洛伐他汀的方法