一种访问控制列表规则的配置方法及装置的制作方法

文档序号:7702983阅读:143来源:国知局
专利名称:一种访问控制列表规则的配置方法及装置的制作方法
技术领域
本发明涉及通讯业务访问控制管理领域,特别是一种访问控制列表(ACL, Access Control List)规则的配置方法及装置。
背景技术
在网络技术快速发展的今天,网络的安全问题也备受关注,对于承载着各 种网络业务的网络设备来说,如路由器、交换机等,拥有一个自身安全保护措 施显得尤为重要,ACL就是常用的安全技术之一。
ACL的功能是,用来过滤进出网络设备端口的数据包。ACL由4艮多条ACL 规则组成,将数据包中相应字段的地址与ACL规则进行匹配,ACL规则可以 是数据包的源地址、目的地址、源端口号、目的端口号等信息,从而达到访问 控制的目的。
现有技术中,基于ACL的匹配是精确匹配方式,即将一个地址值配置为一 条ACL规则,并将数据包中相应的地址与一条ACL规则进行匹配,如果二者 匹配一致,则转发该数据包,否则丟弃。例如在一台交换机的某个端口要将 虚拟局域网(vlan, virtual local area network)地址字4殳vlanl00-vlanl000全部 修改成vlan2000,即依据ACL将通过该端口的100至1000之间的地址全部修 改成2000,要实现对上述901个地址字段的修改,则在精确匹配方式下,针对 每个vlan地址配置一条ACL规则,这样就需要相应地配置901条ACL规则。
基于以上描述可见,在精确匹配方式下,通常需要很多条ACL规则,从而 占用了很多的硬件资源,也使得每条ACL规则的利用率比较低。

发明内容
有鉴于此,本发明的主要目的在于提供一种ACL规则的配置方法及装置,从而达到减少ACL规则的使用数量、提高ACL规则的利用率、节省硬件资源 的目的。
为达到上述目的,本发明的技术方案是这样实现的
本发明提供了一种ACL规则的配置方法,该方法包括
将需要匹配的一段地址进行分段,并使所分成的每一个地址段由 一对关键 字表示,将每一对关^t字对应地配置为每一条ACL规则。
上述方案中,所述将需要匹配的一段地址进行分段,包括确定该地址段 的中心地址,并以该中心地址值为中心,分别向需要匹配的该段地址的两端, 对该地址段进行分段。
上述方案中,所述中心地址是该段地址上限以内最大的2An的值,n为 在对应地址段范围内得到最大地址的值。
上述方案中,所述将需要匹配的一段地址进行分段,具体包括以中心地 址为中心,分别向需要匹配的该段地址的两端分段,所分成的每一个地址段的 大小是能够分得的最大的2An,其中n取非负整数;所分成的每一个地址段用 最长前缀匹配算法中的一对关键字prefix和mask的值表示。
上述方案中,所述将每一对关键字对应地配置为每一条ACL规则,包括 以中心地址为中心,分别向需要匹配的该段地址的两端分^殳,所分成的每一个 地址段的大小是能够分得的最大的2An,其中n取非负整数;所分成的每一个 地址段用最长前缀匹配算法中的一对关键字prefix和mask的值表示。
上述方案中,所述将每一对关键字对应地配置为每一条ACL规则之后,进 一步包括基于最长前缀匹配方式依据配置的ACL规则对经过的数据包的地址 进行处理。
本发明还提供了一种ACL规则的配置装置,该装置包括地址划分模块和 匹配配置才莫块;其中,
地址划分模块用于将需要匹配的一段地址进行分段,并使所分成的每一个 地址段由一对关键字表示; 配置模块用于将每一对关键字对应地配置为每一条ACL规则。上述方案中,所述地址划分模块包括中心地址确定模块和分段;漠块;其
中,
中心地址确定模块,用于确定需要匹配的一段地址的中心地址;
分段模块,用于以中心地址为中心,分别向需要匹配的该段地址的两端, 对该段地址进行分段。
上述方案中,所述分段模块具体用于以中心地址为中心,分别向需要匹 配的该段地址的两端分段,所分成的每一个地址段的大小是能够分得的最大的 2An,其中n取非负整数;所分成的每一个地址段用最长前缀匹配算法中的一对 关4建字prefix和mask的值表示;
所述配置模块,具体用于将所分成的每一个地址段的关键字prefix和mask 的值对应地配置为每一条ACL规则的地址段。
上迷方案中,该装置进一步包括匹配模块,用于基于最长前缀匹配方式 依据配置的ACL规则对经过的数据包的地址进行处理。
本发明所提供的一种ACL规则的配置方法及装置,以最长前缀匹配算法为 基础,将数据包中需要匹配的一段地址,以2An为单元分成尽可能大的若干个 地址段,使所分成的每一个地址段由一对关键字prefix和mask的值表示,并将 每一对关键字prefix和mask的值配置为每一条ACL规则,依据所配置的ACL 规则即可对经过的数据包的地址进行处理,避免了精确匹配方式下, 一个地址 与一条ACL规则匹配的情况,从而大大减少了 ACL规则的使用数量,提高了 ACL规则的利用率,节省了硬件资源。


图1为本发明中ACL规则的配置方法流程图; 图2为本发明中ACL规则的配置装置结构图。
具体实施例方式
本发明的基本思想是,以最长前缀匹配算法为基础,将数据包中需要匹配
6的一段地址以2An为单元进行分段,其中n取非负整数,并使分段后得到的每 一个地址段尽可能的大,使所分成的每一个地址段由一对关键字prefix和mask 的值表示,并将每一对关键字prefix和mask的值配置为每一条ACL规则的地 址字段,后续便可以依据配置的ACL规则对经过的数据包的地址进行处理,从 而达到减少ACL规则的使用数量、提高ACL规则的使用效率、节省硬件资源 的作用。
下面首先介绍一下现有技术的最长前缀匹配算法
该算法由两个关^fc字组成prefix和mask,由这两个关4建字可以表示出一 段连续的地址段。mask的某一位如果是1,则所表示的地址段中相应的这一位 与prefix对应的这一位的值一致;mask的某一位如果是0,则所表示的地址段 中相应的这一4立是任意值,即可以取0或1。例如prefix=0001100100b, mask=1111111100b,这里,mask有2位是0,所以prefix和mask这两个关键字 所表示的这段地址段就有2A2=4个值,即表示有4个前8位是OOOllOOlb的地 址,换言之表示了从0001100100b到0001100111b的地址段,转换成十进制表 示的地址段为100到103。
基于上述最长前缀匹配算法,本发明提供了一种ACL规则的配置方法,如 图1所示。在本实施例中,ACL规则的配置方法包括以下步骤
步骤101:确定需要匹配的一段地址;
本步骤中,首先确定需要匹配的一段地址,这里假设需要对vlan地址字段 的 一段地址进行匹配,该段地址的范围为100到1000。 步骤102: _没置匹配方式为最长前缀匹配;
本步骤中,在交换芯片中通过更改ACL的匹配方式,将匹配方式设置为最 长前缀匹配,即基于ACL的匹配不再釆用精确匹配方式,而是采用最长前缀匹 配,以下步骤都是在最长前缀匹配的方式下对ACL规则进行配置。
步骤103:确定该賴:地址的中心地址;
本步骤中,以最长前缀匹配算法为J^出,将需要匹配的该段地址100-1000 分成若干个地址段,分段的具体方法如下确定的该段地址的中心地址是该段地址上限以内最大的2An的值,其中n 取非负整数,如0、 1、 2……。例如,该段地址上限是1000,如果n取10,则 2A10=1024超出了 1000,而2A9=512在1000以内,所以2A9=512就是该段地址 上限1000以内最大的2An值,这里n取9,则需要匹配的该段地址的中心地址 的取值为512。
步骤104:以该中心地址为中心,分别向该賴:地址的两端进行分段; 本步骤中,以中心地址为中心分别向需要匹配的该段地址的两端对该段地 址进行分段,所分成的每一个地址段的大小即每一个地址段所包含的地址数目 是可以分得的最大的2An,其中n取非负整数。
例如,100-1000的一段地址以中心地址512为中心,分别向需要匹配的该 段地址的两端100和1000对该,爻地址进行分,史。在100-511之间,共包含412 个地址,如果n取9,则2^=512,已经超出了 100-511之间所包含的地址数目 412;如果n取8,则2A8=256,包含在412以内,所以在100-511之间最大可 以取2八8=256,因此,该地址l殳包含了 256个地址,所分成的该地址段的范围 是256-511 ,则在mask值中有8个0,即prefix=0100000000b, mask-l 100000000b, 用二进制表示所分成的地址段范围是0100000000b-0111111111b;在100-255之 间共包含156个地址,故最大可以取2^=128为一段,所分成的该地址段的范 围是128-255,在mask值中有7个0,即prefx=0010000000b, mask=l 110000000b, 用二进制表示所分成的地址段范围是0010000000b-001111111 lb;在512-1000 之间共包含489个地址,故最大可以取2八8=256为一段,所分成的该地址段的 范围是512-767 ,在mask值中有8个0 ,即prefix=1000000000b , mask-1100000000b , 则用二进表示所分成的该地址段范围是 lOOOOOOOOOb-lOllllllllb;在768-1000之间共包含233个地址,故最大可以 取2"=128为一^1,所分成的该地址革爻的范围是768-895,在mask值中有7个 0,即prefix=1100000000b, mask=l 110000000b,用二进制表示所分成的地址賴二 范围是1100000000b-1101111111b;以此类推,从中心地址512分别向100和 1000对该段地址进行分段,则地址段100-1000的最终分段结果和所分成的每一
8个;i也址^殳对应的prefix和mask <直为
1. 100-103——-—prefix-0001腿00b,mask=:1111111100b
2. 104-111——-—prefix=0001101000b,mask=:1111111000b
3. 112-127————prefix—0001110000b,m3sk=4111110000b
4. 128-255-—画-——prefix,画00000b,mask=:1110000000b
5.256-511————prefix=0100000000b,mask=4100000000b
6.512-767-———-prefix-1000000000b,mask=:1100000000b
7. 768-895—-———prefix-1100000000b,mask=:1110000000b
8. 896-959--———prefix—1110000000b ,mask=4111000000b
9. 960-991-—画画——prefix=ll 11000000b,mask=:1111100000b
10.992-999————prefix-1111100000b,mask=1111111000b
11.1000 ———誦prefix-1111101000b,mask=1111111111b
这里,在第IO,爻划分完毕后,只剩下1000 —个地址,所以取2八0=1,对 单个地址1000单独划分成一段。
按照上述的分段方法将地址段100-1000 —共分成了 ll个地址段,每一对 关键字prefix和mask的值表示了 一个相应的地址段。
上述分段方法,以中心地址为中心分别向该段地址的两端进行分段,使所 分得的每一个地址段都是最大的2An的值,即n都是取能够在对应地址段范围 内得到最大地址的那个值,所以按照上述方法分段后将会获得唯一 的 一种分段 结果,其中,被切分的地址段越是连续,则所分成的段越少,越能节省所用的 ACL规则。如果被切分的地址段不连续,也可以采用以上方法进行分段,只是 由单个地址单独划分成一段的情况会增加,也就是增加了 ACL规则的数量,但 仍然比现有技术中针对一个地址配置一条ACL规则的数量要少。
步骤105:将每一对关4建字prefix和mask的值配置为一条ACL规则的地 址字段,后续处理中,便可以依据配置的ACL规则对经过的数据包的地址进行 处理;
本步骤中,将上述每一对关键字prefix和mask的值配置为一条ACL规则的地址字段,也就是每一条ACL规则中对应代表了上述所分成的每一个地址 段,由于上述共有11对prefix和mask的值,所以只需配置11条ACL规则即可。
后续依据配置的ACL规则对经过的数据包的地址进行处理时,则只需用 11条ACL规则就可以完成,例如,如果仍然是需要将vlanlOO-vlanlOOO全部修 改成valn2000的动作,则根据本发明提供的方案采用ll条ACL规则代替了精 确匹配方式下的卯l条ACL规则,极大地减少了 ACL规则的使用数量,提高 了 ACL规则的利用率。
步骤106:将配置好的ACL规则下发到交换芯片,使经过的数据包的地址 与ACL规则进行匹配。
本步骤中,按照以上方法对ACL规则进行配置后,将上述ACL规则下发 到交换芯片,即将prefix和mask的值写入相应的匹配字段中,则只需下发11 条ACL规则即可,大大地节省了硬件资源。
在将vlanlOO-vlanlOOO全部修改成valn2000的动作中,当经过的数据包的 地址包含在所配置的ACL规则所表示的地址段以内时,则经过的数据包的地址 与ACL规则匹配一致,ACL执行相应的修改动作;例如,当经过的数据包的 地址为125,用二进制表示该地址是0001111101b,由于在所配置的第三条ACL 规则中,prefix=0001110000b, mask=1111110000b,该条ACL规则所表示的二 进制地址段范围是00011 lOOOOb-0001111111b,转换成十进制所表示的地址段范 围是112-127,因经过的数据包的地址125在该条ACL规则所表示的地址段范 围112-127以内,所以该地址125与第三条ACL规则匹配一致,ACL执行将 vlanl25修改成vlan2000的动作。
本发明所提供的方法和系统不仅仅可以用于数据包中的vlan地址字段的 ACL规则的配置,还可以用在数据包中的介质访问控制(mac, media access control)地址字段和ip地址字段中,从而减少ACL规则的使用数量,提高ACL 规则的利用率,节省硬件资源。
基于上述方法,本发明提供了一种ACL规则的配置装置,如图2所示,该
10装置包括地址划分模块和配置模块;其中,地址划分模块用于将需要匹配的 一段地址进行分段,并使所分成的每一个地址段由一对关键字表示;配置模块 用于将每一对关键字对应地配置为每一条ACL规则。
其中,地址划分模块包括中心地址确定模块和分段模块;其中,
中心地址确定模块,用于确定需要匹配的一段地址的中心地址,该中心地 址是该段地址上限以内最大的2An的值,其中n取非负整数;
分段;漠块,用于以中心地址为中心,分别向需要匹配的该段地址的两端, 对该段地址进行分段;
配置才莫块,具体用于将所分成的每一个地址段的关4建字prefix和mask的值 对应地配置为每一条ACL规则的地址段。
所述分段模块具体用于以中心地址为中心,分别向需要匹配的该段地址 的两端分H所分成的每一个地址段的大小是能够分得的最大的2An,其中n 取非负整数;所分成的每一个地址段用最长前缀匹配算法中的一对关键字prefix 和mask的值表示。
所述装置进一步包括匹配模块,用于基于最长前缀匹配方式依据配置的 ACL规则对经过的数据包的地址进行处理。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应 包含在本发明的保护范围之内。
权利要求
1、一种ACL规则的配置方法,其特征在于,该方法包括将需要匹配的一段地址进行分段,并使所分成的每一个地址段由一对关键字表示,将每一对关键字对应地配置为每一条ACL规则。
2、 根据权利要求1所述的方法,其特征在于,所述将需要匹配的一段地址 进行分段,包括确定该地址段的中心地址,并以该中心地址值为中心,分别 向需要匹配的该段地址的两端,对该地址段进行分段。
3、 根据权利要求2所述的方法,其特征在于,所述中心地址是该段地址 上限以内最大的2An的值,n为在对应地址段范围内得到最大地址的值。
4、 根据权利要求2所述的方法,其特征在于,所述将需要匹配的一段地址 进行分段,具体包括以中心地址为中心,分别向需要匹配的该段地址的两端 分段,所分成的每一个地址段的大小是能够分得的最大的2An,其中n取非负 整数;所分成的每一个地址段用最长前缀匹配算法中的一对关键字prefix和 mask的值表示。
5、 根据权利要求4所述的方法,其特征在于,所述将每一对关键字对应地 配置为每一条ACL规则,包括以中心地址为中心,分别向需要匹配的该段地 址的两端分段,所分成的每一个地址段的大小是能够分得的最大的2An,其中n 取非负整数;所分成的每一个地址段用最长前缀匹配算法中的一对关键字prefix 和mask的值表示。
6、 根据权利要求1至4任一所述的方法,其特征在于,所述将每一对关键 字对应地配置为每一条ACL规则之后,进一步包括基于最长前缀匹配方式依 据配置的ACL规则对经过的数据包的地址进行处理。
7、 一种ACL规则的配置装置,其特征在于,该装置包括地址划分模块 和匹配配置;f莫块;其中,地址划分模块用于将需要匹配的一段地址进行分段,并使所分成的每一个 地址段由一对关键字表示;配置模块用于将每一对关键字对应地配置为每一条ACL规则。
8、 根据权利要求7所述的装置,其特征在于,所述地址划分模块包括中 心地址确定模块和分段模块;其中,中心地址确定才莫块,用于确定需要匹配的一段地址的中心地址; 分段模块,用于以中心地址为中心,分别向需要匹配的该段地址的两端,对该段地址进行分革爻。
9、 根据权利要求8所述的装置,其特征在于,所述分段模块具体用于以中心地址为中心,分别向需要匹配的该段地址 的两端分段,所分成的每一个地址段的大小是能够分得的最大的2An,其中n 取非负整数;所分成的每一个地址段用最长前缀匹配算法中的一对关键字prefix 和mask的值表示;所述配置才莫块,具体用于将所分成的每一个地址段的关4建字prefix和mask 的值对应地配置为每一条ACL规则的地址段。
10、 根据权利要求7至9任一所述的装置,其特征在于,该装置进一步包 括匹配模块,用于基于最长前缀匹配方式依据配置的ACL规则对经过的数据 包的地址进行处理。
全文摘要
一种访问控制列表规则的配置方法及装置。本发明公开了一种ACL规则的配置方法,以最长前缀匹配算法为基础,将数据包中所需匹配的一段地址字段,以2^n为单元分成尽可能大的若干个地址段,使所分成的每一个地址段由一对关键字prefix和mask的值表示,并将每一对关键字prefix和mask的值配置为每一条ACL规则,依据所配置的ACL规则即可对经过的数据包的地址进行处理。本发明还同时公开了一种ACL规则的配置装置,采用本发明所述的方法及装置,可以大大减少ACL规则的使用数量,提高ACL规则的使用效率,节省了硬件资源。
文档编号H04L12/56GK101667964SQ20091009333
公开日2010年3月10日 申请日期2009年9月18日 优先权日2009年9月18日
发明者李江卫, 峰 高 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1