CN103647773A - 一种访问控制列表acl行为集快速编码的方法 - Google Patents

一种访问控制列表acl行为集快速编码的方法 Download PDF

Info

Publication number
CN103647773A
CN103647773A CN201310674465.0A CN201310674465A CN103647773A CN 103647773 A CN103647773 A CN 103647773A CN 201310674465 A CN201310674465 A CN 201310674465A CN 103647773 A CN103647773 A CN 103647773A
Authority
CN
China
Prior art keywords
end points
value
rule
scope
acl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310674465.0A
Other languages
English (en)
Inventor
曾小明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGCHUANG TENGRUI TECHNOLOGY CO., LTD.
Original Assignee
Beijing Zhongchuang Telecom Test Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongchuang Telecom Test Co Ltd filed Critical Beijing Zhongchuang Telecom Test Co Ltd
Priority to CN201310674465.0A priority Critical patent/CN103647773A/zh
Publication of CN103647773A publication Critical patent/CN103647773A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种访问控制列表ACL行为集快速编码的方法
技术领域
本发明涉及一种访问控制列表(ACL)行为集快速编码的方法,更具体而言,涉及在访问控制列表采用快速有效的完成对快速查询表的编码技术。
背景技术
互联网,数据包分类技术是现代网络多样化服务的基础,而其中的访问控制列表技术更成为防火墙、路由器等一些网络核心设备中最为关键的技术,它对网络的控制、性能和安全会产生直接的影响。
RFC算法是个通用性较强的、速度快的多维数据包分类算法。对规则的宽度和维度有较好的扩展性;在进行分类查找时,查找性能不受规则数量和规则特征的影响。
RFC算法被分为P个阶段(Phase),每一个阶段由可并行查找的散列表组成。每次查找结果的值都比内存数据索引值要小,操作如下:在每一个阶段(Phase0),将网络数据报文头中F个字段分成许多个块(chunk),每个chunk被用来作为并行查找的索引。例如有七个相等的chunk,每次查表的输出值被称为eqcID。下一阶段,每次用于查找散列映射表的索引值由前几个阶段的查找结果按照某种方式合并,并放入内存。在最后阶段,所得到的结果就是与数据包相匹配的最佳规则标识符classID。
而phase0阶段的散列表的建立是来源于用户对网络设备所配置的访问控制列表条目形成的。对应phase0的chunk索引的,通过遍历所有访问控制列表条目而得到一个规则集合。
目前采用RFC算法,由于规则的数量的较大时,输出值eqcID的产生会由于遍历所有访问控制列表条目而耗费较多的时间,从而影响整个散列表也即查询表的编译时间。这导致这对应用户配置网络设备,并及时生效的体验有明显下降。
发明内容
为了解决现有技术中的技术问题,本发明就是要提供一种快速的方法来加速完成对phase0的各chunk对应的输出值eqcID的计算。以期减少整体查询表的编译时间,提高用户的对配置的访问控制条目即时生效的体验。该方法包括输入数据处理、端点排序处理、规则池迭代处理三个步骤具体为:
步骤一,输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字。
步骤二,端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点,每条规则的同一个关键字可分为两个端点,将所有规则同一关键字的端点进行升序排序。
步骤三,规则池迭代处理将分配查询表空间查询关键字覆盖关键字的理论取值范围,通过遍历升序排序结构,迭代计算不同关键字输出的eqcID值。
优选的是,其中步骤一中对于ACL条目的处理方法具体为将访问控制列表条目,转化为独立的端点信息结构,端点的信息包含匹配值、匹配范围的起始或者结束标识符、端点所属的条目ID。
优选的是,在实际的ACL中,过滤某种类型的报文时,需要规定报文中源ip,目的ip,源端口号,目的端口号,协议号满足特定值或者范围,那么在一条范围控制规则中必须规定源ip,目的ip,源端口号,目的端口号,协议号的范围。
优选的是,其中步骤一每个关键字所匹配的具体内容包括sip,dip,sport,dport,proto。
优选的是,其中步骤二中端点排序处理针对上述的独立的信息结构,即包含匹配值、起始结束标识符和条目ID的端点信息,按照匹配值进行排序,而所有规则指用户配置了多条范围控制规则,并且用户对每个规则的具体字段指定的范围不同。
优选的是,其中步骤三中分配查询表空间,对于proto具体为分配256个空间,查询关键值proto值,报文中proto值可取0-255,只用满足规则的proto值范围才能匹配相应规则。
附图说明
图1是编译数据处理流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进行详细描述。
本发明的编码方法主要由用户配置接口传入用户配置的ACL条目,通过编译数据处理后得到查询表,提供给ACL查询系统使用。
编译数据处理包括输入数据处理、端点排序处理、规则池迭代处理三个步骤,其中:
输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字,也就是说,
输入数据处理将访问控制列表条目,转化为独立的端点信息结构,端点的信息包含匹配值、匹配范围的起始或者结束标识符、端点所属的条目ID,具体为:
在实际的访问控制列表(ACL):例如过滤某种类型的报文,需要规定报文中源ip,目的ip,源端口号,目的端口号,协议号满足特定值或者范围,那么在一条范围控制规则中必须规定源ip,目的ip,源端口号,目的端口号,协议号的范围。
独立的数据信息结构,是值将规则中的如上信息进行提取,
如下一条规则可以提取出10个信息结构。
rule 1:sip(源ip)
192.168.0.1--192.168.255.255
dip(目的ip)
192.168.0.1-192.168.0.100
sport(源端口号)100-200
dport(目的端口号)10-20
proto(协议号)50-200
该规则提取10个信息结构,包括:匹配值起始或结束标志端点所属的条目ID
sip   192.168.0.1      ---起始节点----rule1
sip   192.168.255.255  ---结束节点----rule1
dip   192.168.0.1      ---起始节点----rule1
dip   192.168.0.100    ---结束节点----rule1
sport 100              ---起始节点----rule1
sport 200              ---结束节点----rule1
dport 10               ---起始节点----rule1
dport 20               ---结束节点----rule1
proto 50               ---起始节点----rule1
proto 200              ---结束节点----rule1。
每个关键字所匹配的具体内容,包括sip,dip,sport,dport,proto,例如sip,192.168.0.1--192.168.255.255由于数据较大较长,我们可以拆分为high-sip 192.168--192.168  low-ip:0.1--255.255,这样长度就大大减小。由于查询时采用直接hash算法,sip序号分配2的32次方(4294967296)个存储单元,而拆分后只需要占用2个2的16次方个存储单元(2*65536),大大节省存储空间,具体划分情况根据算法所运行的环境和存储空间来决定。
端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点(每条规则的同一个关键字可分为两个端点:上限和下限端点),将所有规则同一关键字的端点进行升序排序,也就是说,端点排序处理针对上述的独立的信息结构,即包含匹配值、起始结束标识符和条目ID的端点信息,按照匹配值进行排序,所有规则指用户配置了多条类似上述rule1的规则,只是用户对每个规则的具体字段指定的范围不同,具体划分方法为:
划分端点的方法,只是sip和dip可继续划分:
high-sip  192.168  --起始  --rule1
high-sip  192.168  --结束  --rule1
low-sip    0.1     --起始  --rule1
low-sip  255.255   --结束  --rule1
high-dip  192.168  --起始  --rule1
high-dip  192.168  --结束  --rule1
low-dip  0.1       --起始  --rule1
low-dip  0.100     --结束  --rule1。
如果有3个规则,均包含如上sip,dip,sport,dport,proto的信息.我们仅仅考虑proto
rule 1 proto 100-200
rule 2 proto 10-20
rule 3 proto 10-30
可以的提取规则得到如下端点:p(proto)r(rule)
p 100 r1 start
p 200 r1 end
p 10  r2 start
p 20  r2 end
p 10  r3 start
p 30 r3 end
根据proto值排序后
1 p10 r2 start
2 p10 r3 start
3 p20 r2 end
4 p30 r3 end
5 p100 r1 start
6 p200 r1 end
规则池迭代处理将分配查询表空间查询关键字覆盖关键字的理论取值范围,通过遍历升序排序结构,迭代计算不同关键字输出的eqcID值,具体方法为:
在排序后,如何的到数轴显示中条件.
端点1 p10 r2 start
端点2 p10 r3 start
端点3 p20 r2 end
端点4 p30 r3 end
端点5 p100 r1 start
端点6 p200 r1 end
遍历proto值,
0-9规则池没有发生变化为空
10发现端点1和端点2匹配,切为起始端点,规则池+r2,+r3
11-20规则池不发生变化为r2,r3
21(匹配结束端点3)规则池-r3为r3
依此迭代,得到:0-9满足规则 空
10-20满足规则 r2,r3
21-30满足规则 r3
31-99满足规则 空
100-200满足规则 r1
201-255满足规则 空
分配查询表空间即:分配:256个空间,查询关键值proto值,报文中proto值可取0-255,只用满足规则的proto值范围才能匹配相应规则。
当报文到达时proto值为15,我们可直接查询得到满足规则r2,r3.而不需要与每个规则进行比较看是否满足。
当报文到达是proto值为33,我们可直接查询得到满足规则为空,不匹配任何规则。
其中,eqcID指的是规则组合的表ID:迭代计算后的表可以的以如下形式
若规则组合表:
eqid1:空
eqid2:r2,r3
eqid3:r3
eqid4:r1
则,建立如下对应关系:
0-9      eqid1
10-20    2
21-30    3
31-99    1
100-200  4
201-255  1
本发明技术方案带来的有益效果有:本发明在传统的RFC算法的基础中,通过采用排序并利用规则池迭代的方式对phase0阶段的chunk对应的查询结果eqcID进行求值。这充分利用了访问控制条目本身的特点,深度挖掘相关信息,极大地减少了eqcID计算的步骤和索引的编译时间,加速了配置访问控制列表规则的生效,更好地保障网络设备的功能。
本发明所述并不限于具体实施方式所述的实施例,只要是本领域技术人员根据本发明方案得出其他的实施方式,同样属于本发明的技术创新及保护的范围。

Claims (6)

1.一种访问控制列表ACL行为集快速编码的方法,其特征在于,该方法包括输入数据处理、端点排序处理、规则池迭代处理三个步骤,具体为:
步骤一,输入数据处理将用户配置的每一条ACL条目中的每个关键字所匹配的范围提取出来,包括范围的上限和下限,并将关键字数据较长的部分,依据具体情况划分为不同的关键字;
步骤二,端点排序处理将输入数据处理步骤中得到的信息划分成不同的端点,每条规则的同一个关键字可分为两个端点,将所有规则同一关键字的端点进行升序排序;
步骤三,规则池迭代处理将分配查询表空间查询关键字覆盖关键字的理论取值范围,通过遍历升序排序结构,迭代计算不同关键字输出的eqc ID值。
2.如权利要求1所述的方法,其特征在于,其中步骤一中对于ACL条目的处理方法具体为将访问控制列表条目,转化为独立的端点信息结构,端点的信息包含匹配值、匹配范围的起始或者结束标识符、端点所属的条目ID。
3.如权利要求2所述的方法,其特征在于,在实际的ACL中,过滤某种类型的报文时,需要规定报文中源ip,目的ip,源端口号,目的端口号,协议号满足特定值或者范围,那么在一条范围控制规则中必须规定源ip,目的ip,源端口号,目的端口号,协议号的范围。
4.如权利要求1所述的方法,其特征在于,其中步骤一每个关键字所匹配的具体内容包括sip,dip,sport,dport,proto。
5.如权利要求1所述的方法,其特征在于,其中步骤二中端点排序处理针对上述的独立的信息结构,即包含匹配值、起始结束标识符和条目ID的端点信息,按照匹配值进行排序,而所有规则指用户配置了多条范围控制规则,并且用户对每个规则的具体字段指定的范围不同。
6.如权利要求1所述的方法,其特征在于,其中步骤三中分配查询表空间,对于proto具体为分配256个空间,查询关键值proto值,报文中proto值可取0-255,只用满足规则的proto值范围才能匹配相应规则。
CN201310674465.0A 2013-12-11 2013-12-11 一种访问控制列表acl行为集快速编码的方法 Pending CN103647773A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310674465.0A CN103647773A (zh) 2013-12-11 2013-12-11 一种访问控制列表acl行为集快速编码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310674465.0A CN103647773A (zh) 2013-12-11 2013-12-11 一种访问控制列表acl行为集快速编码的方法

Publications (1)

Publication Number Publication Date
CN103647773A true CN103647773A (zh) 2014-03-19

Family

ID=50252929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310674465.0A Pending CN103647773A (zh) 2013-12-11 2013-12-11 一种访问控制列表acl行为集快速编码的方法

Country Status (1)

Country Link
CN (1) CN103647773A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487769A (zh) * 2015-09-01 2017-03-08 深圳市中兴微电子技术有限公司 一种访问控制列表acl的实现方法及装置
CN107508836A (zh) * 2017-09-27 2017-12-22 杭州迪普科技股份有限公司 一种acl规则下发的方法及装置
CN109672623A (zh) * 2018-12-28 2019-04-23 大唐软件技术股份有限公司 一种报文处理方法和装置
CN112311800A (zh) * 2020-11-02 2021-02-02 杭州安恒信息技术股份有限公司 一种区域访问控制的方法、系统、设备及可读存储介质
CN113452615A (zh) * 2021-06-28 2021-09-28 烽火通信科技股份有限公司 一种提高大规格acl匹配效率的方法和装置
CN113709112A (zh) * 2021-07-30 2021-11-26 武汉思普崚技术有限公司 一种访问控制列表快速过滤方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545254A (zh) * 2003-11-13 2004-11-10 中兴通讯股份有限公司 一种快速数据包过滤方法
CN101146027A (zh) * 2006-09-14 2008-03-19 中兴通讯股份有限公司 基于访问控制列表分类的方法
US7474654B2 (en) * 2005-01-26 2009-01-06 Cisco Technology, Inc. Method and system for classification of packets based on meta-rules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545254A (zh) * 2003-11-13 2004-11-10 中兴通讯股份有限公司 一种快速数据包过滤方法
US7474654B2 (en) * 2005-01-26 2009-01-06 Cisco Technology, Inc. Method and system for classification of packets based on meta-rules
CN101146027A (zh) * 2006-09-14 2008-03-19 中兴通讯股份有限公司 基于访问控制列表分类的方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487769A (zh) * 2015-09-01 2017-03-08 深圳市中兴微电子技术有限公司 一种访问控制列表acl的实现方法及装置
WO2017036291A1 (zh) * 2015-09-01 2017-03-09 深圳市中兴微电子技术有限公司 一种访问控制列表acl的实现方法、装置及存储介质
CN106487769B (zh) * 2015-09-01 2020-02-04 深圳市中兴微电子技术有限公司 一种访问控制列表acl的实现方法及装置
CN107508836A (zh) * 2017-09-27 2017-12-22 杭州迪普科技股份有限公司 一种acl规则下发的方法及装置
CN107508836B (zh) * 2017-09-27 2019-11-12 杭州迪普科技股份有限公司 一种acl规则下发的方法及装置
CN109672623A (zh) * 2018-12-28 2019-04-23 大唐软件技术股份有限公司 一种报文处理方法和装置
CN109672623B (zh) * 2018-12-28 2020-12-25 大唐软件技术股份有限公司 一种报文处理方法和装置
CN112311800A (zh) * 2020-11-02 2021-02-02 杭州安恒信息技术股份有限公司 一种区域访问控制的方法、系统、设备及可读存储介质
CN113452615A (zh) * 2021-06-28 2021-09-28 烽火通信科技股份有限公司 一种提高大规格acl匹配效率的方法和装置
CN113452615B (zh) * 2021-06-28 2022-07-08 烽火通信科技股份有限公司 一种提高大规格acl匹配效率的方法和装置
CN113709112A (zh) * 2021-07-30 2021-11-26 武汉思普崚技术有限公司 一种访问控制列表快速过滤方法及装置
CN113709112B (zh) * 2021-07-30 2023-04-18 武汉思普崚技术有限公司 一种访问控制列表快速过滤方法及装置

Similar Documents

Publication Publication Date Title
CN103647773A (zh) 一种访问控制列表acl行为集快速编码的方法
CN105224692A (zh) 支持多核处理器的sdn多级流表并行查找的系统及方法
CN102663058B (zh) 一种分布式网络爬虫系统中的url去重方法
EP2434689B1 (en) Method and apparatus for detecting message
CN101753542B (zh) 一种加速防火墙过滤规则匹配的方法及装置
CN102377664B (zh) 一种基于tcam的区域匹配装置和方法
CN104579941A (zh) 一种OpenFlow交换机中的报文分类方法
CN100452055C (zh) 一种用于文本或网络内容分析的大规模多关键词匹配方法
CN101345707B (zh) 一种实现IPv6报文分类的方法及设备
CN101841546A (zh) 一种规则匹配方法、装置及系统
CN103324612B (zh) 一种分词的方法及装置
CN104361296B (zh) 一种并行的大容量访问控制列表的查找方法
KR20130032319A (ko) 패킷 처리 및 전처리기를 위한 장치 및 방법
CN104025520B (zh) 查找表的创建方法、查询方法、控制器、转发设备和系统
CN103425704A (zh) 应用界面提供方法及装置
CN101286935A (zh) 一种基于ip地址范围的路由查找方法
CN105099918A (zh) 一种数据查找匹配的方法和装置
CN101060482B (zh) 一种路由查找方法和转发系统
CN111309753A (zh) 结构化查询语句的优化方法、装置、设备及存储介质
Aldwairi et al. n‐Grams exclusion and inclusion filter for intrusion detection in Internet of Energy big data systems
CN107888494B (zh) 一种基于社区发现的包分类方法及系统
Hsieh et al. A classified multisuffix trie for IP lookup and update
CN110362577B (zh) 一种数据插入方法、装置、设备和储存介质
CN104036141A (zh) 一种基于OpenCL的红黑树加速算法
Lin et al. A multi-index hybrid trie for lookup and updates

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING ZHONGCHUANG TENGRUI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGCHUANG XINCE SCIENCE + TECHNOLOGY CO., LTD.

Effective date: 20140403

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Zeng Xiaoming

Inventor after: Chen Peng

Inventor before: Zeng Xiaoming

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: CENG XIAOMING TO: CENG XIAOMING CHEN PENG

TA01 Transfer of patent application right

Effective date of registration: 20140403

Address after: 100081 room C, block 14-14c-1406, No. 18, South South Street, Beijing, Haidian District, Zhongguancun

Applicant after: BEIJING ZHONGCHUANG TENGRUI TECHNOLOGY CO., LTD.

Address before: 100081 Beijing, Zhongguancun, Beijing, South Street, No. 18, International Building, block C, 12-14 layer

Applicant before: Beijing Zhongchuang Xince Science & Technology Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140319