專利名稱:一種確定訪問控制列表表項對應的模板的方法以及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種確定訪問控制列表表項對應的模板的方法以及裝置。
背景技術(shù):
在因特網(wǎng)中,終端與終端之間進行數(shù)據(jù)交互時需要交換機以及路由器(Router)進行數(shù)據(jù)的轉(zhuǎn)發(fā),即交換機以及路由器用于在數(shù)據(jù)的發(fā)送端與接收端之間轉(zhuǎn)發(fā)數(shù)據(jù),以使數(shù)據(jù)能夠到達數(shù)據(jù)的發(fā)送端指定的接收端,其中,交換機是基于介質(zhì)訪問控制(MediaAccess Contix)l,MAC)地址在局域網(wǎng)內(nèi)進行數(shù)據(jù)的轉(zhuǎn)發(fā);路由器是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,路由器會根據(jù)數(shù)據(jù)通道的狀態(tài)自動選擇和設(shè)定路由,以最佳路徑將數(shù)據(jù)發(fā)送至指定的終端。通常,在交換機以及路由器中會保存訪問控制列表(Access Control Lists,ACL)用于控制在交換機以及路由器的各端口傳輸?shù)臄?shù)據(jù),為便于描述,以下將以路由器為例進行相關(guān)描述。ACL可以控制網(wǎng)絡(luò)的數(shù)據(jù)流量、維護路由器的安全以及控制訪問路由器的終端,例如,ACL可以根據(jù)端口傳輸?shù)臄?shù)據(jù)所依據(jù)的協(xié)議將數(shù)據(jù)設(shè)定為不同的優(yōu)先級別,根據(jù)協(xié)議決定需要優(yōu)先發(fā)送的數(shù)據(jù),從而通過控制數(shù)據(jù)的發(fā)送順序優(yōu)化數(shù)據(jù)傳輸?shù)穆窂剑M一步,還可以通過更改數(shù)據(jù)的字節(jié)長度達到控制網(wǎng)絡(luò)數(shù)據(jù)流量的目的。ACL主要通過設(shè)定的規(guī)則來控制經(jīng)過路由器各端口的數(shù)據(jù),具體地,ACL由多個表項組成,每個表項稱為訪問控制列表表項(Access Control Entry, ACE), ACL包括的各ACE中設(shè)定了數(shù)據(jù)的匹配條件,如此,ACL可以根據(jù)各ACE對應的匹配條件控制經(jīng)過路由器各端口的數(shù)據(jù)。一般地,各ACE對應的匹配條件中包括數(shù)據(jù)的源地址、目標地址、協(xié)議類型等信息,該匹配條件中的一個信息對應一個匹配域,例如,若匹配條件為源網(wǎng)絡(luò)協(xié)議(InternetProtocol, IP)地址、目標MAC地址以及目標IP,則該匹配條件包括三個匹配域,即源IP地址、目標MAC地址以及目標IP分別對應的匹配域。實際應用中,路由器可以將ACL保存在MAC芯片的內(nèi)容識別處理器(ContentAware Processor, CAP)中,由CAP根據(jù)ACL包括的各ACE對應的匹配條件控制經(jīng)過路由器各端口的數(shù)據(jù)。具體地,CAP包括多個模板,每個模板對應一個匹配域集合,在CAP對ACL包括的各ACE進行保存時,需要確定出每個ACE匹配的模板,例如,ACE中包括的需要數(shù)據(jù)匹配的匹配條件為數(shù)據(jù)的源IP與目的IP,CAP中包括三個模板,分別為第一個模板的匹配域集合為源MAC、目的MAC以及源IP ;第二個模板的匹配域集合為源MAC、目的MAC以及目的IP ;第三個模板的匹配域集合為源IP、目的IP以及協(xié)議類型,該三個模板中只有第三個模板包括ACE全部的匹配域,因此,該ACE對應的模板為第三個模板。此處,以CAP包括10240個模板、每個模板包括128個匹配域,ACE也包括128個匹配域為例進行描述,其中,一個匹配域?qū)猯bit,即一個模板為128bits的位圖,ACE也對應128bits的位圖,如圖I所示,bitO為模板的第I個匹配域,bitl為模板的第2個匹配域,bit2為模板的第3個匹配域,依次類推至bitl27為模板的第128個匹配域,其中,若bitO、的值為1,表明模板的bitO對應的匹配域可以用來匹配ACE中對應的匹配域,若ACE的bitO為1,表明需要對該bitO對應的匹配域進行匹配。圖2示出了在CAP中確定ACE匹配的模板的流程示意圖,如圖2所示,在CAP中確定ACE匹配的模板的過程,主要包括以下步驟步驟201、遍歷CAP包括的第一個模板。步驟202、確定要保存的ACE包括的各匹配域的匹配域集合是否為該模板對應的匹配域集合的子集,若是,執(zhí)行步驟203 ;否則,執(zhí)行步驟204。
該步驟202中,為減少確定要保存的ACE包括的各匹配域的匹配域集合是否為該模板對應的匹配域集合的子集的運算量,會將128bits按每32bits —組分為4組,以組為單位與ACE對應的匹配域集合進行與的運算,若ACE對應的匹配域集合是模板對應的匹配域集合的子集,則該模板為ACE匹配的模板。步驟203、確定該模板為ACE匹配的模板。步驟204、遍歷下一個模板,執(zhí)行步驟202。至此,在該CAP中確定ACE匹配的模板的流程結(jié)束。在圖2對應的流程中,若ACE匹配的模板是第10240個模板,則需要遍歷第10240個模板前的10239個模板,才能夠確定出該第10240個模板,或者,若根據(jù)設(shè)定要求需要針對該ACE從10240個模板中確定出與該ACE匹配的全部模板,則需要遍歷10240個模板,從確定出的多個與ACE匹配的模板中選擇較佳的模板或任意選擇出一個模板。在實際應用中,對ACL中包括的其他ACE都會執(zhí)行上述確定ACE匹配的模板的過程,而實際中CAP能夠支持幾萬甚至幾十萬的模板數(shù)量,如此,若確定ACL包括的各ACE匹配的模板,則需要相當大的運算量。綜上所述,現(xiàn)有技術(shù)中,為了確定出與ACE對應的模板,需要遍歷CAP支持的各模板,在此過程中,可能在遍歷大量的與ACE不對應的模板后,才能確定出與ACE對應的模板,因此,該確定ACE匹配的模板的過程存在運算量大的問題,確定與ACE對應的模板的效率低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供一種確定訪問控制列表表項對應的模板的方法以及裝置,用于解決確定ACE匹配的模板的過程運算量大的問題。本發(fā)明實施例通過如下技術(shù)方案實現(xiàn)根據(jù)本發(fā)明實施例的一個方面,提供了一種確定訪問控制列表表項對應的模板的方法,根據(jù)用于匹配訪問控制列表表項ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖,其中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且所述第一位圖包括的每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值;每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的;所述方法,包括確定ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置;根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將確定出的位置作為指定位置時對應的第一位圖及其與第一位圖對應的第二位圖;根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位;在查找出的第一位圖中索引在第二位圖中確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位;根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。 根據(jù)本發(fā)明實施例的另一個方面,還提供了一種確定訪問 控制列表表項對應的模板的裝置,包括位圖生成單元,用于根據(jù)用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖,其中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且所述第一位圖包括的每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值;每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的;位置確定單元,用于確定ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置;位圖查找單元,用于根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將所述位置確定單元確定出的位置作為指定位置時對應的所述位圖生成單元生成的第一位圖及其與第一位圖對應的第二位圖;第二位圖中的比特位確定單元,用于根據(jù)所述位圖查找單元查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位;第一位圖中的比特位確定單元,用于在所述位圖查找單元查找出的第一位圖中索引所述第二位圖中的比特位確定單元確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位;模板確定單元,用于根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將所述第一位圖中的比特位確定單元在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。通過本發(fā)明實施例提供的上述至少一個技術(shù)方案,首先根據(jù)用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖,其中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值,每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的。在生成第一位圖以及第二位圖后,根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將確定出的ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置作為指定位置時,對應的 第一位圖及其與第一位圖對應的第二位圖,然后根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,并在查找出的第一位圖中索引確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,從而根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。本技術(shù)方案與現(xiàn)有技術(shù)相比較,不需要將ACE包括的各匹配域與該模板之前的各模板包括的匹配域進行比較,從而減少了確定ACE匹配的模板的過程中的運算量,提高了確定與ACE對應的模板的效率。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中圖I為背景技術(shù)中提供的用于匹配ACE的模板的結(jié)構(gòu)示意圖;圖2為背景技術(shù)中提供的在CAP中確定ACE匹配的模板的流程示意圖;圖3為本發(fā)明提供的一種生成多個第一位圖以及分別與每個第一位圖對應的第二位圖的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例一提供的一種確定訪問控制列表表項對應的模板的流程不意圖;圖5為本發(fā)明實施例一提供的一種確定ACE對應的模板的優(yōu)選實施方式的流程不意圖;圖6為本發(fā)明實施例一提供的一種確定ACE對應的模板的又一優(yōu)選實施方式的流程不意圖;圖7為本發(fā)明實施例二提供的一種確定ACE對應的模板的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例二提供的確定ACE701對應的模板的流程示意圖;圖9為本發(fā)明實施例三提供的一種確定訪問控制列表表項對應的模板的裝置的結(jié)構(gòu)示意圖。
具體實施例方式為了給出解決確定ACE匹配的模板的過程運算量大的問題的實現(xiàn)方案,本發(fā)明實施例提供了一種確定訪問控制列表表項對應的模板的方法以及裝置,以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合本發(fā)明提供的技術(shù)方案中,在對ACE進行模板匹配之前,需要將用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖。其中,用于標識各個匹配域是否能夠被匹配的各比特位的值,可以根據(jù)實際情況進行靈活設(shè)置,例如,將二進制值I確定為標識各個匹配域能夠被匹配的各比特位的值,將二進制值0確定為標識各個匹配域不能夠被匹配的各比特位的值;也可以根據(jù)實際情況,將二進制值0確定為標識各個匹配域能夠被匹配的各比特位的值,將二進制值I確定為標識各個匹配域不能夠被匹配的各比特位的值。上述生成的第一位圖以及第二位圖中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且所述第一位圖包括的每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值,每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的,例如,當?shù)谝晃粓D中的比特位組中包含的各比特位的值中存在至少一個用于標識匹配域能夠被匹配的值時,確定與該比特位組對應的比特位的值為用于標識匹配域能夠被匹配的值,否則,確定與該比特位組對應的比特位的值為用于標識匹配域不能夠被匹配的值,第二位圖由以上確定出的值組成,其中,用于標識匹配域能夠被匹配的值可以采用二進制的值I或0來表示,此處不再贅述。圖3示出了將用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖的結(jié)構(gòu)示意圖,如圖3所示,該結(jié)構(gòu)中包括用于匹配ACE的10240個模板、與各模板分別包括的比特位的數(shù)目一致的第一位圖以及與第一位圖對應的第二位圖,其中10240個模板依次為第I模板301、第2模板302直至第10240模板303,每個模板分別包括128個比特位,進一步,第一位圖304A包括上述10240個模板中每個模板的第0位的比特位的值,第一位圖305A包括上述10240個模板中每個模板的第I位的比特位的值,直到第一位圖306A,該第一位圖306A包括上述10240個模板中每個模板的第127位的比特位的值,即對應模板的128個比特位存在128個第一位圖,且每個第一位圖包括10240個比特位,將第一位圖包括的10240個比特位以32個比特位為一比特位組進行分組,可以得到320組比特位組,并對每組的比特位的值進行設(shè)定運算,得到與比特位組分別對應的320個比特位上的值,該320個比特位上的值組成了第二位圖,例如,與第一位圖304A對應的第二位圖304B、與第一位圖305A對應的第二位圖305B以及與第一位圖306A對應的第二位圖306B。圖3所示的結(jié)構(gòu)圖中,還以各模板的第0比特位生成的第一位圖304A以及第二位圖304B為例示出了第一位圖與各模板之間的關(guān)系以及第一位圖與第二位圖之間的關(guān)系,如圖3所示,第一位圖304A包括的第0比特位的值為第I模板301的第0比特位的值,第I比特位的值為第2模板302的第0比特位的值,第10239比特位的值為第10240模板303的第0比特位的值。對應該第一位圖304A,第二位圖304B的第0比特位對應第一位圖的第0比特位至第31比特位,第二位圖304B的第I比特位對應第一位圖的第32比特位至第63比特位,直至第二位圖304B的第319比特位對應第一位圖的第10208比特位至第10239比特位。實施例一基于上述生成的多個第一位圖以及分別與每個第一位圖對應的第二位圖,實施例一提供了一種確定訪問控制列表表項對應的模板的方法,應用方法匹配ACE的模板,能夠減少確定ACE匹配的模板的過程的運算量,從而提高了確定與ACE對應的模板的效率低。圖4不出了本發(fā)明實施例一提供的一種確定訪問控制列表表項對應的模板的流程示意圖,如圖4所示,該確定訪問控制列表表項對應的模板的過程,主要包括以下步驟步驟401、確定ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置。
該步驟401中,ACE包括的匹配域由比特位上的值表示,從而該ACE包括的匹配域的數(shù)目可以理解為該ACE包括的比特位的數(shù)目,進一步,通常該ACE包括的比特位的數(shù)目與用于匹配該ACE的模板包括的比特位的數(shù)目相同,在對ACE進行模板匹配時,需要將ACE包括的比特位中與各模板包括的比特位中處于同樣設(shè)定位置的比特位進行比較,因此,本技術(shù)方案在對ACE進行模板匹配時,會首先確定出ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置。步驟402、根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將確定出的位置作為指定位置時對應的第一位圖及其與第一位圖對應的第二位圖。該步驟402中,確定出的第一位圖中包括各模板中與指定位置(即確定出的位置)對應的比特位上的值。步驟403、根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位。步驟404、在查找出的第一位圖中索引在第二位圖中確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位。步驟405、根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。至此,確定訪問控制列表表項對應的模板的流程結(jié)束。圖4對應的流程中,只需要查找第二位圖中確定出的第二位圖分別包括的比特位中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,進而查找與確定出的第二位圖對應的第一位圖分別包括的比特位中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,即能將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板,并不需要將ACE包括的各匹配域與確定出的匹配ACE的模板之前的各模板包括的匹配域進行比較,從而減少了確定ACE匹配的模板的過程中的運算量,提高了確定與ACE對應的模板的效率。在圖4對應的流程包括的步驟402中,即根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將確定出的位置作為指定位置時對應的第一位圖及其與第一位圖對應的第二位圖中,查找的第一位圖可能為一個,也可能為多個(至少大于等于兩個),相應的,查找的第二位圖可能為一個也可能為多個,根據(jù)上述兩種情況,本發(fā)明實施例一提供了與上述兩種情況分別相應的確定ACE對應的模板的優(yōu)選實施方式,具體如下
優(yōu)選實施方式一該優(yōu)選實施方式一中,根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找出一個第一位圖和一個第二位圖,則確定ACE對應的模板的過程,如圖5所示,主要包括以下步驟步驟501、根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的該第二位圖中包含的用于標識匹配域能夠被匹配的值所處的比特位。
該步驟501中,可以直接從確定出的第二位圖中確定出第二位圖中包含的用于標識匹配域能夠被匹配的值所處的比特位,不需要對確定出的第二位圖之外的第二位圖進行任何運算,從而減少了確定ACE對應的模板過程中的運算量,且該從確定出的第二位圖中確定出第二位圖中包含的用于標識匹配域能夠被匹配的值所處的比特位的方式,可以根據(jù)實際情況進行靈活設(shè)置,例如,若用于標識匹配域能夠被匹配的值為二進制值1,則直接從確定出的第二位圖包括的各比特位的值中確定出值為I的比特位即可,實際應用中也可以根據(jù)需要將用于標識匹配域能夠被匹配的值設(shè)置為二進制值0,此處本發(fā)明不再贅述。步驟502、在查找出的第一位圖中索引確定的比特位對應的比特位組。步驟503、在索引到的比特位組中包含的各比特位的值中,確定用于標識匹配域能夠被匹配的值所處的比特位。該步驟503中,只需要在確定出的第一位圖中確定出的比特位組中確定用于標識匹配域能夠被匹配的值所處的比特位,不需要對該確定出的比特位組之外的比特位進行相關(guān)操作,從而在步驟501的基礎(chǔ)上,進一步減少了確定ACE對應的模板過程中的運算量。具體地在比特位組中確定用于標識匹配域能夠被匹配的值所處的比特位的操作可以參考步驟501的相關(guān)描述進行操作,此處不再贅述。步驟504、根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。至此,確定ACE對應的模板的流程結(jié)束。優(yōu)選實施方式二該優(yōu)選實施方式二中,根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找出至少兩個第一位圖和與至少兩個第一位圖分別對應的至少兩個第二位圖,則確定ACE對應的模板的過程,如圖6所示,主要包括以下步驟步驟601、對查找出的至少兩個第二位圖中分別包含的比特位值序列執(zhí)行與運算。該步驟601中,為了從確定出的至少兩個第二位圖中查找出各第二位圖分別包括的比特位中在第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,采用了對第二位圖中分別包含的比特位值序列執(zhí)行與運算的方式確定該比特位,實際應用中,還可以根據(jù)實際情況采用其他方式查找出各第二位圖分別包括的比特位中在第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,本方案優(yōu)選的采用與運算。此外,在執(zhí)行與運算時,一般是對各第二位圖分別包含的比特位序列中各比特位的位置一致的比特位進行與運算。步驟602、在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位。該步驟602中,基于步驟601的運算方式,運算結(jié)果包括的比特位與原第二位圖包括的比特位是一一對應的,并且結(jié)算結(jié)果中保留了各確定出的第二位圖中包括的處于同一位置的比特位上的值均為用于標識匹配域能夠被匹配的值時的值,從而可以從運算結(jié)果中確定用于標識匹配域能夠被匹配的值所處的比特位。步驟603、分別在查找出的至少兩個第一位圖中索引在第二位圖中確定的比特位對應的比特位組。步驟604、將索引到的至少兩個比特位組分別包含的比特位值序列執(zhí)行與運算。該步驟604中,可以參考步驟601中的相關(guān)描述進行與運算。步驟605、在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位。步驟606、根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。
至此,確定ACE對應的模板的流程結(jié)束。至此,以上優(yōu)選實施方式一以及優(yōu)選實施方式二為本發(fā)明提供的確定ACE對應的模板的優(yōu)選方案。在圖4對應的流程包括的步驟405中,即根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板中,確定出的與ACE匹配的模板可能為一個,也可能為多個,若為多個,可以從該多個ACE匹配的模板中選擇任一模板作為ACE最終匹配的模板,或者,將確定出的多個模板中符合設(shè)定條件的模板,作為與ACE最終匹配的模板,例如,在確定出的模板為多個模板時,可以進一步設(shè)置出ACE中還需要用于匹配的比特位,通過該額外設(shè)置的比特位從確定出多個模板中確定與ACE最終匹配的模板,該確定與ACE最終匹配的模板的方式可以采用現(xiàn)有技術(shù)中確定ACE對應的模板的方式進行確定,也可以采用本技術(shù)方案提供的上述確定ACE對應的模板的方式進行確定,具體地,此處不再贅述。實施例二該實施例二提供了一種與實施例一提供的一種確定訪問控制列表表項對應的模板的方法對應的應用場景,通過在該場景中應用本技術(shù)方案,能夠減少確定ACE匹配的模板的過程中的運算量,從而提高了確定與ACE對應的模板的效率低。圖7示出了本實施例二提供的一種確定ACE對應的模板的結(jié)構(gòu)示意圖,該結(jié)構(gòu)示意圖與圖3提供的將用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值生成多個第一位圖以及分別與每個第一位圖對應的第二位圖的結(jié)構(gòu)示意圖對應,如圖7所示的結(jié)構(gòu)示意圖,包括ACE701、用于匹配該ACE701時需要的第一位圖以及與第一位圖對應的第二位圖,具體地,為第一位圖702A以及第二位圖702B、第一位圖703A以及第二位圖703B直至第一位圖704A以及第二位圖704B,其中第一位圖702A包括用于匹配該ACE701的各模板的第0比特位的值,第一位圖703A包括用于匹配該ACE701的各模板的第I比特位的值,第一位圖704A包括用于匹配該ACE701的各模板的第127比特位的值。在圖7所示的結(jié)構(gòu)示意圖中,ACE701包含的比特位中存在2個用于標識各個匹配域能夠被匹配的值所在的比特位,分別為第I比特位以及第127比特位,則在確定ACE701對應的模板時,需要根據(jù)該第I比特位以及第127比特位確定出與ACE701對應的模板所對應的第一位圖中的比特位,具體地,確定ACE701對應的模板的過程,如圖8所示,主要包括以下步驟
步驟801、確定ACE701中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置分別為第I比特位以及第127比特位。步驟802、根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找到與第I比特位以及第127比特位分別對應的第一位圖703A以及第二位圖703B、第一位圖704A以及第二位圖704B。步驟803、對第二位圖703B以及第二位圖704B的比特位序列進行與運算,得到用于標識匹配域能夠被匹配的值所處的比特位為第0比特位以及第4比特位。該步驟803中,如圖7所示,第一運算結(jié)果705為對第二位圖703B以及第二位圖704B的比特位序列進行與運算的運算結(jié)果,該第一運算結(jié)果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中確定出的比特位組包括的比特位序列進行與運算,得到運算結(jié)果中用于標識匹配域能夠被匹配的值所處的比特位為第4比特位。該步驟805中,如圖7所示,第二運算結(jié)果706為對第一位圖703A以及第一位圖704A中確定出的比特位組包括的比特位序列進行與運算的運算結(jié)果,該第二運算結(jié)果706中的第4比特位為用于標識匹配域能夠被匹配的值所處的比特位。步驟806、根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將確定的第4比特位對應的第5模板作為ACE701匹配的模板。該步驟806中,可以參考圖3以及圖7,確定出第4比特位對應的模板為第5模板,進而,該地5模板為ACE701匹配的模板。至此,確定ACE701對應的模板的流程結(jié)束。實施例三該實施例三對應實施例一提供的一種確定訪問控制列表表項對應的模板的方法,提供了一種確定訪問控制列表表項對應的模板的裝置,采用該裝置確定ACE對應的模板,能夠減少確定ACE匹配的模板的過程中的運算量,從而提高了確定與ACE對應的模板的效率低。圖9不出了本實施例三提供的一種確定訪問控制列表表項對應的模板的裝置的結(jié)構(gòu)示意圖,如圖9所示,該裝置包括位圖生成單元901、位置確定單元902、位圖查找單元903、第二位圖中的比特位確定單元904、第一位圖中的比特位確定單元905以及模板確定單元906,其中位圖生成單元901,用于根據(jù)用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖,其中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值;每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的;位置確定單元902,用于確定A CE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置;位圖查找單元903,用于根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將位置確定單元902確定出的位置作為指定位置時對應的位圖生成單元901生成的第一位圖及其與第一位圖對應的第二位圖;第二位圖中的比特位確定單元904,用于根據(jù)位圖查找單元903查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位;第一位圖中的比特位確定單元905,用于在位圖查找單元903查找出的第一位圖中索引第二位圖中的比特位確定單元904確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位;模板確定單元906,用于根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將第一位圖中的比特位確定單元905在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。本發(fā)明實施例三提供的優(yōu)選實施方式中,在圖9所示裝置包括的位圖生成單元901,具體用于當在該比特位組中包含的各比特位的值中存在至少一個用于標識匹配域能夠被匹配的值時,確定與該比特位組對應的比特位的值為用于標識匹配域能夠被匹配的值;否則,確定與該比特位組對應的比特位的值為用于標識匹配域不能夠被匹配的值。本發(fā)明實施例三提供的優(yōu)選實施方式中,在圖9所示裝置包括的第二位圖中的比特位確定單元904,具體用于當位圖查找單元903查找出一個第一位圖和一個第二位圖時,根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的該第二位圖中包含的用于標識匹配域能夠被匹配的值所處的比特位;第一位圖中的比特位確定單元905,具體用于在查找出的第一位圖中索引第二位圖中的比特位確定單元904確定的比特位對應的比特位組,并在索引到的比特位組中包含的各比特位的值中,確定用于標識匹配域能夠被匹配的值所處的比特位。本發(fā)明實施例三提供的優(yōu)選實施方式中,在圖9所示裝置包括的第二位圖中的比特位確定單元904,具體用于當位圖查找單元903查找出至少兩個第一位圖和與至少兩個第一位圖分別對應的至少兩個第二位圖時,對查找出的至少兩個第二位圖中分別包含的比特位值序列執(zhí)行與運算;在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位;第一位圖中的比特位確定單元905,具體用于分別在查找出的至少兩個第一位圖中索引第二位圖中的比特位確定單元904確定的比特位對應的比特位組;將索引到的至少兩個比特位組分別包含的比特位值序列執(zhí)行與運算;在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位。
本發(fā)明實施例 三提供的優(yōu)選實施方式中,在圖9所示裝置包括的模板確定單元906,具體用于若在第一位圖中確定出的比特位對應的模板數(shù)量為多個時,將確定出的多個模板中的任一模板作為與ACE最終匹配的模板;或?qū)⒋_定出的多個模板中符合設(shè)定條件的模板,作為與ACE最終匹配的模板。應當理解,以上裝置包括的單元僅為根據(jù)該裝置實現(xiàn)的功能進行的邏輯劃分,實際應用中,可以進行上述單元的疊加或拆分。并且該實施例提供的裝置所實現(xiàn)的功能與上述實施例提供的一種確定訪問控制列表表項對應的模板的方法流程對應,對于該裝置所實現(xiàn)的更為詳細的處理流程,在上述方法實施例中已做詳細描述,此處不再詳細描述。并且,本實施例三中的一種確定訪問控制列表表項對應的模板的裝置還具有能夠?qū)崿F(xiàn)實施例一和實施例二方案的功能模塊,此處不再贅述。盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種確定訪問控制列表表項對應的模板的方法,其特征在于,根據(jù)用于匹配訪問控制列表表項ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖,其中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且所述第一位圖包括的每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值;每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的; 所述方法,包括 確定ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置; 根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將確定出的位置作為指定位置時對應的第一位圖及其與第一位圖對應的第二位圖; 根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位; 在查找出的第一位圖中索引在第二位圖中確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位; 根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。
2.如權(quán)利要求I所述的方法,其特征在于,根據(jù)比特位組中包含的各比特位的值,確定與該比特位組對應的比特位的值,包括 當在該比特位組中包含的各比特位的值中存在至少一個用于標識匹配域能夠被匹配的值時,確定與該比特位組對應的比特位的值為用于標識匹配域能夠被匹配的值;否則確定與該比特位組對應的比特位的值為用于標識匹配域不能夠被匹配的值。
3.如權(quán)利要求I所述的方法,其特征在于,當查找出一個第一位圖和一個第二位圖時,根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,包括 根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的該第二位圖中包含的用于標識匹配域能夠被匹配的值所處的比特位; 根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,包括 在索引到的比特位組中包含的各比特位的值中,確定用于標識匹配域能夠被匹配的值所處的比特位。
4.如權(quán)利要求I所述的方法,其特征在于,當查找出至少兩個第一位圖和與至少兩個第一位圖分別對應的至少兩個第二位圖時,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,包括 對查找出的至少兩個第二位圖中分別包含的比特位值序列執(zhí)行與運算; 在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位;在查找出的第一位圖中索引確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,包括 分別在查找出的至少兩個第一位圖中索引在第二位圖包括的確定的比特位對應的比特位組; 將索引到的至少兩個比特位組分別包含的比特位值序列執(zhí)行與運算; 在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位。
5.如權(quán)利要求I 4任一權(quán)利要求所述的方法,其特征在于,將在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板,包括 若在第一位圖中確定出的比特位對應的模板數(shù)量為多個時,將確定出的多個模板中的任一模板作為與ACE最終匹配的模板;或 將確定出的多個模板中符合設(shè)定條件的模板,作為與ACE最終匹配的模板。
6.—種確定訪問控制列表表項對應的模板的裝置,其特征在于,包括 位圖生成單元,用于根據(jù)用于匹配ACE的各模板中分別包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及分別與每個第一位圖對應的第二位圖,其中,每個第一位圖分別對應各模板一個指定位置的比特位,每個第一位圖包括與各模板分別對應的比特位、且所述第一位圖包括的每個比特位的值為該比特位對應的模板中與該第一位圖對應的指定位置的比特位的值;每個第二位圖包括與對該第二位圖對應的第一位圖中包含的各比特位分組得到的各比特位組一一對應的比特位,且與每個比特位組對應的比特位的值是根據(jù)該比特位組中包含的各比特位的值確定的; 位置確定單元,用于確定ACE中包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置; 位圖查找單元,用于根據(jù)每個第一位圖分別對應各模板一個指定位置的比特位,查找將所述位置確定單元確定出的位置作為指定位置時對應的所述位圖生成單元生成的第一位圖及其與第一位圖對應的第二位圖; 第二位圖中的比特位確定單元,用于根據(jù)所述位圖查找單元查找出的第二位圖中包含的比特位的值,確定在查找到的第二位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位; 第一位圖中的比特位確定單元,用于在所述位圖查找單元查找出的第一位圖中索引所述第二位圖中的比特位確定單元確定的比特位對應的比特位組,并根據(jù)索引到的比特位組中包含的各比特位的值,確定在查找到的第一位圖中同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位; 模板確定單元,用于根據(jù)第一位圖中包括的比特位與各模板的對應關(guān)系,將所述第一位圖中的比特位確定單元在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板。
7.如權(quán)利要求6所述的裝置,其特征在于,所述位圖生成單元,具體用于當在該比特位組中包含的各比特位的值中存在至少一個用于標識匹配域能夠被匹配的值時,確定與該比特位組對應的比特位的值為用于標識匹配域能夠被匹配的值;否則確定與該比特位組對應的比特位的值為用于標識匹配域不能夠被匹配的值。
8.如權(quán)利要求6所述的裝置,其特征在于,所述第二位圖中的比特位確定單元,具體用于當所述位圖查找單元查找出一個第一位圖和一個第二位圖時,根據(jù)查找出的第二位圖中包含的比特位的值,確定在查找到的該第二位圖中包含的用于標識匹配域能夠被匹配的值所處的比特位; 所述第一位圖中的比特位確定單元,具體用于在索引到的比特位組中包含的各比特位的值中,確定用于標識匹配域能夠被匹配的值所處的比特位。
9.如權(quán)利要求6所述的裝置,其特征在于,所述第二位圖中的比特位確定單元,具體用于當所述位圖查找單元查找出至少兩個第一位圖和與至少兩個第一位圖分別對應的至少兩個第二位圖時,對查找出的至少兩個第二位圖中分別包含的比特位值序列執(zhí)行與運算;在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位; 所述第一位圖中的比特位確定單元,具體用于分別在查找出的至少兩個第一位圖中索引所述第二位圖中的比特位確定單元確定的比特位對應的比特位組;將索引到的至少兩個比特位組分別包含的比特位值序列執(zhí)行與運算;在運算結(jié)果中,確定用于標識匹配域能夠被匹配的值所處的比特位。
10.如權(quán)利要求6 9任一權(quán)利要求所述的裝置,其特征在于,所述模板確定單元,具體用于若在第一位圖中確定出的比特位對應的模板數(shù)量為多個時,將確定出的多個模板中的任一模板作為與ACE最終匹配的模板;或?qū)⒋_定出的多個模板中符合設(shè)定條件的模板,作為與ACE最終匹配的模板。
全文摘要
本發(fā)明公開了一種確定訪問控制列表表項對應的模板的方法以及裝置,包括根據(jù)用于匹配ACE的各模板中包含的用于標識各個匹配域是否能夠被匹配的各比特位的值,生成多個第一位圖以及與每個第一位圖對應的第二位圖后,確定ACE包含的用于標識各個匹配域能夠被匹配的值所在的比特位在ACE中的位置以查找將確定出的位置作為指定位置時對應的第一位圖及與第一位圖對應的第二位圖,然后在查找出的第一位圖中索引在查找到的第二位圖中確定的比特位對應的比特位組中確定在同一位置的比特位上均為用于標識匹配域能夠被匹配的值所處的比特位,在第一位圖中確定出的比特位對應的模板作為ACE匹配的模板,從而減少ACE匹配的模板的過程的運算量。
文檔編號H04L12/56GK102638394SQ201210071839
公開日2012年8月15日 申請日期2012年3月16日 優(yōu)先權(quán)日2012年3月16日
發(fā)明者陳世鋒 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司