一種實現流過濾的方法和裝置的製作方法
2023-10-29 18:20:07 3
專利名稱:一種實現流過濾的方法和裝置的製作方法
技術領域:
本發明涉及到數據通信領域,特別涉及到一種網絡處理器實現流過濾的方法和裝置。
背景技術:
路由器、交換機等網絡設備在運行過程中,會出現廣播風暴或網絡攻擊,如果大量 的攻擊報文上送CPU,會造成CPU過於繁忙,網絡設備工作不正常,因此需要對訪問網絡設 備的報文進行訪問流量控制。訪問控制列表(Access Control List,簡稱ACL)是Cisco I0S所提供的一種訪 問控制技術,是應用於路由器接口的規則列表,它由一系列訪問控制元素(Access Control Element,簡稱ACE)組成,每個ACE是一條單一的規則,用來匹配特定類型的報文,ACL告訴 路由器哪些報文可以收、哪些報文需要拒絕,ACL使用包過濾技術,在路由器上讀取第三層 及第四層包頭中的信息如源地址、目的地址、源埠、目的埠等,根據預先定義好的規則 進行過濾,從而達到訪問控制的目的。基於硬體的ACL,由網絡處理器(Network Processor,簡稱NP)完成對訪問流量的 控制,目前的網絡設備趨向於使用以NP為核心的體系結構,NP是一種可編程器件,特定地 應用於通信領域的各種任務,比如包處理、協議分析、路由查找、聲音/數據的匯聚、防火牆 和服務質量(Quality of Service,簡稱QoS)等。NP內部通常由若干個微碼處理器和若干 個硬體協處理器組成,多個微碼處理器在NP內部並行處理,通過預先編制的微碼來控制處 理流程,由於NP空間有限且價格昂貴,因此高效利用NP變得非常重要。如圖1所示,現有實現流過濾的方法包括以下步驟步驟101,將網絡設備接收的報文與ACL相匹配,此匹配工作相當於對所有報文進 行分類;步驟102,判斷報文是否與ACL中丟棄標識所在的ACE相匹配,匹配則執行步驟 104,否則繼續向下匹配,執行步驟103 ;步驟103,判斷報文是否與ACL中限速標識所在的ACE相匹配,匹配則執行步驟 105,否則執行步驟107 ;步驟104,丟棄報文;步驟105,獲取限速標識並執行步驟106 ;步驟106,對報文限速;步驟107,允許報文通過。步驟103中的對報文限速採用的是雙速率三色標記算法,通過對峰值信息速率 PIR(Peak Information Rate)、承諾訪問速率CIR(Committed InformationRate)以及他們 各自相關的峰值突發尺寸PBS (Peak Burst Size)和承諾突發尺寸CBS (Committed Burst Size)進行配置,達到限速目的。以交換機為例說明雙速率三色標記算法的工作原理
雙速率三色算法的實現,目前的實現基本上完全依照RFC的規定,用兩個令牌桶 來實現,兩個令牌桶的容量不同,第一個是CBS,第二個是PBS。兩桶添加令牌的速率不同, CBS桶添加令牌的速率是CIR,PBS桶添加令牌的速率則是PIR。添加令牌時先添加CBS桶, CBS桶填滿後再添加PBS桶。當發送連續流量時,先看報文速率是否超過PIR ;當報文速率大於PIR時,超過PBS 部分流量無法得到令牌,被標記為紅色報文;未超過PBS而從P桶中獲取令牌的報文標記為 黃色報文;從C桶中獲取令牌的報文被標記為綠色報文。當報文速率小於PIR,大於CIR時, 報文不會得不到令牌,但會超過CBS部分報文將從P桶中獲取令牌,被標記為黃色報文;其 他報文將從CBS桶中取令牌,被標記為綠色報文;當報文速率小於CIR時,報文所需令牌數 不會超過CBS,所以只會被標記為綠色報文。在流量控制中,可針對不同顏色的報文設定不同行為,如允許通過、丟棄、或重新 標記優先級等,完成以上行為的微碼指令單元稱為限速單元。圖2為現有NP中流過濾的裝置圖10,所有進入網絡設備的報文進入流分類單元 11後被貼上丟棄標識或限速標識,丟棄單元12對貼上丟棄標識的報文進行丟棄,限速單元 13對貼上限速標識的報文進行限速。例如網絡管理員要對來自於192. 168. 1. 20的報文進 行流量控制,限制其流量不能超過10Mbps,則將限速標識為3 (可以為除0和1以外的其它 值)時的PIR/CIR/PBS/CBS參數按照10Mbps限速進行配置,再設置一條ACE,該ACE匹配條 件設為源地址192. 168. 0. 20,動作為指定限速標識值=3,那麼NP在收到報文後,就會把報 文與該ACE相匹配,如報文源地址為192. 168. 0. 20,則與該條ACE匹配成功,NP獲得該報文 的限速標識值3,並根據限速標識值3時的PIR/CIR/PBS/CBS配置對該報文進行限速動作。在限速單元13中,限速標識為0和1時的PIR/CIR/PBS/CBS為系統默認值,網絡 管理員無法更改,限速標識為0時,PIR/CIR/PBS/CBS值全部為最大,允許報文通過,限速標 識為1時,PIR/CIR/PBS/CBS值全部為0,丟棄報文。從雙速率三色標記算法中可以看出,PIR/CIR/PBS/CBS的值全部為0時,該報文就 會被丟棄,同樣達到了丟棄單元12所起的作用。而現有技術中為丟棄和限速分別設置了丟 棄標識和限速標識兩個標識,由兩個微碼指令單元丟棄單元12和限速單元13來完成丟棄 和限速。這樣實際上就浪費了 NP的微碼空間,佔用了寶貴的NP資源。
發明內容
本發明的目的之一為提供一種實現流過濾的方法和裝置,通過將丟棄和限速合二 為一,達到節約NP微碼空間的目的。本發明提出一種實現流過濾的方法,包括步驟將網絡設備所接收的報文與ACL相匹配,獲取匹配ACE的限速標識值;根據所述限速標識值選擇對所述報文執行允許通過、丟棄或限速操作。優選地,所述步驟根據所述限速標識值對所述報文執行允許通過、丟棄或限速操 作採用雙速率三色標記算法,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,對報文限速。優選地,所述報文與ACL相匹配是判斷網絡設備所接收報文的報文特徵與ACE的條件部分是否一致,是則匹配成功,否則不匹配。優選地,所述報文特徵包括報文源地址、目的地址、源埠、目的埠和/或協議。本發明另提出一種實現流過濾的裝置,包括流分類單元,將網絡設備所接收的報文與ACL相匹配,獲取匹配ACE的限速標識 值;限速單元,判斷限速標識值,根據所述限速標識值選擇對所述報文執行允許通過、 丟棄或限速操作。優選地,所述限速單元採用雙速率三色標記算法進行限速,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,對 報文限速。優選地,所述報文與ACL相匹配是判斷網絡設備所接收報文的報文特徵與ACE的 條件部分是否一致,是則匹配成功,否則不匹配。優選地,所述報文特徵包括報文源地址、目的地址、源埠、目的埠和/或協議。本發明提出的流過濾的方法和裝置通過將限速動作和丟棄動作合二為一,壓縮 ACL表項空間,達到節約NP微碼空間的目的。
圖1為現有實現流過濾的方法流程圖;圖2為現有流過濾的裝置圖;圖3為本發明一實施例中實現流過濾的方法流程圖;圖4為本發明另一實施例中實現流過濾的裝置圖。本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施例方式本發明的主要技術方案是提供一種實現流過濾的方法和裝置,該方法和裝置通過 將限速和丟棄合二為一,壓縮ACL表項空間,達到節約NP微碼空間的目的。參照圖2,提出本發明一實施例的實現流過濾的方法,包括步驟201,將網絡設備所接收的報文與ACL相匹配,獲取匹配ACE的限速標識值;步驟202,根據限速標識值選擇對報文執行允許通過、丟棄或限速操作。其中,步驟202根據限速標識值對報文執行允許通過、丟棄或限速操作採用雙速 率三色標記算法,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,對 報文限速。
下面,詳細說明該方法的具體實施步驟在數據通信領域,路由器、交換機等網絡設備使用基於NP的ACL,NP將網絡任務劃 分為控制面和數據面兩個層次,控制面負責非實時性的管理和策略控制任務,數據面負責 承載高速多變的數據分組處理。ACL預先寫入NP,不同廠商的網絡設備,其ACL的設定規則 不同,網絡管理員負責在操作界面依照ACL設定規則設置規則,而底層NP會根據已經設置 好的ACL執行相應的微碼指令。本發明的NP在設計時,定義了限速標識,限速標識值可以為0,1和除0和1以外 的其它值,由網絡管理員根據報文特徵在操作界面進行設置,網絡管理員先申請一個限速 標識,對申請的限速標識配置相應的PIR/CIR/CBS/PBS,再為該限速標識設置一條ACE,指 定與該限速標識相匹配的報文特徵,例如網絡管理員發現源地址為192. 168. 0. 10的用戶 發送大量的攻擊報文到網絡設備,需要屏蔽該用戶的流量,則設置一條ACE,該ACE的匹配 條件為源地址為192. 168.0. 10,動作為指定限速標識值=1。因此當報文進入網絡設備時, NP發現某報文特徵與該ACE相匹配時,即該報文的源地址為192. 168. 0. 10時,NP獲取到該 報文的限速標識值1。同樣,根據已經設置好的ACL,每一條進入網絡設備的報文,NP將會將該報文與 ACL相匹配,獲取每一報文的限速標識值,通過上述方法我們實際上將所有進入網絡設備的 報文進行了分類,貼上了不同的限速標識標籤限速標識0,限速標識1和其它除0和1以 外的限速標識值。網絡管理員可以選擇根據何種報文特徵進行分類,擴展ACL允許網絡管理員依據 報文源地址、目的地址、源埠、目的埠和協議以及在特定報文欄位中的特殊位等的其中 一種或幾種進行分類。NP對分流後報文的限速標識值進行判斷,根據限速標識值執行不同動作允許通 過、丟棄或限速,以上動作採用雙速率三色標記算法完成,包括當限速標識值為0時,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1時,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值時,根據限速流量設置PIR/CIR/CBS/PBS, 對報文限速。以上PIR/CIR/CBS/PBS的參數是預先設置好的,限速標識值為0和1時的PIR/ CIR/CBS/PBS為NP默認值,限速標識值為0時,PIR/CIR/CBS/PBS為最大值,允許報文通過, 限速標識值為1時,PIR/CIR/CBS/PBS全部為0,報文被丟棄,而除0和1以外的其它限速 標識值可由網絡管理員根據需要預先設置相應的PIR/CIR/CBS/PBS參數,在上述案例中, 網絡管理員需要屏蔽來自源地址為192. 168. 0. 10的報文時,已經設定一條ACE,當報文源 地址為192. 168. 0. 10時,限速標識值設置為1,而限速標識值為1時NP的默認設置是PIR/ CIR/CBS/PBS全部為0。那麼NP在收到報文後,如果獲取該報文的限速標識值為1,則將該 報文的PIR/CIR/CBS/PBS全部配置為0,從而丟棄該報文。本發明實現允許報文通過以及報文限速的方法與背景技術無異,不再贅述。綜上所述,本發明的方法使用一個限速標識,就可以完成允許通過、丟棄和限速, 將原來丟棄和限速合二為一,大大地節約了微碼空間。如圖3,本發明提供另一實施例的實現流過濾的裝置20,包括
流分類單元21,將網絡設備所接收的報文與ACL相匹配,獲取匹配ACE的限速標識 值;限速單元22,判斷限速標識值,根據限速標識值選擇對報文執行允許通過、丟棄或 限速操作。其中,上述限速單元22採用雙速率三色標記算法進行限速,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;
當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,對 報文限速。下面詳細說明本裝置20的工作原理如圖4,本發明的NP在設計時,定義了限速標識,限速標識值可以為0,1和除0和 1以外的其它值,由網絡管理員根據報文特徵在操作界面進行設置,網絡管理員先申請一 個限速標識,對申請的限速標識配置相應的PIR/CIR/CBS/PBS,再為該限速標識設置一條 ACE,指定與該限速標識值相匹配的報文特徵,如網絡管理員發現源地址為192. 168. 0. 30 的用戶發送大量的攻擊報文到網絡設備,需要屏蔽該用戶的流量,則設置一條ACE,該ACE 的匹配條件為源地址為192. 168. 0. 30,動作為指定限速標識值=1。因此當報文進入網絡 設備時,流分類單元21對報文進行識別並分類,當流分類單元21發現某報文特徵與該ACE 相匹配時,即該報文的源地址為192. 168. 0. 30時,獲取該報文的限速標識值1。同樣,根據已經設置好的ACL,每一條進入網絡設備的報文,流分類單元21將會將 該報文與ACL相匹配,獲取每一報文的限速標識值,通過上述方法我們實際上將所有進入 網絡設備的報文進行了分類,貼上了不同的限速標識標籤限速標識0,限速標識1和其它 除0和1以外的限速標識值。網絡管理員可以選擇根據何種報文特徵進行分類,擴展ACL允許網絡管理員依據 報文源地址、目的地址、源埠、目的埠和協議以及在特定報文欄位中的特殊位等的其中 一種或幾種進行分類。限速單元22對分流後報文的限速標識值進行判斷,根據限速標識值執行不同動 作允許通過、丟棄或限速,以上動作採用雙速率三色標記算法完成,包括當限速標識值為0時,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1時,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值時,根據限速流量設置PIR/CIR/CBS/PBS, 對報文限速。以上PIR/CIR/CBS/PBS的參數是預先設置好的,限速標識值為0和1時的PIR/ CIR/CBS/PBS為系統默認值,限速標識值為0時,PIR/CIR/CBS/PBS為最大值,允許報文通 過,限速標識值為1時,PIR/CIR/CBS/PBS全部為0,報文被丟棄,而除0和1以外的其它限 速標識值可由網絡管理員根據需要設置相應的PIR/CIR/CBS/PBS參數,在上述案例中,網 絡管理員需要屏蔽來自源地址為192. 168. 0. 30的報文時,已經設定一條ACE,當報文源地 址為192. 168. 0. 30時,限速標識值設置為1,而限速標識值為1時NP默認CIR/PIR/CBS/PBS 全部為0。那麼限速單元22在收到報文後,如果獲取某報文的限速標識值為1,則將該報文 的PIR/CIR/CBS/PBS全部配置為0,從而丟棄該報文。
本發明實現允許報文通過以及報文限速都是在限速單元完成,與現有技術無異,不再贅述。綜上所述,本發明提供的實現流過濾的裝置20,將現有技術中的限速單元和丟棄 單元集成在一個限速單元22,通過將PIR/CIR/PBS/CBS全部設置為0,丟棄報文,將PIR/ CIR/PBS/CBS設置為其它限速流量,則對報文限速或允許通過,充分利用了雙速率三色標識 算法,大大節約了 NP微碼空間和表項空間。以上所述僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用 本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關 的技術領域,均同理包括在本發明的專利保護範圍內。
權利要求
一種實現流過濾的方法,其特徵在於,包括步驟將網絡設備所接收的報文與訪問控制列表相匹配,獲取匹配訪問控制列表規則的限速標識值;根據所述限速標識值選擇對所述報文執行允許通過、丟棄或限速操作。
2.如權利要求1所述的方法,其特徵在於,所述步驟根據所述限速標識值對所述報文 執行允許通過、丟棄或限速操作採用雙速率三色標記算法,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,則對報 文限速。
3.如權利要求1或2所述的方法,其特徵在於,所述報文與訪問控制列表相匹配是判 斷網絡設備所接收報文的報文特徵與訪問控制列表規則的條件部分是否一致,是則匹配成 功,否則不匹配。
4.如權利要求3所述的方法,其特徵在於,所述報文特徵包括報文源地址、目的地址、 源埠、目的埠和/或協議。
5.一種實現流過濾的裝置,其特徵在於,包括流分類單元,將網絡設備所接收的報文與訪問控制列表相匹配,獲取匹配訪問控制列 表規則的限速標識值;限速單元,判斷限速標識值,根據所述限速標識值選擇對所述報文執行允許通過、丟棄 或限速操作。
6.如權利要求5所述的裝置,其特徵在於,所述限速單元採用雙速率三色標記算法進 行限速,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,對報文 限速。
7.如權利要求5或6所述的裝置,其特徵在於,所述報文與訪問控制列表相匹配是判 斷網絡設備所接收報文的報文特徵與訪問控制列表規則的條件部分是否一致,是則匹配成 功,否則不匹配。
8.如權利要求7所述的裝置,其特徵在於,所述報文特徵包括報文源地址、目的地址、 源埠、目的埠和/或協議。
全文摘要
本發明揭示了一種實現流過濾的方法和裝置,所述方法包括步驟將網絡設備所接收的報文與訪問控制列表相匹配,獲取匹配訪問控制列表規則的限速標識值;根據所述限速標識值選擇對所述報文執行允許通過、丟棄或限速操作。所述步驟根據所述限速標識值對所述報文執行允許通過、丟棄或限速操作採用雙速率三色標記算法,包括當限速標識值為0,PIR/CIR/CBS/PBS全部設置為最大值,允許報文通過;當限速標識值為1,PIR/CIR/CBS/PBS全部設置為0,丟棄報文;當限速標識值為除0和1以外的其它值,根據限速流量設置PIR/CIR/CBS/PBS,對報文限速。該方法和裝置通過將限速動作和丟棄動作合二為一,壓縮訪問控制列表表項空間,達到節約網絡處理器微碼空間的目的。
文檔編號H04L29/06GK101834785SQ20101014607
公開日2010年9月15日 申請日期2010年4月7日 優先權日2010年4月7日
發明者姜海明, 孔玲麗, 李江衛 申請人:中興通訊股份有限公司