亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種訪問控制列表規(guī)則匹配方法及系統(tǒng)的制作方法

文檔序號:7925028閱讀:245來源:國知局
專利名稱:一種訪問控制列表規(guī)則匹配方法及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及一種網絡交換技術,尤其涉及一種訪問控制列表(Access Control List, ACL)規(guī)則匹配方法及系統(tǒng)。
背景技術
在通信領域,ACL是一種應用在交換設備上的技術。隨著網絡技術應用 的不斷深入,ACL在安全接入,特定數據流監(jiān)控等方面的應用越來越廣泛, 已經成為交換設備中必不可少的重要技術之一。
現(xiàn)有ACL技術中,三態(tài)內容可尋址存儲器(TCAM)規(guī)則匹配的寬度一 直是個棘手的問題。技術上TCAM的寬度可以做到很寬,但是由于TCAM價 格昂貴,而且ACL技術實際應用中對于超過TCAM長度的長規(guī)則匹配的需 求不是很多,基于TCAM的成本和ACL技術中長規(guī)則使用頻率較低這兩方 面考慮, 一般交換機的TCAM都做的不是很寬,可以滿足大多數情況的ACL 需求即可。
但是,畢竟存在部分場合下需要長規(guī)則匹配,現(xiàn)在的芯片一般都無法實 現(xiàn),比如對于IPV6,如果需要同時匹配源H>、目的IP、源介質訪問控制(MAC ) 及目的MAC,再加上傳輸控制協(xié)議(TCP)的源端口號和目的端口號,現(xiàn)有 的交換芯片4艮難實現(xiàn)。雖然通過TCAM合并技術可以實現(xiàn),但是靈活性很差, 資源浪費情況也很嚴重。以兩塊大小為512條的TCAM合并為例,合并后所 有的規(guī)則都變成了的兩倍寬度長規(guī)則了,如果實際只需務使用2條長規(guī)則, 那么剩下510條本來可以實現(xiàn)510 x 2=1020條短規(guī)則,但是現(xiàn)在也只能實現(xiàn) 510的短規(guī)則了,造成了較大的資源浪費。
現(xiàn)在的交換芯片雖然能夠實現(xiàn)ACL的長規(guī)則的匹配,但是資源浪費情況 比較嚴重,當然已有技術可以選擇單倍寬度或者雙倍寬度,但是靈活性比較 差,都有一些局限性比如每次TCAM操作后都需要進行碎片整理,長規(guī)則
TCAM的位置必須連續(xù)等等。

發(fā)明內容
本發(fā)明所要解決的技術問題是在于需要提供一種普通寬度TCAM上實現(xiàn) 2倍或者多倍寬度的ACL長規(guī)則匹配方法及系統(tǒng),以節(jié)約TCAM資源。
為了解決上述技術問題,本發(fā)明首先提供了 一種訪問控制列表規(guī)則匹配 方法,判斷訪問控制列表ACL規(guī)則的長度,將超過三態(tài)內容可尋址存儲器 TCAM長度的ACL長規(guī)則拆分成若千條不超過所述TCAM長度的子規(guī)則, 對所述若干條子規(guī)則和/或不超過所述TCAM長度的ACL短規(guī)則分別進行 TCAM查找,完成所述長規(guī)則和/或短規(guī)則所規(guī)定的動作。
如上所述的方法中,將所述長規(guī)則拆分成若干條子規(guī)則時,各子規(guī)則可 以滿足一個子規(guī)則的TCAM查找匹配到一個結果的互斥規(guī)則。
進一步地,可以將所述長規(guī)則拆分成盡量少的所述子規(guī)則。
如上所述的方法中,將所述長規(guī)則拆分成兩條子規(guī)則時,可以對第一條 子規(guī)則進行第一次TCAM查找后輸出報文類型標識,根據所述報文類型標識 對第二條子規(guī)則進行第二次TCAM查找。
如上所述的方法中,所述ACL規(guī)則中僅含所述短規(guī)則時,可以直接對所 述短規(guī)則進行TCAM查找;
所述ACL規(guī)則中含有所述長規(guī)則和短規(guī)則時,可以依次對每條子規(guī)則進 行TCAM查找,對所述短規(guī)則只進行一次TCAM查找。
為了解決上迷技術問題,本發(fā)明還提供了 一種訪問控制列表規(guī)則匹配系 統(tǒng),包括判斷模塊、拆分模塊、查找模塊及執(zhí)行模塊,其中
判斷模塊,用于判斷訪問控制列表ACL規(guī)則的長度;
拆分模塊,與所述判斷模塊相連,將超過三態(tài)內容可尋址存儲器TCAM 長度的ACL長規(guī)則拆分成若干條不超過TCAM長度的子規(guī)則;
查找模塊,與所述判斷才莫塊及拆分模塊相連,用于對所述子規(guī)則和/或不 超過所述TCAM長度的ACL短規(guī)則進行TCAM查找;及
執(zhí)行模塊,與所述查找模塊相連,用于完成所述長規(guī)則和/或短規(guī)則所規(guī) 定的動作。
如上所迷的系統(tǒng)中,所迷拆分才莫塊將所述長規(guī)則拆分成若干條子規(guī)則時,
各子規(guī)則可以滿足一個子規(guī)則的TCAM查找匹配到一個結果的互斥規(guī)則。
進一步地,所述拆分模塊可以將所述長規(guī)則拆分成盡量少的所述子規(guī)則。
如上所述的系統(tǒng)中,所述拆分才莫塊將所述長規(guī)則拆分成兩條子規(guī)則時, 所述查找模塊可以對第 一條子規(guī)則進行第 一次TCAM查找后輸出報文類型標 識,根據所述報文類型標識對第二條子規(guī)則進行第二次TCAM查找。
如上所述的系統(tǒng)中,所述ACL規(guī)則中僅含所述短規(guī)則時,所述查找模塊 可以直接對所述短規(guī)則進行TCAM查找;
所述ACL規(guī)則中含有所述長規(guī)則和短規(guī)則時,所述查找模塊可以依次對 每條子規(guī)則進行TCAM查找,對所述短規(guī)則只進行一次TCAM查找。
與現(xiàn)有技術相比,本發(fā)明采用拆分及多次查找的方式,在一塊TCAM上 面實現(xiàn)了超過TCAM寬度的ACL匹配的方法,解決了長規(guī)則ACL匹配的問 題,節(jié)約了系統(tǒng)資源,減少了系統(tǒng)開銷。


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