專利名稱:處理分組流的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及使用計(jì)算機(jī)系統(tǒng)800用于分析分組流。根據(jù)本發(fā)明一個(gè)實(shí)施例,計(jì)算機(jī)系統(tǒng)800響應(yīng)于處理器804執(zhí)行主存儲(chǔ)器806中包含的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列來(lái)處理分組流。這種指令可被從另一個(gè)計(jì)算機(jī)可讀介質(zhì)(例如存儲(chǔ)器件810)讀入到主存儲(chǔ)器806中。執(zhí)行主存儲(chǔ)器806中包含的指令的序列使處理器804執(zhí)行這里所述的處理步驟。也可以采用多處理布置中的一個(gè)或多個(gè)處理器來(lái)執(zhí)行主存儲(chǔ)器806中包含的指令的序列。在替換實(shí)施例中,可以使用硬連線電路來(lái)替換軟件指令或者與軟件指令組合來(lái)實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明的實(shí)施例不限于硬件電路和軟件的任何特定組合。
這里所述的術(shù)語(yǔ)"計(jì)算機(jī)可讀介質(zhì)"指參與向處理器804提供指令來(lái)執(zhí)行的任何介質(zhì)。這種介質(zhì)可采用多種形式,包括但不限于非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)包括例如光或磁盤,例如存儲(chǔ)器件810。易失性介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器,例如主存儲(chǔ)器806。傳輸介質(zhì)包括同軸電纜、銅線和光纖,包括包含總線802在內(nèi)的線路。傳輸介質(zhì)還可以采用聲波或光波的形式,例如在無(wú)線電波和紅外數(shù)據(jù)通信期間產(chǎn)生的那些。
計(jì)算機(jī)可讀介質(zhì)的常見(jiàn)形式包括例如軟盤、柔性盤、硬盤、磁帶、或者任何其他磁介質(zhì)、CD-ROM、任何其他光介質(zhì)、打孔卡、紙帶、具有孔狀圖案的任何其他物理介質(zhì)、RAM、PROM和EPROM、閃存、任何其他存儲(chǔ)器芯片或者盒帶、后面所述的載波、或者計(jì)算機(jī)可從其讀取的任何其他介質(zhì)。 多種形式的計(jì)算機(jī)可讀介質(zhì)可用來(lái)向處理器804傳送一條或多條指令的一個(gè)或多個(gè)序列以便執(zhí)行。例如,指令最初可承載在遠(yuǎn)程計(jì)算機(jī)的磁盤上。遠(yuǎn)程計(jì)算機(jī)可將指令加載到其動(dòng)態(tài)存儲(chǔ)器中,并利用調(diào)制解調(diào)器通過(guò)電話線來(lái)發(fā)送指令。計(jì)算機(jī)系統(tǒng)800本地的調(diào)制解調(diào)器可接收電話線上的數(shù)據(jù),并使用紅外發(fā)射器將數(shù)據(jù)轉(zhuǎn)換成紅外信號(hào)。耦合到總線802的紅外探測(cè)器可接收該紅外信號(hào)中承載的數(shù)據(jù),并將數(shù)據(jù)放置到總線802上??偩€802將數(shù)據(jù)傳送到主存儲(chǔ)器806,處理器804從主存儲(chǔ)器806取得指令并執(zhí)行指令。主存儲(chǔ)器806接收到的指令在被處理器804執(zhí)行之前或之后可以可選地被存儲(chǔ)到存儲(chǔ)器件810 。
通信接口 818還提供耦合到網(wǎng)絡(luò)鏈路820的雙向數(shù)據(jù)通信,網(wǎng)絡(luò)鏈路820被連接到本地網(wǎng)絡(luò)822。例如,通信接口818可以是綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡或調(diào)制解調(diào)器,用于提供到相應(yīng)類型的網(wǎng)絡(luò)線路的數(shù)據(jù)通信連接。作為另一個(gè)示例,通信接口 818可以是局域網(wǎng)(LAN)卡,用來(lái)提供到兼容LAN的數(shù)據(jù)通信連接。也可以實(shí)現(xiàn)無(wú)線鏈路。在任何這種實(shí)現(xiàn)方式中,通信接口 818發(fā)送和接收承載代表各種類型的信息的數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光信號(hào)。 網(wǎng)絡(luò)鏈路820 —般提供通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)到其他數(shù)據(jù)設(shè)備的數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路820可提供通過(guò)本地網(wǎng)絡(luò)822到主機(jī)計(jì)算機(jī)824或者到由因特網(wǎng)服務(wù)提供商(ISP)826運(yùn)營(yíng)的數(shù)據(jù)裝備的連接。ISP 826又提供通過(guò)全球分組數(shù)據(jù)通信網(wǎng)絡(luò)828(現(xiàn)在通常稱作"因特網(wǎng)")的數(shù)據(jù)通信服務(wù)。本地網(wǎng)絡(luò)822和因特網(wǎng)828 二者都使用承載數(shù)字?jǐn)?shù)據(jù)流量的電、電磁或者光信號(hào)。承載去往和來(lái)自計(jì)算機(jī)系統(tǒng)800的數(shù)字?jǐn)?shù)據(jù)的通過(guò)各種網(wǎng)絡(luò)的信號(hào)和網(wǎng)絡(luò)鏈路820上的并通過(guò)通信接口 818的信號(hào)是傳輸信息的載波的示例形式。
計(jì)算機(jī)系統(tǒng)800可通過(guò)網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路820和通信接口 818發(fā)送和接收數(shù)據(jù),包括程序代碼。在因特網(wǎng)示例中,服務(wù)器830可通過(guò)因特網(wǎng)828、ISP 826、本地網(wǎng)絡(luò)822和通信
13接口 818傳送所請(qǐng)求的應(yīng)用程序的代碼。根據(jù)本發(fā)明,一個(gè)這樣下載的應(yīng)用用于如這里所述處理分組流。 接收到的代碼可在其被接收到時(shí)由處理器804執(zhí)行,并且/或者被存儲(chǔ)到存儲(chǔ)器
件810或者其他非易失性存儲(chǔ)設(shè)備中以稍后執(zhí)行。這樣,計(jì)算機(jī)系統(tǒng)800可獲得載波形式
的應(yīng)用代碼。 5.0擴(kuò)展和替換 在前面的說(shuō)明書(shū)中,已參考本發(fā)明的特定實(shí)施例描述了本發(fā)明。然而,顯然在不脫離本發(fā)明的寬廣精神和范圍的情況下可對(duì)本發(fā)明作出各種修改和改變。因此,說(shuō)明書(shū)和附圖
應(yīng)當(dāng)看作是說(shuō)明性的而非限制性的。 總地來(lái)說(shuō), 一個(gè)實(shí)施例應(yīng)用到被橋接或路由的任何IP流(但是如果需要的話可以擴(kuò)展到基于MAC地址的);在流轉(zhuǎn)發(fā)過(guò)程期間可以在沒(méi)有任何軟件參與的情況下完全由硬件執(zhí)行;可以由粒狀硬件策略(gramularhardware policy)控制,所述粒狀硬件策略可基于每個(gè)源(蠕蟲(chóng)遏制策略)或基于每個(gè)目的地(例如為了服務(wù)器保護(hù))來(lái)選擇是否執(zhí)行流速率限制,可以選擇每個(gè)地址允許的流的數(shù)目,以及要實(shí)行的(組合的)動(dòng)作的類型約束流創(chuàng)建、丟棄不符合策略的分組、生成對(duì)CPU的中斷通知、挑選流采樣速率(即,N個(gè)流中的一個(gè)流被采樣)等;通過(guò)約束源每秒(或者其他可配置的時(shí)間段)可生成的流的數(shù)目來(lái)保護(hù)網(wǎng)絡(luò)和網(wǎng)絡(luò)資源;另外,通過(guò)限制在預(yù)定時(shí)間段中可打開(kāi)的朝向目的地的連接的數(shù)目來(lái)保護(hù)被過(guò)度使用的目的地(例如服務(wù)器)(該限制可基于受保護(hù)設(shè)備的最大處理能力和可用存儲(chǔ)器來(lái)根據(jù)經(jīng)驗(yàn)確定)。 實(shí)施例至少部分地出于以下原因是新穎的在轉(zhuǎn)發(fā)過(guò)程期間,其可以在不要求任何軟件參與的情況下由硬件控制被路由或橋接的流的創(chuàng)建速率(并且基于軟件的實(shí)現(xiàn)方式也可以受益于這里的技術(shù));其可以基于源地址和/或目的地地址限制流的數(shù)目;其還可以被擴(kuò)展來(lái)使用MAC地址、協(xié)議類型或者甚至L4端口,如果需要的話(L4端口使用示例可以是特定于應(yīng)用的、基于目的地的流速率限制);其可保護(hù)NetFlow實(shí)現(xiàn)方式免受目的在于耗盡NetFlow表格的資源從而導(dǎo)致溢出和統(tǒng)計(jì)數(shù)據(jù)丟失的攻擊(對(duì)于這種應(yīng)用,該特征也可以用在僅軟件的實(shí)現(xiàn)方式中)。 —個(gè)實(shí)施例允許聯(lián)網(wǎng)設(shè)備限制末端主機(jī)在預(yù)定時(shí)間段中可產(chǎn)生的流的數(shù)目,以保
護(hù)其他端設(shè)備免受蠕蟲(chóng)擴(kuò)散,并且控制對(duì)NetFlow表格的利用以避免可能的溢出問(wèn)題。也
可以使用策略來(lái)從被認(rèn)為不太重要的設(shè)備選擇性地收集較少的流樣本。 —個(gè)實(shí)施例允許聯(lián)網(wǎng)設(shè)備在流量分析工具可分析流量并應(yīng)用適當(dāng)?shù)木W(wǎng)絡(luò)范圍對(duì)
策之前,迅速地對(duì)惡意用戶或軟件片斷可生成的流的數(shù)目進(jìn)行速率限制。因此,實(shí)施例可以
與現(xiàn)有方案協(xié)作,并且不與它們互斥。 一個(gè)實(shí)施例具有完全硬件實(shí)現(xiàn)的能力、可應(yīng)用于任何
橋接或路由連接、具有高度的基于策略的粒度并且支持1 : N類型的每用戶流采樣比率。
1權(quán)利要求
一種裝置,包括第一邏輯,其被配置來(lái)確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符;流計(jì)數(shù)器,其耦合到所述第一邏輯并被配置來(lái)對(duì)與所述標(biāo)識(shí)符相關(guān)聯(lián)的流的數(shù)目進(jìn)行計(jì)數(shù);第二邏輯,其耦合到所述第一邏輯和所述流計(jì)數(shù)器,其中所述第二邏輯被配置來(lái)分析所述分組以判定所述分組是否是尚未在所述流計(jì)數(shù)器中被計(jì)數(shù)的新的流的一部分,并且如果所述分組是新的流的一部分則遞增所述流計(jì)數(shù)器。
2. 如權(quán)利要求1所述的裝置,其中所述流是特定源和特定目的地之間的分組的流動(dòng),并且由 一特定參數(shù)集合所表征。
3. 如權(quán)利要求2所述的裝置,其中所述參數(shù)集合包括源因特網(wǎng)協(xié)議(IP)地址、目的地IP地址、源傳輸控制協(xié)議(TCP)/用戶數(shù)據(jù)報(bào)協(xié)議(UDP)端口號(hào)、目的地TCP/UDP端口號(hào)、IP協(xié)議類型、IP服務(wù)類型、輸入邏輯接口 。
4. 如權(quán)利要求1所述的裝置,還包括確定與所述標(biāo)識(shí)符相關(guān)聯(lián)的流計(jì)數(shù)索引。
5. 如權(quán)利要求1所述的裝置,其中所述標(biāo)識(shí)符是可配置的。
6. 如權(quán)利要求1所述的裝置,還包括流表格,其耦合到所述第二邏輯并且包括存儲(chǔ)的關(guān)于分組的統(tǒng)計(jì)數(shù)據(jù)。
7. 如權(quán)利要求6所述的裝置,其中所述第二邏輯還被配置來(lái)判定所述流計(jì)數(shù)是否超過(guò)一閾值;當(dāng)所述流計(jì)數(shù)尚未超過(guò)所述閾值時(shí),更新所述流表格中的第一分組的統(tǒng)計(jì)數(shù)據(jù);當(dāng)所述流計(jì)數(shù)已超過(guò)所述閾值時(shí),觸發(fā)事件。
8. 如權(quán)利要求7所述的裝置,其中所述第二邏輯還被配置來(lái)重置所述流計(jì)數(shù)。
9. 如權(quán)利要求7所述的裝置,其中所述事件包括不更新所述流表格中的所述分組的統(tǒng)計(jì)數(shù)據(jù)并傳遞所述分組。
10. 如權(quán)利要求7所述的裝置,其中所述事件包括丟棄所述分組。
11. 如權(quán)利要求io所述的裝置,還包括丟棄計(jì)數(shù)器,其被配置來(lái)對(duì)丟棄的分組的數(shù)目進(jìn)行計(jì)數(shù)。
12. 如權(quán)利要求1所述的裝置,其中所述標(biāo)識(shí)符是所述分組的源的因特網(wǎng)協(xié)議地址。
13. 如權(quán)利要求1所述的裝置,其中所述流計(jì)數(shù)器是所述第一邏輯中的散列表。
14. 一種裝置,包括第一邏輯,其被配置來(lái)確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符;流表格,其包括存儲(chǔ)的關(guān)于分組的統(tǒng)計(jì)數(shù)據(jù);第二邏輯,其耦合到所述第一邏輯和所述流表格,其中所述第二邏輯被配置來(lái)在所述流表格中存儲(chǔ)關(guān)于一個(gè)或多個(gè)分組的統(tǒng)計(jì)數(shù)據(jù),其中對(duì)分組進(jìn)行采樣來(lái)獲得所述統(tǒng)計(jì)數(shù)據(jù)的頻率是基于所述標(biāo)識(shí)符的。
15. —種方法,包括計(jì)算機(jī)實(shí)現(xiàn)的以下步驟確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符;標(biāo)識(shí)流計(jì)數(shù)器,該流計(jì)數(shù)器指示與流計(jì)數(shù)索引相關(guān)聯(lián)的流的數(shù)目;分析所述分組以判定所述分組是否是尚未在所述流計(jì)數(shù)器中被計(jì)數(shù)的新的流的一部分;如果所述分組是新的流的一部分則遞增所述流計(jì)數(shù)器。
16. 如權(quán)利要求15所述的方法,其中確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符是在一個(gè)或多個(gè)電子電路中執(zhí)行的。
17. 如權(quán)利要求15所述的方法,還包括計(jì)算機(jī)實(shí)現(xiàn)的以下步驟確定與所述標(biāo)識(shí)符相關(guān)聯(lián)的流計(jì)數(shù)索引。
18. 如權(quán)利要求15所述的方法,其中所述標(biāo)識(shí)符標(biāo)識(shí)所述分組源自的源設(shè)備的群組。
19. 如權(quán)利要求15所述的方法,還包括計(jì)算機(jī)實(shí)現(xiàn)的以下步驟判定與所述標(biāo)識(shí)符相關(guān)聯(lián)的流的數(shù)目是否已超過(guò)一閾值;當(dāng)所述流的數(shù)目尚未超過(guò)所述閾值時(shí),更新所述分組的統(tǒng)計(jì)數(shù)據(jù);當(dāng)所述流的數(shù)目已超過(guò)所述閾值時(shí),觸發(fā)事件。
20. 如權(quán)利要求19所述的方法,其中所述事件包括丟棄所述分組。
21. 如權(quán)利要求20所述的方法,還包括存儲(chǔ)丟棄的分組的統(tǒng)計(jì)數(shù)據(jù)。
22. —種方法,包括計(jì)算機(jī)實(shí)現(xiàn)的以下步驟確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符;在流表格中存儲(chǔ)關(guān)于一個(gè)或多個(gè)分組的統(tǒng)計(jì)數(shù)據(jù),其中對(duì)分組進(jìn)行采樣來(lái)獲得所述統(tǒng)計(jì)數(shù)據(jù)的頻率是基于所述標(biāo)識(shí)符的。
23. —種系統(tǒng),包括用于確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符的裝置;用于確定與所述標(biāo)識(shí)符相關(guān)聯(lián)的流計(jì)數(shù)索引的裝置;用于標(biāo)識(shí)流計(jì)數(shù)器的裝置,所述流計(jì)數(shù)器指示與所述流計(jì)數(shù)索引相關(guān)聯(lián)的流的數(shù)目;用于分析所述分組以判定所述分組是否是尚未在所述流計(jì)數(shù)器中被計(jì)數(shù)的新的流的一部分的裝置;用于當(dāng)所述分組是新的流的一部分時(shí)遞增所述流計(jì)數(shù)器的裝置。
24. 如權(quán)利要求23所述的系統(tǒng),其中用于確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符的裝置包括一個(gè)或多個(gè)電子電路。
25. 如權(quán)利要求23所述的系統(tǒng),還包括用于確定與所述標(biāo)識(shí)符相關(guān)聯(lián)的流計(jì)數(shù)索引的裝置。
26. 如權(quán)利要求23所述的系統(tǒng),其中所述標(biāo)識(shí)符標(biāo)識(shí)所述分組源自的源設(shè)備的群組。
27. 如權(quán)利要求23所述的系統(tǒng),還包括用于判定與所述標(biāo)識(shí)符相關(guān)聯(lián)的流的數(shù)目是否已超過(guò)一閾值的裝置;用于當(dāng)所述流的數(shù)目尚未超過(guò)所述閾值時(shí)更新所述分組的統(tǒng)計(jì)數(shù)據(jù)的裝置;用于當(dāng)所述流的數(shù)目已超過(guò)所述閾值時(shí)觸發(fā)事件的裝置。
28. 如權(quán)利要求27所述的系統(tǒng),其中所述事件包括丟棄所述分組。
29. 如權(quán)利要求28所述的系統(tǒng),還包括用于存儲(chǔ)丟棄的分組的統(tǒng)計(jì)數(shù)據(jù)的裝置。
全文摘要
在一個(gè)實(shí)施例中,一種裝置包括包括第一邏輯,其被配置來(lái)確定與分組相關(guān)聯(lián)的標(biāo)識(shí)符,并且確定與該標(biāo)識(shí)符相關(guān)聯(lián)的流計(jì)數(shù)索引;流計(jì)數(shù)器,其耦合到第一邏輯并被配置來(lái)對(duì)與流計(jì)數(shù)索引相關(guān)聯(lián)的分組流的數(shù)目進(jìn)行計(jì)數(shù)。該實(shí)施例還包括第二邏輯,其耦合到第一邏輯和流計(jì)數(shù)器,其中第二邏輯被配置來(lái)分析分組以判定所述分組是否是尚未在流計(jì)數(shù)器中被計(jì)數(shù)的新的流的一部分,并且如果該分組尚未被計(jì)數(shù),則遞增流計(jì)數(shù)器。
文檔編號(hào)H04L29/06GK101779434SQ200880025521
公開(kāi)日2010年7月14日 申請(qǐng)日期2008年5月21日 優(yōu)先權(quán)日2007年5月22日
發(fā)明者馬爾科·福斯基亞諾 申請(qǐng)人:思科技術(shù)公司