一种访问控制列表ACL行为集快速编码的方法技术

技术编号:9796277 阅读:128 留言:0更新日期:2014-03-22 02:59
本发明专利技术提供一种快速的方法来加速完成对phase0的各chunk对应的输出值eqcID的计算,该方法包括输入数据处理、端点排序处理、规则池迭代处理三个步骤。通过采用排序并利用规则池迭代的方式对phase0阶段的chunk对应的查询结果eqcID进行求值。上述方法充分利用了访问控制条目本身的特点,深度挖掘相关信息,极大地减少了eqcID计算的步骤和索引的编译时间,加速了配置访问控制列表规则的生效,更好地保障网络设备的功能。

【技术实现步骤摘要】
—种访问控制列表ACL行为集快速编码的方法
本专利技术涉及一种访问控制列表(ACL)行为集快速编码的方法,更具体而言,涉及在访问控制列表采用快速有效的完成对快速查询表的编码技术。
技术介绍
互联网,数据包分类技术是现代网络多样化服务的基础,而其中的访问控制列表技术更成为防火墙、路由器等一些网络核心设备中最为关键的技术,它对网络的控制、性能和安全会产生直接的影响。RFC算法是个通用性较强的、速度快的多维数据包分类算法。对规则的宽度和维度有较好的扩展性;在进行分类查找时,查找性能不受规则数量和规则特征的影响。RFC算法被分为P个阶段(Phase),每一个阶段由可并行查找的散列表组成。每次查找结果的值都比内存数据索引值要小,操作如下:在每一个阶段(PhaseO),将网络数据报文头中F个字段分成许多个块(chunk),每个chunk被用来作为并行查找的索引。例如有七个相等的chunk,每次查表的输出值被称为eqcID。下一阶段,每次用于查找散列映射表的索引值由前几个阶段的查找结果按照某种方式合并,并放入内存。在最后阶段,所得到的结果就是与数据包相匹配的最佳规则标识符classID。而phaseO阶段的散列表的建立是来源于用户对网络设备所配置的访问控制列表条目形成的。对应phaseO的chunk索引的,通过遍历所有访问控制列表条目而得到一个规则集合。目前采用RFC算法,由于规则的数量的较大时,输出值eqcID的产生会由于遍历所有访问控制列表条目而耗费较多的时间,从而影响整个散列表也即查询表的编译时间。这导致这对应用户配置网络设备,并及时生效的体验有明显下降。
技术实现思路
为了解决现有技术中的技术问题,本专利技术就是要提供一种快速的方法来加速完成对phaseO的各chunk对应的输出值eqcID的计算。以期减少整体查询表的编译时间,提高用户的对配置的访问控制条目即时生效的体验。该方法包括输入数据处理、端点排序处理、规则池迭代处理三个步骤具体为:步骤一,输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字。步骤二,端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点,每条规则的同一个关键字可分为两个端点,将所有规则同一关键字的端点进行升序排序。步骤三,规则池迭代处理将分配查询表空间查询关键字覆盖关键字的理论取值范围,通过遍历升序排序结构,迭代计算不同关键字输出的eqcID值。优选的是,其中步骤一中对于ACL条目的处理方法具体为将访问控制列表条目,转化为独立的端点信息结构,端点的信息包含匹配值、匹配范围的起始或者结束标识符、端点所属的条目ID。优选的是,在实际的ACL中,过滤某种类型的报文时,需要规定报文中源ip,目的ip,源端口号,目的端口号,协议号满足特定值或者范围,那么在一条范围控制规则中必须规定源ip,目的ip,源端口号,目的端口号,协议号的范围。优选的是,其中步骤一每个关键字所匹配的具体内容包括sip, dip, sport, dport,protoo优选的是,其中步骤二中端点排序处理针对上述的独立的信息结构,即包含匹配值、起始结束标识符和条目ID的端点信息,按照匹配值进行排序,而所有规则指用户配置了多条范围控制规则,并且用户对每个规则的具体字段指定的范围不同。优选的是,其中步骤三中分配查询表空间,对于proto具体为分配256个空间,查询关键值proto值,报文中proto值可取0-255,只用满足规则的proto值范围才能匹配相应规则。【附图说明】图1是编译数据处理流程图。【具体实施方式】下面结合附图和具体实施例对本专利技术的技术方案进行详细描述。本专利技术的编码方法主要由用户配置接口传入用户配置的ACL条目,通过编译数据处理后得到查询表,提供给ACL查询系统使用。编译数据处理包括输入数据处理、端点排序处理、规则池迭代处理三个步骤,其中:输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字,也就是说,输入数据处理将访问控制列表条目,转化为独立的端点信息结构,端点的信息包含匹配值、匹配范围的起始或者结束标识符、端点所属的条目ID,具体为:在实际的访问控制列表(ACL):例如过滤某种类型的报文,需要规定报文中源ip,目的ip,源端口号,目的端口号,协议号满足特定值或者范围,那么在一条范围控制规则中必须规定源ip,目的ip,源端口号,目的端口号,协议号的范围。独立的数据信息结构,是值将规则中的如上信息进行提取,如下一条规则可以提取出10个信息结构。rule I:sip (源 ip)192.168.0.1—192.168.255.255dip (目的 ip)192.168.0.1-192.168.0.100sport (源端 口号)100-200dport (目的端口号)10-20proto (协议号)50-200该规则提取10个信息结构,包括:匹配值起始或结束标志端点所属的条目IDsip 192.168.0.1—起始节点——rulelsip 192.168.255.255 结束节点——rulel dip 192.168.0.1---起始节点----ruleldip 192.168.0.100结束节点——rulelsport 100---起始节点----rulelsport 200---结束节点----ruleldport 10---起始节点----ruleldport 20---结束节点----rulelproto 50---起始节点----rulelproto 200---结束节点----rulel。每个关键字所匹配的具体内容,包括sip,dip,sport,dport, proto,例如sip,192.168.0.1—192.168.255.255由于数据较大较长,我们可以拆分为high-sip192.168—192.168 low-1p:0.1—255.255,这样长度就大大减小。由于查询时釆用直接hash算法,sip序号分配2的32次方(4294967296)个存储单元,而拆分后只需要占用2个2的16次方个存储单元(2*65536),大大节省存储空间,具体划分情况根据算法所运行的环境和存储空间来决定。端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点(每条规则的同一个关键字可分为两个端点:上限和下限端点),将所有规则同一关键字的端点进行升序排序,也就是说,端点排序处理针对上述的独立的信息结构,即包含匹配值、起始结束标识符和条目ID的端点信息,按照匹配值进行排序,所有规则指用户配置了多条类似上述rulel的规则,只是用户对每个规则的具体字段指定的范围不同,具体划分方法为:划分端点的方法,只是sip和dip可继续划分:high-sip 192.168 —起始一rulelhigh-sip 192.168 —结束一rulellow-sip 0.1 —起始一rulellow-sip 255.255 —结束一rulelhigh-dip 192.168 —起始一rulelhigh-dip 19本文档来自技高网
...

【技术保护点】
一种访问控制列表ACL行为集快速编码的方法,其特征在于,该方法包括输入数据处理、端点排序处理、规则池迭代处理三个步骤,具体为:步骤一,输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字;步骤二,端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点,每条规则的同一个关键字可分为两个端点,将所有规则同一关键字的端点进行升序排序;步骤三,规则池迭代处理将分配查询表空间查询关键字覆盖关键字的理论取值范围,通过遍历升序排序结构,迭代计算不同关键字输出的eqc?ID值。

【技术特征摘要】
1.一种访问控制列表ACL行为集快速编码的方法,其特征在于,该方法包括输入数据处理、端点排序处理、规则池迭代处理三个步骤,具体为: 步骤一,输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字; 步骤二,端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点,每条规则的同一个关键字可分为两个端点,将所有规则同一关键字的端点进行升序排序; 步骤三,规则池迭代处理将分配查询表空间查询关键字覆盖关键字的理论取值范围,通过遍历升序排序结构,迭代计算不同关键字输出的eqc ID值。2.如权利要求1所述的方法,其特征在于,其中步骤一中对于ACL条目的处理方法具体为将访问控制列表条目,转化为独立的端点信息结构,端点的信息包含匹配值、匹配范围的起始或者结束标识符、端点所属的条目ID。3.如权利要求2所述的方法,...

【专利技术属性】
技术研发人员:曾小明
申请(专利权)人:北京中创信测科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1