專利名稱:一種訪問控制列表規(guī)則匹配方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)交換技術(shù),尤其涉及一種訪問控制列表(Access Control List, ACL)規(guī)則匹配方法及系統(tǒng)。
背景技術(shù):
在通信領(lǐng)域,ACL是一種應(yīng)用在交換設(shè)備上的技術(shù)。隨著網(wǎng)絡(luò)技術(shù)應(yīng)用 的不斷深入,ACL在安全接入,特定數(shù)據(jù)流監(jiān)控等方面的應(yīng)用越來越廣泛, 已經(jīng)成為交換設(shè)備中必不可少的重要技術(shù)之一。
現(xiàn)有ACL技術(shù)中,三態(tài)內(nèi)容可尋址存儲(chǔ)器(TCAM)規(guī)則匹配的寬度一 直是個(gè)棘手的問題。技術(shù)上TCAM的寬度可以做到很寬,但是由于TCAM價(jià) 格昂貴,而且ACL技術(shù)實(shí)際應(yīng)用中對(duì)于超過TCAM長(zhǎng)度的長(zhǎng)規(guī)則匹配的需 求不是很多,基于TCAM的成本和ACL技術(shù)中長(zhǎng)規(guī)則使用頻率較低這兩方 面考慮, 一般交換機(jī)的TCAM都做的不是很寬,可以滿足大多數(shù)情況的ACL 需求即可。
但是,畢竟存在部分場(chǎng)合下需要長(zhǎng)規(guī)則匹配,現(xiàn)在的芯片一般都無法實(shí) 現(xiàn),比如對(duì)于IPV6,如果需要同時(shí)匹配源H>、目的IP、源介質(zhì)訪問控制(MAC ) 及目的MAC,再加上傳輸控制協(xié)議(TCP)的源端口號(hào)和目的端口號(hào),現(xiàn)有 的交換芯片4艮難實(shí)現(xiàn)。雖然通過TCAM合并技術(shù)可以實(shí)現(xiàn),但是靈活性很差, 資源浪費(fèi)情況也很嚴(yán)重。以兩塊大小為512條的TCAM合并為例,合并后所 有的規(guī)則都變成了的兩倍寬度長(zhǎng)規(guī)則了,如果實(shí)際只需務(wù)使用2條長(zhǎng)規(guī)則, 那么剩下510條本來可以實(shí)現(xiàn)510 x 2=1020條短規(guī)則,但是現(xiàn)在也只能實(shí)現(xiàn) 510的短規(guī)則了,造成了較大的資源浪費(fèi)。
現(xiàn)在的交換芯片雖然能夠?qū)崿F(xiàn)ACL的長(zhǎng)規(guī)則的匹配,但是資源浪費(fèi)情況 比較嚴(yán)重,當(dāng)然已有技術(shù)可以選擇單倍寬度或者雙倍寬度,但是靈活性比較 差,都有一些局限性比如每次TCAM操作后都需要進(jìn)行碎片整理,長(zhǎng)規(guī)則
TCAM的位置必須連續(xù)等等。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是在于需要提供一種普通寬度TCAM上實(shí)現(xiàn) 2倍或者多倍寬度的ACL長(zhǎng)規(guī)則匹配方法及系統(tǒng),以節(jié)約TCAM資源。
為了解決上述技術(shù)問題,本發(fā)明首先提供了 一種訪問控制列表規(guī)則匹配 方法,判斷訪問控制列表ACL規(guī)則的長(zhǎng)度,將超過三態(tài)內(nèi)容可尋址存儲(chǔ)器 TCAM長(zhǎng)度的ACL長(zhǎng)規(guī)則拆分成若千條不超過所述TCAM長(zhǎng)度的子規(guī)則, 對(duì)所述若干條子規(guī)則和/或不超過所述TCAM長(zhǎng)度的ACL短規(guī)則分別進(jìn)行 TCAM查找,完成所述長(zhǎng)規(guī)則和/或短規(guī)則所規(guī)定的動(dòng)作。
如上所述的方法中,將所述長(zhǎng)規(guī)則拆分成若干條子規(guī)則時(shí),各子規(guī)則可 以滿足一個(gè)子規(guī)則的TCAM查找匹配到一個(gè)結(jié)果的互斥規(guī)則。
進(jìn)一步地,可以將所述長(zhǎng)規(guī)則拆分成盡量少的所述子規(guī)則。
如上所述的方法中,將所述長(zhǎng)規(guī)則拆分成兩條子規(guī)則時(shí),可以對(duì)第一條 子規(guī)則進(jìn)行第一次TCAM查找后輸出報(bào)文類型標(biāo)識(shí),根據(jù)所述報(bào)文類型標(biāo)識(shí) 對(duì)第二條子規(guī)則進(jìn)行第二次TCAM查找。
如上所述的方法中,所述ACL規(guī)則中僅含所述短規(guī)則時(shí),可以直接對(duì)所 述短規(guī)則進(jìn)行TCAM查找;
所述ACL規(guī)則中含有所述長(zhǎng)規(guī)則和短規(guī)則時(shí),可以依次對(duì)每條子規(guī)則進(jìn) 行TCAM查找,對(duì)所述短規(guī)則只進(jìn)行一次TCAM查找。
為了解決上迷技術(shù)問題,本發(fā)明還提供了 一種訪問控制列表規(guī)則匹配系 統(tǒng),包括判斷模塊、拆分模塊、查找模塊及執(zhí)行模塊,其中
判斷模塊,用于判斷訪問控制列表ACL規(guī)則的長(zhǎng)度;
拆分模塊,與所述判斷模塊相連,將超過三態(tài)內(nèi)容可尋址存儲(chǔ)器TCAM 長(zhǎng)度的ACL長(zhǎng)規(guī)則拆分成若干條不超過TCAM長(zhǎng)度的子規(guī)則;
查找模塊,與所述判斷才莫塊及拆分模塊相連,用于對(duì)所述子規(guī)則和/或不 超過所述TCAM長(zhǎng)度的ACL短規(guī)則進(jìn)行TCAM查找;及
執(zhí)行模塊,與所述查找模塊相連,用于完成所述長(zhǎng)規(guī)則和/或短規(guī)則所規(guī) 定的動(dòng)作。
如上所迷的系統(tǒng)中,所迷拆分才莫塊將所述長(zhǎng)規(guī)則拆分成若干條子規(guī)則時(shí),
各子規(guī)則可以滿足一個(gè)子規(guī)則的TCAM查找匹配到一個(gè)結(jié)果的互斥規(guī)則。
進(jìn)一步地,所述拆分模塊可以將所述長(zhǎng)規(guī)則拆分成盡量少的所述子規(guī)則。
如上所述的系統(tǒng)中,所述拆分才莫塊將所述長(zhǎng)規(guī)則拆分成兩條子規(guī)則時(shí), 所述查找模塊可以對(duì)第 一條子規(guī)則進(jìn)行第 一次TCAM查找后輸出報(bào)文類型標(biāo) 識(shí),根據(jù)所述報(bào)文類型標(biāo)識(shí)對(duì)第二條子規(guī)則進(jìn)行第二次TCAM查找。
如上所述的系統(tǒng)中,所述ACL規(guī)則中僅含所述短規(guī)則時(shí),所述查找模塊 可以直接對(duì)所述短規(guī)則進(jìn)行TCAM查找;
所述ACL規(guī)則中含有所述長(zhǎng)規(guī)則和短規(guī)則時(shí),所述查找模塊可以依次對(duì) 每條子規(guī)則進(jìn)行TCAM查找,對(duì)所述短規(guī)則只進(jìn)行一次TCAM查找。
與現(xiàn)有技術(shù)相比,本發(fā)明采用拆分及多次查找的方式,在一塊TCAM上 面實(shí)現(xiàn)了超過TCAM寬度的ACL匹配的方法,解決了長(zhǎng)規(guī)則ACL匹配的問 題,節(jié)約了系統(tǒng)資源,減少了系統(tǒng)開銷。
圖1是本發(fā)明方法一實(shí)施例步驟示意圖。
圖2是本發(fā)明方法一應(yīng)用實(shí)例的步驟示意圖。
圖3是本發(fā)明方法應(yīng)用實(shí)例中最終TCAM使用情況示意圖。
圖4是本發(fā)明系統(tǒng)實(shí)施例的組成示意圖。
具體實(shí)施例方式
以下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明 如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效杲的實(shí)現(xiàn)過程能充分理解 并據(jù)以實(shí)施。
本發(fā)明采用以下技術(shù)方案,本發(fā)明實(shí)現(xiàn)ACL規(guī)則時(shí)候,對(duì)于超過TCAM
長(zhǎng)度的ACL長(zhǎng)規(guī)則,拆分成兩條(或者多條)不超過TCAM長(zhǎng)度的ACL子 規(guī)則,然后在同一塊TCAM上面進(jìn)行兩次(或者多次)TCAM查找,第一次 TCAM查找如果有規(guī)則匹配,那么可以輸出第 一次TCAM查找的報(bào)文類型標(biāo) 識(shí)(classld),報(bào)文classId作為第二次TCAM查找的一個(gè)匹配字段,從而可 以在一塊固定寬度的TCAM上面實(shí)現(xiàn)匹配差不多雙倍TCAM寬度的規(guī)則匹 配。(增加查找的次數(shù)為N,可以實(shí)現(xiàn)差不多N倍TCAM寬度的規(guī)則匹配)。 這樣在提高了 ACL的規(guī)則匹配寬度的同時(shí),并沒有增加TCAM的寬度,大 大節(jié)省了TCAM資源。在不含有長(zhǎng)規(guī)則的情況下,只使能第一次查找,完成 沒有超過TCAM長(zhǎng)度的ACL短規(guī)則的查找,不會(huì)增加不必要的開銷。
圖1示出了本發(fā)明方法將一ACL長(zhǎng)規(guī)則拆分成兩部分的實(shí)施例,本實(shí)施 例主要包括以下步驟
步驟IIO,用戶配置ACL規(guī)則,包括ACL長(zhǎng)規(guī)則和/或ACL短規(guī)則,并 且指定ACL規(guī)則綁定到端口 ,此時(shí)不寫硬件;
步驟120,根據(jù)TCAM寬度判斷ACL規(guī)則中是否存在超過TCAM寬度 的ACL長(zhǎng)規(guī)則,是則轉(zhuǎn)步驟130,否則轉(zhuǎn)步驟160;
步驟130,根據(jù)ACL長(zhǎng)規(guī)則的內(nèi)容將ACL長(zhǎng)規(guī)則拆分成兩部分,第一部 分進(jìn)行第一次TCAM查找,輸出報(bào)文類型標(biāo)識(shí),第二部分進(jìn)行第二次TCAM 查找,執(zhí)行ACL長(zhǎng)規(guī)則所規(guī)定的動(dòng)作;
步驟140,對(duì)長(zhǎng)規(guī)則的第一部分,寫基于端口的ACL配置硬件表,配置 第一次TCAM查找需要匹配的訪問控制列表的硬件標(biāo)志(ACL—Nol),把第 一次查找需要的關(guān)鍵字(key )和掩碼(mask)以及響應(yīng)的執(zhí)行動(dòng)作寫入TCAM 中,進(jìn)行第一次TCAM查找,獲得類型標(biāo)識(shí);
步驟150,判斷是否需要二次TCAM查找,需要?jiǎng)t配置第二次查找TCAM 需要匹配的訪問控制列表的硬件標(biāo)志(ACL_No2),把第二次查找需要的關(guān) 鍵字(key)和掩碼(mask)以及響應(yīng)的執(zhí)行動(dòng)作寫入TCAM中,使能并進(jìn) 行第二次TCAM查找,執(zhí)行規(guī)則所規(guī)定的動(dòng)作,結(jié)束。
步驟160,判斷ACL規(guī)則中是否還有不需要拆分的ACL短規(guī)則,是則轉(zhuǎn) 步驟170,否則結(jié)束。
步驟170,對(duì)ACL短規(guī)則進(jìn)行TCAM查找,執(zhí)行該ACL短規(guī)則所規(guī)定 的動(dòng)作,結(jié)束。
經(jīng)過以上步驟,進(jìn)入被設(shè)置端口的報(bào)文可以在一塊普通寬度的TCAM上 面進(jìn)行普通寬度的ACL或者差不多雙倍TCAM寬度的長(zhǎng)規(guī)則的ACL。
上述實(shí)施例中,對(duì)于ACL短規(guī)則,僅執(zhí)行第二次查找執(zhí)行該短規(guī)則所規(guī) 定的動(dòng)作。如果所有規(guī)則均為短規(guī)則,則只進(jìn)行一次查找,執(zhí)行各短規(guī)則所 規(guī)定的動(dòng)作。
上述實(shí)施例實(shí)現(xiàn)了普通寬度的TCAM上面長(zhǎng)于TCAM寬度但較兩倍 TCAM寬度短的ACL長(zhǎng)規(guī)則。對(duì)于更長(zhǎng)的ACL長(zhǎng)規(guī)則,還可以進(jìn)行兩次以 上的拆分。作為一個(gè)基本的拆分原則,拆分后的每條子規(guī)則均不超過TCAM 寬度,且拆分后的各子規(guī)則之間滿足互斥條件:,即一個(gè)子規(guī)則的TCAM查找 只能匹配到一個(gè)結(jié)果。除此之外,考慮到查找效率,另一個(gè)原則是拆分后所 進(jìn)行的TCAM查找次數(shù)要盡量少,也即對(duì)同一條ACL長(zhǎng)規(guī)則,滿足各子規(guī) 則互斥的前提下,拆分后的子規(guī)則數(shù)目盡量少。
對(duì)于長(zhǎng)規(guī)則與短規(guī)則混合在一起的情況,短規(guī)則只進(jìn)行最后一次查找并 執(zhí)行相應(yīng)的動(dòng)作。長(zhǎng)規(guī)則在拆分成若千條子規(guī)則之后,最后查找的一條子規(guī) 則,執(zhí)行該長(zhǎng)規(guī)則所規(guī)定的動(dòng)作。
圖2示出了本發(fā)明方法一個(gè)具體的應(yīng)用實(shí)例,在本應(yīng)用實(shí)例中,所用的 TCAM寬度為210比特(bit) , TCAM大小為512條,TCAM開始為空。交 換機(jī)(或者路由器)的端口 1需要綁定一個(gè)ACL,此ACL有2條規(guī)則
頭見則1:允許源IP為0000: 0000: 0000: O(JOO: 0000: 0000: 0000: 0001、目 的IP為0000: 0000: 0000: 0000: 0000: 0000: 0000: 0002、源MAC為 00.00.00.00.00.01 、目的MAC為00.00.00.00.00.02的IPV6報(bào)文上送CPU。
規(guī)則2:丟棄所有其它報(bào)文。
如圖2所示的本應(yīng)用實(shí)例,主要包括以下步驟
步驟210,規(guī)則1中,至少需要匹配352 bit, TCAM寬度為210個(gè)bit, 所以此ACL規(guī)則為 一長(zhǎng)規(guī)則,需要對(duì)其進(jìn)行拆分并進(jìn)行兩次TCAM查找;
步驟220,寫ACL硬件配置表,具體包括以下步驟
步驟222,對(duì)該長(zhǎng)規(guī)則進(jìn)行規(guī)則拆分,也即將規(guī)則l拆分為兩個(gè)子規(guī)則, 第一個(gè)子規(guī)則為源IP+源MAC,第二個(gè)子規(guī)則為目的IP+目的MAC + classld;
步驟224,第一次查找匹配源IP+源MAC,寫到TCAM序號(hào)1中,匹 配內(nèi)容為ACL—No =10,源IP為0000: 0000: 0000: 0000: 0000: 0000: 0000: 0001,源MAC為00.00.00.00.00.01;匹配的結(jié)果為分配到凈艮文的classid為 100;
步驟226,對(duì)該長(zhǎng)規(guī)則的第二次查找,匹配目的IP+目的MAC + classid, 寫到TCAM序號(hào)2中,匹配內(nèi)容為ACL_No =20,目的IP為0000: 0000: 0000: 0000: 0000: 0000: 0000: 0002,目的MAC為00.00.00. 00.00.02,報(bào)文的classid 為100,規(guī)則匹配的執(zhí)行動(dòng)作為報(bào)文上送CPU;
步驟228,規(guī)則2是短規(guī)則,不需要拆分,直接進(jìn)行查找,由于規(guī)則2 在TCAM中必須寫在規(guī)則1的后面,所以規(guī)則2寫在TCAM序號(hào)3中,匹 配內(nèi)容為ACL—No =20,規(guī)則匹配的動(dòng)作為丟棄報(bào)文;
此時(shí)關(guān)于ACL的硬件設(shè)置已經(jīng)全部完成,如圖3所示,端口 1的ACL 配置表為
端口號(hào) 第一次查找ACL_Nol 第二次查找 ACL一No2
1 使能 10 使能 20
圖3所示的ACL設(shè)置中,其余TCAM塊為空;
步驟230,報(bào)文進(jìn)入端口 l,查找端口 ACL配置硬件表,發(fā)現(xiàn)第一次TCAM 查找使能,由于第一次TCAM查找的ACL—Nol配置為10,所以只匹配TCAM 中ACL—No = 10的TCAM塊(即圖3中TCAM序號(hào)1塊),如果進(jìn)來的 才艮文源IP為0000: 0000: 0000: 0000: 0000: 0000: 0000: 0001,源MAC為 00.00.00.00. 00.01,則為報(bào)文分配到報(bào)文的classid為100;
步蹕240:查找端口 ACL配置石更件表,發(fā)現(xiàn)第二次TCAM查找使能,所 以繼續(xù)進(jìn)行第二次的TCAM查找,由于第二次TCAM查找的ACL—No2配置 為20,所以只匹配TCAM中ACL—No = 20的TCAM塊(即圖3中TCAM 序號(hào)為2, 3的塊);
步驟250,如果classld = 100 (第一次TCAM查找的結(jié)果),目的IP 為0000: 0000: 0000: 0000: 0000: 0000: 0000: 0002,目的MAC為00.00.00.00. 00.02,則為符合規(guī)則1的報(bào)文;
步驟260,根據(jù)規(guī)則2,將符合規(guī)則1的報(bào)文則上送CPU,否則報(bào)文被丟棄。
經(jīng)過上述步驟,通過兩次TCAM查找在一塊普通寬度的TCAM上面實(shí) 現(xiàn)了長(zhǎng)規(guī)則匹配的ACL功能。
圖4為本發(fā)明系統(tǒng)一實(shí)施例的組成示意圖,該系統(tǒng)實(shí)施例主要包括判斷 模塊410、拆分模塊420、查找模塊430及執(zhí)行模塊440,其中
判斷模塊410,用于判斷ACL規(guī)則的長(zhǎng)度;
拆分4莫塊420,與所述判斷;f莫塊410相連,將ACL長(zhǎng)規(guī)則拆分成若千條 不超過TCAM長(zhǎng)度的子規(guī)則;
查找模塊430,與所述判斷模塊410及拆分模塊420相連,用于對(duì)所述 子規(guī)則和/或ACL短規(guī)則進(jìn)行TCAM查找;及
執(zhí)行模塊440,與所述查找模塊430相連,用于完成所述長(zhǎng)規(guī)則和/或短 規(guī)則所規(guī)定的動(dòng)作。
其中,拆分模塊420將長(zhǎng)規(guī)則拆分成滿足互斥條件的若干條子規(guī)則,拆 分后的子規(guī)則,數(shù)目盡量少,以提高效率。
拆分模塊420將所述長(zhǎng)規(guī)則拆分成兩條子規(guī)則時(shí),查找模塊430對(duì)第一 條子規(guī)則進(jìn)行TCAM查找后輸出報(bào)文類型標(biāo)識(shí),根據(jù)報(bào)文類型標(biāo)識(shí)對(duì)第二條 子規(guī)則再進(jìn)行TCAM查找。
如果ACL規(guī)則中僅含短規(guī)則時(shí),則查找模塊430直接對(duì)短規(guī)則進(jìn)行查找; 如果ACL規(guī)則中既含有長(zhǎng)規(guī)則又含有短規(guī)則時(shí),查找模塊430對(duì)長(zhǎng)規(guī)則拆分 后,依次對(duì)每條子規(guī)則進(jìn)行查找,而對(duì)短規(guī)則只進(jìn)行一次查找。
現(xiàn)有技術(shù)中通過芯片實(shí)現(xiàn)ACL,為了成本和絕大多數(shù)應(yīng)用場(chǎng)合考慮, TCAM的寬度一般都不會(huì)做得很寬,所以一般無法進(jìn)行長(zhǎng)規(guī)則的ACL匹配, 雖然有些芯片支持幾個(gè)TCAM合并的技術(shù),但是靈活性比較差,而且會(huì)造成
比較大的資源浪費(fèi)。本發(fā)明與現(xiàn)有技術(shù)相比較,通過拆分完成了在一塊TCAM 上面實(shí)現(xiàn)超過TCAM寬度的ACL匹配的方法,解決了長(zhǎng)規(guī)則ACL匹配的問 題,也不會(huì)造成不必要的資源浪費(fèi)和系統(tǒng)的其它開銷。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本 發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi) 的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的 形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所 附的權(quán)利要求書所界定的范圍為準(zhǔn)。
權(quán)利要求
1、一種訪問控制列表規(guī)則匹配方法,其特征在于,判斷訪問控制列表ACL規(guī)則的長(zhǎng)度,將超過三態(tài)內(nèi)容可尋址存儲(chǔ)器TCAM長(zhǎng)度的ACL長(zhǎng)規(guī)則拆分成若干條不超過所述TCAM長(zhǎng)度的子規(guī)則,對(duì)所述若干條子規(guī)則和/或不超過所述TCAM長(zhǎng)度的ACL短規(guī)則分別進(jìn)行TCAM查找,完成所述長(zhǎng)規(guī)則和/或短規(guī)則所規(guī)定的動(dòng)作。
2、 如權(quán)利要求l所述的方法,其特征在于將所述長(zhǎng)規(guī)則拆分成若干條子規(guī)則時(shí),各子規(guī)則滿足一個(gè)子規(guī)則的 TCAM查找匹配到一個(gè)結(jié)果的互斥規(guī)則。
3、 如權(quán)利要求2所述的方法,其特征在于 將所述長(zhǎng)規(guī)則拆分成盡量少的所述子規(guī)則。
4、 如權(quán)利要求l所述的方法,其特征在于將所述長(zhǎng)規(guī)則拆分成兩條子規(guī)則時(shí),對(duì)第一條子規(guī)則進(jìn)行第一次TCAM 查找后輸出報(bào)文類型標(biāo)識(shí),根據(jù)所述報(bào)文類型標(biāo)識(shí)對(duì)第二條子規(guī)則進(jìn)行第二 次TCAM查找。
5、 如權(quán)利要求l所述的方法,其特征在于所迷ACL規(guī)則中僅含所迷短規(guī)則時(shí),直接對(duì)所述短規(guī)則進(jìn)行TCAM查找;所述ACL規(guī)則中含有所述長(zhǎng)規(guī)則和短規(guī)則時(shí),依次對(duì)每條子規(guī)則進(jìn)行 TCAM查找,對(duì)所述短規(guī)則只進(jìn)行一次TCAM查找。
6、 一種訪問控制列表規(guī)則匹配系統(tǒng),其特征在于,包括判斷才莫塊、拆分 模塊、查找模塊及執(zhí)行模塊,其中判斷模塊,用于判斷訪問控制列表ACL規(guī)則的長(zhǎng)度;拆分模塊,與所述判斷才莫塊相連,將超過三態(tài)內(nèi)容可尋址存儲(chǔ)器TCAM 長(zhǎng)度的ACL長(zhǎng)規(guī)則拆分成若干條不超過TCAM長(zhǎng)度的子規(guī)則; 查找4莫塊,與所述判斷模塊及拆分模塊相連,用于對(duì)所述子規(guī)則和/或不超過所述TCAM長(zhǎng)度的ACL短規(guī)則進(jìn)行TCAM查找;及執(zhí)行模塊,與所述查找模塊相連,用于完成所述長(zhǎng)規(guī)則和/或短規(guī)則所規(guī) 定的動(dòng)作。
7、 如權(quán)利要求6所述的系統(tǒng),其特征在于所述拆分模塊將所述長(zhǎng)規(guī)則拆分成若干條子規(guī)則時(shí),各子規(guī)則滿足一個(gè) 子規(guī)則的TCAM查找匹配到一個(gè)結(jié)果的互斥規(guī)則。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于 所述拆分模塊將所述長(zhǎng)規(guī)則拆分成盡量少的所述子規(guī)則。
9、 如權(quán)利要求6所述的系統(tǒng),其特征在于所述拆分模塊將所述長(zhǎng)規(guī)則拆分成兩條子規(guī)則時(shí),所述查找模塊對(duì)第一 條子規(guī)則進(jìn)行第一次TCAM查找后輸出報(bào)文類型標(biāo)識(shí),根據(jù)所述報(bào)文類型標(biāo) 識(shí)對(duì)第二條子規(guī)則進(jìn)行第二次TCAM查找。
10、 如權(quán)利要求6所述的系統(tǒng),其特征在于所述ACL規(guī)則中僅含所述短規(guī)則時(shí),所述查找模塊直接對(duì)所述短規(guī)則進(jìn) 行TCAM查找;所述ACL規(guī)則中含有所述長(zhǎng)規(guī)則和短規(guī)則時(shí),所述查找模塊依次對(duì)每條 子規(guī)則進(jìn)行TCAM查找,對(duì)所述短規(guī)則只進(jìn)行一次TCAM查找。
全文摘要
本發(fā)明公開了一種訪問控制列表規(guī)則匹配方法及系統(tǒng),以節(jié)約TCAM資源。該方法首先判斷訪問控制列表ACL規(guī)則的長(zhǎng)度,然后將超過三態(tài)內(nèi)容可尋址存儲(chǔ)器TCAM長(zhǎng)度的ACL長(zhǎng)規(guī)則拆分成若干條不超過所述TCAM長(zhǎng)度的子規(guī)則,對(duì)所述若干條子規(guī)則和/或不超過所述TCAM長(zhǎng)度的ACL短規(guī)則分別進(jìn)行TCAM查找,完成所述長(zhǎng)規(guī)則和/或短規(guī)則所規(guī)定的動(dòng)作。本發(fā)明解決了長(zhǎng)規(guī)則ACL匹配的問題,節(jié)約了系統(tǒng)資源,減少了系統(tǒng)開銷,可應(yīng)用在網(wǎng)絡(luò)交換設(shè)備上。
文檔編號(hào)H04L12/56GK101364947SQ200810212310
公開日2009年2月11日 申請(qǐng)日期2008年9月8日 優(yōu)先權(quán)日2008年9月8日
發(fā)明者潘庭山 申請(qǐng)人:中興通訊股份有限公司