CN102638394A - 一种确定访问控制列表表项对应的模板的方法以及装置 - Google Patents
一种确定访问控制列表表项对应的模板的方法以及装置 Download PDFInfo
- Publication number
- CN102638394A CN102638394A CN2012100718395A CN201210071839A CN102638394A CN 102638394 A CN102638394 A CN 102638394A CN 2012100718395 A CN2012100718395 A CN 2012100718395A CN 201210071839 A CN201210071839 A CN 201210071839A CN 102638394 A CN102638394 A CN 102638394A
- Authority
- CN
- China
- Prior art keywords
- bit
- bitmap
- value
- template
- mated
- 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
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种确定访问控制列表表项对应的模板的方法以及装置,包括:根据用于匹配ACE的各模板中包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及与每个第一位图对应的第二位图后,确定ACE包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置以查找将确定出的位置作为指定位置时对应的第一位图及与第一位图对应的第二位图,然后在查找出的第一位图中索引在查找到的第二位图中确定的比特位对应的比特位组中确定在同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,在第一位图中确定出的比特位对应的模板作为ACE匹配的模板,从而减少ACE匹配的模板的过程的运算量。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种确定访问控制列表表项对应的模板的方法以及装置。
背景技术
在因特网中,终端与终端之间进行数据交互时需要交换机以及路由器(Router)进行数据的转发,即交换机以及路由器用于在数据的发送端与接收端之间转发数据,以使数据能够到达数据的发送端指定的接收端,其中,交换机是基于介质访问控制(Media Access Control,MAC)地址在局域网内进行数据的转发;路由器是连接因特网中各局域网、广域网的设备,路由器会根据数据通道的状态自动选择和设定路由,以最佳路径将数据发送至指定的终端。
通常,在交换机以及路由器中会保存访问控制列表(Access Control Lists,ACL)用于控制在交换机以及路由器的各端口传输的数据,为便于描述,以下将以路由器为例进行相关描述。ACL可以控制网络的数据流量、维护路由器的安全以及控制访问路由器的终端,例如,ACL可以根据端口传输的数据所依据的协议将数据设定为不同的优先级别,根据协议决定需要优先发送的数据,从而通过控制数据的发送顺序优化数据传输的路径,进一步,还可以通过更改数据的字节长度达到控制网络数据流量的目的。ACL主要通过设定的规则来控制经过路由器各端口的数据,具体地,ACL由多个表项组成,每个表项称为访问控制列表表项(Access Control Entry,ACE),ACL包括的各ACE中设定了数据的匹配条件,如此,ACL可以根据各ACE对应的匹配条件控制经过路由器各端口的数据。
一般地,各ACE对应的匹配条件中包括数据的源地址、目标地址、协议类型等信息,该匹配条件中的一个信息对应一个匹配域,例如,若匹配条件为源网络协议(Internet Protocol,IP)地址、目标MAC地址以及目标IP,则该匹配条件包括三个匹配域,即源IP地址、目标MAC地址以及目标IP分别对应的匹配域。
实际应用中,路由器可以将ACL保存在MAC芯片的内容识别处理器(Content Aware Processor,CAP)中,由CAP根据ACL包括的各ACE对应的匹配条件控制经过路由器各端口的数据。具体地,CAP包括多个模板,每个模板对应一个匹配域集合,在CAP对ACL包括的各ACE进行保存时,需要确定出每个ACE匹配的模板,例如,ACE中包括的需要数据匹配的匹配条件为数据的源IP与目的IP,CAP中包括三个模板,分别为:第一个模板的匹配域集合为源MAC、目的MAC以及源IP;第二个模板的匹配域集合为源MAC、目的MAC以及目的IP;第三个模板的匹配域集合为源IP、目的IP以及协议类型,该三个模板中只有第三个模板包括ACE全部的匹配域,因此,该ACE对应的模板为第三个模板。
此处,以CAP包括10240个模板、每个模板包括128个匹配域,ACE也包括128个匹配域为例进行描述,其中,一个匹配域对应1bit,即一个模板为128bits的位图,ACE也对应128bits的位图,如图1所示,bit0为模板的第1个匹配域,bit1为模板的第2个匹配域,bit2为模板的第3个匹配域,依次类推至bit127为模板的第128个匹配域,其中,若bit0的值为1,表明模板的bit0对应的匹配域可以用来匹配ACE中对应的匹配域,若ACE的bit0为1,表明需要对该bit0对应的匹配域进行匹配。
图2示出了在CAP中确定ACE匹配的模板的流程示意图,如图2所示,在CAP中确定ACE匹配的模板的过程,主要包括以下步骤:
步骤201、遍历CAP包括的第一个模板。
步骤202、确定要保存的ACE包括的各匹配域的匹配域集合是否为该模板对应的匹配域集合的子集,若是,执行步骤203;否则,执行步骤204。
该步骤202中,为减少确定要保存的ACE包括的各匹配域的匹配域集合是否为该模板对应的匹配域集合的子集的运算量,会将128bits按每32bits一组分为4组,以组为单位与ACE对应的匹配域集合进行与的运算,若ACE对应的匹配域集合是模板对应的匹配域集合的子集,则该模板为ACE匹配的模板。
步骤203、确定该模板为ACE匹配的模板。
步骤204、遍历下一个模板,执行步骤202。
至此,在该CAP中确定ACE匹配的模板的流程结束。
在图2对应的流程中,若ACE匹配的模板是第10240个模板,则需要遍历第10240个模板前的10239个模板,才能够确定出该第10240个模板,或者,若根据设定要求需要针对该ACE从10240个模板中确定出与该ACE匹配的全部模板,则需要遍历10240个模板,从确定出的多个与ACE匹配的模板中选择较佳的模板或任意选择出一个模板。在实际应用中,对ACL中包括的其他ACE都会执行上述确定ACE匹配的模板的过程,而实际中CAP能够支持几万甚至几十万的模板数量,如此,若确定ACL包括的各ACE匹配的模板,则需要相当大的运算量。
综上所述,现有技术中,为了确定出与ACE对应的模板,需要遍历CAP支持的各模板,在此过程中,可能在遍历大量的与ACE不对应的模板后,才能确定出与ACE对应的模板,因此,该确定ACE匹配的模板的过程存在运算量大的问题,确定与ACE对应的模板的效率低。
发明内容
有鉴于此,本发明实施例提供一种确定访问控制列表表项对应的模板的方法以及装置,用于解决确定ACE匹配的模板的过程运算量大的问题。
本发明实施例通过如下技术方案实现:
根据本发明实施例的一个方面,提供了一种确定访问控制列表表项对应的模板的方法,根据用于匹配访问控制列表表项ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图,其中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且所述第一位图包括的每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值;每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的;
所述方法,包括:确定ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置;根据每个第一位图分别对应各模板一个指定位置的比特位,查找将确定出的位置作为指定位置时对应的第一位图及其与第一位图对应的第二位图;根据查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;在查找出的第一位图中索引在第二位图中确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
根据本发明实施例的另一个方面,还提供了一种确定访问控制列表表项对应的模板的装置,包括:
位图生成单元,用于根据用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图,其中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且所述第一位图包括的每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值;每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的;
位置确定单元,用于确定ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置;
位图查找单元,用于根据每个第一位图分别对应各模板一个指定位置的比特位,查找将所述位置确定单元确定出的位置作为指定位置时对应的所述位图生成单元生成的第一位图及其与第一位图对应的第二位图;
第二位图中的比特位确定单元,用于根据所述位图查找单元查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
第一位图中的比特位确定单元,用于在所述位图查找单元查找出的第一位图中索引所述第二位图中的比特位确定单元确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
模板确定单元,用于根据第一位图中包括的比特位与各模板的对应关系,将所述第一位图中的比特位确定单元在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
通过本发明实施例提供的上述至少一个技术方案,首先根据用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图,其中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值,每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的。在生成第一位图以及第二位图后,根据每个第一位图分别对应各模板一个指定位置的比特位,查找将确定出的ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置作为指定位置时,对应的第一位图及其与第一位图对应的第二位图,然后根据查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,并在查找出的第一位图中索引确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,从而根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。本技术方案与现有技术相比较,不需要将ACE包括的各匹配域与该模板之前的各模板包括的匹配域进行比较,从而减少了确定ACE匹配的模板的过程中的运算量,提高了确定与ACE对应的模板的效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为背景技术中提供的用于匹配ACE的模板的结构示意图;
图2为背景技术中提供的在CAP中确定ACE匹配的模板的流程示意图;
图3为本发明提供的一种生成多个第一位图以及分别与每个第一位图对应的第二位图的结构示意图;
图4为本发明实施例一提供的一种确定访问控制列表表项对应的模板的流程示意图;
图5为本发明实施例一提供的一种确定ACE对应的模板的优选实施方式的流程示意图;
图6为本发明实施例一提供的一种确定ACE对应的模板的又一优选实施方式的流程示意图;
图7为本发明实施例二提供的一种确定ACE对应的模板的结构示意图;
图8为本发明实施例二提供的确定ACE701对应的模板的流程示意图;
图9为本发明实施例三提供的一种确定访问控制列表表项对应的模板的装置的结构示意图。
具体实施方式
为了给出解决确定ACE匹配的模板的过程运算量大的问题的实现方案,本发明实施例提供了一种确定访问控制列表表项对应的模板的方法以及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明提供的技术方案中,在对ACE进行模板匹配之前,需要将用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图。其中,用于标识各个匹配域是否能够被匹配的各比特位的值,可以根据实际情况进行灵活设置,例如,将二进制值1确定为标识各个匹配域能够被匹配的各比特位的值,将二进制值0确定为标识各个匹配域不能够被匹配的各比特位的值;也可以根据实际情况,将二进制值0确定为标识各个匹配域能够被匹配的各比特位的值,将二进制值1确定为标识各个匹配域不能够被匹配的各比特位的值。
上述生成的第一位图以及第二位图中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且所述第一位图包括的每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值,每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的,例如,当第一位图中的比特位组中包含的各比特位的值中存在至少一个用于标识匹配域能够被匹配的值时,确定与该比特位组对应的比特位的值为用于标识匹配域能够被匹配的值,否则,确定与该比特位组对应的比特位的值为用于标识匹配域不能够被匹配的值,第二位图由以上确定出的值组成,其中,用于标识匹配域能够被匹配的值可以采用二进制的值1或0来表示,此处不再赘述。
图3示出了将用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图的结构示意图,如图3所示,该结构中包括用于匹配ACE的10240个模板、与各模板分别包括的比特位的数目一致的第一位图以及与第一位图对应的第二位图,其中:
10240个模板依次为第1模板301、第2模板302直至第10240模板303,每个模板分别包括128个比特位,进一步,第一位图304A包括上述10240个模板中每个模板的第0位的比特位的值,第一位图305A包括上述10240个模板中每个模板的第1位的比特位的值,直到第一位图306A,该第一位图306A包括上述10240个模板中每个模板的第127位的比特位的值,即对应模板的128个比特位存在128个第一位图,且每个第一位图包括10240个比特位,将第一位图包括的10240个比特位以32个比特位为一比特位组进行分组,可以得到320组比特位组,并对每组的比特位的值进行设定运算,得到与比特位组分别对应的320个比特位上的值,该320个比特位上的值组成了第二位图,例如,与第一位图304A对应的第二位图304B、与第一位图305A对应的第二位图305B以及与第一位图306A对应的第二位图306B。
图3所示的结构图中,还以各模板的第0比特位生成的第一位图304A以及第二位图304B为例示出了第一位图与各模板之间的关系以及第一位图与第二位图之间的关系,如图3所示,第一位图304A包括的第0比特位的值为第1模板301的第0比特位的值,第1比特位的值为第2模板302的第0比特位的值,第10239比特位的值为第10240模板303的第0比特位的值。对应该第一位图304A,第二位图304B的第0比特位对应第一位图的第0比特位至第31比特位,第二位图304B的第1比特位对应第一位图的第32比特位至第63比特位,直至第二位图304B的第319比特位对应第一位图的第10208比特位至第10239比特位。
实施例一
基于上述生成的多个第一位图以及分别与每个第一位图对应的第二位图,实施例一提供了一种确定访问控制列表表项对应的模板的方法,应用方法匹配ACE的模板,能够减少确定ACE匹配的模板的过程的运算量,从而提高了确定与ACE对应的模板的效率低。
图4示出了本发明实施例一提供的一种确定访问控制列表表项对应的模板的流程示意图,如图4所示,该确定访问控制列表表项对应的模板的过程,主要包括以下步骤:
步骤401、确定ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置。
该步骤401中,ACE包括的匹配域由比特位上的值表示,从而该ACE包括的匹配域的数目可以理解为该ACE包括的比特位的数目,进一步,通常该ACE包括的比特位的数目与用于匹配该ACE的模板包括的比特位的数目相同,在对ACE进行模板匹配时,需要将ACE包括的比特位中与各模板包括的比特位中处于同样设定位置的比特位进行比较,因此,本技术方案在对ACE进行模板匹配时,会首先确定出ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置。
步骤402、根据每个第一位图分别对应各模板一个指定位置的比特位,查找将确定出的位置作为指定位置时对应的第一位图及其与第一位图对应的第二位图。
该步骤402中,确定出的第一位图中包括各模板中与指定位置(即确定出的位置)对应的比特位上的值。
步骤403、根据查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位。
步骤404、在查找出的第一位图中索引在第二位图中确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位。
步骤405、根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
至此,确定访问控制列表表项对应的模板的流程结束。
图4对应的流程中,只需要查找第二位图中确定出的第二位图分别包括的比特位中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,进而查找与确定出的第二位图对应的第一位图分别包括的比特位中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,即能将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板,并不需要将ACE包括的各匹配域与确定出的匹配ACE的模板之前的各模板包括的匹配域进行比较,从而减少了确定ACE匹配的模板的过程中的运算量,提高了确定与ACE对应的模板的效率。
在图4对应的流程包括的步骤402中,即根据每个第一位图分别对应各模板一个指定位置的比特位,查找将确定出的位置作为指定位置时对应的第一位图及其与第一位图对应的第二位图中,查找的第一位图可能为一个,也可能为多个(至少大于等于两个),相应的,查找的第二位图可能为一个也可能为多个,根据上述两种情况,本发明实施例一提供了与上述两种情况分别相应的确定ACE对应的模板的优选实施方式,具体如下:
优选实施方式一
该优选实施方式一中,根据每个第一位图分别对应各模板一个指定位置的比特位,查找出一个第一位图和一个第二位图,则确定ACE对应的模板的过程,如图5所示,主要包括以下步骤:
步骤501、根据查找出的第二位图中包含的比特位的值,确定在查找到的该第二位图中包含的用于标识匹配域能够被匹配的值所处的比特位。
该步骤501中,可以直接从确定出的第二位图中确定出第二位图中包含的用于标识匹配域能够被匹配的值所处的比特位,不需要对确定出的第二位图之外的第二位图进行任何运算,从而减少了确定ACE对应的模板过程中的运算量,且该从确定出的第二位图中确定出第二位图中包含的用于标识匹配域能够被匹配的值所处的比特位的方式,可以根据实际情况进行灵活设置,例如,若用于标识匹配域能够被匹配的值为二进制值1,则直接从确定出的第二位图包括的各比特位的值中确定出值为1的比特位即可,实际应用中也可以根据需要将用于标识匹配域能够被匹配的值设置为二进制值0,此处本发明不再赘述。
步骤502、在查找出的第一位图中索引确定的比特位对应的比特位组。
步骤503、在索引到的比特位组中包含的各比特位的值中,确定用于标识匹配域能够被匹配的值所处的比特位。
该步骤503中,只需要在确定出的第一位图中确定出的比特位组中确定用于标识匹配域能够被匹配的值所处的比特位,不需要对该确定出的比特位组之外的比特位进行相关操作,从而在步骤501的基础上,进一步减少了确定ACE对应的模板过程中的运算量。具体地在比特位组中确定用于标识匹配域能够被匹配的值所处的比特位的操作可以参考步骤501的相关描述进行操作,此处不再赘述。
步骤504、根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
至此,确定ACE对应的模板的流程结束。
优选实施方式二
该优选实施方式二中,根据每个第一位图分别对应各模板一个指定位置的比特位,查找出至少两个第一位图和与至少两个第一位图分别对应的至少两个第二位图,则确定ACE对应的模板的过程,如图6所示,主要包括以下步骤:
步骤601、对查找出的至少两个第二位图中分别包含的比特位值序列执行与运算。
该步骤601中,为了从确定出的至少两个第二位图中查找出各第二位图分别包括的比特位中在第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,采用了对第二位图中分别包含的比特位值序列执行与运算的方式确定该比特位,实际应用中,还可以根据实际情况采用其他方式查找出各第二位图分别包括的比特位中在第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,本方案优选的采用与运算。此外,在执行与运算时,一般是对各第二位图分别包含的比特位序列中各比特位的位置一致的比特位进行与运算。
步骤602、在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位。
该步骤602中,基于步骤601的运算方式,运算结果包括的比特位与原第二位图包括的比特位是一一对应的,并且结算结果中保留了各确定出的第二位图中包括的处于同一位置的比特位上的值均为用于标识匹配域能够被匹配的值时的值,从而可以从运算结果中确定用于标识匹配域能够被匹配的值所处的比特位。
步骤603、分别在查找出的至少两个第一位图中索引在第二位图中确定的比特位对应的比特位组。
步骤604、将索引到的至少两个比特位组分别包含的比特位值序列执行与运算。
该步骤604中,可以参考步骤601中的相关描述进行与运算。
步骤605、在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位。
步骤606、根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
至此,确定ACE对应的模板的流程结束。
至此,以上优选实施方式一以及优选实施方式二为本发明提供的确定ACE对应的模板的优选方案。
在图4对应的流程包括的步骤405中,即根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板中,确定出的与ACE匹配的模板可能为一个,也可能为多个,若为多个,可以从该多个ACE匹配的模板中选择任一模板作为ACE最终匹配的模板,或者,将确定出的多个模板中符合设定条件的模板,作为与ACE最终匹配的模板,例如,在确定出的模板为多个模板时,可以进一步设置出ACE中还需要用于匹配的比特位,通过该额外设置的比特位从确定出多个模板中确定与ACE最终匹配的模板,该确定与ACE最终匹配的模板的方式可以采用现有技术中确定ACE对应的模板的方式进行确定,也可以采用本技术方案提供的上述确定ACE对应的模板的方式进行确定,具体地,此处不再赘述。
实施例二
该实施例二提供了一种与实施例一提供的一种确定访问控制列表表项对应的模板的方法对应的应用场景,通过在该场景中应用本技术方案,能够减少确定ACE匹配的模板的过程中的运算量,从而提高了确定与ACE对应的模板的效率低。
图7示出了本实施例二提供的一种确定ACE对应的模板的结构示意图,该结构示意图与图3提供的将用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值生成多个第一位图以及分别与每个第一位图对应的第二位图的结构示意图对应,如图7所示的结构示意图,包括ACE701、用于匹配该ACE701时需要的第一位图以及与第一位图对应的第二位图,具体地,为第一位图702A以及第二位图702B、第一位图703A以及第二位图703B直至第一位图704A以及第二位图704B,其中第一位图702A包括用于匹配该ACE701的各模板的第0比特位的值,第一位图703A包括用于匹配该ACE701的各模板的第1比特位的值,第一位图704A包括用于匹配该ACE701的各模板的第127比特位的值。
在图7所示的结构示意图中,ACE701包含的比特位中存在2个用于标识各个匹配域能够被匹配的值所在的比特位,分别为第1比特位以及第127比特位,则在确定ACE701对应的模板时,需要根据该第1比特位以及第127比特位确定出与ACE701对应的模板所对应的第一位图中的比特位,具体地,确定ACE701对应的模板的过程,如图8所示,主要包括以下步骤:
步骤801、确定ACE701中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置分别为第1比特位以及第127比特位。
步骤802、根据每个第一位图分别对应各模板一个指定位置的比特位,查找到与第1比特位以及第127比特位分别对应的第一位图703A以及第二位图703B、第一位图704A以及第二位图704B。
步骤803、对第二位图703B以及第二位图704B的比特位序列进行与运算,得到用于标识匹配域能够被匹配的值所处的比特位为第0比特位以及第4比特位。
该步骤803中,如图7所示,第一运算结果705为对第二位图703B以及第二位图704B的比特位序列进行与运算的运算结果,该第一运算结果705中用于标识匹配域能够被匹配的值所处的比特位为第0比特位以及第4比特位。
步骤804、在第一位图703A以及第一位图704A中索引确定出的第0比特位以及第3比特位对应的比特位组。
该步骤804中,为便于描述,以在第一位图703A以及第一位图704A中索引第0比特位对应的比特位组为例进行说明,如图7所示,第一位图703A与确定出的第0比特位对应的比特位组包括第一位图703A的第0比特位至第31比特位,第一位图704A与确定出的第0比特位对应的比特位组包括第一位图703A的第0比特位至第31比特位。
步骤805、对第一位图703A以及第一位图704A中确定出的比特位组包括的比特位序列进行与运算,得到运算结果中用于标识匹配域能够被匹配的值所处的比特位为第4比特位。
该步骤805中,如图7所示,第二运算结果706为对第一位图703A以及第一位图704A中确定出的比特位组包括的比特位序列进行与运算的运算结果,该第二运算结果706中的第4比特位为用于标识匹配域能够被匹配的值所处的比特位。
步骤806、根据第一位图中包括的比特位与各模板的对应关系,将确定的第4比特位对应的第5模板作为ACE701匹配的模板。
该步骤806中,可以参考图3以及图7,确定出第4比特位对应的模板为第5模板,进而,该地5模板为ACE701匹配的模板。
至此,确定ACE701对应的模板的流程结束。
实施例三
该实施例三对应实施例一提供的一种确定访问控制列表表项对应的模板的方法,提供了一种确定访问控制列表表项对应的模板的装置,采用该装置确定ACE对应的模板,能够减少确定ACE匹配的模板的过程中的运算量,从而提高了确定与ACE对应的模板的效率低。
图9示出了本实施例三提供的一种确定访问控制列表表项对应的模板的装置的结构示意图,如图9所示,该装置包括:
位图生成单元901、位置确定单元902、位图查找单元903、第二位图中的比特位确定单元904、第一位图中的比特位确定单元905以及模板确定单元906,其中:
位图生成单元901,用于根据用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图,其中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值;每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的;
位置确定单元902,用于确定ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置;
位图查找单元903,用于根据每个第一位图分别对应各模板一个指定位置的比特位,查找将位置确定单元902确定出的位置作为指定位置时对应的位图生成单元901生成的第一位图及其与第一位图对应的第二位图;
第二位图中的比特位确定单元904,用于根据位图查找单元903查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
第一位图中的比特位确定单元905,用于在位图查找单元903查找出的第一位图中索引第二位图中的比特位确定单元904确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
模板确定单元906,用于根据第一位图中包括的比特位与各模板的对应关系,将第一位图中的比特位确定单元905在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
本发明实施例三提供的优选实施方式中,在图9所示装置包括的位图生成单元901,具体用于当在该比特位组中包含的各比特位的值中存在至少一个用于标识匹配域能够被匹配的值时,确定与该比特位组对应的比特位的值为用于标识匹配域能够被匹配的值;否则,确定与该比特位组对应的比特位的值为用于标识匹配域不能够被匹配的值。
本发明实施例三提供的优选实施方式中,在图9所示装置包括的第二位图中的比特位确定单元904,具体用于当位图查找单元903查找出一个第一位图和一个第二位图时,根据查找出的第二位图中包含的比特位的值,确定在查找到的该第二位图中包含的用于标识匹配域能够被匹配的值所处的比特位;
第一位图中的比特位确定单元905,具体用于在查找出的第一位图中索引第二位图中的比特位确定单元904确定的比特位对应的比特位组,并在索引到的比特位组中包含的各比特位的值中,确定用于标识匹配域能够被匹配的值所处的比特位。
本发明实施例三提供的优选实施方式中,在图9所示装置包括的第二位图中的比特位确定单元904,具体用于当位图查找单元903查找出至少两个第一位图和与至少两个第一位图分别对应的至少两个第二位图时,对查找出的至少两个第二位图中分别包含的比特位值序列执行与运算;在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位;
第一位图中的比特位确定单元905,具体用于分别在查找出的至少两个第一位图中索引第二位图中的比特位确定单元904确定的比特位对应的比特位组;将索引到的至少两个比特位组分别包含的比特位值序列执行与运算;在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位。
本发明实施例三提供的优选实施方式中,在图9所示装置包括的模板确定单元906,具体用于若在第一位图中确定出的比特位对应的模板数量为多个时,将确定出的多个模板中的任一模板作为与ACE最终匹配的模板;或将确定出的多个模板中符合设定条件的模板,作为与ACE最终匹配的模板。
应当理解,以上装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的装置所实现的功能与上述实施例提供的一种确定访问控制列表表项对应的模板的方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
并且,本实施例三中的一种确定访问控制列表表项对应的模板的装置还具有能够实现实施例一和实施例二方案的功能模块,此处不再赘述。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种确定访问控制列表表项对应的模板的方法,其特征在于,根据用于匹配访问控制列表表项ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图,其中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且所述第一位图包括的每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值;每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的;
所述方法,包括:
确定ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置;
根据每个第一位图分别对应各模板一个指定位置的比特位,查找将确定出的位置作为指定位置时对应的第一位图及其与第一位图对应的第二位图;
根据查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
在查找出的第一位图中索引在第二位图中确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
根据第一位图中包括的比特位与各模板的对应关系,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
2.如权利要求1所述的方法,其特征在于,根据比特位组中包含的各比特位的值,确定与该比特位组对应的比特位的值,包括:
当在该比特位组中包含的各比特位的值中存在至少一个用于标识匹配域能够被匹配的值时,确定与该比特位组对应的比特位的值为用于标识匹配域能够被匹配的值;否则
确定与该比特位组对应的比特位的值为用于标识匹配域不能够被匹配的值。
3.如权利要求1所述的方法,其特征在于,当查找出一个第一位图和一个第二位图时,根据查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,包括:
根据查找出的第二位图中包含的比特位的值,确定在查找到的该第二位图中包含的用于标识匹配域能够被匹配的值所处的比特位;
根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,包括:
在索引到的比特位组中包含的各比特位的值中,确定用于标识匹配域能够被匹配的值所处的比特位。
4.如权利要求1所述的方法,其特征在于,当查找出至少两个第一位图和与至少两个第一位图分别对应的至少两个第二位图时,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,包括:
对查找出的至少两个第二位图中分别包含的比特位值序列执行与运算;
在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位;
在查找出的第一位图中索引确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位,包括:
分别在查找出的至少两个第一位图中索引在第二位图包括的确定的比特位对应的比特位组;
将索引到的至少两个比特位组分别包含的比特位值序列执行与运算;
在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位。
5.如权利要求1~4任一权利要求所述的方法,其特征在于,将在第一位图中确定出的比特位对应的模板作为ACE匹配的模板,包括:
若在第一位图中确定出的比特位对应的模板数量为多个时,将确定出的多个模板中的任一模板作为与ACE最终匹配的模板;或
将确定出的多个模板中符合设定条件的模板,作为与ACE最终匹配的模板。
6.一种确定访问控制列表表项对应的模板的装置,其特征在于,包括:
位图生成单元,用于根据用于匹配ACE的各模板中分别包含的用于标识各个匹配域是否能够被匹配的各比特位的值,生成多个第一位图以及分别与每个第一位图对应的第二位图,其中,每个第一位图分别对应各模板一个指定位置的比特位,每个第一位图包括与各模板分别对应的比特位、且所述第一位图包括的每个比特位的值为该比特位对应的模板中与该第一位图对应的指定位置的比特位的值;每个第二位图包括与对该第二位图对应的第一位图中包含的各比特位分组得到的各比特位组一一对应的比特位,且与每个比特位组对应的比特位的值是根据该比特位组中包含的各比特位的值确定的;
位置确定单元,用于确定ACE中包含的用于标识各个匹配域能够被匹配的值所在的比特位在ACE中的位置;
位图查找单元,用于根据每个第一位图分别对应各模板一个指定位置的比特位,查找将所述位置确定单元确定出的位置作为指定位置时对应的所述位图生成单元生成的第一位图及其与第一位图对应的第二位图;
第二位图中的比特位确定单元,用于根据所述位图查找单元查找出的第二位图中包含的比特位的值,确定在查找到的第二位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
第一位图中的比特位确定单元,用于在所述位图查找单元查找出的第一位图中索引所述第二位图中的比特位确定单元确定的比特位对应的比特位组,并根据索引到的比特位组中包含的各比特位的值,确定在查找到的第一位图中同一位置的比特位上均为用于标识匹配域能够被匹配的值所处的比特位;
模板确定单元,用于根据第一位图中包括的比特位与各模板的对应关系,将所述第一位图中的比特位确定单元在第一位图中确定出的比特位对应的模板作为ACE匹配的模板。
7.如权利要求6所述的装置,其特征在于,所述位图生成单元,具体用于当在该比特位组中包含的各比特位的值中存在至少一个用于标识匹配域能够被匹配的值时,确定与该比特位组对应的比特位的值为用于标识匹配域能够被匹配的值;否则确定与该比特位组对应的比特位的值为用于标识匹配域不能够被匹配的值。
8.如权利要求6所述的装置,其特征在于,所述第二位图中的比特位确定单元,具体用于当所述位图查找单元查找出一个第一位图和一个第二位图时,根据查找出的第二位图中包含的比特位的值,确定在查找到的该第二位图中包含的用于标识匹配域能够被匹配的值所处的比特位;
所述第一位图中的比特位确定单元,具体用于在索引到的比特位组中包含的各比特位的值中,确定用于标识匹配域能够被匹配的值所处的比特位。
9.如权利要求6所述的装置,其特征在于,所述第二位图中的比特位确定单元,具体用于当所述位图查找单元查找出至少两个第一位图和与至少两个第一位图分别对应的至少两个第二位图时,对查找出的至少两个第二位图中分别包含的比特位值序列执行与运算;在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位;
所述第一位图中的比特位确定单元,具体用于分别在查找出的至少两个第一位图中索引所述第二位图中的比特位确定单元确定的比特位对应的比特位组;将索引到的至少两个比特位组分别包含的比特位值序列执行与运算;在运算结果中,确定用于标识匹配域能够被匹配的值所处的比特位。
10.如权利要求6~9任一权利要求所述的装置,其特征在于,所述模板确定单元,具体用于若在第一位图中确定出的比特位对应的模板数量为多个时,将确定出的多个模板中的任一模板作为与ACE最终匹配的模板;或将确定出的多个模板中符合设定条件的模板,作为与ACE最终匹配的模板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210071839.5A CN102638394B (zh) | 2012-03-16 | 2012-03-16 | 一种确定访问控制列表表项对应的模板的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210071839.5A CN102638394B (zh) | 2012-03-16 | 2012-03-16 | 一种确定访问控制列表表项对应的模板的方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102638394A true CN102638394A (zh) | 2012-08-15 |
CN102638394B CN102638394B (zh) | 2014-10-29 |
Family
ID=46622647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210071839.5A Active CN102638394B (zh) | 2012-03-16 | 2012-03-16 | 一种确定访问控制列表表项对应的模板的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102638394B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236493B1 (en) * | 2002-06-13 | 2007-06-26 | Cisco Technology, Inc. | Incremental compilation for classification and filtering rules |
CN101146027A (zh) * | 2006-09-14 | 2008-03-19 | 中兴通讯股份有限公司 | 基于访问控制列表分类的方法 |
US20100080223A1 (en) * | 2008-09-30 | 2010-04-01 | Wong Michael K | Efficient acl lookup algorithms |
CN101938423A (zh) * | 2010-09-15 | 2011-01-05 | 北京星网锐捷网络技术有限公司 | 建立访问控制列表的方法和装置及数据路由方法和装置 |
-
2012
- 2012-03-16 CN CN201210071839.5A patent/CN102638394B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236493B1 (en) * | 2002-06-13 | 2007-06-26 | Cisco Technology, Inc. | Incremental compilation for classification and filtering rules |
CN101146027A (zh) * | 2006-09-14 | 2008-03-19 | 中兴通讯股份有限公司 | 基于访问控制列表分类的方法 |
US20100080223A1 (en) * | 2008-09-30 | 2010-04-01 | Wong Michael K | Efficient acl lookup algorithms |
CN101938423A (zh) * | 2010-09-15 | 2011-01-05 | 北京星网锐捷网络技术有限公司 | 建立访问控制列表的方法和装置及数据路由方法和装置 |
Non-Patent Citations (2)
Title |
---|
王萌等: "一种防火墙规则快速匹配方法", 《计算机与数字工程》, vol. 38, no. 10, 20 October 2010 (2010-10-20), pages 102 - 105 * |
胡茂福等: "基于交叉位图的多维流分类算法", 《计算机应用研究》, vol. 27, no. 8, 15 August 2010 (2010-08-15), pages 3058 - 3063 * |
Also Published As
Publication number | Publication date |
---|---|
CN102638394B (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102025535B (zh) | 虚拟机管理方法、装置及网络设备 | |
CN102624611B (zh) | 报文分流方法、装置、处理器和网络设备 | |
CN104580027A (zh) | 一种OpenFlow报文转发方法及设备 | |
CN103795602A (zh) | 虚拟网络的网络策略配置方法及装置 | |
CN103780430A (zh) | 监控网络设备的方法和装置 | |
CN103931144B (zh) | 一种在虚拟域中通信的方法、设备和系统 | |
WO2014116610A1 (en) | Systems and methods for configuring a network switch appliance | |
EP3819732A1 (en) | Control method and device employing industrial ethernet | |
CN103001878A (zh) | Mac地址哈希冲突的确定方法及装置 | |
CN103731356A (zh) | 报文处理方法及装置 | |
CN114387966A (zh) | 智能设备的控制方法、装置、电子设备及存储介质 | |
CN104205745A (zh) | 报文处理的方法与设备 | |
CN103581041A (zh) | Mtu值的设置方法和电子设备 | |
CN101146130B (zh) | 一种在客户端间传输数据的方法及系统 | |
CN112633353B (zh) | 基于包长概率分布与k近邻算法的物联网设备识别方法 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
US20200067767A1 (en) | Automated provisioning of networked access points by port or location | |
CN104023040A (zh) | 一种信息处理的方法及装置 | |
CN102195853A (zh) | 一种保存位图的方法和装置 | |
CN101478482A (zh) | 报文分类中的非规则匹配方法、装置和系统 | |
CN111523782B (zh) | 工控资产管理方法、装置、设备及存储介质 | |
CN105450432A (zh) | 一种用于定位端口连接错误的方法和相关设备 | |
CN110377800B (zh) | 一种fc芯片数据发送方法及系统 | |
CN102638394A (zh) | 一种确定访问控制列表表项对应的模板的方法以及装置 | |
CN103581020A (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 |