CN103701704A - 基于优先级的插入删除访问控制列表的方法 - Google Patents
基于优先级的插入删除访问控制列表的方法 Download PDFInfo
- Publication number
- CN103701704A CN103701704A CN201310697867.2A CN201310697867A CN103701704A CN 103701704 A CN103701704 A CN 103701704A CN 201310697867 A CN201310697867 A CN 201310697867A CN 103701704 A CN103701704 A CN 103701704A
- Authority
- CN
- China
- Prior art keywords
- entry
- acl
- priority
- template
- acl entry
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于优先级的插入删除访问控制列表的方法,其包括以下步骤:创建至少一个匹配模板并匹配模板的优先级;建立各匹配模板约束集合以确定匹配模板的优先级;建立匹配模板中条目的条目约束以确定各条目的优先级;设定需插入/删除条目的约束条件并根据所设定的约束条件、匹配模板优先级及各条目优先级确定所需插入/删除的条目的匹配模板的模板优先级和条目优先级;根据所需插入/删除的匹配模板的模板优先级和所需插入条目的条目优先级计算所需插入/删除的条目的硬件表项地址;根据所计算的硬件表项地址插入/删除相应条目。本方法中可以根据用户设定的约束条件自动添加和删除条目,并且不对已经存在的其它条目执行顺序造成影响。
Description
技术领域
本发明涉及访问控制列表技术,尤其涉及一种基于优先级的插入删除访问控制列表的方法。
背景技术
目前,访问控制列表(Access Control List,ACL)是由匹配字段集合和动作集合组成的一系列有优先级顺序的规则。网络设备中一般存在着多个ACL条目,根据网络应用场景的需要,这些ACL条目往往需要按照一定的执行顺序执行。在网络设备中,ACL条目的执行顺序是由ACL条目的优先级来保证的,高优先级的先于低优先级条目执行。ACL条目优先级的设定就是建立一个执行顺序到ACL优先级的映射关系,即ACL条目的优先级是根据用户要求的ACL执行顺序的需求制定的,通常根据配置ACL条目的先后顺序基于先配先效或者后配后生效的原则设定ACL条目的优先级,当添加新的ACL条目时,用户必须使新添加的ACL条目在整个ACL条目中的优先级满足如下两个条件:1)新添加ACL条目优先级能够满足该ACL的用户对ACL执行顺序的要求;2)新添加ACL条目的优先级不会影响当前已经存在的ACL的用户对ACL执行顺序的要求。如果能够找出满足条件1、2的优先级的空条目,则该ACL添加成功,否则添加失败。
然而,根据用户需求向ACL列表中添加新的ACL规则,按照现有的人工配置的方式,必须在配置之前,进行大量的人工计算,以确定新增加的ACL条目同时满足条件1、2,随着网络设备中ACL条目的增加,其计算难度也成倍增加。因此,采用现有技术配置ACL规则,如向ACL中添加新的规则,对已经建立的ACL规则进行顺序再调整的工作量非常大,从而使用户添加新的ACL规则很不方便。
发明内容
有鉴于此,本发明提供一种能自动插入/删除满足相应约束条件的ACL条目的基于优先级的插入删除访问控制列表的方法。
一种基于优先级的插入删除访问控制列表的方法,其用于根据用户需求自动插入和删除ACL条目,所述基于优先级的插入删除访问控制列表(Access Control List,ACL)的方法包括以下步骤:
创建至少一个ACL匹配模板并确定所述至少一个ACL匹配模板的优先级;
建立各ACL匹配模板约束集合以确定所述至少一个ACL匹配模板的优先级;
建立所述至少一个ACL匹配模板的ACL条目的条目约束以确定各ACL条目的优先级;
设定需插入/删除的ACL条目的约束条件并根据所设定的约束条件、所述至少一个ACL匹配模板的优先级及各ACL条目的优先级确定所需插入/删除的ACL条目的匹配模板的模板优先级和条目优先级;
根据所需插入/删除的ACL条目匹配模板的模板优先级和所需插入的ACL条目的条目优先级计算所需插入/删除的ACL条目的硬件表项地址;
根据所计算的硬件表项地址插入/删除相应ACL条目。
与现有技术相比,本发明提供的基于优先级的插入删除访问控制列表的方法中,可以自动在当前ACL资源中判断是否存在满足约束条件的未使用资源,并在存在时将要添加ACL条目添加到适当位置,并进行适当ACL资源优先级的调整来满足用户对ACL执行顺序的要求,从而通过本方法可以根据用户设定的约束条件自动添加和删除ACL条目,并且不对已经存在的其它ACL条目执行顺序造成影响。
附图说明
图1是本发明提供的基于优先级的插入删除访问控制列表的方法流程图。
图2-11是图1中不同约束条件下插入ACL条目的方法流程图。
图12是图1中删除ACL条目的方法流程图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
请参阅图1,其为本发明实施方式提供的一种基于优先级的插入删除访问控制列表(Access Control List,ACL)的方法,其用于根据用户需求自动插入和删除ACL条目,所述基于优先级的插入删除访问控制列表的方法包括以下步骤:
S100:创建至少一个ACL匹配模板;
S200:建立各ACL匹配模板约束集合以确定至少一个ACL匹配模板的优先级;
S300:建立至少一个ACL匹配模板的ACL条目的条目约束以确定各ACL条目的优先级;
S400:设定需插入/删除的ACL条目的约束条件并根据所设定的约束条件、至少一个ACL匹配模板的优先级及各ACL条目的优先级确定所需插入/删除的ACL条目的匹配模板的模板优先级和条目优先级;
S500:根据所需插入/删除的ACL条目匹配模板的模板优先级和所需插入的ACL条目的条目优先级计算所需插入/删除的ACL条目的硬件表项地址;
S600:根据所计算的硬件表项地址插入/删除相应ACL条目。
请参阅图3,在步骤S100、S200及S300中,对ACL资源进行初始化包括以下步骤:
S110:根据用户需求和硬件特性来分配ACL匹配模板;
S210:设定每个匹配模板的默认优先级并为每个匹配模板建立模板约束集合且在初始化时模板约束集合为空;
S310:确定整个网络设备的ACL条目优先级范围;
S320:根据每个匹配模板的模板优先级确定每个匹配模板中ACL条目优先级起始范围;
S330:为每个ACL条目创建一个条目约束集合并初始化该条目约束集合为空且条目状态设置为未使用。
在步骤S110,匹配模板可能为1到n个,本实施方式中,如图2所示,根据用户需求将网络设备的ACL资源初始化为4个匹配模板,分别为匹配模板A、匹配模板B、匹配模板C及匹配模板D。每个匹配模板中的未使用初始化ACL条目数分别为CountA、CountB、CountC、及CountD。
在步骤S210中,ACL匹配模板的默认优先级范围为0到匹配模板数-1,本实施方式中,匹配模板A、B、C及D的模板优先级范围为0到3,模板A的条目优先级范围为0到CountA-1,模板B的条目优先级范围为0到CountB-1,模板C的条目优先级范围为0到CountC-1,模板D的条目优先级范围为0到CountD-1。根据条目所在匹配模板的模板优先级和条目的条目优先级可以唯一确定条目的硬件地址。若模板数为n,则每两个模板之间创建一个模板约束,总共创建个模板约束,本实施方式中,模板A初始优先级为0,模板B初始优先级为1,模板C初始优先级为2,模板D初始优先级为3,则模板约束集合为{(A,B),(A,C),(A,D),(B,C),(B,D),(C,D)}共6个模板约束。其中,该模板约束集合中的每个模板约束都带有引用计数,表示该模板约束被多少个该匹配模板内的条目所引用。
在步骤S310中,整个网络设备的ACL条目优先级范围的最小值是0,最大值是所有匹配模板中ACL条目数之和减去1。
在步骤S320中,优先级为0的匹配模板的ACL条目优先级范围为0到该匹配模板ACL条目数减去1,若该匹配模板包含ACL条目数为n,则ACL条目优先级范围为0到n-1,从而依次可以得到所有匹配模板中ACL条目的优先级起始范围。
在步骤S400中,设定的约束条件包括第一种约束条件、第二种约束条件、第三种约束条件及第四种约束条件,本实施方式中,设定已存在的一个第一ACL条目为条目a、一个第二ACL条目为条目b以及需插入的ACL条目为条目c,其中,条目a的优先级小于条目b的优先级。
本实施方式中,各约束条件设定如下:
第一种约束条件:条目c的优先级无限制;
第二种约束条件:条目c的优先级大于条目a的优先级;
第三种约束条件:条目c的优先级小于条目b的优先级;
第四种约束条件:条目c的优先级大于条目a的优先级且小于条目b的优先级。
请参阅图4,在根据所设定的约束条件进行ACL条目插入步骤中,若设定的条目c为第一种约束条件时相应的ACL条目插入步骤包括以下步骤:
S411:判断条目c指定添加的匹配模板中是否存在条目优先级最低的未使用条目,若是,则进入步骤S412,若否,则添加失败。
S412:选择条目c指定添加的匹配模板中条目优先级最低的未使用条目进行条目c的添加。
可以理解的是,根据该条目c指定的匹配模板的模板优先级和条目c优先级计算条目c硬件表项地址,将要添加ACL条目c添加到对应硬件地址。
例如在本实施方式中,在匹配模板A中添加条目a’,且设定的约束条件为第一种,则添加条目过程描述:根据添加ACL条目步骤,选择匹配模板A中的条目优先级最低的条目作为条目a’的添加位置,添加后条目a的条目优先级为0,匹配模板A的模板优先级为0。
请参阅图5,在根据所设定的约束条件进行ACL条目插入步骤中,若设定的需插入的ACL条目为第二种约束条件时相应的ACL条目插入步骤包括以下步骤:
S421:判断条目c与条目a是否属于同一匹配模板,若是,则进入步骤S422,若否,则进入步骤S422a;
S422:在条目a所属的匹配模板中查找是否存在条目优先级大于条目a的未使用条目集合,若是,则进入步骤S423,若否,则进入步骤S423a;
S422a:判断条目c将添加的模板与条目a所属的模板之间是否存在模板约束,若是,则进入步骤S4222a,若否,则进入步骤S4222b;
S4222a:判断所存在的模板约束与条目c及条目a之间的条目约束是否冲突,若是,则添加失败,若否,则进入步骤S4222c;
S4222b:在条目c及条目a的模板约束集合中创建该模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级。其中,设置该新的模板约束的引用计数为1。
S4222c:在条目c指定添加的匹配模板中选择条目优先级最低的未使用条目作为插入条目;
S423:在条目a所属的匹配模板的条目优先级大于条目a的未使用条目集合中选择条目优先级最小的条目作为插入条目;
S423a:在条目a所属的匹配模板中查找是否存在条目优先级小于条目a的未使用条目集合,若是,则进入步骤S424,若否,则添加失败;
S424:将条目c的条目优先级设置为条目a的条目优先级,在条目a所属的匹配模板中条目优先级小于条目a的条目优先级的未使用条目集合中,选择条目优先级最低的条目的优先级作为条目a的新条目优先级并按照新的优先级添加条目a与条目c。
可以理解的是,根据条目a及条目c所属匹配模板的模板优先级和各自条目的条目优先级计算条目a与条目c的硬件表项地址后将条目a及条目c添加到相应硬件地址。
例如在本实施方式中,在匹配模板B中添加条目b’且设定的约束条件为优先级条目a<b,则添加过程描述:根据添加ACL条目步骤,首先判断b’和a条目是否是同一匹配模板,条目a属于模板A,b’属于模板B,不属于同一匹配模板,要满足约束条件,即使模板A的优先级低于模板B的优先级,创建模板约束A<B,此时匹配模板A的模板优先级为0,匹配模板B的模板优先级为1,能够满足约束条件的要求,不需要调整匹配模板的优先级。因此,只需要在匹配模板B中查找是否存在未使用条目集合,并选择条目优先级最低的一个条目作为条目b的添加位置即可。添加后条目a的条目优先级为0,匹配模板A的模板优先级为0,条目b’的条目优先级为0,匹配模板B的优先级为1。其中模板A与模板B模板之间存在模板约束A<B,模板约束(A,B)引用计数加1,关系为A<B。
请参阅图6,在根据所设定的约束条件进行ACL条目插入步骤中,若设定的需插入的ACL条目为第三种约束条件时相应的ACL条目插入步骤包括以下步骤:
S431:判断条目c与条目a是否属于同一匹配模板,若是,则进入步骤S432,若否,则进入步骤S432a;
S432:判断在条目b所属匹配模板中是否存在条目优先级小于条目b的未使用条目集合,若是,则进入步骤S433,若否,则进入步骤S433a;
S432a:判断条目c将添加的模板与条目b所属的模板之间是否存在模板约束,若是,则进入步骤S4322a,若否,则进入步骤S4322b;
S4322a:判断所存在的模板约束与条目c及条目b之间的条目约束是否冲突,若是,则添加失败,若否,则进入步骤S4322c;
S4322b:在条目c及条目b的模板约束集合中创建该模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级。其中,设置该新的模板约束的引用计数为1。其中,设置该新的模板约束的引用计数为1。
S4322c:将条目c指定添加的匹配模板中条目优先级最低的未使用条目作为插入条目;
S433:在条目b所述匹配模板的条目优先级小于条目b优先级的未使用条目集合中选择条目优先级最小的条目作为插入条目;
S433a:判断在条目b所属的匹配模板中是否存在条目优先级大于条目b的未使用条目集合时,若是,则进入步骤S434,若否,则添加失败;
S434:将条目c的条目优先级设置为条目b的条目优先级,在条目b所属的匹配模板中条目优先级大于条目b的条目优先级的未使用条目集合中选择条目优先级最低的条目的优先级作为条目b的新条目优先级并按照新的优先级添加条目b与条目c。
可以理解的是,根据条目b及条目c所属匹配模板的模板优先级和各自条目的条目优先级计算条目b与条目c的硬件表项地址后将条目a及条目c添加到相应硬件地址。
例如:在本实施方式中,在匹配模板C中添加条目c’且设定约束条件为ACL执行优先级为c<b,则添加过程描述:根据添加ACL条目步骤,首先判断c和b条目是否是同一匹配模板,c属于模板C,b属于模板B,不属于同一匹配模板,要满足约束条件,即使模板C的优先级要低于模板B的优先级,创建模板约束,C<B。同时A、B模板间还存在模板约束A<B。首先查询是否存在未使用的小于模板B的优先级,不存在。
因此,必须使A、B、C之间重新调整优先级,在大于模板B的未使用模板优先级中选择优先级最低的,作为模板B的新模板优先级,模板B原有优先级作为模板C优先级。调整后,模板A优先级为0,模板B优先级为2,模板C优先级为1。然后在模板C的未使用条目中选择条目优先级最低的条目作为条目c’的添加位置。添加后,条目a的条目优先级为0,模板A的优先级为0,条目b的条目优先级为0,模板B优先级为2,条目c’的条目优先级为0,模板C优先级为1。模板A、B、C间存在约束条件如下:B>A,C<B。此时模板约束(A,B)引用计数不变,模板约束(B,C)引用计数加1,关系为B>C。
请结合图7-11,在根据所设定的约束条件进行ACL条目插入步骤中,若设定的需插入的ACL条目为第四种约束条件时相应的ACL条目插入步骤包括以下步骤:
S441:判断条目c与条目a是否属于同一匹配模板,若是,则进入步骤S442,若否,则进入步骤S442a;
S442:判断条目c与条目b是否属于同一匹配模板,若是,则进入步骤S443,若否,则进入步骤S443a;
S442a:判断条目c与条目b是否属于同一匹配模板,若是,则进入步骤S4422a,若否,则进入步骤S4422b;
S4422a:判断在条目c指定的匹配模板与条目a所属的匹配模板之间是否存在模板约束,若是,则进入步骤S4422c;若否,则进入步骤S4422d;
S4422b:判断条目a与条目b是否属于同一模板,若是,则进入步骤S4422m,若否,则进入步骤S4422n;
S4422c:判断所存在的模板约束和条目c与条目a之间的条目约束是否冲突,若是,则添加失败,若否,则进入步骤S4422e;
S4422d:在条目a与条目c的模板约束集合中创建新的模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级。
S4422e:查找在条目b所属匹配模板中是否存在条目优先级小于条目b的未使用条目集合,若是,则进入步骤S4422f,若否,则进入步骤S4422g;
S4422f:选择集合中条目优先级最小的条目作为添加条目并设置条目c的条目优先级为该条目的条目优先级;
S4422g:查找在条目b所属匹配模板中是否存在条目优先级大于条目b的未使用条目集合,若是,则进入步骤S4422h,若否,则添加失败;
S4422h:将条目c的条目优先级设置为所述第二ACL条目的条目优先级,在条目b所属匹配模板中条目优先级大于条目b的未使用条目集合中选择条目优先级最小的条目的优先级作为条目b的新条目优先级;
S4422m:条目c添加失败;
S4422n:判断在条目c指定添加的模板与条目a所属的模板之间是否存在模板约束,若是,则进入步骤S44222a,若否,则进入步骤S44222b;
S44222a:判断所存在的模板约束与条目c与条目a及之间的条目约束是否冲突,若是,添加失败,若否,进入步骤S44222c;
S44222b:在条目c与条目a的模板约束集合中创建新的模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级;可以理解的是,根据条目a和条目c所述模板的模板优先级和各自条目的条目优先级计算条目a与条目c的硬件表项地址后将条目a及条目c添加到相应硬件地址。
S44222c:判断条目b所属的模板与条目c所属的模板之间是否存在模板约束,若是,则进入步骤S44222d,若否,则进入步骤S44222e;
S44222d:判断所存在的模板约束与条目c与条目b及之间的条目约束是否冲突,若是,则添加失败,若否,则进入步骤S44222f;
S44222e:在条目c与条目b的模板约束集合中创建新的模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级;可以理解的是,根据条目b和条目c所述模板的模板优先级和各自条目的条目优先级计算条目b与条目c的硬件表项地址后将条目b及条目c添加到相应硬件地址。
S44222f:判断条目a所属的模板与条目b所属的模板之间是否存在模板约束,若是,则进入步骤S44222g,若否,则进入步骤S44222h;
S44222g:判断所存在的模板约束与条目a与条目b及之间的条目约束是否冲突时,若是,则添加失败,若否,则进入步骤S44222i;
S44222h:在条目a与条目b的模板约束集合中创建新的模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级;
S44222i:查找所需插入ACL条目所属的匹配模板中是否存在未使用的条目,若是,则进入步骤S44222j,若否,则添加失败;
S44222j:在条目c所属的模板中条目优先级最低的未使用条目优先级作为条目c的条目优先级;
S443:判断在条目a、条目b及条目c所属的匹配模板中是否存在条目优先级满足第四种约束条件的未使用条目集合,若是,则进入步骤S444,若否,则进入步骤S444a;
S443a:判断在条目c指定的匹配模板与条目b所属的匹配模板之间是否存在模板约束,若是,则进入步骤S4433a,若否,则进入步骤S4433b;
S4433a:判断所存在的模板约束和条目c与条目b之间的条目约束是否冲突,若是,则添加失败,若否,则进入步骤S4433c;
S4433b:在模板约束集合中创建条目c与条目b模板约束,并将该新的模板约束加入模板约束集合,根据新的模板约束集合重新计算并设置满足条件的所有匹配模板的优先级;可以理解的是,根据条目b和条目c所述模板的模板优先级和各自条目的条目优先级计算条目b与条目c的硬件表项地址后将条目b及条目c添加到相应硬件地址。
S4433c:查找在条目a所属匹配模板中是否存在条目优先级大于条目a的未使用条目集合,若是,则进入步骤S4433d,若否,则进入步骤S4433e;
S4433d:选择集合中条目优先级最小的条目作为添加条目并设置条目c的条目优先级为该条目的条目优先级;可以理解的是,根据条目c或条目a的匹配模板优先级和条目优先级计算该条目硬件表项地址,将ACL条目c或条目a添加到该硬件地址。
S4433e:查找在条目a所属匹配模板中是否存在条目优先级小于条目a的未使用条目集合,若是,则进入步骤S4433f,若否,则添加失败;
S4433f:将条目c的条目优先级设置为条目a的条目优先级,在条目a所属匹配模板中条目优先级小于条目a的未使用条目集合中选择条目优先级最小的条目的优先级作为条目a的新条目优先级;
S444:选择集合中条目优先级最低的条目作为插入条目;可以理解的是,根据条目c所属匹配模板的模板优先级和c条目优先级计算c条目的硬件表项地址,将ACL条目c添加到相应硬件地址。
S444a:判断条目a、条目b及条目c所属的匹配模板中是否存在条目优先级小于条目a的未使用条目集合,若是,则进入步骤S4444a,若否,则进入步骤S4444b;
S4444a:将条目c的条目优先级设置为条目a的条目优先级,在条目a所属匹配模板的条目优先级小于条目a的未使用条目集合中,选择条目优先级最小的条目的优先级作为条目a的新条目优先级。可以理解的是,根据条目a,条目c所属匹配模板的模板优先级和各自条目的条目优先级计算条目a,c的硬件表项地址,将ACL条目a,c添加到相应硬件地址。
S4444b:判断在条目a、条目b及条目c所属匹配模板中是否存在条目优先级大于条目b的未使用条目集合,若是,则进入步骤S4444c,若否,则添加失败;
S4444c:将条目c的条目优先级设置为条目b的条目优先级,在条目b所属匹配模板的条目优先级大于条目b的未使用条目集合中,选择条目优先级最小的条目的优先级作为条目b的新条目优先级。
可以理解的是,根据条目b,条目c所属匹配模板的模板优先级和各自条目的条目优先级计算条目b和条目c的硬件表项地址,将ACL条目b和条目c添加到相应硬件地址。
请参阅图12,在步骤S400中设定要删除ACL条目为条目d,则删除条目d的步骤中包括以下步骤:
S451:在已经存在的ACL条目中查找是否存在到条目d,若是,则进入步骤S452,若否,则条目c删除成功;
S452:判断条目d的条目约束是否为空,若是,则进入步骤S500,若否,则进入步骤S453;
S453:判断条目d中的所有条目约束是否属于同一匹配模板,若是,则执行步骤S454,若否,则进入步骤S454a;
S454:在条目约束中的每一条ACL条目的条目约束集合中删除相关条目约束;
S454a:在条目约束的ACL条目所在匹配模板中的模板约束集合中删除相关模板约束;
在步骤S454中,与条目约束中的ACL条目不属于同一匹配模板模板约束引用计数-1。从条目d所在匹配模板的模板约束集合里找到d所在模板和非d条目所在模板的模板约束,并对其引用计数-1。如果引用计数变为0,在条目d所在模板的模板约束集合中删除该约束。从非条目d所在匹配模板的模板约束集合里找到非c条目所在模板和d所在模板的模板约束,并对其引用计数-1。如果引用计数变为0,在非d条目所在模板的模板约束集合中删除该约束。
在步骤S454a中,在删除条目d相关条目约束时,从条目c的条目约束集合中删除d和非d条目的条目约束,从非条目c的条目约束集合中删除d和非d条目的条目约束。
例如,在本实施方式中,在匹配模板A中添加条目d且约束条件为ACL执行优先级d>b,则添加过程描述:根据添加ACL条目步骤,首先判断b和d条目是否是同一匹配模板,d属于模板A,b属于模板B,不属于同一匹配模板,要满足约束条件,即使模板A的优先级高于模板B的优先级,需要修改模板约束(A,B)的关系为A>B,但由于模板(A,B)间已经存在模板约束,且关系为A<B,则与模板约束的需求冲突。因此添加条目d失败。即当模板约束已被使用(引用计数不为0)时,模板约束的关系不能修改。
例如,在匹配模板A中添加条目e且约束条件为ACL执行优先级e<b,则添加过程描述:根据添加ACL条目步骤,首先判断e和d条目是否是同一匹配模板,e属于模板A,b属于模板B,不属于同一匹配模板,要满足约束条件,即使模板A的优先级低模板B的优先级,模板(A,B)间已经存在模板约束,且关系为A<B,因此对模板约束(A,B)的引用计数加1,条目e在匹配模板A中顺序添加即可满足约束条件,此时模板约束(A,B)的引用计数为2。
本发明提供的基于优先级的插入删除访问控制列表的方法中,可以自动在当前ACL资源中判断是否存在满足约束条件的未使用资源,并在存在时将要添加ACL条目添加到适当位置,并进行适当ACL资源优先级的调整来满足用户对ACL执行顺序的要求,从而通过本方法可以根据用户设定的约束条件自动添加和删除ACL条目,并且不对已经存在的其它ACL条目执行顺序造成影响。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
Claims (10)
1.一种基于优先级的插入删除访问控制列表的方法,其用于根据用户需求自动插入和删除ACL条目,所述基于优先级的插入删除访问控制列表(Access Control List,ACL)的方法包括以下步骤:
创建至少一个ACL匹配模板并确定所述至少一个ACL匹配模板的优先级;
建立各ACL匹配模板约束集合以确定所述至少一个ACL匹配模板的优先级;
建立所述至少一个ACL匹配模板的ACL条目的条目约束以确定各ACL条目的优先级;
设定需插入/删除的ACL条目的约束条件并根据所设定的约束条件、所述至少一个ACL匹配模板的优先级及各ACL条目的优先级确定所需插入/删除的ACL条目的匹配模板的模板优先级和条目优先级;
根据所需插入/删除的ACL条目匹配模板的模板优先级和所需插入的ACL条目的条目优先级计算所需插入/删除的ACL条目的硬件表项地址;
根据所计算的硬件表项地址插入/删除相应ACL条目。
2.如权利要求1所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在设定约束条件的ACL条目的步骤中,所述约束条件包括第一种约束条件、第二种约束条件、第三种约束条件及第四种约束条件,设定已存在的一个第一ACL条目及一个第二ACL条目且所述第一ACL条目的优先级小于所述第二ACL条目的优先级,所述第一种约束条件为插入的ACL条目无限制,所述第二种约束条件为插入的ACL条目的优先级大于所述第一ACL条目,所述第三种约束条件为插入的ACL条目的优先级小于所述第二ACL条目,所述第四种约束条件为插入的ACL条目的优先级大于所述第一ACL条目且小于所述第二ACL条目。
3.如权利要求2所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在根据所设定的第一种约束条件进行相应的ACL条目插入的步骤中包括以下步骤:
找出所需插入的ACL条目指定添加的匹配模板中条目优先级最低的未使用条目作为插入条目。
4.如权利要求2所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在根据所设定的第二种约束条件进行相应的ACL条目插入的步骤中包括以下步骤:
判断需插入ACL条目与所述第一ACL条目是否属于同一匹配模板,若是,则在所述第一ACL条目所属的匹配模板中存在条目优先级大于所述第一ACL条目的未使用条目集合时选择所述未使用条目集合中条目优先级最小的条目作为插入条目,若否,则在需插入的ACL条目将添加的模板与所述第一ACL条目所属的模板之间存在模板约束且所存在的模板约束与需插入ACL条目及所述第一ACL条目之间的条目约束不冲突时,将需插入ACL条目指定添加的匹配模板中条目优先级最低的未使用条目作为插入条目,在需插入的ACL条目将添加的模板与所述第一ACL条目所属的模板之间不存在模板约束时,在模板约束集合中创建新的模板约束并根据新的模板约束集合以设置各匹配模板的优先级,在新的模板约束集合中将需插入ACL条目指定添加的匹配模板中条目优先级最低的未使用条目作为插入条目。
5.如权利要求4所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在判断需插入ACL条目与所述第一ACL条目属于同一匹配模板的步骤中还包括以下步骤:
在所述第一ACL条目所属的匹配模板中不存在条目优先级大于所述第一ACL条目的未使用条目集合时且在所述第一ACL条目所属的匹配模板中存在条目优先级小于所述第一ACL条目的未使用条目集合时,将需插入的ACL条目的条目优先级设置为所述第一ACL条目的条目优先级,在所述第一ACL条目所属的匹配模板中条目优先级小于所述第一ACL条目的条目优先级的未使用条目集合中,选择条目优先级最低的条目的优先级作为所述第一ACL条目的新条目优先级。
6.如权利要求2所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在根据所设定的第三种约束条件进行相应的ACL条目插入的步骤中包括以下步骤:
判断需插入ACL条目与所述第一ACL条目是否属于同一匹配模板,若是,则在所述第二ACL条目所属匹配模板中存在条目优先级小于所述第二ACL条目的未使用条目集合时选择所述未使用条目集合中最小条目优先级作为需插入ACL条目的优先级,若否,则需插入的ACL条目将添加的模板与所述第二ACL条目所属的模板之间存在模板约束且所存在的模板约束与需插入ACL条目及所述第二ACL条目之间的条目约束不冲突时,将需插入ACL条目指定添加的匹配模板中条目优先级最低的未使用条目作为插入条目,在需插入的ACL条目将添加的模板与所述第二ACL条目所属的模板之间不存在模板约束时,在模板约束集合中创建新的模板约束并根据新的模板约束集合以设置各匹配模板的优先级,在新的模板约束集合中将需插入ACL条目指定添加的匹配模板中条目优先级最低的未使用条目作为插入条目。
7.如权利要求6所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在判断需插入ACL条目与所述第二ACL条目属于同一匹配模板的步骤中还包括以下步骤:
在所述第二ACL条目所属的匹配模板中不存在条目优先级小于所述第二ACL条目的未使用条目集合且在所述第二ACL条目所属的匹配模板中存在条目优先级大于所述第二ACL条目的未使用条目集合时,将需插入ACL条目的条目优先级设置为所述第二ACL条目的条目优先级,在所述第二ACL条目所属的匹配模板中条目优先级大于所述第二ACL条目的条目优先级的未使用条目集合中,选择条目优先级最低的条目的优先级作为所述第二ACL条目的新条目优先级。
8.如权利要求2所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在根据所设定的第四种约束条件进行相应的ACL条目插入的步骤中包括以下步骤:
判断所需插入ACL条目与所述第一ACL条目及所述第二ACL条目是否均属于同一匹配模板,若是,则在所述第一ACL条目、所述第二ACL条目及所需插入ACL条目所属的匹配模板中存在条目优先级满足所述第四种约束条件的未使用条目集合时选择集合中条目优先级最低的条目的优先级作为所需插入ACL条目优先级;
若否,则在所述第一ACL条目与需插入ACL条目属于同一匹配模板且所述第二ACL条目与所需插入ACL条目不属于同一个匹配模板且在所需插入ACL条目指定的匹配模板与所述第二ACL条目所属的匹配模板之间存在模板约束且所存在的模板约束和所需插入ACL条目与所述第二ACL条目之间的条目约束不冲突时,在所述第一ACL条目所属匹配模板中存在条目优先级大于所述第一ACL条目的未使用条目集合时选择条目优先级最小的条目作为添加条目并设置所需插入ACL条目的条目优先级为该条目的条目优先级,在所述第一ACL条目所属匹配模板中不存在条目优先级大于所述第一ACL条目的未使用条目集合且在所述第一ACL条目所属匹配模板中存在条目优先级小于所述第一ACL条目的未使用条目集合时,将所需插入ACL条目的条目优先级设置为所述第一ACL条目的条目优先级,在所述第一ACL条目所属匹配模板中条目优先级小于所述第一ACL条目的未使用条目集合中选择条目优先级最小的条目的优先级作为所述第一ACL条目的新条目优先级;
在所述第一ACL条目与需插入ACL条目不属于同一匹配模板且所述第二ACL条目与所需插入ACL条目属于同一个匹配模板且在所需插入ACL条目指定的匹配模板与所述第一ACL条目所属的匹配模板之间存在模板约束且所存在的模板约束和所需插入ACL条目与所述第一ACL条目之间的条目约束不冲突时,在所述第二ACL条目所属匹配模板中存在条目优先级小于所述第二ACL条目的未使用条目集合时选择条目优先级最小的条目作为添加条目并设置所需插入ACL条目的条目优先级为该条目的条目优先级,在所述第二ACL条目所属匹配模板中不存在条目优先级小于所述第二ACL条目的未使用条目集合且在所述第二ACL条目所属匹配模板中存在条目优先级大于所述第二ACL条目的未使用条目集合时,将所需插入ACL条目的条目优先级设置为所述第二ACL条目的条目优先级,在所述第二ACL条目所属匹配模板中条目优先级大于所述第二ACL条目的未使用条目集合中选择条目优先级最小的条目的优先级作为所述第二ACL条目的新条目优先级;
在所述第一ACL条目、所述第二ACL条目与需插入的ACL条目均不属于同一匹配模板,若所述第一ACL条目所属的模板与需插入的ACL条目所属的模板之间存在模板约束且所存在的模板约束与所需插入ACL条目与所述第一ACL条目及之间的条目约束不冲突时,以及所述第二ACL条目所属的模板与需插入的ACL条目所属的模板之间存在模板约束且所存在的模板约束与所需插入ACL条目与所述第二ACL条目及之间的条目约束不冲突时,以及所述第一ACL条目所属的模板与所述第二ACL条目所属的模板之间存在模板约束且所存在的模板约束与所述第一ACL条目与所述第二ACL条目及之间的条目约束不冲突时,且在所需插入ACL条目所属的匹配模板中存在未使用的条目时,在所需插入ACL条目所属的模板中条目优先级最低的未使用条目优先级作为所需插入ACL条目的条目优先级。
9.如权利要求8所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在判断所述第一ACL条目、所述第二ACL条目及所需插入ACL条目属于同一匹配模板的步骤中还包括以下步骤:
在所述第一ACL条目、所述第二ACL条目及所需插入ACL条目所属的匹配模板中不存在条目优先级满足所述第四种约束条件的未使用条目集合且在所述第一ACL条目、所述第二ACL条目及所需插入ACL条目所属的匹配模板中存在条目优先级小于所述第一ACL条目的未使用条目集合时,将所需插入ACL条目的条目优先级设置为所述第一ACL条目的条目优先级,在所述第一ACL条目所属匹配模板的条目优先级小于所述第一ACL条目的未使用条目集合中,选择条目优先级最小的条目的优先级作为所述第一ACL条目的新条目优先级;
在所述第一ACL条目、所述第二ACL条目及所需插入ACL条目所属的匹配模板中不存在条目优先级小于所述第一ACL条目的未使用条目集合且在所述第一ACL条目、所述第二ACL条目及所需插入ACL条目所属匹配模板中存在条目优先级大于所述第二ACL条目的未使用条目集合时,将所需插入ACL条目的条目优先级设置为所述第二ACL条目的条目优先级,在所述第二ACL条目所属匹配模板的条目优先级大于所述第二ACL条目的未使用条目集合中,选择条目优先级最小的条目的优先级作为所述第二ACL条目的新条目优先级。
10.如权利要求1所述的基于优先级的插入删除访问控制列表的方法,其特征在于,在删除ACL条目步骤中包括以下步骤:
在已经存在的ACL条目中查找是否存在到需删除的ACL条目;
若存在并在所需删除的ACL条目的条目约束为非空时判断在所需删除的ACL条目中的所有条目约束是否属于同一匹配模板,若是,则在条目约束中的每一条ACL条目的条目约束集合中删除相关条目约束;若否,则在条目约束的ACL条目所在匹配模板中的模板约束集合中删除相关模板约束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310697867.2A CN103701704B (zh) | 2013-12-18 | 2013-12-18 | 基于优先级的插入删除访问控制列表的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310697867.2A CN103701704B (zh) | 2013-12-18 | 2013-12-18 | 基于优先级的插入删除访问控制列表的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103701704A true CN103701704A (zh) | 2014-04-02 |
CN103701704B CN103701704B (zh) | 2016-09-28 |
Family
ID=50363106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310697867.2A Active CN103701704B (zh) | 2013-12-18 | 2013-12-18 | 基于优先级的插入删除访问控制列表的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701704B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168900A (zh) * | 2017-05-26 | 2017-09-15 | 杭州迪普科技股份有限公司 | 一种配置acl表项的方法和装置 |
CN108667644A (zh) * | 2017-03-31 | 2018-10-16 | 华为数字技术(苏州)有限公司 | 配置acl业务的方法及转发设备 |
CN109150686A (zh) * | 2018-09-07 | 2019-01-04 | 迈普通信技术股份有限公司 | Acl表项下发方法、装置及网络设备 |
CN109688126A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN110807003A (zh) * | 2018-07-18 | 2020-02-18 | 成都华为技术有限公司 | 修改访问控制列表的引用计数的方法和装置 |
CN110837647A (zh) * | 2018-08-16 | 2020-02-25 | 迈普通信技术股份有限公司 | 管理访问控制列表的方法及装置 |
CN114745177A (zh) * | 2022-04-11 | 2022-07-12 | 浪潮思科网络科技有限公司 | 一种acl规则的处理方法、装置、设备及介质 |
CN116016387A (zh) * | 2023-03-10 | 2023-04-25 | 苏州浪潮智能科技有限公司 | 访问控制列表生效控制方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414757A (zh) * | 2002-05-08 | 2003-04-30 | 华为技术有限公司 | 自动按序配置访问控制列表规则的方法及其应用 |
CN101035062A (zh) * | 2006-03-09 | 2007-09-12 | 中兴通讯股份有限公司 | 一种三重内容可寻址存储器报文分类的规则更新方法 |
US20090125470A1 (en) * | 2007-11-09 | 2009-05-14 | Juniper Networks, Inc. | System and Method for Managing Access Control Lists |
CN101447940A (zh) * | 2008-12-23 | 2009-06-03 | 杭州华三通信技术有限公司 | 访问控制列表规则的更新方法和装置 |
CN102857510A (zh) * | 2012-09-18 | 2013-01-02 | 杭州华三通信技术有限公司 | 访问控制列表acl表项下发方法和装置 |
-
2013
- 2013-12-18 CN CN201310697867.2A patent/CN103701704B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414757A (zh) * | 2002-05-08 | 2003-04-30 | 华为技术有限公司 | 自动按序配置访问控制列表规则的方法及其应用 |
CN101035062A (zh) * | 2006-03-09 | 2007-09-12 | 中兴通讯股份有限公司 | 一种三重内容可寻址存储器报文分类的规则更新方法 |
US20090125470A1 (en) * | 2007-11-09 | 2009-05-14 | Juniper Networks, Inc. | System and Method for Managing Access Control Lists |
CN101447940A (zh) * | 2008-12-23 | 2009-06-03 | 杭州华三通信技术有限公司 | 访问控制列表规则的更新方法和装置 |
CN102857510A (zh) * | 2012-09-18 | 2013-01-02 | 杭州华三通信技术有限公司 | 访问控制列表acl表项下发方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667644A (zh) * | 2017-03-31 | 2018-10-16 | 华为数字技术(苏州)有限公司 | 配置acl业务的方法及转发设备 |
CN107168900A (zh) * | 2017-05-26 | 2017-09-15 | 杭州迪普科技股份有限公司 | 一种配置acl表项的方法和装置 |
CN107168900B (zh) * | 2017-05-26 | 2019-09-06 | 杭州迪普科技股份有限公司 | 一种配置acl表项的方法和装置 |
CN110807003A (zh) * | 2018-07-18 | 2020-02-18 | 成都华为技术有限公司 | 修改访问控制列表的引用计数的方法和装置 |
CN110807003B (zh) * | 2018-07-18 | 2023-03-24 | 成都华为技术有限公司 | 修改访问控制列表的引用计数的方法和装置 |
CN110837647A (zh) * | 2018-08-16 | 2020-02-25 | 迈普通信技术股份有限公司 | 管理访问控制列表的方法及装置 |
CN109150686A (zh) * | 2018-09-07 | 2019-01-04 | 迈普通信技术股份有限公司 | Acl表项下发方法、装置及网络设备 |
CN109150686B (zh) * | 2018-09-07 | 2020-12-22 | 迈普通信技术股份有限公司 | Acl表项下发方法、装置及网络设备 |
CN109688126A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN109688126B (zh) * | 2018-12-19 | 2021-08-17 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN114745177A (zh) * | 2022-04-11 | 2022-07-12 | 浪潮思科网络科技有限公司 | 一种acl规则的处理方法、装置、设备及介质 |
CN116016387A (zh) * | 2023-03-10 | 2023-04-25 | 苏州浪潮智能科技有限公司 | 访问控制列表生效控制方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103701704B (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103701704A (zh) | 基于优先级的插入删除访问控制列表的方法 | |
US9075633B2 (en) | Configuration of life cycle management for configuration files for an application | |
Kurtz | Weak and strong solutions of general stochastic models | |
Xie et al. | Input-to-state stabilization of switched nonlinear systems | |
US20130326458A1 (en) | Timing refinement re-routing | |
CN106992887A (zh) | 基于容器的应用实例弹性伸缩的实现方法、装置及系统 | |
JP2008537254A (ja) | 同期マネジャによるコンフリクト解決 | |
CN103929366A (zh) | 流量控制方法、装置及设备 | |
WO2015184880A1 (zh) | 一种排列图标的方法和用户终端 | |
CN105323100A (zh) | 告警的生成方法及装置 | |
CN104361190B (zh) | 二次系统中虚端子自动化连接的方法及装置 | |
Zachary | A note on insensitivity in stochastic networks | |
KR20150015526A (ko) | 사용자 선택 가능 ieee 1588 클록 클래스 및 품질 레벨 매핑 | |
CN103488476A (zh) | 关联数据处理系统和关联数据处理方法 | |
CN109510681A (zh) | 一种通信网络时间同步级数最小的基准节点选择方法 | |
CN112600193A (zh) | 配电网的负荷评估方法及装置 | |
US10402422B2 (en) | Method and system for synchronizing data | |
CN106126285A (zh) | 一种软件升级方法及终端 | |
CN108549797A (zh) | 一种用户及用户组及角色的系统权限管理方法 | |
US6816866B2 (en) | Method of changing a parameter of an operating system of a computer system | |
CN101963994A (zh) | 基于xml的自动生成设备属性调节界面的方法与装置 | |
CN112463889A (zh) | 区块链数据存储方法、装置、设备和介质 | |
CN107682362A (zh) | 一种信息流控制方法及装置 | |
CN117743472B (zh) | 一种存储任务断点同步方法、装置、介质及设备 | |
CN103916963B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170413 Address after: 430000 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four Patentee after: Fenghuo Communication Science &. Technology Co., Ltd. Address before: East Lake high tech city of Wuhan province Hubei Dongxin road 430074 No. 5 East optical communication industry building Patentee before: Wuhan Fenghuo Network Co., Ltd. |
|
TR01 | Transfer of patent right |