建立访问控制列表的方法和装置及数据路由方法和装置的制作方法

文档序号:7759992阅读:112来源:国知局
专利名称:建立访问控制列表的方法和装置及数据路由方法和装置的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及建立访问控制列表的方法和装置及数据路 由方法和装置。
背景技术
策略路由(Policy-Based Routing,简称PBR)提供了一种比仅仅基于目的地址 进行路由转发更加灵活的数据包路由转发机制。策略路由可以根据数据的多种属性,比如 源地址、目的地址、源目端口、协议号、服务类型(Type of Service,简称T0S)字段、是否为 分片报文等灵活地进行路由选择。为了在路由设备上实现策略路由,需要在路由设备上建立访问控制列表(Access Control List,简称ACL),将策略路由的所有匹配规则保存在ACL中,后续接收到数据时, 根据ACL中保存的各种匹配规则进行路由选择。目前,针对策略路由中的匹配规则为需要同时满足数据的多种属性的情况,建立 ACL的过程具体包括针对策略路由的匹配规则,根据该匹配规则中包括的属性的种类数 和每一种属性的取值个数,确定不同属性与属性的不同取值的所有组合,每一种组合使用 ACL中的一个访问控制表项(Access Control Entry,简称ACE)进行保存,从而得到了 ACL。举例来说,比如,策略路由的一个匹配规则为如果数据的源地址在数值范围 A{ai,a2,a3,...affl}内,并且数据的目的地址在数值范围B Ib1, b2,b3,. . . bn}内,并且,数据的 协议号在数值范围Clc1, c2,c3,... ck}内,则将数据路由到教育网。该匹配规则中需要同时 满足数据的3种属性,分别为源地址、目的地址和协议号。对于源地址,其取值共有m个;对 于目的地址,其取值共有η个,对于协议号,其取值共有k个。按照目前的建立ACL的方法, 需要使用不同的ACE来保存3种属性与该3种属性的不同取值的所有组合,比如ACEl (a1 bl, C1)、ACE2 (a2, Id1, C1)…ACEm(am, Id1, C1)、ACEm+1 ^al, b2, C1),…ACE m*n*k (am, bn, ck),共 需要m*n*k个ACE,之后将m*n*k个ACE保存在ACL中,从而建立完成ACL。目前,基于建立的ACL进行数据路由的过程为路由设备接收到数据后,提取数据 中对应的属性的值,将提取的属性值进行组合,在ACL的所有ACE中查找该组合,根据查找 结果对数据进行转发。由以上描述可以看出,在策略路由中的匹配规则为需要同时满足数据的多种属性 的情况下,现有技术建立的ACL中需要设置的ACE数量等于该多种属性与属性的不同取值 的所有组合的数量。而在网络中,属性的种类数量繁多,属性的取值的数量更是巨大,比如 仅源地址的取值就可能会有上万个,因此,按照现有技术的方法建立ACL,ACL中利用ACE来 保存的信息数量是非常巨大的,从而大大浪费了存储资源,并往往会超过ACL的容量限制 要求。并且,基于现有技术中建立的ACL进行数据路由时,由于ACL中利用ACE保存的信 息数量巨大,因此,需要在数量巨大的ACE中查找与提取的属性匹配的ACE,从而会大大增
3加查找的次数,大大降低了查找效率。

发明内容
本发明实施例提供建立ACL的方法和装置,能够节约存储资源。本发明实施例还提供数据路由方法和装置,能够提高查找效率。本发明实施例提供的建立访问控制列表的方法,包括为匹配规则中的各个属性分别设置对应的访问控制列表;在每一个访问控制列表中保存该访问控制列表对应的属性的所有属性值;将对应所述匹配规则中的各个属性的各个访问控制列表进行关联。本发明实施例提供的建立访问控制列表的装置,包括设置模块,用于为匹配规则中的各个属性分别设置对应的访问控制列表;保存模块,用于在每一个访问控制列表中保存该访问控制列表对应的属性的所有 属性值;关联模块,用于将对应所述匹配规则中的各个属性的各个访问控制列表进行关联。本发明实施例提供的数据路由方法,包括本发明实施例提供的建立访问控制列表 的方法,以及接收到数据后,提取所述数据中的所述各个属性的值,在所述进行关联的各个访 问控制列表中分别查找与提取的所述各个属性的值匹配的属性值,根据查找结果对数据进 行转发。本发明实施例提供的数据路由装置,包括本发明实施例提供的建立访问控制列表 的装置,以及提取模块,用于在接收到数据后,提取所述数据中的所述各个属性的值;查找模块,用于在所述进行关联的各个访问控制列表中分别查找与提取的所述各 个属性的值匹配的属性值;路由模块,用于根据所述查找模块的查找结果,对数据进行转发。可见,在本发明实施例提出的建立ACL的方法和装置中,不需要在ACL中保存匹配 规则中各种属性与每一种属性的所有取值的所有组合,而只需要为匹配规则中的各个属性 分别设置对应的ACL,每一个ACL中只需保存该ACL对应的属性的所有属性值即可,并且,在 将对应匹配规则中的各个属性的各个ACL进行关联后,该关联的ACL就能够完整的保存匹 配规则的匹配条件。因此,针对网络中属性种类和属性取值的数量都非常巨大的情况,本发 明实施例建立ACL的方法能够减少需要保存的信息量,大大节约了存储资源,并满足了 ACL 的容量限制要求。并且,由于匹配规则中不同属性的值分别保存在不同的ACL中,因此,对 于用户来说,直观且简明,便于后续维护。可见,在本发明实施例提出的数据路由方法和装置中,由于采用了本发明实施例 提出的建立ACL的方法,因此,需要保存的信息量大大减少,在这些信息量中查找与提取的 属性的值匹配的值,就能够大大减少查找匹配的次数,从而大大提高了查找效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1是本发明实施例中建立ACL的基本流程图;图2是本发明实施例中进行数据路由的基本流程图;图3是本发明实施例的一种应用场景示意图;图4是利用本发明实施例的建立ACL的方法实现数据路由的流程图;图5是本发明实施例中建立ACL的装置的基本结构示意图;图6是本发明实施例中建立ACL的装置的优选结构示意图;图7是本发明实施例中数据路由装置的基本结构示意图;图8是本发明实施例中数据路由装置的优选结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提出了一种建立ACL的方法,参见图1,该方法包括步骤101 为匹配规则中的各个属性分别设置对应的ACL。通过本步骤的处理,匹配规则中的不同属性对应了不同的ACL。步骤102 在每一个ACL中保存该ACL对应的属性的所有属性值。本步骤的一种实现方式可以为在每一个ACL中,使用不同的ACE保存该ACL对应 的属性的不同属性值。步骤103 将对应该匹配规则中的各个属性的各个ACL进行关联。本步骤的一种实现方式可以为将对应匹配规则中的各个属性的各个ACL使用与 逻辑连接。可见,在本发明实施例提出的建立ACL的方法中,不需要在ACL中保存匹配规则中 各种属性与每一种属性的所有取值的所有组合,而只需要为匹配规则中的各个属性分别设 置对应的ACL,每一个ACL中只需保存该ACL对应的属性的所有属性值即可,并且,在将对应 匹配规则中的各个属性的各个ACL进行关联后,该关联的ACL就能够完整的保存匹配规则 的匹配条件。因此,针对网络中属性种类和属性取值的数量都非常巨大的情况,本发明实施 例建立ACL的方法能够减少需要保存的信息量,大大节约了存储资源,并满足了 ACL的容量 限制要求。并且,由于匹配规则中不同属性的值分别保存在不同的ACL中,因此,对于用户 来说,直观且简明,便于后续维护。本发明实施例还提出了一种数据路由方法,参见图2,该方法包括步骤201 为匹配规则中的各个属性分别设置对应的ACL。通过本步骤的处理,匹配规则中的不同属性对应了不同的ACL。步骤202 在每一个ACL中保存该ACL对应的属性的所有属性值。本步骤的一种实现方式可以为在每一个ACL中,使用不同的ACE保存该ACL对应的属性的不同属性值。步骤203 将对应该匹配规则中的各个属性的各个ACL进行关联。本步骤的一种实现方式可以为将对应匹配规则中的各个属性的各个ACL使用与 逻辑连接。步骤204 接收到数据后,提取所述数据中的所述各个属性的值。步骤205 在所述进行关联的各个ACL中分别查找与提取的所述各个属性的值匹 配的属性值。本步骤的一种实现方式可以为根据进行关联的每一个ACL对应的属性,在每一 个ACL的ACE中查找提取的对应的属性的值。步骤206 根据查找结果对数据进行转发。可见,在本发明实施例提出的数据路由方法中,由于采用了本发明实施例提出的 建立ACL的方法,因此,需要保存的信息量大大减少,在这些信息量中查找与提取的属性的 值匹配的值,就能够大大减少查找匹配的次数,从而大大提高了查找效率。下面结合一个具体的应用场景详细说明利用本发明实施例的建立ACL的方法实 现数据路由的详细过程。参见图3,在本发明实施例的一个应用场景中,校园用户通过汇聚设备连接到骨干 网的路由设备上,通过路由设备上配置的反映匹配规则的ACL能够控制校园用户的数据的 路由,即发送到教育网或者电信网。参见图3和图4,本发明实施例建立ACL并利用该ACL进行数据路由的过程包括步骤401 对于策略路由中的包括多种属性的每一条匹配规则,由路由设备为该 匹配规则中的各个属性分别设置对应的ACL。比如,策略路由中的匹配规则1为如果数据的源地址在数值范围Ala1, a2, a3, · · · affl}内,并且数据的目的地址在数值范围BIbnIvb3,..."内,并且,数据的协议号 在数值范围Clc1, C2, C3, . . . cj内,则将数据转发到教育网,否则转发到电信网。为便于描述,以下步骤以针对匹配规则1的处理为例。在匹配规则1中包括3个 属性,分别为源地址、目的地址和协议号。因此,在本步骤中设置对应源地址的ACL(记为 ACL1)、对应目的地址的ACL (记为ACL2)以及对应协议号的ACL (记为ACL3)。步骤402 路由设备在对应源地址的ACLl中保存源地址的所有取值。比如,源地址的取值在数值范围六丨 , , ,…心内,因此,本步骤中需要在ACLl 中保存数值范围々!^,^, ,...。内的所有数值。m为大于1的自然数。在具体的实现中,可以使用ACE来保存每一个数值。也就是说,在ACLl中包括m 个ACE,其中,ACEll中保存ai,ACE12中保存a2,以此类推,直至ACElm中保存am。步骤403 路由设备在对应目的地址的ACL2中保存目的地址的所有取值。比如,目的地址的取值在数值范围Blb1, b2,b3,. . . bj内,因此,本步骤中需要在 ACL2中保存数值范围BIbplvb3P^b1J内的所有数值。η为大于1的自然数。在具体的实现中,可以使用ACE来保存每一个数值。也就是说,在ACL2中包括η 个ACE,其中,ACE21中保存b1; ACE22中保存b2,以此类推,直至ACE2n中保存bn。步骤404 路由设备在对应协议号的ACL3中保存协议号的所有取值。比如,协议号的取值在数值范围C {Cl,c2,c3,... Ck}内,因此,本步骤中需要在ACL3中保存数值范围Clc1, c2,c3,... ck}内的所有数值。k为大于1的自然数。在具体的实现中,可以使用ACE来保存每一个数值。也就是说,在ACL3中包括k 个ACE,其中,ACE31中保存Cl,ACE32中保存c2,以此类推,直至ACE3k中保存ck。步骤405 路由设备将对应匹配规则1中的3个属性的3个ACL进行关联。本步骤中,具体可以将对应匹配规则1中的3个属性的3个ACL使用与逻辑连接。 为了后续使用方便,可以将使用与逻辑连接后的3个ACL形成为一个新的对应该匹配规则 1 的 ACLmix。也就是说,ACLmix = ACL1&ACL2&ACL3。本步骤中,关联的方式还可以采用其他任意一种方式,比如,建立一张映射表,将 ACLl、ACL2和ACL3存放在该映射表中。至此,则完成了本发明实施例中建立ACL的过程。举例说明利用本发明实施例方法建立ACL的有益效果。对于匹配规则1,如果按照 现有技术中建立ACL的方法,需要使用不同的ACE来保存上述3种属性与该3种属性的不 同取值的所有组合,需要保存的信息数量即ACE的数量为m*n*k个,以m、n和k分别取1000 为例,则针对匹配规则1现有技术中需要保存ACE的个数为1000*1000*1000 = IO90利用 本发明实施例提出的建立ACL的方法,ACL1、ACL2和ACL3中需要保存的ACE的个数分别为 m、n和k,因此,总共需要的ACE的个数为m+n+k个,仍以m、n和k分别取1000为例,则针对 匹配规则1本发明实施例中需要的ACE的个数为1000+1000+1000 = 3000个。可见,相对 于现有技术的做法,本发明实施例建立ACL的方法能够大大减少需要保存的信息量,减少 需要的ACE的个数,因此,能够大大节约存储资源。基于本发明实施例建立的ACL实现数据路由还需要执行以下的步骤。步骤406 路由设备接收到汇聚设备发来的校园用户的数据。步骤407 路由设备根据匹配规则1中包括的属性,从接收到的数据中提取对应属 性的值。本步骤中,路由设备具体是从数据中提取源地址、目的地址和协议号的值。步骤408 路由设备判断在进行关联的所有ACL表中是否能够分别查找到与提取 的各个属性的值匹配的值,如果是,则执行步骤409,否则,执行步骤410。本步骤的实现过程可以包括根据进行关联的每一个ACL对应的属性,在每一个 ACL的所有ACE中查找提取的对应的属性的值。比如,一种可行的实现过程为由于匹配规则1对应新形成的ACLmix,ACLmix = ACL1&ACL2&ACL3,因此首先查找ACL1,ACLl对应源地址,因此,在ACLl的所有ACE中查找 从数据中提取的源地址的值,如果能够查找到,则继续查找ACL2,ACL2对应目的地址,因 此,在ACL2的所有ACE中查找从数据中提取的目的地址的值,如果能够查找到,则继续查找 ACL3,ACL3对应协议号,因此,在ACL3的所有ACE中查找从数据中提取的协议号的值,如果 能够查找到,则匹配成功,执行步骤409的处理,如果任意一个查找不到,则匹配失败,执行 步骤410的处理。步骤409 路由设备将接收到的数据转发到教育网,结束当前流程。步骤410 路由设备将接收到的数据转发到电信网。步骤409和步骤410是根据步骤408的查找结果对数据进行转发的过程。根据不 同的查找结果如何对数据进行不同的转发已在匹配规则中定义,因此,步骤409和步骤410
7中具体是根据上述匹配规则1定义的内容进行转发。仍然参照上述例子,使用现有技术中的数据路由方法,由于ACE总共有IO9个,因 此,需要从IO9个ACE中进行查找,查找效率低下。而采用本发明实施例的数据路由方法, 由于ACE的个数为3000个,因此,只需要在3000个ACE中进行查找,相对于现有技术则大 大提高了查找效率。上述图4所示的本发明实施例的流程是对路由设备接收到的数据进行路由。在实 际应用中,本发明实施例的建立ACL的方法以及数据路由方法也可以适用于对路由设备自 身产生的数据进行路由的情况。
需要说明的是,上述基于图4的所有描述是本发明建立ACL以及实现数据路由的 一种实现过程,在实际实现中,可以根据需要在图4所示流程的基础上进行任意变形,比 如,在一种实际实现中,步骤402、步骤403和步骤404的顺序可以以任意方式交换;再如, 步骤408处描述的查找ACLl、ACL2和ACL3的顺序可以任意交换;并且,图4中是以匹配规 则中包括3个属性为例,实际实现中,匹配规则包括的属性可以更多,其实现过程的原理相 同。参见图5,本发明实施例还提出了一种建立ACL的装置,包括设置模块501,用于为匹配规则中的各个属性分别设置对应的ACL ;保存模块502,用于在每一个ACL中保存该ACL对应的属性的所有属性值;关联模块503,用于将对应所述匹配规则中的各个属性的各个ACL进行关联。参见图6,在本发明建立ACL的装置的一个实施例中,保存模块502包括第一保存 子模块601,用于在所述每一个ACL中,使用不同的ACE保存ACL对应的属性的不同属性值。参见图6,在本发明建立ACL的装置的另一个实施例中,关联模块503包括第一关 联子模块602,用于将对应所述匹配规则中的各个属性的各个ACL使用与逻辑连接。本发明实施例还提出了一种数据路由装置,参见图7,数据路由装置包括本发明上 述实施例提出的任意一种建立ACL的装置701,以及提取模块702,用于在接收到数据后,提取所述数据中的所述各个属性的值;查找模块703,用于在所述进行关联的各个ACL中分别查找与提取的所述各个属 性的值匹配的属性值;路由模块704,用于根据所述查找模块的查找结果,对数据进行转发。参见图8,在本发明数据路由装置的一个实施例中,所述查找模块703包括第一查 找子模块801,用于根据所述进行关联的每一个ACL对应的属性,在每一个ACL的ACE中查 找提取的对应的属性的值。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以 对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这 些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
一种建立访问控制列表的方法,其特征在于,包括为匹配规则中的各个属性分别设置对应的访问控制列表;在每一个访问控制列表中保存该访问控制列表对应的属性的所有属性值;将对应所述匹配规则中的各个属性的各个访问控制列表进行关联。
2.根据权利要求1所述的方法,其特征在于,所述在每一个访问控制列表中保存该访 问控制列表对应的属性的所有属性值包括在所述每一个访问控制列表中,使用不同的访问控制表项保存该访问控制列表对应的 属性的不同属性值。
3.根据权利要求1或2所述的方法,其特征在于,所述将对应所述匹配规则中的各个属 性的各个访问控制列表进行关联包括将对应所述匹配规则中的各个属性的各个访问控制列表使用与逻辑连接。
4.一种建立访问控制列表的装置,其特征在于,包括设置模块,用于为匹配规则中的各个属性分别设置对应的访问控制列表; 保存模块,用于在每一个访问控制列表中保存该访问控制列表对应的属性的所有属性值;关联模块,用于将对应所述匹配规则中的各个属性的各个访问控制列表进行关联。
5.根据权利要求4所述的装置,其特征在于,所述保存模块包括第一保存子模块,用于 在所述每一个访问控制列表中,使用不同的访问控制表项保存访问控制列表对应的属性的 不同属性值。
6.根据权利要求4或5所述的装置,其特征在于,所述关联模块包括第一关联子模块, 用于将对应所述匹配规则中的各个属性的各个访问控制列表使用与逻辑连接。
7.一种数据路由方法,其特征在于,包括如权利要求1 3任一所述的建立访问控制列 表的方法,以及接收到数据后,提取所述数据中的所述各个属性的值,在所述进行关联的各个访问控 制列表中分别查找与提取的所述各个属性的值匹配的属性值,根据查找结果对数据进行转发。
8.根据权利要求7所述的方法,其特征在于,所述在所述进行关联的各个访问控制列 表中分别查找与提取的所述各个属性的值匹配的属性值包括根据所述进行关联的每一个访问控制列表对应的属性,在每一个访问控制列表的访问 控制表项中查找提取的对应的属性的值。
9.一种数据路由装置,其特征在于,包括如权利要求4 6任一所述的建立访问控制列 表的装置,以及提取模块,用于在接收到数据后,提取所述数据中的所述各个属性的值; 查找模块,用于在所述进行关联的各个访问控制列表中分别查找与提取的所述各个属 性的值匹配的属性值;路由模块,用于根据所述查找模块的查找结果,对数据进行转发。
10.根据权利要求9所述的装置,其特征在于,所述查找模块包括第一查找子模块,用 于根据所述进行关联的每一个访问控制列表对应的属性,在每一个访问控制列表的访问控 制表项中查找提取的对应的属性的值。
全文摘要
本发明提供了建立访问控制列表的方法和装置及数据路由方法和装置。建立访问控制列表的方法包括为匹配规则中的各个属性分别设置对应的访问控制列表;在每一个访问控制列表中保存该访问控制列表对应的属性的所有属性值;将对应所述匹配规则中的各个属性的各个访问控制列表进行关联。建立访问控制列表的装置包括设置模块、保存模块和关联模块。本发明能够节约存储资源以及提高查找效率。
文档编号H04L12/56GK101938423SQ20101028459
公开日2011年1月5日 申请日期2010年9月15日 优先权日2010年9月15日
发明者李凯 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1