CN104579940A - 查找访问控制列表的方法及装置 - Google Patents

查找访问控制列表的方法及装置 Download PDF

Info

Publication number
CN104579940A
CN104579940A CN201310469806.0A CN201310469806A CN104579940A CN 104579940 A CN104579940 A CN 104579940A CN 201310469806 A CN201310469806 A CN 201310469806A CN 104579940 A CN104579940 A CN 104579940A
Authority
CN
China
Prior art keywords
acl
message
rule
service
acl rule
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.)
Granted
Application number
CN201310469806.0A
Other languages
English (en)
Other versions
CN104579940B (zh
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310469806.0A priority Critical patent/CN104579940B/zh
Priority to US15/028,248 priority patent/US20160248665A1/en
Priority to PCT/CN2014/088161 priority patent/WO2015051741A1/en
Publication of CN104579940A publication Critical patent/CN104579940A/zh
Application granted granted Critical
Publication of CN104579940B publication Critical patent/CN104579940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Abstract

本发明提出查找访问控制列表的方法及装置。方法包括:在每条ACL规则上标记其适用的业务类型;当接收到一个报文时,确定对该报文要执行的业务类型;在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的业务类型部分或全部匹配;对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则对于匹配的各业务类型,按照该ACL规则对该报文执行对应的业务处理。本发明提高了查找ACL的效率。

Description

查找访问控制列表的方法及装置
技术领域
本发明涉及网络传输技术领域,尤其涉及查找访问控制列表(ACL,Access Control List)的方法及装置。
背景技术
随着网络的快速发展,对网络设备的需求从性能和功能上提出了更高的要求。其中,性能方面:网络设备常用的端口从10M、100M、1G、10G到目前的40G/100G,在10几年的时间提升了几千、几万倍。功能需求体现多个方面,比较典型的有:服务质量(QOS,Quality of service)用来保证用户的基本带宽权益;为了应对越来越多的网络威胁,对在网络中传输的报文进行报文过滤(filter)等安全检查;策略路由(PBR,Policy-based Routing),报文不是按传统的查路由表转发,而是根据报文的分类规则进行转发,从而实现特殊定制转发;网络地址转换(NAT,Network address translation),在IPv4地址数量较少,并且为了屏蔽企业内部的网络规划而在网关上采取的一种地址端口转换技术,NAT是路由器上常用的一个业务。
上述需求都依赖对报文分类的功能,即通常说的ACL。ACL是由一系列的匹配规则(rule)组成,一个ACL中rule的条数称为ACL的容量。每个rule又由多个字段(field)组成。field有多种类型,每种field类型有自己的比较方法,只有一条规则的所有字段都和输入的查找关键字(key)的对应部分都匹配了,这条规则才算匹配成功。常见的field类型如下:
1、数据掩码(DM,Data Mask);
2、范围。
DM类字段包含数据(data)和掩码(mask)两部分,这两部分与查找key对应的位的位宽相同。只有当M中的bit为1时,D中对应的bit位才参与和查找key中对应的bit位的比较。
比如,当D=b00101100,M=b10100101时,输入查找key:key=b10111100时不命中,key=b01111100时命中。
范围字段是指该字段的取值是在一定的数据集合中的成员,包括范围或逻辑比较。字段的位宽与查找key对应的位宽相同。比如,TCP port={1,2,5-7,11,19},当key对应的字段是1或2、5、6、7、11、19时表示匹配,而当key对应的字段是8时不匹配。范围类字段比较典型的应用是传输控制协议(TCP,Transferring Control Protocol)/用户数据报协议(UDP,UserDatagram Protocol)端口号和IP报文长度。
对ACL的匹配过程就是对一系列的规则进行匹配,从匹配成功的规则中选优先级最高的一条作为查找结果。
ACL的查表技术有多种,比较典型的如下:
1、软件查找方法。
逐条匹配ACL规则,满足一定条件(比如匹配成功了)就不再继续匹配。这种方法实现简单,效率低,没有严格的容量限制:容量越大,查找性能越低。
2、硬件芯片查找。
通过专用的硬件芯片,比如三态内容寻址存储器(TCAM,Ternary ContentAddressable Memory),来实现ACL的匹配。这种方式查找性能最高,但容量受硬件限制,功能固定,不能扩展,成本高,功耗大。
针对高性能设备,对ACL的容量和性能都有很强的要求。尤其是对多种业务同时存在需求时,比如对QOS和包过滤同时使能时,针对每个报文要做两次ACL查找。对100G端口来说,64字节的以太网报文,其线速(最高线路速率)流量时大约是150MPPS(包每秒),这是当前高端设备比较典型的需求。随着时间的推移,这个速率还会继续成倍地提升。另外,如果要满足多个功能需求,每秒中要完成的查找次数就要翻多番。比如每个报文做QOS和包过滤的ACL查找,每秒钟要查2×150M次=300M次。
使用TCAM等专用ASIC芯片是比较流行的技术方案。典型的高端TCAM芯片可以完成大约每秒300M次查找,一些芯片可以实现两次或四次并行查找。但是,专用ASIC芯片,比如TCAM,要实现并行查找,是通过牺牲容量来实现的。即把需要并行的ACL复制成多个表,然后对这些表并行查找。对于本来容量就很小的TCAM来说,如果再为了查找多个结果而成倍地降低表容量,很多情况下在实现方案上是不可行的。
使用FPGA等可编程器件,通过算法方式查找ACL,要实现多个业务并行查找,有如下两种方式:
一、将多个业务的ACL拆分成多个表。多个表并行查找。
二、提升查找频率,即对一个表,每个包实现多次查找。
其中,第一种方式同样需要消耗多份硬件资源,硬件资源的提升会导致芯片成本的急剧上升,同时芯片的最大规格是有限的,达到一定规模后无法通过提高芯片资源的方法提高查找次数,所以同样存在表容量和查找次数相矛盾的问题。第二种方式受芯片频率的硬件限制,无法根据多业务的同时查找要求来实现几倍的查找频率提升。
发明内容
本发明提供查找ACL的方法及装置,以提高查找ACL的效率。
本发明的技术方案是这样实现的:
一种查找访问控制列表ACL的方法,该方法包括:
在ACL表中的每条ACL规则上标记该规则适用的所有业务类型;
当接收到一个报文时,确定对该报文要执行的所有业务类型;
在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的所有业务类型部分或全部匹配;
对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则确定该ACL规则为与该报文的上述匹配的各业务类型对应的ACL规则;
当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则,按照各ACL规则对该报文执行对应业务处理。
所述在每条ACL规则上标记该规则适用的所有业务类型之前进一步包括:
当有多类业务配置了内容相同的ACL规则时,将该多条ACL规则合并成一条规则。
当判定报文的查找关键字key与该ACL规则的对应字段匹配上之后进一步包括:
对于匹配的任一业务类型,判断该ACL规则的优先级是否高于记录的与该报文的该业务类型对应的命中ACL规则的优先级,若是,则以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级;其中,对于该报文的各业务类型,初始化该业务类型的命中ACL规则的编号为小于任一ACL规则编号的值,优先级为低于任一ACL规则优先级的值;
且,所述当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则包括:
当对ACL表查找完毕时,根据记录的与对该报文要执行的各业务类型对应的命中ACL规则的编号,得到对该报文要执行的所有业务类型对应的ACL规则,根据各ACL规则对该报文执行对应的业务处理。
所述业务包括:策略路由PBR、服务质量QOS、报文过滤、网络地址转换NAT中的一种或任意组合。
一种查找ACL的装置,该装置包括:
ACL配置模块:配置ACL表,在ACL表中的每条ACL规则上标记该规则适用的所有业务类型;
查找模块:当接收到一个报文时,确定对该报文要执行的所有业务类型;在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的业务类型部分或全部匹配;对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则确定该ACL规则为与该报文的上述匹配的各业务类型对应的ACL规则;当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则,按照各ACL规则对该报文执行对应业务处理。
所述ACL配置模块进一步用于,当有多类业务配置了内容相同的ACL规则时,将该多条ACL规则合并成一条规则。
所述查找模块进一步用于,当判定报文的查找关键字key与该ACL规则的对应字段匹配上之后,对于匹配的任一业务类型,判断该ACL规则的优先级是否高于记录的与该报文的该业务类型对应的命中ACL规则的优先级,若是,则以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级,其中,对于该报文的各业务类型,初始化该业务类型的命中ACL规则的编号为小于任一ACL规则编号的值,优先级为低于任一ACL规则优先级的值;且,当对ACL表查找完毕时,根据记录的与对该报文要执行的各业务类型对应的命中ACL规则的编号,得到对该报文要执行的所有业务类型对应的ACL规则,根据各ACL规则对该报文执行对应的业务处理。
可见,本发明中,通过将适用不同业务的ACL规则合并,并在ACL规则上标记其适用的业务类型,从而只需要查找一次ACL表,就可以得出多类业务的ACL命中结果,提高了查找效率;同时,本发明可以减少ACL表项复制,减少芯片资源的浪费。
附图说明
图1为本发明实施例提供的查找ACL的方法流程图;
图2为本发明实施例提供的查找ACL的装置的组成示意图;
图3为本发明又一实施例提供的查找ACL的装置的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例提供的查找ACL的方法流程图,如图1所示,其具体步骤如下:
步骤101:针对使用ACL表的任一网络设备,若有多类业务同时配置了内容相同的ACL规则,则将该多条ACL规则合并成一条ACL规则;在ACL表中的每条ACL规则上标记该ACL规则适用的所有业务类型。
ACL表由ACL规则组成。
另外,若该网络设备上存在针对不同业务的多张ACL表,则首先将该多张ACL表合并成一张ACL表。
例如:设一个网络设备上共有4张ACL表,每张表对应一类业务,这四类业务为:PBR、QOS、包过滤(filter)、NAT,则将该4张ACL表合并成一张ACL表,并引入一个4比特(bit)的业务字段,每个bit代表一类业务,如bit3代表是否使能了PBR,bit2代表是否使能了QOS,bit1代表是否使能了filter,bit0代表是否使能了NAT。每条ACL规则都具有一个业务字段,以表示该规则适用的业务类型。例如:若一条ACL规则的业务字段为1100,则表示该ACL规则同时适用于PBR和QOS业务。
步骤102:当网络设备要对一个报文进行处理时,根据本设备的业务配置和该报文的业务特点,确定对该报文要执行的所有业务类型。
对于一个报文,如何确定对该报文要执行哪一类或者几类业务处理,这属于现有技术,在此不做详细描述。
步骤103:网络设备在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的所有业务类型部分或全部匹配。
步骤104:对于满足条件的任一ACL规则,网络设备将该报文的查找key与该ACL规则的对应字段进行匹配,若匹配上,则执行步骤105。
步骤105:对于该ACL规则适用的、且该报文要执行的任一业务类型,网络设备查询自身记录的与该报文的该业务类型对应的命中ACL规则的优先级,判断该ACL规则的优先级是否高于记录的命中ACL规则的优先级,若是,执行步骤106;否则,执行步骤107。
例如:对一个报文需要同时执行PBR和QOS业务处理,则可确定该报文的业务字段为1100,在ACL表中查找业务字段与1100部分或全部匹配的ACL规则,即查找业务字段为1000、0100和1100的ACL规则;当一个ACL规则的业务字段为1000、0100或者1100时,则将该报文的查找key与该ACL规则的对应字段进行匹配。
对于对该报文要执行的任一业务类型,当网络设备第一次查找到匹配的ACL规则,设为第一ACL规则时,要记录该ACL规则(即第一ACL规则)的编号和优先级,将该ACL规则作为该报文的该业务类型命中的ACL规则,此后,若再查找到匹配的ACL规则,设为第二ACL规则,则要看该ACL规则(即第二ACL规则)的优先级是否高于已记录的ACL规则(即第一ACL规则)优先级,若高于,则以第二ACL规则的编号、优先级更新记录的第一ACL规则的编号、优先级,从而保证了记录的ACL规则始终是优先级最高的ACL规则,当ACL表查找结束时,记录的ACL规则就为该报文的该业务类型最终命中的ACL规则。
步骤106:网络设备以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级。
步骤107:当对ACL表查找完毕时,网络设备根据记录的与该报文的各业务类型对应的命中ACL规则的编号,查找到该报文的各业务类型的命中ACL规则,根据各ACL规则对该报文执行相应业务处理。
可见,当对ACL表查找完毕时,网络设备会得到针对该报文的所有业务类型的ACL规则。
从图1所示流程可以看出,对于一个报文,若该报文需要执行多类业务处理,则只需查找一次ACL表,就可获得每类业务的命中ACL规则。
以下给出本发明的应用示例:
设一路由器支持PBR、QOS、filter和NAT四种业务,在该路由器上同时使能了PBR和QOS两种业务。
该路由器上配置了两组ACL规则:
第一组如下:
acl number2000name pbr
即,acl序号为2000,适用于PBR业务。
rule10permit ip source10.1.0.00.0.255.255
即,规则10:源IP地址是10.1.0.0/16网段的报文可以匹配该规则。
rule20permit ip source10.2.0.00.0.255.255
即,规则20:源IP地址是10.2.0.0/16网段的报文可以匹配该规则。
rule30deny ip source any destination any
即,规则30:其它源IP地址的报文都不匹配该acl2000。
第二组如下:
acl number2001name qos
即,acl序号为2001,适用于QOS业务。
rule40permit ip source10.1.0.00.0.255.255
即,规则40:源IP地址是10.1.0.0/16网段的报文可以匹配该规则。
rule50permit ip source10.2.0.00.0.255.255
即,规则50:源IP地址是10.3.0.0/16网段的报文可以匹配该规则。
rule60deny ip source any destination any
即,规则60:其它源IP地址的报文都不匹配该acl2001。
可见,每条ACL规则只有一个DM类型的字段:源IP地址。
首先,对acl2000和acl2001中的ACL规则进行合并处理,发现rule10和rule40相同,rule30和rule60相同,则将rule10、rule40合并成一条rule,rule30、rule60合并成一条rule,这样,原先配置的6条规则经合并后变成4条规则。
然后,定义业务字段,其中,bit3代表是否使能了PBR,bit2代表是否使能了QOS,bit1代表是否使能了报文过滤,bit0代表是否使能了NAT。
则合并后的ACL表如下表1所示,其中,规则的编号越小其优先级越高:
表1合并后的ACL
设路由器接收到了4个报文,分别如下:
报文1,源IP地址是10.1.1.1;
报文2,源IP地址是10.2.1.1;
报文3,源IP地址是10.3.1.1;
报文4,源IP地址是10.4.1.1。
由于路由器上使能了PBR和QOS业务,因此,需要对该4个报文执行PBR和QOS业务处理。
对该4个报文的ACL表查找过程如下:
步骤01:查找前,对于4个报文,分别定义数组hit_idx[4]={n1,n2,n3,n4},其中,n1,n2,n3,n4分别表示该报文对于PBR、QOS、filter和NAT业务的命中ACL规则的编号,并初始化hit_idx[4]={-1,-1,-1,-1},表示该报文对于PBR、QOS、filter和NAT业务的初始命中ACL规则的编号都为-1,即都未命中ACL规则。
步骤02:输入报文1,业务字段为1100,查找key为源IP地址=10.1.1.1,将查找key与表1所示的ACL表中的4条规则依次匹配,具体过程如下表2所示:
表2报文1的ACL表查找过程
输入报文2,业务字段为1100,查找key为源IP地址=10.2.1.1,将查找key与表1所示的ACL表中的4条规则依次匹配,具体过程如下表3所示:
表3报文2的ACL表查找过程
输入报文3,业务字段是1100,查找key为源IP地址=10.3.1.1,将查找key与表1所示的ACL表中的4条规则依次匹配,具体过程如下表4所示:
表4报文3的ACL表查找过程
输入报文4,业务字段为1100,查找key为源IP地址=10.4.1.1,将查找key与表1所示的ACL表中的4条规则依次匹配,具体过程如下表5所示:
表5报文4的ACL表查找过程
步骤03:按照步骤02的查找命中结果,则:对于报文1,按照规则1执行PBR和QOS业务处理;对于报文2,按照规则2执行PBR业务处理,按照规则4执行QOS业务处理;对于报文3,按照规则4执行PBR业务处理,按照规则3执行QOS业务处理;对于报文4,按照规则4执行PBR和QOS业务处理。
图2为本发明实施例提供的查找ACL的装置的组成示意图,如图2所示,其主要包括:ACL配置模块21和查找模块22,其中:
ACL配置模块21:配置ACL表,在ACL表中的每条ACL规则上标记该规则适用的所有业务类型。
ACL配置模块21进一步用于,当有多类业务配置了内容相同的ACL规则时,将该多条ACL规则合并成一条ACL规则。
查找模块22:当要对一个报文进行业务处理时,确定对该报文要执行的所有业务类型;在ACL配置模块21配置的ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的所有业务类型部分或全部匹配;对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则确定该ACL规则为与该报文的上述匹配的各业务类型对应的ACL规则;当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则,按照各ACL规则对该报文执行对应业务处理。
查找模块22进一步用于,当判定报文的查找关键字key与该ACL规则的对应字段匹配上之后,对于匹配的任一业务类型,判断该ACL规则的优先级是否高于记录的与该报文的该业务类型对应的命中ACL规则的优先级,若是,则以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级,其中,对于该报文的各业务类型,初始化该业务类型的命中ACL规则的编号为小于任一ACL规则编号的值,优先级为低于任一ACL规则优先级的值;且,当对ACL表查找完毕时,根据记录的与对该报文要执行的各业务类型对应的命中ACL规则的编号,得到对该报文要执行的所有业务类型对应的ACL规则,根据各ACL规则对该报文执行对应的业务处理。
图2所示装置可为可编程器件,如CPU、FPGA等。
图2所示装置可位于任一使用ACL表的网络设备上。
图3为本发明又一实施例提供的查找ACL的装置的组成示意图,如图3所示,其主要包括CPU31和内存32,还包括非易失存储器和其他硬件,内存32包括:ACL配置模块321和查找模块322,其中:
CPU31:用于与内存32进行通信,执行内存32中的计算机程序代码。
ACL配置模块321:存储计算机程序代码,当该代码被CPU31执行时完成步骤:配置ACL表,在ACL表中的每条ACL规则上标记该规则适用的所有业务类型。
查找模块322:存储计算机程序代码,当该代码被CPU31执行时完成步骤:当接收到一个报文时,确定对该报文要执行的所有业务类型;在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的业务类型部分或全部匹配;对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则确定该ACL规则为与该报文的上述匹配的各业务类型对应的ACL规则;当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则,按照各ACL规则对该报文执行对应业务处理。
ACL配置模块31进一步用于,存储计算机程序代码,当该代码被CPU71执行时完成步骤:当有多类业务配置了内容相同的ACL规则时,将该多条ACL规则合并成一条规则。
查找模块322进一步用于,存储计算机程序代码,当该代码被CPU71执行时完成步骤:当判定报文的查找关键字key与该ACL规则的对应字段匹配上之后,对于匹配的任一业务类型,判断该ACL规则的优先级是否高于记录的与该报文的该业务类型对应的命中ACL规则的优先级,若是,则以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级,其中,对于该报文的各业务类型,初始化该业务类型的命中ACL规则的编号为小于任一ACL规则编号的值,优先级为低于任一ACL规则优先级的值;且,当对ACL表查找完毕时,根据记录的与对该报文要执行的各业务类型对应的命中ACL规则的编号,得到对该报文要执行的所有业务类型对应的ACL规则,根据各ACL规则对该报文执行对应的业务处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (7)

1.一种查找访问控制列表ACL的方法,其特征在于,该方法包括:
在ACL表中的每条ACL规则上标记该规则适用的所有业务类型;
当接收到一个报文时,确定对该报文要执行的所有业务类型;
在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的所有业务类型部分或全部匹配;
对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则确定该ACL规则为与该报文的上述匹配的各业务类型对应的ACL规则;
当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则,按照各ACL规则对该报文执行对应业务处理。
2.根据权利要求1所述的方法,其特征在于,所述在每条ACL规则上标记该规则适用的所有业务类型之前进一步包括:
当有多类业务配置了内容相同的ACL规则时,将该多条ACL规则合并成一条规则。
3.根据权利要求1所述的方法,其特征在于,当判定报文的查找关键字key与该ACL规则的对应字段匹配上之后进一步包括:
对于匹配的任一业务类型,判断该ACL规则的优先级是否高于记录的与该报文的该业务类型对应的命中ACL规则的优先级,若是,则以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级;其中,对于该报文的各业务类型,初始化该业务类型的命中ACL规则的编号为小于任一ACL规则编号的值,优先级为低于任一ACL规则优先级的值;
且,所述当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则包括:
当对ACL表查找完毕时,根据记录的与对该报文要执行的各业务类型对应的命中ACL规则的编号,得到对该报文要执行的所有业务类型对应的ACL规则,根据各ACL规则对该报文执行对应的业务处理。
4.根据权利要求1所述的方法,其特征在于,所述业务包括:策略路由PBR、服务质量QOS、报文过滤、网络地址转换NAT中的一种或任意组合。
5.一种查找ACL的装置,其特征在于,该装置包括:
ACL配置模块:配置ACL表,在ACL表中的每条ACL规则上标记该规则适用的所有业务类型;
查找模块:当接收到一个报文时,确定对该报文要执行的所有业务类型;在ACL表中查找满足如下条件的ACL规则:该规则适用的业务类型与对该报文要执行的业务类型部分或全部匹配;对于满足条件的任一ACL规则,将该报文的查找关键字key与该ACL规则的对应字段进行匹配,若匹配上,则确定该ACL规则为与该报文的上述匹配的各业务类型对应的ACL规则;当对该ACL表查找完毕时,得到对该报文要执行的所有业务类型对应的ACL规则,按照各ACL规则对该报文执行对应业务处理。
6.根据权利要求5所述的装置,其特征在于,所述ACL配置模块进一步用于,当有多类业务配置了内容相同的ACL规则时,将该多条ACL规则合并成一条规则。
7.根据权利要求5所述的装置,其特征在于,所述查找模块进一步用于,当判定报文的查找关键字key与该ACL规则的对应字段匹配上之后,对于匹配的任一业务类型,判断该ACL规则的优先级是否高于记录的与该报文的该业务类型对应的命中ACL规则的优先级,若是,则以该ACL规则的编号、优先级更新记录的与该报文的该业务类型对应的命中ACL规则的编号、优先级,其中,对于该报文的各业务类型,初始化该业务类型的命中ACL规则的编号为小于任一ACL规则编号的值,优先级为低于任一ACL规则优先级的值;且,当对ACL表查找完毕时,根据记录的与对该报文要执行的各业务类型对应的命中ACL规则的编号,得到对该报文要执行的所有业务类型对应的ACL规则,根据各ACL规则对该报文执行对应的业务处理。
CN201310469806.0A 2013-10-10 2013-10-10 查找访问控制列表的方法及装置 Active CN104579940B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310469806.0A CN104579940B (zh) 2013-10-10 2013-10-10 查找访问控制列表的方法及装置
US15/028,248 US20160248665A1 (en) 2013-10-10 2014-10-09 Packet processing
PCT/CN2014/088161 WO2015051741A1 (en) 2013-10-10 2014-10-09 Packet processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310469806.0A CN104579940B (zh) 2013-10-10 2013-10-10 查找访问控制列表的方法及装置

Publications (2)

Publication Number Publication Date
CN104579940A true CN104579940A (zh) 2015-04-29
CN104579940B CN104579940B (zh) 2017-08-11

Family

ID=52812529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310469806.0A Active CN104579940B (zh) 2013-10-10 2013-10-10 查找访问控制列表的方法及装置

Country Status (3)

Country Link
US (1) US20160248665A1 (zh)
CN (1) CN104579940B (zh)
WO (1) WO2015051741A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262766A (zh) * 2015-11-03 2016-01-20 盛科网络(苏州)有限公司 多重安全策略组的芯片实现方法
CN105635343A (zh) * 2016-02-02 2016-06-01 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN105939271A (zh) * 2016-03-14 2016-09-14 杭州迪普科技有限公司 查找acl表项的方法及装置
CN108718320A (zh) * 2018-06-14 2018-10-30 浙江远望信息股份有限公司 一种以同类同配置物联网设备合规数据包交集形成数据包通信白名单的方法
CN108848204A (zh) * 2018-07-10 2018-11-20 新华三信息安全技术有限公司 一种nat业务快速处理方法及装置
CN109582674A (zh) * 2018-11-28 2019-04-05 亚信科技(南京)有限公司 一种数据存储方法及系统
CN111064714A (zh) * 2019-11-29 2020-04-24 苏州浪潮智能科技有限公司 一种基于fpga的智能网卡acl更新装置
CN111181870A (zh) * 2019-12-31 2020-05-19 国家计算机网络与信息安全管理中心 一种基于网络处理器实现多业务规则共享的方法
CN112202670A (zh) * 2020-09-04 2021-01-08 烽火通信科技股份有限公司 一种SRv6段路由转发方法及装置
CN112380257A (zh) * 2020-11-26 2021-02-19 厦门市美亚柏科信息股份有限公司 一种网络数据流锁定方法、终端设备及存储介质
CN113114567A (zh) * 2021-03-29 2021-07-13 新华三信息安全技术有限公司 一种消息处理方法、装置、电子设备及存储介质
CN113114707A (zh) * 2021-06-15 2021-07-13 南方电网数字电网研究院有限公司 一种电力芯片以太网控制器规则过滤方法
WO2023246161A1 (zh) * 2022-06-22 2023-12-28 中兴通讯股份有限公司 策略路由实现方法、设备及存储介质
WO2024016863A1 (zh) * 2022-07-20 2024-01-25 华为技术有限公司 规则查找方法、装置、设备及计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745177A (zh) * 2022-04-11 2022-07-12 浪潮思科网络科技有限公司 一种acl规则的处理方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758625A (zh) * 2004-10-09 2006-04-12 华为技术有限公司 一种对报文进行分类处理的方法
CN1863142A (zh) * 2005-08-19 2006-11-15 华为技术有限公司 给数据流提供不同的服务质量策略的方法
CN101035060A (zh) * 2006-03-08 2007-09-12 中兴通讯股份有限公司 一种三重内容可寻址存储器报文分类的统一处理方法
US20100257262A1 (en) * 2009-04-02 2010-10-07 Samsung Electronics Co., Ltd. Apparatus and method for supporting plurality of device management authorities
CN102957617A (zh) * 2011-08-18 2013-03-06 盛科网络(苏州)有限公司 实现多业务叠加的方法及装置
CN103220287A (zh) * 2013-04-11 2013-07-24 汉柏科技有限公司 利用acl对报文进行业务匹配的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651628A (zh) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 一种三状态内容可寻址存储器实现方法及装置
US10326816B2 (en) * 2014-01-13 2019-06-18 Lg Electronics Inc. Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758625A (zh) * 2004-10-09 2006-04-12 华为技术有限公司 一种对报文进行分类处理的方法
CN1863142A (zh) * 2005-08-19 2006-11-15 华为技术有限公司 给数据流提供不同的服务质量策略的方法
CN101035060A (zh) * 2006-03-08 2007-09-12 中兴通讯股份有限公司 一种三重内容可寻址存储器报文分类的统一处理方法
US20100257262A1 (en) * 2009-04-02 2010-10-07 Samsung Electronics Co., Ltd. Apparatus and method for supporting plurality of device management authorities
CN102957617A (zh) * 2011-08-18 2013-03-06 盛科网络(苏州)有限公司 实现多业务叠加的方法及装置
CN103220287A (zh) * 2013-04-11 2013-07-24 汉柏科技有限公司 利用acl对报文进行业务匹配的方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262766B (zh) * 2015-11-03 2018-09-11 盛科网络(苏州)有限公司 多重安全策略组的芯片实现方法
CN105262766A (zh) * 2015-11-03 2016-01-20 盛科网络(苏州)有限公司 多重安全策略组的芯片实现方法
CN105635343B (zh) * 2016-02-02 2019-06-04 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
WO2017133344A1 (zh) * 2016-02-02 2017-08-10 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN105635343A (zh) * 2016-02-02 2016-06-01 中国互联网络信息中心 应用于dns查询的ip地址列表存储和查询方法
CN105939271A (zh) * 2016-03-14 2016-09-14 杭州迪普科技有限公司 查找acl表项的方法及装置
CN105939271B (zh) * 2016-03-14 2019-04-09 杭州迪普科技股份有限公司 查找acl表项的方法及装置
CN108718320A (zh) * 2018-06-14 2018-10-30 浙江远望信息股份有限公司 一种以同类同配置物联网设备合规数据包交集形成数据包通信白名单的方法
CN108718320B (zh) * 2018-06-14 2021-03-30 浙江远望信息股份有限公司 一种以同类同配置物联网设备合规数据包交集形成数据包通信白名单的方法
CN108848204A (zh) * 2018-07-10 2018-11-20 新华三信息安全技术有限公司 一种nat业务快速处理方法及装置
CN108848204B (zh) * 2018-07-10 2021-10-26 新华三信息安全技术有限公司 一种nat业务快速处理方法及装置
CN109582674A (zh) * 2018-11-28 2019-04-05 亚信科技(南京)有限公司 一种数据存储方法及系统
CN109582674B (zh) * 2018-11-28 2023-12-22 亚信科技(南京)有限公司 一种数据存储方法及系统
CN111064714A (zh) * 2019-11-29 2020-04-24 苏州浪潮智能科技有限公司 一种基于fpga的智能网卡acl更新装置
CN111181870B (zh) * 2019-12-31 2022-05-13 国家计算机网络与信息安全管理中心 一种基于网络处理器实现多业务规则共享的方法
CN111181870A (zh) * 2019-12-31 2020-05-19 国家计算机网络与信息安全管理中心 一种基于网络处理器实现多业务规则共享的方法
CN112202670A (zh) * 2020-09-04 2021-01-08 烽火通信科技股份有限公司 一种SRv6段路由转发方法及装置
CN112380257A (zh) * 2020-11-26 2021-02-19 厦门市美亚柏科信息股份有限公司 一种网络数据流锁定方法、终端设备及存储介质
CN113114567A (zh) * 2021-03-29 2021-07-13 新华三信息安全技术有限公司 一种消息处理方法、装置、电子设备及存储介质
CN113114567B (zh) * 2021-03-29 2022-03-29 新华三信息安全技术有限公司 一种消息处理方法、装置、电子设备及存储介质
CN113114707A (zh) * 2021-06-15 2021-07-13 南方电网数字电网研究院有限公司 一种电力芯片以太网控制器规则过滤方法
WO2023246161A1 (zh) * 2022-06-22 2023-12-28 中兴通讯股份有限公司 策略路由实现方法、设备及存储介质
WO2024016863A1 (zh) * 2022-07-20 2024-01-25 华为技术有限公司 规则查找方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN104579940B (zh) 2017-08-11
US20160248665A1 (en) 2016-08-25
WO2015051741A1 (en) 2015-04-16

Similar Documents

Publication Publication Date Title
CN104579940A (zh) 查找访问控制列表的方法及装置
US9627063B2 (en) Ternary content addressable memory utilizing common masks and hash lookups
CN104823416B (zh) 实现OpenFlow的软件定义网络中的报文排序的装置和方法
CN104348716B (zh) 一种报文处理方法及设备
CN100433715C (zh) 给数据流提供不同的服务质量策略的方法
US10135734B1 (en) Pipelined evaluations for algorithmic forwarding route lookup
KR100920518B1 (ko) 패킷 분류 장치 및 방법
US8599859B2 (en) Iterative parsing and classification
EP2541854B1 (en) Hybrid port range encoding
US10397116B1 (en) Access control based on range-matching
US9306848B2 (en) Using special-case hardware units for facilitating access control lists on a networking element
US8798066B2 (en) Method for IPv6 longest prefix match
US10708272B1 (en) Optimized hash-based ACL lookup offload
CN104821890A (zh) 一种基于普通交换芯片的OpenFlow多级流表的实现方法
US8848707B2 (en) Method for IP longest prefix match using prefix length sorting
US9159420B1 (en) Method and apparatus for content addressable memory parallel lookup
US11362948B2 (en) Exact match and ternary content addressable memory (TCAM) hybrid lookup for network device
US10547547B1 (en) Uniform route distribution for a forwarding table
US8938579B2 (en) Method and system for using range bitmaps in TCAM access
US9270519B2 (en) Address translation device, address translation method, and computer product
Yang et al. Fast OpenFlow table lookup with fast update
CN107547407A (zh) 报文传输方法、装置和实现装置
CN111988231A (zh) 一种掩码五元组规则匹配的方法及装置
US8166536B1 (en) Transformation of network filter expressions to a content addressable memory format
CN106416150B (zh) 一种路由查询方法和网络设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant