存取控制列表的条目产生方法

文档序号:7916546阅读:97来源:国知局
专利名称:存取控制列表的条目产生方法
技术领域
本发明涉及一种存取控制列表,特别是涉及一种存取控制列表的条目 产生方法。
背景技术
存取控制列表(Access Control List,简称ACL)已经普遍使用在各 系统或各通讯装置中。当系统或通讯装置接收到分组(Packet)时,会利 用存取控制列表来用来过滤(Filter)分组,并据以将分组分配至各目的 地。以下配合附图详细地说明。
图l是现有的一种存取控制列表的示意图。请参照图1,假设存取控制 列表10具有16个条目(Entry )与3个项目。16个条目分别为En—0~En—15。 3个项目分别为媒体存取控制地址(Media Access Control Address,简称 MAC Address)、因特网协i义地址(Internet Procotol Address,筒称IP Address)与动作(Action)。此外,假设各条目中对应于i某体存取控制地 址、因特网协议地址与动作的参数的位宽度(Bit Width)分别为48bits、 32bits、 4bits。
在条目En_0中,首先会检查分组的媒体存取控制地址是否为 0090c3000001,并检查因特网协议地址是否为192.168.1.10。当分组的媒 体存取控制地址为0090c3000001且因特网协议地址为192.168.1.10时, 则执行动作Q001;反之,则不执行动作OOOl。
如上所述,在条目En — I中,首先会检查分组的媒体存取控制地址是否 为0080cl000008,并检查因特网协议地址是否为192. 168. 1. 10。当分组的 媒体存取控制地址为0080cl000008且因特网协议地址为192. 168. 1. 10时, 则执行动作0010;反之,则不执行动作0010。
以此类推,在条目En_15中,首先会检查因特网协议地址是否为 192.168.101.88。当分组的因特网协议地址为192. 168. 101. 88时,则执行 动作llll;反之,则不执行动作llll。值得一提的是,在条目En—lS中,虽无须检查分组的媒体存取控制地址,但条目En_15中对应于媒体存取控 制地址的参数却仍需占用48bits的空间,其可视为一种空间浪费。
另外,在现有技术中,条目En—0、 En-l对应于因特网协议地址的参数 虽皆为192. 168. 1. 10。但条目En_0、 En_l中的网路协议地址的参数却仍需 占用32bits+32bits=64bits的空间。也就是说,即便有多条目中的部分参 数相同,各条目所占用的空间也无法降低。再从另一角度来看,存取控制 列表10的各条目皆需占用48bits+32bits+4bits=84bits。由于存取控制列 表10具有16个条目,因此存取控制列表10共需占用84 x 16=1344bits。 即便存取控制列表10仅使用16个条目中的其中一个,存取控制列表10仍 需占用1344bits。换个角,变来看,依照现有所采用的技术,1344 bits仅 能提供16个条目,其空间的使用效率相当差。
再者,在现有技术中,存取控制列表10的各条目皆必须具有相同的项 目。换言的,假设条目En-O需要新增特定项目时,条目En-l En — 15也必 须对应新增相同的特定条目。因此现有技术中常会发生仅有少数几个条目 需要用到特定项目,但其他条目的特定项目仍会占用相当多的空间。此种 空间浪费的情形会随着条目数量的增加而更形严重。

发明内容
本发明提供一种存取控制列表的条目产生方法,可降低存取控制列表 所占的储存空间。
本发明提出 一种存取控制列表的条目产生方法,其包括定义多个程序 单元,各程序单元包括项目与对应上述项目的参数。另外,产生存取控制 列表的第一条目,其中第一条目连结上述程序单元中的Ni个程序单元,N, 为正整数,且各程序单元还能供其他条目进行连结。
在本发明的一实施例中,上述的条目产生方法还包括产生存取控制列 表的第二条目,其中第二条目连结上述程序单元中的N2个程序单元,N2为 正整数。在另一实施例中,N1 = N2。在又一实施例中,N—N2。
在本发明的一实施例中,定义程序单元的步骤包括定义项目,此项目 为逻辑运算子、决策或动作。此外,定义参数。在另一实施例中,逻辑运 算子包括AND、 NAND、 0R、 N0R、 N0T、 X0R或XN0R…等。在又一实施例中, 决策包括检查媒体存取控制地址或因特网协议地址。在再一实施例中,动作包括传送至一目的地、过滤、广播或复制…等。在另一实施例中,定义参数的步骤包括定义参数的位宽度。
本发明定义多个程序单元。另外,产生存取控制列表的条目,此条目连结上述程序单元中的N,个程序单元,Ni为正整数,且各程序单元还能供其他条目进行连结。因此能降低存取控制列表所占的储存空间。
为使本发明的上述特征和优点能更明显易懂,下文特举几个实施例,并结合附图详细说明如下。


图1是现有的一种存取控制列表的示意图。
图2是依照本发明的一实施例的一种存取控制列表的条目产生方法的流程图。
图3是依照本发明的 一 实施例的多个程序单元的示意图。图4是依照本发明的一实施例的多个条目的示意图。
附图符号说明
10:存取控制列表
S201、 S202:存取控制列表的条目产生方法的各步骤En_0~En_15、 Ent一0 Ent —3:条目P卜P10:程序单元E1 E10:项目A1 A1Q:参数
具体实施例方式
在现有技术中,存取控制列表中的各条目皆必须具有相同的项目,因此容易造成空间浪费。有鉴于此,本发明的实施例提供一种存取控制列表的条目产生方法。首先可定义多个程序单元,各程序单元可包括项目与参数。接着再从上述多个程序单元进行挑选与组合,藉以产生条目。因此当多个条目采用相同的程序单元时,则可有效降低存取控制列表所占用的空间。以下配合附图作更详细的说明。
图2是依照本发明的一实施例的一种存取控制列表的条目产生方法的流程图。图3是依照本发明的一实施例的多个程序单元的示意图。请合并参照图2与图3,首先可由步骤S201,定义多个程序单元,在本实施例中多个程序单元以10个程序单元为例进行说明,其分别为P1 P10。以下先以定义程序单元Pl为例进行说明。
在定义程序单元P1的过程中,可先定义程序单元P1的项目El的种类及位宽度(Bit Width)。在本实施例中,项目El的种类为一决策,此决策的内容以检查媒体存取控制地址为例进行说明,而项目El的位宽度则以4bits为例进行说明。本领域的技术人员可依其需求定义决策的内容,本发明并不以此为限。举例来说,在其他实施例中,决策的内容亦可检查因特网协议地址。
接着可对程序单元P1的参数A1及参数A1的位宽度进行定义,其中参数A1对应于项目El。在本实施例中,参数A1以0090c3000001为例进行说明,而参数A1的位宽度则以48bits为例进行说明。值得一提的是,随着项目的种类不同,其所对应的参数的位宽度也可随之改变。换言之,若项目的种类相同,其对应的参数的位宽度可设定为相同。以此类推,在本实施例中,程序单元P2的项目E2、项目E2的位宽度、参数A2与参数A2的位宽度分别定义为媒体存取控制地址、4bits、 0080cl000008与48bits。
在本实施例中,程序单元P3的项目E3、项目E3的位宽度、参数A3与参数A3的位宽度分别定义为动作、4bits、 0001与4bits。程序单元P4的项目E4、项目E4的位宽度、参数A4与参数A4的位宽度分别定义为动作、4bits、 0010与4bits。程序单元P5的项目E5、项目E5的位宽度、参数A5与参数A5的位宽度分别定义为动作、4bits、 0011与4bits。在本实施例中,参数A3为0001代表广播(Broadcast),参数A4为0010代表传送至一目的地,参数A5为0011代表过滤。本领域技术人员应当知道参数A3~A5仅是一种选择实施例,本发明并不以此为限。举例说明,在另一实施例中,参数A3为0001可代表其他动作,例如复制。在又一实施例中,参数A3也可以为111100,藉以代表广播。
程序单元P6的项目E6、项目E6的位宽度、参数A6与参数A6的位宽度分别定义为决策(检查因特网协议地址)、4bits、 192.168.101.88与32bits。程序单元P7的项目E7、项目E7的位宽度、参数A7与参数A7的位宽度分别定义为决策(检查因特网协议地址)、4bits、 192. 168. 1. 1 0与32bits。
程序单元P8的项目E8、项目E8的位宽度、参数A8与参数A8的位宽度分别定义为逻辑运算子(Logic Operator) 、 4bits、 001与4bits。程序单元P9的项目E9、项目E9的位宽度、参数A9与参数A9的位宽度分别定义为逻辑运算子、4bits、 010与4bits。程序单元P10的项目EIO、项目E10的位宽度、参数A10与参数A10的位宽度分别定义为逻辑运算子、4bits、011与4bits。在本实施例中,参数A8为001代表AND,参数A9为010代表0R,参数A10为011代表NOT。本领域技术人员应当知道参数A8 ~A10仅是一种选择实施例,本发明并不以此为限。举例说明,在另一实施例中,参数A8为001可代表其他逻辑运算子,例如NAND、 NOR、 XOR或XNOR…等。在又一实施例中,参数A8也可以为10100,藉以代表AND。
完成步骤S201之后可接续步骤S202,产生存取控制列表的条目,此条目可连结程序单元Pl ~ P10的多个程序单元。值得注意的是,程序单元Pl ~P10可重复地被多个条目进行连结。此外,本领域技术人员可重复执行步骤S202藉以产生多个条目。举例来说,图4是依照本发明的一实施例的多个条目的示意图。请合并参照图2 图4,在本实施例中,多个条目以4个条目为例进行说明,其分别为Ent —0~Ent-3。
条目Ent —O依序连结了程序单元Pl、 P9、 P2、 P3。条目Ent — 0代表的意义为当接收到分组时,会检查分组的媒体存取控制地址是否为0090c30000(U或 0080clOOOOOS 。当分组的i某体存取控制地址为0090c3000001或0080cl000008则广纟番分组;反之,则不广播分组。
条目Ent —1依序连结了程序单元Pl、 P8、 P6、 P4。条目Ent —l代表的意义为当接收到分组时,会检查分组的媒体存取控制地址是否为0090c3000001且因特网协议地址是否为192. 168. 101. 88。当分组的媒体存取控制地址为0090c3000001且因特网协议地址为192,168.101.88时,则将分组传送至一目的地;反之,则不传送此分组至上述目的地。
条目Ent —2依序连结了程序单元P1、 P9、 P2、 P9、 P7、 P5。条目Ent一2代表的意义为当接收到分组时,会检查分组的媒体存取控制地址是否为0090c3000001或媒体存取控制地址是否为0080cl 000008或因特网协议地址是否为192. 168. 1. 10。当分组的媒体存取控制地址为0090c3000001或媒体存取控制地址为Q080cl000008或因特网协议地址为192. 168. 1. 1 0时,则过滤分组;反之,则不过滤分组。
条目Ent-3依序连结了程序单元P10、 Pl、 P5。条目Ent-2代表的意义为当接收到分组时,会检查分组的媒体存取控制地址是否不是0090c3000001。当分组的i某体存取控制地址不为0090c3000001时,则过滤分组;反之,则不过滤分组。
从上述可清楚看出,本实施例的存取控制列表的各条目可拥有相同数量的程序单元,也可拥有相异数量的程序单元。更具体地说,本实施例的存取控制列表的各条目彼此互相独立(Independent),并不受限于必须具有相同的程序单元。与现有相较之下,本实施例各条目中的程序单元皆能有效地被利用。
另外,在条目Ent —0-Ent-3都有使用程序单元P1,也就是说程序单元P4虽被使用了 4次,但程序单元P1却仅占了 48bits。与现有技术相比较,现有若有4个条目皆检查相同的媒体存取控制地址,则需要占用48x4 =19 2b i t s 。因此本实施例可有效降低存取控制列表所占用的空间。
再者,本实施例中各条目因配合使用了程序单元P8-P10的逻辑运算子A8 A10,因此能使各条目更有弹性变化。
虽然上述实施例中已经对存取控制列表的条目产生方法描绘出了一个可能的型态,但所属技术领域的技术人员应当知道,各厂商对于存取控制列表的条目产生方法的步骤设计都不一样,因此本发明的应用当不限制于此种可能的型态。换言之,只要是此存取控制列表的条目产生方法定义了多个程序单元,并利用条目连结上述多个程序单元的Ni个程序单元,且各
程序单元还能供其他条目进行连结,就已经是符合了本发明的精神所在。以下再举几个实施方式以便本领域技术人员能够更进一步的了解本发明的
精神,并实施本发明。
上述实施例中,各程序单元的项目虽仅以媒体存取控制地址、动作、因特网协议地址与逻辑运算子为例进行说明,但本发明并不以此为限。在其他实施例中,本领域技术技术人员可依其需求将程序单元的项目定义为其他内容。
另外,上述实施例中,各程序单元的项目与参数的位宽度仅是一种选择实施例,本发明并不以此为限。在其他实施例中,本领域技术技术人员可依其需求自行定义各程序单元的项目与参数的位宽度。请再参照图3,值得一提的是,上述实施例中的各程序单元可互相独立。更具体地说,上述实施例中参数Al与参数A2的位宽度虽设置为相同,但本发明并不以此为限。在其他实施例中,参数Al与参数A2的位宽度也可设置为不同。
综上所述,本发明定义多个程序单元。另外,产生存取控制列表的条目,此条目连结多个程序单元中的N,个程序单元,N!为正整数,且各程序单元还能供其他条目进行连结。因此能降低存取控制列表所占的储存空间。再者,本发明的实施例至少具有下列功效
1. 本发明的实施例中存取控制列表的各条目彼此互相独立,并不受限于必须具有相同的程序单元。与现有相比较,本发明的实施例各条目中的程序单元皆能有效地被利用。
2. 由于程序单元可重复被使用,因此可有效降低存取控制列表所占用的空间。
3. 配合使用了程序单元的逻辑运算子,因此能使各条目更有弹性变化。虽然本发明已以几个实施例揭示如上,然其并非用以限定本发明,本
领域的技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
9
权利要求
1.一种存取控制列表的条目产生方法,包括定义多个程序单元,各该程序单元包括一项目与对应该项目的一参数;以及产生该存取控制列表的一第一条目,其中该第一条目连结所述程序单元中的N1个程序单元,N1为正整数,且所述程序单元还能供其他条目进行连结。
2. 如权利要求1所述的存取控制列表的条目产生方法,还包括 产生该存取控制列表的一第二条目,其中该第二条目连结所述程序单元中的N2个程序单元,N2为正整数。
3. 如权利要求2所述的存取控制列表的条目产生方法,其中Ni = N2。
4. 如权利要求2所述的存取控制列表的条目产生方法,其中N—N2。
5. 如权利要求1所述的存取控制列表的条目产生方法,其中定义所述 程序单元的步骤包括定义该项目,该项目为一逻辑运算子、 一决策或一动作;以及 定义该参数。
6. 如权利要求5所述的存取控制列表的条目产生方法,其中该逻辑运 算子包括AND、 NAND、 0R、 N0R、 N0T、 X0R或XN0R。
7. 如权利要求5所述的存取控制列表的条目产生方法,其中该决策包 括检查媒体存取控制地址或因特网协议地址。
8. 如权利要求5所述的存取控制列表的条目产生方法,其中该动作包 括传送至一目的地、过滤、广播或复制。
9. 如权利要求5所述的存取控制列表的条目产生方法,其中定义该参 数的步骤包括定义该参数的位宽度。
10. 如权利要求1所述的存取控制列表的条目产生方法,其中各该程序 单元互为独立。
全文摘要
一种存取控制列表的条目产生方法,其包括定义多个程序单元,各程序单元包括项目与对应上述项目的参数。另外,产生存取控制列表的条目。此条目连结上述程序单元中的N<sub>1</sub>个程序单元,N<sub>1</sub>为正整数,且各程序单元还能供其他条目进行连结。因此能降低存取控制列表所占的储存空间。
文档编号H04L29/08GK101645913SQ20081012982
公开日2010年2月10日 申请日期2008年8月7日 优先权日2008年8月7日
发明者杨文信 申请人:九旸电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1