專(zhuān)利名稱(chēng)::跟蹤片段數(shù)據(jù)流的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)領(lǐng)域,具體地,涉及跟蹤片段數(shù)據(jù)流。
背景技術(shù):
:網(wǎng)絡(luò)設(shè)備通常使用流表(flowtable)跟蹤數(shù)據(jù)流狀態(tài)。流表使用數(shù)據(jù)包包頭中的第三層和第四層信息識(shí)別和跟蹤各數(shù)據(jù)流。然而,當(dāng)將數(shù)據(jù)包分割成片段時(shí),第四層信息僅在第一數(shù)據(jù)包中攜帶。第二和后續(xù)數(shù)據(jù)包攜帶第三層信息,而非第四層信息。因此,簡(jiǎn)單的流映射系統(tǒng)(如基于第三層和第四層信息工作的系統(tǒng))對(duì)片段流不起作用。
發(fā)明內(nèi)容根據(jù)一種實(shí)施方式,一種由設(shè)備執(zhí)行的方法可包括接收片段式數(shù)據(jù)單元的第一片段;確定識(shí)別與第一片段相關(guān)的數(shù)據(jù)流的流標(biāo)識(shí)符;并且基于該流標(biāo)識(shí)符在流表中建立條目(entry),以存儲(chǔ)與數(shù)據(jù)流相關(guān)的信息。該方法還可包括確定與第一片段相關(guān)的片段密鑰(fragmentkey);基于該片段密鑰在片段表(fragmenttable)中創(chuàng)建條目;在片段表的條目中存儲(chǔ)指向流表中條目的指針;接收片段式數(shù)據(jù)單元的后續(xù)片段,其中,后續(xù)片段是在接收到第一片段后接收的;將后續(xù)片段與片段表中的條目進(jìn)行匹配;并且基于指向流表中該條目的指針使后續(xù)片段與第一片段相關(guān)聯(lián)。根據(jù)另一種實(shí)施方式,一種設(shè)備可包括第一存儲(chǔ)器,第二存儲(chǔ)器,和流識(shí)別邏輯。第一存儲(chǔ)器存儲(chǔ)可存儲(chǔ)與片段式數(shù)據(jù)單元(fragmenteddataunit)的片段相關(guān)的條目的流表。第二存儲(chǔ)器可存儲(chǔ)與流表分離的片段表。流識(shí)別邏輯可接收片段式數(shù)據(jù)單元的另一片段,確定與其他片段相關(guān)的片段密鑰,基于該片段密鑰定位片段表中的條目,從片段表中的條目讀取指向流表中條目的指針,并且基于指向流表中的條目的指針使與該片段相關(guān)的統(tǒng)計(jì)數(shù)據(jù)(statistics)與其他片段相關(guān)聯(lián)。根據(jù)又一種實(shí)施方式,一種設(shè)備可包括接收片段式數(shù)據(jù)單元的片段的裝置;確定識(shí)別與該片段相關(guān)的數(shù)據(jù)流的流標(biāo)識(shí)符的裝置;基于流標(biāo)識(shí)符創(chuàng)建流條目從而存儲(chǔ)與數(shù)據(jù)流相關(guān)的信息的裝置;確定與片段相關(guān)的片段密鑰的裝置;基于片段密鑰存儲(chǔ)指向流條目的指針的裝置;基于片段密鑰和指向流條目的指針,使與數(shù)據(jù)流相關(guān)的片段與其他片段相關(guān)聯(lián)的裝置;以及在使片段與其他片段相關(guān)聯(lián)后累計(jì)(accumulating)與該片段及其他片段相關(guān)的統(tǒng)計(jì)數(shù)據(jù)的裝置。包含在本說(shuō)明書(shū)中并構(gòu)成其一部分的附圖與說(shuō)明一起示出了一個(gè)或多個(gè)本文所述的實(shí)施例,并對(duì)這些實(shí)施例進(jìn)行說(shuō)明。在這些附圖中圖1是可以實(shí)現(xiàn)本文所描述的系統(tǒng)和方法的示例性網(wǎng)絡(luò)的示意圖;圖2是示出了圖1中網(wǎng)絡(luò)設(shè)備的示例性組件的框圖;圖3是示出了圖2中接口的示例性組件的框圖4是示出了圖3中流管理和結(jié)構(gòu)排隊(duì)(fabricqueuing)邏輯的示例性功能組件的框圖;圖5是圖4中流表的示例性字段的示意圖;圖6是圖4中片段表的示例性字段的示意圖;圖7至圖10示出了監(jiān)控與數(shù)據(jù)單元相關(guān)的數(shù)據(jù)流的示例性過(guò)程的流程圖;圖IlA和IlB示出了本文所述的處理的一個(gè)實(shí)例的示意圖;以及圖12A和12B示出了本文所述的處理的另一實(shí)例的示意圖。具體實(shí)施例方式下面將參考附圖進(jìn)行詳細(xì)說(shuō)明。不同圖中相同參考標(biāo)記可以表示相同或類(lèi)似的元件。如本文所述,網(wǎng)絡(luò)設(shè)備可監(jiān)控與數(shù)據(jù)單元和數(shù)據(jù)單元片段相關(guān)的數(shù)據(jù)流。例如,網(wǎng)絡(luò)設(shè)備可將與片段相關(guān)的數(shù)據(jù)流與數(shù)據(jù)單元的片段進(jìn)行匹配,以使網(wǎng)絡(luò)設(shè)備可監(jiān)控?cái)?shù)據(jù)流,從而例如收集統(tǒng)計(jì)數(shù)據(jù),識(shí)別不需要的(如惡意)流量等。本文所用的術(shù)語(yǔ)“數(shù)據(jù)單元(dataunit)”可指數(shù)據(jù)包,數(shù)據(jù)報(bào)(datagram),或單元(cell);數(shù)據(jù)包,數(shù)據(jù)報(bào),或單元的片段,或數(shù)據(jù)的其他類(lèi)型或排列。本文所用的術(shù)語(yǔ)“數(shù)據(jù)流”可指與同一來(lái)源和目的相關(guān)的一組數(shù)據(jù)單元。示例性網(wǎng)絡(luò)圖1是可以實(shí)現(xiàn)本文所述的系統(tǒng)和方法的示例性網(wǎng)絡(luò)100的示意圖。網(wǎng)絡(luò)100可包括任何類(lèi)型的網(wǎng)絡(luò),如英特網(wǎng),自組織網(wǎng)絡(luò)(adhocnetwork),局域網(wǎng)(LAN),廣域網(wǎng)(WAN),城域網(wǎng)(MAN),電話(huà)網(wǎng)(如無(wú)線(xiàn)通信網(wǎng)絡(luò)或公共交換電話(huà)網(wǎng)(PSTN)),或多種網(wǎng)絡(luò)的組合。如圖所示,網(wǎng)絡(luò)100可包括N個(gè)網(wǎng)絡(luò)設(shè)備102-1到102-N(這里總稱(chēng)為“網(wǎng)絡(luò)設(shè)備102”,或單獨(dú)稱(chēng)為“網(wǎng)絡(luò)設(shè)備102”)(N彡1)。網(wǎng)絡(luò)設(shè)備102-1到102-N的每一個(gè)可包括交換機(jī),路由器,服務(wù)器,或其他類(lèi)型設(shè)備。雖然網(wǎng)絡(luò)設(shè)備102-1到102-N可以以不同類(lèi)型的設(shè)備執(zhí)行,在下面的說(shuō)明中,網(wǎng)絡(luò)設(shè)備102-1到102-N將按照路由器說(shuō)明。通過(guò)示例的方式示出了將網(wǎng)絡(luò)設(shè)備102-1到102-N互連的鏈路。網(wǎng)絡(luò)設(shè)備102-1到102-N可經(jīng)不同于圖1中所示的鏈路互連。圖2示出了網(wǎng)絡(luò)設(shè)備102的示例性組件的方框圖。如圖2所示,網(wǎng)絡(luò)設(shè)備102可包括系統(tǒng)控制模塊210,交換結(jié)構(gòu)(switchfabric)220,一組接口230。在其他實(shí)施中,與圖2所示的組件相比,網(wǎng)絡(luò)設(shè)備102可包括較少的,額外的,不同的,或不同布置的組件。而且,描述為由一個(gè)組件執(zhí)行的功能可由另一組件或一組組件執(zhí)行。系統(tǒng)控制模塊210可包括一個(gè)或多個(gè)可以對(duì)網(wǎng)絡(luò)和通信進(jìn)行優(yōu)化的處理器,微處理器,專(zhuān)用集成電路(ASIC),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),和/或處理邏輯。系統(tǒng)控制模塊210可執(zhí)行網(wǎng)絡(luò)設(shè)備102的高級(jí)管理功能。例如,系統(tǒng)控制模塊210可與連接到網(wǎng)絡(luò)設(shè)備102的其他網(wǎng)絡(luò)和系統(tǒng)通信,以交換關(guān)于網(wǎng)絡(luò)拓?fù)涞男畔ⅰT谀承?shí)施中,系統(tǒng)控制模塊210可包括路由引擎,用于基于網(wǎng)絡(luò)拓?fù)湫畔?chuàng)建路由表(routingtable),基于路由表創(chuàng)建轉(zhuǎn)發(fā)表(forwardingtable),并發(fā)送這些表至數(shù)據(jù)單元路由的接口230。系統(tǒng)控制模塊210也可包括用于存儲(chǔ)數(shù)據(jù)和/或機(jī)器可讀指令的靜態(tài)存儲(chǔ)器(如只讀存儲(chǔ)器(ROM)),動(dòng)態(tài)存儲(chǔ)器(如隨機(jī)存取存儲(chǔ)器(RAM)),板載緩存(onboardcache),和/或閃存。交換結(jié)構(gòu)220可包括一個(gè)或多個(gè)交換板(switchingplane)以便于接口230和/或系統(tǒng)控制模塊210之間的通信。在一種實(shí)施中,每個(gè)交換板可包括縱橫制元件(crossbarelement)的單級(jí)(singlestage)或多級(jí)(multi-stage)交換。交換結(jié)構(gòu)220也可,或可選地包括處理器,存儲(chǔ)器,和/或允許系統(tǒng)控制模塊210和接口230間通信的路徑。接口230可包括諸如線(xiàn)卡(linecard)的設(shè)備或組件,用于從網(wǎng)絡(luò)鏈路(或從其他接口230)接收輸入的數(shù)據(jù)單元并且用于將數(shù)據(jù)單元傳輸?shù)骄W(wǎng)絡(luò)鏈路(或其他接口230)。例如,接口230可包括以太網(wǎng)接口,光載波(opticalcarrier,0C)接口,和/或異步傳輸模式(ATM)接口。接口230可管理一組輸入端口(經(jīng)其可以接收數(shù)據(jù)單元)和一組輸出端口(經(jīng)其可以傳輸數(shù)據(jù)單元)。根據(jù)實(shí)施,圖2所示的組件可提供較少的或額外功能。例如,如果網(wǎng)絡(luò)設(shè)備102作為多協(xié)議標(biāo)簽交換(MPLS)路由器的一部分執(zhí)行因特網(wǎng)協(xié)議(IP)數(shù)據(jù)單元路由功能,則系統(tǒng)控制模塊210可執(zhí)行與從MPLS網(wǎng)絡(luò)中的其他路由器獲得路由信息相關(guān)聯(lián)的任務(wù)。在這樣的情形中,從一個(gè)接口傳送網(wǎng)絡(luò)流量到另一個(gè)接口可涉及基于標(biāo)簽的路由(label-basedrouting),而非基于IP地址的路由。圖3是示出了接口230的示例性組件的框圖。如圖所示,接口230可包括數(shù)據(jù)包轉(zhuǎn)發(fā)引擎(PFE)310-1和310-2(本文中總稱(chēng)為“PPE310”,或單獨(dú)地稱(chēng)為PEE310”),流管理和結(jié)構(gòu)排隊(duì)(FFQ)邏輯320-1和320-2(這里總稱(chēng)為或單獨(dú)稱(chēng)為“FFQ邏輯320”),背板(backplane)330,交換機(jī)340,交換機(jī)350,和本地中央處理單元/可視中央處理單元(LCPU/VCPU)360。在不同實(shí)施中,與圖3中所示的組件相比,接口230可包括較少,額外的,不同的,或不同布置的組件。每個(gè)PFE310可包括硬件,或硬件和軟件的組合,其可接收,存儲(chǔ),處理,和/或轉(zhuǎn)發(fā)數(shù)據(jù)單元。例如,PFE310可處理從輸入網(wǎng)絡(luò)鏈路接收的數(shù)據(jù)單元并準(zhǔn)備輸出網(wǎng)絡(luò)鏈路(outgoingnetworklink)上傳輸?shù)臄?shù)據(jù)單元。PFE310可根據(jù)數(shù)據(jù)單元的包頭信息做出轉(zhuǎn)發(fā)決定。每個(gè)PFE310可包括存儲(chǔ)器以輔助存儲(chǔ),處理,和/或轉(zhuǎn)發(fā)接收的數(shù)據(jù)單元。PFE310可將接收的數(shù)據(jù)單元傳輸至FFQ邏輯320。FFQ邏輯320可包括硬件,或硬件和軟件的組合,其可接收來(lái)自PFE310的數(shù)據(jù)單元并監(jiān)控與數(shù)據(jù)單元相關(guān)聯(lián)的數(shù)據(jù)流。在一種實(shí)施中,F(xiàn)FQ邏輯320可在流表中創(chuàng)建數(shù)據(jù)流的表?xiàng)l目(tableentry)并監(jiān)控與該數(shù)據(jù)流相關(guān)的流統(tǒng)計(jì)數(shù)據(jù)。在一種實(shí)施中,F(xiàn)FQ邏輯320可為每個(gè)數(shù)據(jù)流使用定時(shí)器從而跟蹤每個(gè)數(shù)據(jù)流的數(shù)據(jù)單元的時(shí)序,并為每個(gè)數(shù)據(jù)流使用一組計(jì)數(shù)器從而跟蹤每個(gè)數(shù)據(jù)流的數(shù)據(jù)單元/字節(jié)數(shù)。在某些實(shí)施中,F(xiàn)FQ邏輯320也可對(duì)數(shù)據(jù)單元進(jìn)行采樣并可發(fā)送采樣的數(shù)據(jù)單元和其他信息(如流表記錄)至交換機(jī)340和/或交換機(jī)350。FFQ邏輯320也可從PFE310傳輸數(shù)據(jù)單元至背板330。背板330可包括交換結(jié)構(gòu)和/或一個(gè)或多個(gè)存儲(chǔ)器,其可將數(shù)據(jù)單元傳輸?shù)浇粨Q結(jié)構(gòu)220或從交換結(jié)構(gòu)傳回?cái)?shù)據(jù)(如圖2所示)。交換機(jī)340可包括高速交換接口,如周邊裝置元件高速互連(PCI-E)交換機(jī),用于在PFE310,FFQ邏輯320,和/或LCPU/VCPU360間傳輸/接收數(shù)據(jù)單元和信息。例如,交換機(jī)350可包括可在PFE310,F(xiàn)FQ邏輯320,和/或LCPU/VCPU360間傳輸數(shù)據(jù)單元和/或信息的以太網(wǎng)交換機(jī)。以太網(wǎng)交換機(jī)350也可經(jīng)背板330在帶外板(out-of-bandplane)上傳輸和/或接收數(shù)據(jù)單元和/或信息到另一個(gè)裝置(網(wǎng)絡(luò)設(shè)備102的內(nèi)部或外部)用于進(jìn)一步處理和/或分析。本地中央處理單元/可見(jiàn)(visibility)中央處理單元(LCPU/VCPU)360可包括一個(gè)或多個(gè)可執(zhí)行網(wǎng)絡(luò)通信,管理和分析功能的處理器,微處理器,ASIC,FPGAJP/或處理邏輯。例如,LCPU/VCPU360可控制關(guān)于圖3中所示組件之間的(本地)操作的功能并且可控制關(guān)于經(jīng)接口230傳輸?shù)臄?shù)據(jù)單元的“可見(jiàn)性”的功能。例如,LCPU/VCPU360可管理記錄的流表和/或采樣數(shù)據(jù)單元。例如,LCPU/VCPU360可從FFQ邏輯320接收流表記錄和采樣數(shù)據(jù)單元。LCPU/VCPU360也可經(jīng)以太網(wǎng)交換機(jī)350傳輸流表記錄和采樣數(shù)據(jù)單元至外部設(shè)備。例如,在管理流記錄中,LCPU/VCPU360可從FFQ邏輯320接收流表記錄和統(tǒng)計(jì)數(shù)據(jù),聚集和/或保持接收的流表記錄和統(tǒng)計(jì)數(shù)據(jù),并將集聚的流表和/或統(tǒng)計(jì)數(shù)據(jù)輸出到網(wǎng)絡(luò)設(shè)備102內(nèi)另一個(gè)組件,或可選地,輸出到網(wǎng)絡(luò)設(shè)備102外部的設(shè)備。LCPU/VCPU360可基于不同參數(shù),如通信協(xié)議,端口號(hào),源地址和/或目的地址,起點(diǎn)/目的地址前綴,源/目的自主系統(tǒng)(source/destinationautonomoussystem(AS))前綴等,集聚流表記錄和/或統(tǒng)計(jì)數(shù)據(jù)。FFQ邏輯的示例性功能組件圖4是示出了FFQ邏輯320的示例性功能組件的框圖。如圖4所示,F(xiàn)FQ邏輯320可包括結(jié)構(gòu)接口410,流識(shí)別邏輯420,流表430,和片段表440。在另一個(gè)實(shí)施中,與圖4中所示的組件相比,F(xiàn)FQ邏輯320可包括較少的,額外的,不同的,或不同布置的組件。例如,在某些實(shí)施中,圖4中一個(gè)或多個(gè)功能組件可位于FFQ邏輯320的外部。而且,或可選地,由一個(gè)功能組件執(zhí)行的一個(gè)或多個(gè)功能可由多個(gè)功能組件中的另一個(gè)或一組功能組件執(zhí)行。結(jié)構(gòu)接口410可包括硬件,或硬件和軟件的組合,其可提供對(duì)PFE310,交換結(jié)構(gòu)220,和/或接口230的另一個(gè)組件的接口。結(jié)構(gòu)接口410可包括一個(gè)或多個(gè)接口隊(duì)列(interfacingqueue)或可臨時(shí)存儲(chǔ)已經(jīng)被流識(shí)別邏輯420處理并等待從FFQ邏輯320傳輸?shù)臄?shù)據(jù)單元的緩沖器(未示出)。在一種實(shí)施中,結(jié)構(gòu)接口410可包括每個(gè)輸出端口的單獨(dú)隊(duì)列。此外,或可選地,結(jié)構(gòu)接口410可包括能分配給數(shù)據(jù)單元的不同優(yōu)先級(jí)的獨(dú)立隊(duì)列。因此,結(jié)構(gòu)接口410可包括每個(gè)端口和每個(gè)優(yōu)先級(jí)的獨(dú)立隊(duì)列。在其他實(shí)施中,結(jié)構(gòu)接口410可包括某些其他的隊(duì)列安排。例如,結(jié)構(gòu)隊(duì)列410可包括輔助隊(duì)列,供臨時(shí)存儲(chǔ)片段式數(shù)據(jù)單元的片段。結(jié)構(gòu)接口410也可包括從隊(duì)列選擇數(shù)據(jù)單元以便傳輸?shù)呐袥Q器(arbiter)。在一種實(shí)施中,仲裁器可使用基于數(shù)據(jù)單元優(yōu)先級(jí)和/或輸出端口可用性的公平選擇技術(shù)。例如,仲裁器可選擇發(fā)往可用來(lái)接收數(shù)據(jù)單元的輸出端口的最高優(yōu)先級(jí)數(shù)據(jù)單元。流識(shí)別邏輯420可包括硬件,或硬件結(jié)合軟件,其可從PFE310接收數(shù)據(jù)單元,確定數(shù)據(jù)單元是否是片段式數(shù)據(jù)單元,從數(shù)據(jù)單元確定流標(biāo)識(shí)符和/或片段密鑰(如從數(shù)據(jù)單元讀取流標(biāo)識(shí)符/片段密鑰或基于數(shù)據(jù)單元中的信息生成流標(biāo)識(shí)符/片段密鑰),提供關(guān)于數(shù)據(jù)單元的信息和流標(biāo)識(shí)符,以創(chuàng)建和/或更新關(guān)于流表430中數(shù)據(jù)流的信息,和/或提供片段密鑰從而創(chuàng)建和/或更新關(guān)于片段表440中數(shù)據(jù)流的信息。流識(shí)別邏輯420可從數(shù)據(jù)單元包頭中的信息中識(shí)別流標(biāo)識(shí)符和/或片段密鑰。例如,對(duì)于非片段式數(shù)據(jù)單元(non-fragmenteddataunit),流標(biāo)識(shí)符可從數(shù)據(jù)單元包頭中的信息進(jìn)行構(gòu)建,該包頭涉及源地址和目的地址(通常稱(chēng)為第三層(Layer3,L3)信息),源端口和目的端口(通常稱(chēng)為第四層(Layer4,L4)信息),和/或協(xié)議信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可作為數(shù)據(jù)單元包頭中信息的哈希值來(lái)計(jì)算,并可用來(lái)識(shí)別或創(chuàng)建流表430的條目。對(duì)于片段式數(shù)據(jù)單元的第一片段,流識(shí)別邏輯420可產(chǎn)生流標(biāo)識(shí)符和片段密鑰。流標(biāo)識(shí)符可從數(shù)據(jù)單元包頭中的信息進(jìn)行構(gòu)建,該數(shù)據(jù)單元包頭涉及源地址和目的地址(即,L3信息),源端口和目的端口(即,L4信息),和/或協(xié)議信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可作為數(shù)據(jù)單元包頭中信息的哈希值來(lái)進(jìn)行計(jì)算,并可用來(lái)識(shí)別或創(chuàng)建流表430中的條目。片段密鑰可從數(shù)據(jù)單元包頭中的信息進(jìn)行構(gòu)建,該數(shù)據(jù)單元包頭涉及L3信息和片段識(shí)別信息,其可包括與特定數(shù)據(jù)流相關(guān)的片段的唯一值。在一個(gè)實(shí)施中,片段密鑰可作為L(zhǎng)3信息和片段識(shí)別信息的哈希值來(lái)進(jìn)行計(jì)算,并可用來(lái)識(shí)別或創(chuàng)建片段表440中的條目。對(duì)于片段式數(shù)據(jù)單元的第一片段后的片段,流識(shí)別邏輯420可生成流標(biāo)識(shí)符和/或片段密鑰。這些片段的包頭可不包括L4信息,但可包括L3信息和片段識(shí)別信息。在該情形中,流標(biāo)識(shí)符和/或片段密鑰可從數(shù)據(jù)單元包頭中的信息進(jìn)行構(gòu)建,該數(shù)據(jù)單元包頭涉及L3信息和片段識(shí)別信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符和/或片段密鑰可作為L(zhǎng)3信息和片段識(shí)別信息的哈希值進(jìn)行計(jì)算,并可用來(lái)識(shí)別或創(chuàng)建流表430和/或片段表440中的條目。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可以匹配第一片段后的片段的片段密鑰。在另一個(gè)實(shí)施中,流標(biāo)識(shí)符可與第一片段后續(xù)片段的片段密鑰不同。在識(shí)別與數(shù)據(jù)單元相關(guān)的流標(biāo)識(shí)符后,流識(shí)別邏輯420可確定對(duì)應(yīng)于流標(biāo)識(shí)符的條目先前是否已經(jīng)在流表430中建立。例如,流識(shí)別邏輯420可比較流標(biāo)識(shí)符和流表430中的信息從而確定是否匹配。如果沒(méi)有條目,可在流表430中創(chuàng)建相應(yīng)條目。然而,如果相應(yīng)條目先前已經(jīng)建立在流表430中(即至少一個(gè)屬于數(shù)據(jù)流的在前數(shù)據(jù)單元先前已經(jīng)由網(wǎng)絡(luò)設(shè)備102接收),流識(shí)別邏輯420可更新相應(yīng)條目中的一個(gè)或多個(gè)字段,從而反映新接收的數(shù)據(jù)單元。在識(shí)別與數(shù)據(jù)單元相關(guān)的片段密鑰后,流識(shí)別邏輯420可確定對(duì)應(yīng)于片段密鑰的條目先前是否已經(jīng)在片段表440中建立。例如,流識(shí)別邏輯420可比較片段密鑰和片段表440中信息從而確定是否匹配。如果沒(méi)有條目存在,相應(yīng)條目可在片段表440中創(chuàng)建。然而,如果相應(yīng)條目先前已經(jīng)在片段表440中建立(即至少一個(gè)屬于數(shù)據(jù)流的在前數(shù)據(jù)單元先前已經(jīng)由網(wǎng)絡(luò)設(shè)備102接收),流識(shí)別邏輯420可在流表430的條目中更新或存儲(chǔ)關(guān)于片段表440中條目的信息。流表430可在諸如一個(gè)或多個(gè)動(dòng)態(tài)RAM(DRAM)的存儲(chǔ)器設(shè)備中實(shí)現(xiàn)。流表430可包括多個(gè)對(duì)應(yīng)于由網(wǎng)絡(luò)設(shè)備102識(shí)別的數(shù)據(jù)流的條目。例如,流表430中每個(gè)條目可包括用來(lái)識(shí)別每個(gè)數(shù)據(jù)流的流識(shí)別字段和對(duì)應(yīng)于數(shù)據(jù)單元處理(dataunithandling)信息的其他相關(guān)字段(如,端口或接口信息,協(xié)議信息,等)。流表430可包括關(guān)于多個(gè)數(shù)據(jù)流的信息,如一百萬(wàn)以上的數(shù)據(jù)流的信息。圖5是流表430的示例性字段的示意圖。如圖5所示,流表430可包括1到X的每個(gè)數(shù)據(jù)流的多個(gè)流表?xiàng)l目。流表430中示例性條目可包括流識(shí)別(ID)字段510,第二層(L2)信息字段515,第三層(L3)信息字段520,第四層(L4)信息字段525,數(shù)據(jù)單元計(jì)數(shù)器字段530,字節(jié)計(jì)數(shù)器字段535,和計(jì)時(shí)器字段540。在其他實(shí)施中,流表430中條目可包括更多,更少,或不同的字段。例如流ID字段510可以不是流表430中的實(shí)際字段,而代表流表430中條目的地址。流識(shí)別字段510可包括唯一,或基本唯一的與特定數(shù)據(jù)流相關(guān)的流標(biāo)識(shí)符。例如,流標(biāo)識(shí)符可包括從對(duì)應(yīng)于數(shù)據(jù)流的數(shù)據(jù)單元(無(wú)論是片段式的或非片段式的)包頭中特定信息獲得的值。例如,流標(biāo)識(shí)符可從數(shù)據(jù)單元包頭中的信息進(jìn)行構(gòu)建,該包頭涉及L3信息,L4信息,和/或協(xié)議信息,或涉及L3信息和片段識(shí)別信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可作為為數(shù)據(jù)單元包頭中的信息的哈希值來(lái)進(jìn)行計(jì)算。流標(biāo)識(shí)符可提供有效的方法來(lái)識(shí)別和定位流表430中數(shù)據(jù)流。L2信息字段515可包括L2信息的單元,如與數(shù)據(jù)單元相關(guān)的源介質(zhì)訪(fǎng)問(wèn)控制(MAC)地址,與數(shù)據(jù)單元相關(guān)的目的MAC地址等。L3信息字段520可包括L3信息的單元,如源或目的IP(因特網(wǎng)協(xié)議)地址,L3協(xié)議信息(如,超文本傳輸協(xié)議(HTTP),文件傳輸協(xié)議(FTP))等。L4信息字段525可包括一個(gè)或多個(gè)L4信息單元,如源和目的端口信息(其通常指示與數(shù)據(jù)單元相關(guān)的應(yīng)用類(lèi)型),L4協(xié)議信息,等等。數(shù)據(jù)單元計(jì)數(shù)器字段530可包括用于累計(jì)和/或指示對(duì)應(yīng)于數(shù)據(jù)流(在特定時(shí)間周期已通過(guò)接口230)的數(shù)據(jù)單元總數(shù)目的信息。字節(jié)計(jì)數(shù)器字段535可包括用于累計(jì)和/或指示在特定時(shí)間周期期間已在數(shù)據(jù)流中傳遞的字節(jié)總數(shù)目的信息。計(jì)時(shí)器字段540可包括涉及在數(shù)據(jù)流中接收的數(shù)據(jù)單元的時(shí)序信息或時(shí)間戳(timestamp)。在一個(gè)實(shí)施中,L2信息字段515可包括源和目的MAC地址,L3信息字段520可包括源和目的IP地址和L3協(xié)議類(lèi)型,而L4信息字段525可包括源和目的端口和L4協(xié)議類(lèi)型(用于非片段式數(shù)據(jù)單元以及用于片段式數(shù)據(jù)單元的第一片段)。計(jì)時(shí)器字段540,數(shù)據(jù)單元計(jì)數(shù)器字段530,以及字節(jié)計(jì)數(shù)器字段535的值可周期性重置或累計(jì),以提供與特定數(shù)據(jù)流相關(guān)的總計(jì)數(shù)。參考圖4,片段表440可在諸如內(nèi)容可尋址存儲(chǔ)器(CAM)的存儲(chǔ)器設(shè)備內(nèi)執(zhí)行。片段表440可存儲(chǔ)關(guān)于數(shù)據(jù)單元片段的信息。在一個(gè)實(shí)施中,片段表440可存儲(chǔ)多個(gè)條目,其中,每個(gè)條目均可對(duì)應(yīng)于與數(shù)據(jù)單元片段相關(guān)的數(shù)據(jù)流。片段表440可有助于使與同一數(shù)據(jù)流相關(guān)的數(shù)據(jù)單元片段相關(guān)聯(lián)。圖6是片段表440的示例性字段的示意圖。如圖6所示,片段表440可包括1到y(tǒng)的每個(gè)數(shù)據(jù)流的多個(gè)條目。片段表440中示例性條目可包括片段密鑰字段610,流表索引字段620,隊(duì)列指針字段630,以及計(jì)時(shí)器字段640。在其他實(shí)施中,片段表440中條目可包括額外的,較少的,或不同的字段。例如,片段密鑰610可以不是片段表440中的實(shí)際字段,但可以代表片段表440中條目的地址。片段密鑰字段610可包括片段密鑰,其可以是唯一的或基本唯一的,與特定數(shù)據(jù)流片段相關(guān)的標(biāo)識(shí)符。例如,片段密鑰可包括從片段式數(shù)據(jù)單元包頭中的特定信息獲得的值,如涉及L3信息和片段識(shí)別信息的信息。在一個(gè)實(shí)施中,片段密鑰可作為數(shù)據(jù)單元包頭中信息的哈希值來(lái)進(jìn)行計(jì)算。片段密鑰可提供有效方法以識(shí)別和定位與片段表440中特定數(shù)據(jù)流相關(guān)的片段。流表索引字段620可包括指向?yàn)橥粩?shù)據(jù)流中第一片段創(chuàng)建的流表430中條目的指針。例如,在一個(gè)實(shí)施中,流表索引字段620可存儲(chǔ)確定的數(shù)據(jù)流中第一片段的流標(biāo)識(shí)符。流標(biāo)識(shí)符可用作指向?qū)?yīng)于與特定數(shù)據(jù)單元片段相關(guān)的數(shù)據(jù)流的流表430中條目的指針。隊(duì)列指針字段630可包括指向用于存儲(chǔ)與數(shù)據(jù)流相關(guān)的片段的輔助隊(duì)列(或輔助隊(duì)列中地址)的指針。輔助隊(duì)列可在結(jié)構(gòu)接口410內(nèi)實(shí)施,如上所述。輔助隊(duì)列可存儲(chǔ)片段直到片段式數(shù)據(jù)單元的第一片段到達(dá)或該片段被刪除。計(jì)時(shí)器字段640可包括可設(shè)定,增加(或減小),和/或重置的計(jì)數(shù)器值。計(jì)數(shù)器值可用來(lái)確定是否從由隊(duì)列指針字段630中指針?biāo)赶虻妮o助隊(duì)列中刪除片段和/或是否從片段表440中刪除條目。例如,當(dāng)片段保持在輔助隊(duì)列中超過(guò)閾值時(shí)間而沒(méi)有接收到額外片段時(shí)(基于計(jì)時(shí)器字段640中的信息),該片段可刪除??蛇x地,或額外地,當(dāng)條目保持在片段表440中而沒(méi)有接收到額外片段(基于計(jì)時(shí)器字段640中的信息)超過(guò)閾值時(shí)間時(shí),該條目可刪除。在一個(gè)實(shí)施中,每次接收到數(shù)據(jù)流中片段時(shí),計(jì)時(shí)器字段640中計(jì)數(shù)器值可設(shè)定或重置。在沒(méi)有接收到片段的每個(gè)時(shí)間間隔內(nèi),計(jì)數(shù)器值可增加(或減小)。示例性過(guò)程圖7至圖9示出用于監(jiān)控與數(shù)據(jù)單元相關(guān)的數(shù)據(jù)流的示例性過(guò)程的流程圖。在圖7至圖9中所示的過(guò)程可通過(guò)FFQ邏輯320,LCPU/VCPU360,和/或與FFQ邏輯320和/或LCPU/VCPU360分離或結(jié)合的另一個(gè)組件來(lái)執(zhí)行。該過(guò)程可以從接收的數(shù)據(jù)單元開(kāi)始(方框710)(圖7)。例如,F(xiàn)FQ邏輯320可從PFE310接收數(shù)據(jù)單元??梢源_定數(shù)據(jù)單元是否是片段式數(shù)據(jù)單元(方框720)。例如,流識(shí)別邏輯410可根據(jù)數(shù)據(jù)單元包頭中的特定信息確定數(shù)據(jù)單元是否是片段式的數(shù)據(jù)單元。該特定信息可包括特定于片段式數(shù)據(jù)單元的特定信息,如片段識(shí)別信息,片段標(biāo)記,和/或片段區(qū)距信息(fragmentoffsetinformation)。上文已經(jīng)說(shuō)明了片段識(shí)別信息。片段標(biāo)記可包括指示數(shù)據(jù)單元是否是片段式數(shù)據(jù)單元的信息。片段區(qū)距信息可指示原始數(shù)據(jù)單元內(nèi)片段的位置。如果數(shù)據(jù)單元不是片段式數(shù)據(jù)單元(方框720-否),則與數(shù)據(jù)單元相關(guān)的數(shù)據(jù)流可以被識(shí)別(方框730)。例如,流識(shí)別邏輯420可確定數(shù)據(jù)單元的流標(biāo)識(shí)符(如從數(shù)據(jù)單元讀取流標(biāo)識(shí)符或從數(shù)據(jù)單元中的信息中生成流標(biāo)識(shí)符)。如上所述,流識(shí)別邏輯420可根據(jù)諸如L3信息(如源地址和目的地址),L4信息(如源端口和目的端口),和/或協(xié)議信息的數(shù)據(jù)單元的包頭中的信息來(lái)識(shí)別流標(biāo)識(shí)符。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可作為數(shù)據(jù)單元包頭中信息的哈希值來(lái)進(jìn)行計(jì)算。可創(chuàng)建或修改流表430中的條目(方框740)。例如,流識(shí)別邏輯420可用流標(biāo)識(shí)符搜索流表430,從而確定流表430是否包括具有在例如流識(shí)別字段510中的匹配的流標(biāo)識(shí)符的條目。如果流表430包括具有匹配流標(biāo)識(shí)符的條目,這可以說(shuō)明已經(jīng)創(chuàng)建數(shù)據(jù)流的條目。在該情形中,流識(shí)別邏輯420可更新流表430的條目中的信息。例如,流識(shí)別邏輯420可更新流統(tǒng)計(jì)數(shù)據(jù),如數(shù)據(jù)單元計(jì)數(shù)器字段530中的數(shù)據(jù)計(jì)數(shù),字節(jié)計(jì)數(shù)器字段535中字節(jié)計(jì)數(shù),和/或流表430的計(jì)時(shí)器字段540中時(shí)序信息。如果流表430不包括具有匹配流標(biāo)識(shí)符的條目,這可以說(shuō)明數(shù)據(jù)單元是該數(shù)據(jù)流接收的第一數(shù)據(jù)單元。在該情形中,流識(shí)別邏輯420可在流表430中創(chuàng)建新條目。例如,流識(shí)別邏輯420可在流表430的條目中存儲(chǔ)不同信息,如上面參考圖5說(shuō)明的信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可以識(shí)別流表430內(nèi)條目的位置。換句話(huà)說(shuō),流標(biāo)識(shí)符可用作流表430的索引。流識(shí)別邏輯420可向LCPU/VCPU360發(fā)送數(shù)據(jù)單元,以及關(guān)于流表?xiàng)l目的信息。LCPU/VCPU360可監(jiān)控?cái)?shù)據(jù)流,如收集關(guān)于數(shù)據(jù)流的統(tǒng)計(jì)數(shù)據(jù)或識(shí)別不想要的(如惡意)流量。圖7至圖9的過(guò)程可返回方框710,在這里接收另一個(gè)數(shù)據(jù)單元。如果數(shù)據(jù)單元是片段式數(shù)據(jù)單元(方框720-是),可以確定數(shù)據(jù)單元是否是片段式數(shù)據(jù)單元的第一片段(方框810)(圖8)。例如,流識(shí)別邏輯420可根據(jù)數(shù)據(jù)單元包頭中的L4信息(如源端口和目的端口)存在(或不存在)確定數(shù)據(jù)單元是否是片段式數(shù)據(jù)單元的第一片段。如上所述,片段式數(shù)據(jù)單元的第一片段可在其包頭中包括L4信息,但片段式數(shù)據(jù)單元的后續(xù)片段在其包頭中可以不包括L4信息。術(shù)語(yǔ)“第一片段”是指首先創(chuàng)建的或首先傳輸?shù)钠?,而不必是到達(dá)網(wǎng)絡(luò)設(shè)備102的初始片段。如果數(shù)據(jù)單元是片段式數(shù)據(jù)單元的第一片段(方框810-是),則可被識(shí)別與數(shù)據(jù)單元相關(guān)的數(shù)據(jù)流(方框820)。例如,流識(shí)別邏輯420可確定數(shù)據(jù)單元的流標(biāo)識(shí)符(如從數(shù)據(jù)單元讀取流標(biāo)識(shí)符或從數(shù)據(jù)單元中信息中生成流標(biāo)識(shí)符)。如上所述,流識(shí)別邏輯420可根據(jù)數(shù)據(jù)單元包頭中的信息(如L3信息,L4信息,和/或協(xié)議信息)識(shí)別流標(biāo)識(shí)符。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可作為數(shù)據(jù)單元頭文件中的信息的哈希值來(lái)進(jìn)行計(jì)算??蓜?chuàng)建流表430中的條目(方框830)。例如,流識(shí)別邏輯420可在流表430的條目中存儲(chǔ)諸如上面參考圖5說(shuō)明的信息的不同信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可識(shí)別流表430內(nèi)條目的位置。換句話(huà)說(shuō),流標(biāo)識(shí)符可用作流表430的索引??缮善蚊荑€(方框840)。例如,流識(shí)別邏輯420可確定數(shù)據(jù)單元的片段密鑰(如從數(shù)據(jù)單元讀取片段密鑰或從數(shù)據(jù)單元中信息中生成片段密鑰),或根據(jù)關(guān)于流表?xiàng)l目的信息該片段密鑰。如上所述,流識(shí)別邏輯420可根據(jù)數(shù)據(jù)單元包頭中的信息(如L3信息和片段識(shí)別信息)生成片段密鑰。在一個(gè)實(shí)施中,片段密鑰可作為數(shù)據(jù)單元包頭中的信息的哈希值而生成。可以確定是否已經(jīng)接收到與同一片段式數(shù)據(jù)單元相關(guān)的在前片段(方框850)。例如,流識(shí)別邏輯420可用片段密鑰搜索片段表440,從而確定片段表440是否包括具有在(例如)片段密鑰字段610中的匹配片段密鑰的條目。如果片段表440包括具有匹配片段密鑰的條目,這可說(shuō)明已經(jīng)接收到該數(shù)據(jù)流上的片段(不是第一片段)。在某些情形中,片段可無(wú)序地到達(dá)網(wǎng)絡(luò)設(shè)備102。當(dāng)沒(méi)有接收到在前片段時(shí)(方框850-否),流識(shí)別邏輯420可在片段表440中創(chuàng)建新條目(方框860)。例如,流識(shí)別邏輯420可在片段表440的片段密鑰字段610中存儲(chǔ)片段密鑰,并可存儲(chǔ)指向片段表440的流表索引字段620的流表430中創(chuàng)建的條目的指針。圖7至圖9的過(guò)程可返回到方框710,在這里接收另一數(shù)據(jù)單元。當(dāng)接收到在前片段時(shí)(方框850-是),流識(shí)別邏輯420可更新片段表440的條目中信息(方框870)。例如,流識(shí)別邏輯420可存儲(chǔ)指向片段表440的(例如)流表索引字段620的流表430中創(chuàng)建的條目的指針。流識(shí)別邏輯420也可設(shè)置/重置計(jì)時(shí)器字段640中計(jì)數(shù)器值??申P(guān)聯(lián)流表430中的條目(方框880)。例如,流識(shí)別邏輯420可經(jīng)片段密鑰和/或指向流表430的指針將第一片段和早先的片段相關(guān)聯(lián)。例如,流識(shí)別邏輯420可更新流表430中的流統(tǒng)計(jì)數(shù)據(jù),諸如數(shù)據(jù)單元計(jì)數(shù)器字段530中的數(shù)據(jù)計(jì)數(shù),字節(jié)計(jì)數(shù)器字段535中的字節(jié)計(jì)數(shù),和/或計(jì)時(shí)器字段540中時(shí)序信息。在一個(gè)實(shí)施中,流識(shí)別邏輯420可更新與具有早先片段的信息的第一片段相關(guān)的統(tǒng)計(jì)數(shù)據(jù)。這可允許通過(guò)例如收集關(guān)于數(shù)據(jù)流的統(tǒng)計(jì)數(shù)據(jù)或識(shí)別不想要(如惡意)的流量來(lái)監(jiān)控?cái)?shù)據(jù)流??蓜h除與在前片段相關(guān)的流表430中的條目(方框890)。例如,流識(shí)別邏輯420可識(shí)別根據(jù)在前片段創(chuàng)建的流表430中的條目,并刪除該條目。圖7至圖9的過(guò)程可返回至方框710,在這里數(shù)據(jù)單元被接收。如果數(shù)據(jù)單元不是片段式數(shù)據(jù)單元的第一片段(方框810-否),則可以確定是否已經(jīng)接收到第一片段(方框910)(圖9)。例如,流識(shí)別邏輯420可生成該片段的片段密鑰并使用該片段密鑰分析片段表440。如果片段表440不存儲(chǔ)對(duì)應(yīng)于該片段密鑰的條目,則這是為該片段式數(shù)據(jù)單元接收的初始片段。因此,沒(méi)有接收到第一片段。如果片段表440包括對(duì)應(yīng)于片段的條目,則流識(shí)別邏輯420可分析條目從而確定該條目是否包括流表索引字段620中的信息。如果流表索引字段620存儲(chǔ)指向流表430的指針,則已經(jīng)接收到第一片段。如果流表索引字段620沒(méi)有存儲(chǔ)指向流表430的指針,則還沒(méi)有接收到第一片段。如果還沒(méi)有接收到第一片段(方框910-否),則可識(shí)別與數(shù)據(jù)單元相關(guān)的數(shù)據(jù)流(方框920)。例如,流識(shí)別邏輯420可確定數(shù)據(jù)單元的流標(biāo)識(shí)符(例如,從數(shù)據(jù)單元讀取流標(biāo)識(shí)符或根據(jù)數(shù)據(jù)單元中信息生成流標(biāo)識(shí)符)。如上面所述,流識(shí)別邏輯420可根據(jù)數(shù)據(jù)單元的包頭信息識(shí)別流標(biāo)識(shí)符。然而,在該情形中,因?yàn)閿?shù)據(jù)單元是片段式數(shù)據(jù)單元且不含L4信息,流識(shí)別邏輯420可基于L3信息和片段識(shí)別信息生成流標(biāo)識(shí)符(類(lèi)似于生成片段密鑰的方式)。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可作為數(shù)據(jù)單元頭文件中信息的哈希值來(lái)進(jìn)行計(jì)算??蓜?chuàng)建或修改流表430中的條目(方框930)。例如,流識(shí)別邏輯420可在流表430的條目中存儲(chǔ)不同信息,如上面參考圖5所述的信息。在一個(gè)實(shí)施中,流標(biāo)識(shí)符可識(shí)別流表430中條目的位置。換句話(huà)說(shuō),流標(biāo)識(shí)符可用作流表430的索引。如果流表430中沒(méi)有條目(如在該片段是片段式數(shù)據(jù)單元接收的初始片段的情形中),流識(shí)別邏輯420可在流表430中創(chuàng)建條目并在條目的適當(dāng)字段存儲(chǔ)關(guān)于片段的信息。如果流表430中已經(jīng)存在條目(如在已經(jīng)接收到片段數(shù)據(jù)單元在前片段而非第一片段的情形中),流識(shí)別邏輯420可用流標(biāo)識(shí)符識(shí)別條目并用關(guān)于片段的信息更新條目的字段。如果在方框910中還沒(méi)有生成片段密鑰,則可以生成片段密鑰(方框940)。例如,流識(shí)別邏輯420可以確定數(shù)據(jù)單元的片段密鑰(如從數(shù)據(jù)單元讀取片段密鑰或從數(shù)據(jù)單元的信息中生成片段密鑰),或根據(jù)關(guān)于流表?xiàng)l目的信息確定該片段密鑰。如上所述,流識(shí)別邏輯420可根據(jù)數(shù)據(jù)單元包頭中的信息(如L3信息和片段識(shí)別信息)生成片段密鑰。例如,可作為數(shù)據(jù)單元包頭中的信息的哈希值生成片段密鑰。片段可存儲(chǔ)在輔助隊(duì)列中(方框950)。例如,流識(shí)別邏輯420可指示結(jié)構(gòu)接口410以在輔助隊(duì)列中存儲(chǔ)片段??蓜?chuàng)建或修改片段表440中的條目(方框960)。例如,流識(shí)別邏輯420可用片段密鑰搜索片段表440從而確定片段表440是否包括在(例如)片段密鑰字段610中具有匹配片段密鑰的條目。如果片段表440包括具有匹配片段密鑰的條目,這可說(shuō)明已經(jīng)接收到該數(shù)據(jù)流的片段。在該情形中,流識(shí)別邏輯420可經(jīng)片段密鑰使該片段與早先的片段相關(guān)聯(lián)。流識(shí)別邏輯420也可在隊(duì)列指針字段630中存儲(chǔ)指向用于存儲(chǔ)片段的輔助隊(duì)列(或輔助隊(duì)列中地址)的指針。流識(shí)別邏輯420也可在計(jì)時(shí)器字段640中設(shè)定/重置計(jì)數(shù)器值。如果片段表440不包括具有匹配片段密鑰的條目,流識(shí)別邏輯420可在片段表440中創(chuàng)建條目。例如流識(shí)別邏輯420可在片段表440的片段密鑰字段610中存儲(chǔ)片段密鑰。在一個(gè)實(shí)施中,流識(shí)別邏輯420可保持片段表440的流表索引字段620中的信息不變(如空),或可設(shè)定流表索引字段620中信息為指示沒(méi)有可用的指向流表430的指針的特定值。流識(shí)別邏輯420也可在隊(duì)列指針字段630中存儲(chǔ)指向存儲(chǔ)片段的輔助隊(duì)列(或輔助隊(duì)列中的地址)的指針。流識(shí)別邏輯420也可設(shè)定/重置計(jì)時(shí)器字段640中的計(jì)數(shù)器值。圖7至圖9的過(guò)程可返回到方框710,在這里接收另一個(gè)數(shù)據(jù)單元。如果已經(jīng)接收第一片段(方框910-是),如果方框910中還沒(méi)有接收到片段密鑰,則可生成片段密鑰(方框1010)(圖10)。例如,流識(shí)別邏輯420可確定數(shù)據(jù)單元的片段密鑰(如從數(shù)據(jù)單元讀取片段密鑰或從數(shù)據(jù)單元中的信息中生成片段密鑰)。如上所述,流識(shí)別邏輯420可從數(shù)據(jù)單元包頭中信息(如L3信息和片段識(shí)別信息)生成片段密鑰。例如,片段密鑰可作為數(shù)據(jù)單元包頭中信息的哈希值進(jìn)行生成??梢宰R(shí)別指向流表430中條目的指針(方框1020)。例如,流識(shí)別邏輯420可用片段密鑰搜索片段表440從而識(shí)別在例如,片段密鑰字段610中具有匹配片段密鑰的條目。流識(shí)別邏輯420可從例如流表索引字段620中讀取指向流表430中條目的指針??尚薷牧鞅?30中的條目(方框1030)。例如,流識(shí)別邏輯420可經(jīng)指向流表430中的條目使該片段與早先的片段相關(guān)聯(lián)。例如,流識(shí)別邏輯420可更新流表430中的流統(tǒng)計(jì)數(shù)據(jù),如數(shù)據(jù)單元計(jì)數(shù)器字段530中的數(shù)據(jù)計(jì)數(shù),字節(jié)計(jì)數(shù)器字段535中的字節(jié)計(jì)數(shù),和/或計(jì)時(shí)器字段540中的時(shí)序信息。在一個(gè)實(shí)施中,流識(shí)別邏輯420可以使用后續(xù)片段的信息更新與第一片段相關(guān)聯(lián)的統(tǒng)計(jì)數(shù)據(jù)。這可允許通過(guò)(例如)收集關(guān)于數(shù)據(jù)流的統(tǒng)計(jì)數(shù)據(jù)或識(shí)別不想要的(如惡意)流量來(lái)監(jiān)控?cái)?shù)據(jù)流。圖7至圖9的過(guò)程可返回至方框710,這里接收另一個(gè)數(shù)據(jù)單元。在圖7至圖9的過(guò)程中,某些信息可傳輸?shù)絃CPU/VCPU360。如上所述,LCPU/VCPU360可存儲(chǔ)流表430的副本。LCPU/VCPU360可從FFQ邏輯320接收關(guān)于片段式數(shù)據(jù)單元的片段的關(guān)聯(lián)性的信息,并更新流表430的副本。根據(jù)流表430副本中的信息,LCPU/VCPU360可對(duì)片段式數(shù)據(jù)單元執(zhí)行某些操作,如采樣,監(jiān)控,數(shù)據(jù)率限制(ratelimiting),中斷(dropping),等。實(shí)例圖IlA和IlB是本文所述過(guò)程的實(shí)例的示意圖。如圖IlA所示,可接收片段式數(shù)據(jù)單元的第一片段。假定第一片段也是為與片段式數(shù)據(jù)單元相關(guān)的數(shù)據(jù)流接收的初始片段??稍诹鞅碇袆?chuàng)建條目。例如,可根據(jù)第一片段中的信息確定流標(biāo)識(shí)符,如L3信息,L4信息,和/或協(xié)議信息,如上所述。假定流標(biāo)識(shí)符對(duì)應(yīng)于值“A”。條目可存儲(chǔ)在流表中對(duì)應(yīng)于流標(biāo)識(shí)符值A(chǔ)的地址位置。也可在片段存儲(chǔ)器中創(chuàng)建條目。例如,可根據(jù)第一片段中的信息(如L3信息和片段識(shí)別信息)確定片段密鑰,如上所述。假定片段密鑰對(duì)應(yīng)于值“Z”。條目可存儲(chǔ)在片段存儲(chǔ)器中對(duì)應(yīng)于片段密鑰值Z的地址位置處。條目可存儲(chǔ)指向在流表中創(chuàng)建的條目的指針。如圖IlA中所示,條目可存儲(chǔ)值A(chǔ),其可用作指向流表的指針(或索引)?,F(xiàn)在假定接收到片段式數(shù)據(jù)單元的另一個(gè)片段(第K個(gè)片段,其中K>1),如圖IlB所示。假定第K個(gè)片段和第一片段屬于同一數(shù)據(jù)流并在第一片段接收后的某一點(diǎn)上被接收??纱_定片段密鑰(如根據(jù)第一片段中信息生成的,如L3信息和片段識(shí)別信息,如上所述)??筛鶕?jù)片段密鑰搜索片段表。例如,假定片段密鑰對(duì)應(yīng)于值“Ζ”??勺R(shí)別條目Z且可從條目中讀取指向流表?xiàng)l目的指針。這可使得后面的片段(即第K個(gè)片段)與早先的片段(即,第一片段)相關(guān)聯(lián)。因此,可累計(jì)與同一數(shù)據(jù)流相關(guān)聯(lián)的不同片段的數(shù)據(jù)流統(tǒng)計(jì)數(shù)據(jù),或其他數(shù)據(jù)流信息。圖12A和12B是示出本文所述過(guò)程的另一個(gè)實(shí)例的示意圖。如圖12A所示,假定接收到片段式數(shù)據(jù)單元的第K個(gè)片段(這里K>1),且第K個(gè)片段是在同一數(shù)據(jù)流中第一片段之前接收的??稍诹鞅碇袆?chuàng)建條目。例如,流標(biāo)識(shí)符可根據(jù)第K個(gè)片段中的信息進(jìn)行確定。因?yàn)榈贙個(gè)片段不是第一片段,則第K個(gè)片段可不包括L4信息。因此,可根據(jù)其他信息(如L3信息和片段識(shí)別信息)生成流標(biāo)識(shí)符,如上所述。假定流標(biāo)識(shí)符對(duì)應(yīng)于值“Z”。條目可存儲(chǔ)在流表中對(duì)應(yīng)于流標(biāo)識(shí)符值Z的地址位置。可根據(jù)片段密鑰搜索片段表。例如,可以確定片段密鑰(如與流標(biāo)識(shí)符相同或根據(jù)第一片段中信息生成的,如L3信息和片段識(shí)別信息,如上所述)。假定片段密鑰對(duì)應(yīng)于值“Z”。在該情形中,在片段表中沒(méi)有對(duì)應(yīng)于片段密鑰Z的條目。因此,條目可在片段表中創(chuàng)建并存儲(chǔ)在片段表中對(duì)應(yīng)于片段密鑰Z的地址位置?,F(xiàn)在假定接收到數(shù)據(jù)流中的第一片段,如圖12B所示??稍诹鞅碇袆?chuàng)建條目。例如,可根據(jù)第一片段中的信息,如L3信息,L4信息,和/或協(xié)議信息確定流標(biāo)識(shí)符,如上所述。假定流標(biāo)識(shí)符對(duì)應(yīng)于值“A”。條目可存儲(chǔ)在流表中對(duì)應(yīng)于流標(biāo)識(shí)符值A(chǔ)的地址位置。可根據(jù)片段密鑰搜索片段表。例如,可以確定片段密鑰(如,根據(jù)第一片段中信息生成的,如L3信息和片段識(shí)別信息,如上所述)。假定片段密鑰對(duì)應(yīng)于值“Z”。在該情形中,在片段表中已經(jīng)存在對(duì)應(yīng)于片段密鑰Z的條目。因此,可修改條目以存儲(chǔ)指向流表中創(chuàng)建的條目的指針。如圖12B所示,可修改片段表?xiàng)l目以存儲(chǔ)值A(chǔ)(其可以是指向流表的指針(或索引))。這使得后面的片段(即,第一片段)與早先的片段(即,第K個(gè)片段)相關(guān)聯(lián)。因此,可累計(jì)與同一數(shù)據(jù)流相關(guān)聯(lián)的不同片段的數(shù)據(jù)流統(tǒng)計(jì)數(shù)據(jù),或其他數(shù)據(jù)流信息。例如,來(lái)自于早先創(chuàng)建的流表?xiàng)l目(即,對(duì)應(yīng)于流標(biāo)識(shí)符值Z的條目)的數(shù)據(jù)流統(tǒng)計(jì)數(shù)據(jù)可與來(lái)自于后期創(chuàng)建的流表?xiàng)l目(即,對(duì)應(yīng)于流標(biāo)識(shí)符值A(chǔ)的條目)的數(shù)據(jù)流統(tǒng)計(jì)數(shù)據(jù)進(jìn)行組合。此外,可根據(jù)第K片段刪除早先創(chuàng)建的流表?xiàng)l目。如上所述,第K個(gè)片段可存儲(chǔ)在輔助隊(duì)列中以等待接收第一片段。當(dāng)?shù)谝黄芜_(dá)到時(shí),第一片段和第K個(gè)片段可輸出以便進(jìn)一步的處理。然而,如果時(shí)間的閾值量出現(xiàn)在連續(xù)片段的接收之間,則第K個(gè)片段可從輔助隊(duì)列中刪除,和/或可刪除片段表中的條目。此項(xiàng)技術(shù)的優(yōu)點(diǎn)是其可自然過(guò)濾基于片段的服務(wù)攻擊(serviceattack)的拒絕,這里,一系列的片段(有意地排除第一片段)是隨機(jī)傳輸?shù)摹=Y(jié)論這里所述的實(shí)施例可便于監(jiān)控包括片段式數(shù)據(jù)單元的數(shù)據(jù)流。根據(jù)這些實(shí)施,可實(shí)現(xiàn)某些優(yōu)點(diǎn)。例如,具有在任何給定時(shí)間活躍的無(wú)序片段的數(shù)據(jù)流的量可用來(lái)度量網(wǎng)絡(luò)的健康狀況(或安全性)。而且,即使后續(xù)片段在第一片段之前到達(dá),由這些后續(xù)片段經(jīng)片段表匹配到后接收的第一片段,所有片段都仍可進(jìn)行流表上執(zhí)行的不同動(dòng)作。此外,網(wǎng)絡(luò)設(shè)備可將無(wú)序片段重新排序?yàn)檎_的數(shù)據(jù)單元順序。這可改善某些終端設(shè)備,如服務(wù)器的性能。前面的說(shuō)明提供了圖示和說(shuō)明,但這些不是為了無(wú)遺漏地說(shuō)明本發(fā)明或?qū)⑵湎拗圃诠_(kāi)的確切形式內(nèi)。根據(jù)上面的教導(dǎo),修改和變化是可能的,或可通過(guò)實(shí)施本發(fā)明獲得修改和變化。例如,雖然參考圖7至圖9說(shuō)明了一系列的方框,在其他實(shí)施中,方框的順序可調(diào)整。進(jìn)一步,可并行執(zhí)行獨(dú)立方框。而且,這些實(shí)施例的某些部分描述為執(zhí)行一個(gè)或多個(gè)功能的“邏輯”或“組件”。術(shù)語(yǔ)“邏輯”或“組件”可包括硬件,如處理器,ASIC,或FPGA,或硬件和軟件的組合(如在處理器上運(yùn)行的軟件)。進(jìn)一步,已經(jīng)說(shuō)明了流表和片段表。如這里所用的術(shù)語(yǔ)“表”可指存儲(chǔ)器內(nèi)任何可搜索形式或結(jié)構(gòu)的數(shù)據(jù)。顯然,本文所述的方面可以按照許多不同形式的圖中所示實(shí)施中的軟件,固件,和硬件來(lái)實(shí)施。用來(lái)執(zhí)行這些方面的實(shí)際軟件代碼或特殊的控制硬件不限于這些實(shí)施例。因此,本發(fā)明多個(gè)方面的操作和行為不是參考特定的軟件代碼說(shuō)明的,應(yīng)理解,軟件和控制硬件可設(shè)計(jì)來(lái)實(shí)施根據(jù)本文所描述的方面。即使特殊的特征組合在權(quán)利要求中進(jìn)行了列舉和/或在說(shuō)明書(shū)中進(jìn)行了公開(kāi),但這些組合不是為了限制本發(fā)明的公開(kāi)。實(shí)際上,這些特征中的許多可以不是具體以權(quán)利要求中所列出的和/或說(shuō)明書(shū)中所公開(kāi)的方式組合。雖然所列出的每個(gè)從屬權(quán)利要求可僅直接依賴(lài)于另一個(gè)權(quán)利要求,但本發(fā)明的公開(kāi)包括與權(quán)利要求組中所有其他權(quán)利要求結(jié)合的每一從屬權(quán)利要求。除非有類(lèi)似地明確說(shuō)明,本申請(qǐng)中使用的單元,動(dòng)作,或指令不應(yīng)解讀為本發(fā)明外延或內(nèi)涵。而且,如這里使用的“一個(gè)(a)”可包括一個(gè)或多個(gè)項(xiàng)。僅在要說(shuō)一項(xiàng)時(shí),才使用術(shù)語(yǔ)“一個(gè)(one)”或類(lèi)似語(yǔ)言。進(jìn)一步,除非另外說(shuō)明,否則短語(yǔ)“根據(jù)”是指“至少部分地根據(jù)”。權(quán)利要求一種由設(shè)備執(zhí)行的方法,包括接收片段式數(shù)據(jù)單元的第一片段;確定用于識(shí)別與所述第一片段相關(guān)聯(lián)的數(shù)據(jù)流的流標(biāo)識(shí)符;根據(jù)所述流標(biāo)識(shí)符在流表中創(chuàng)建條目,以存儲(chǔ)與所述數(shù)據(jù)流相關(guān)聯(lián)的信息;確定與所述第一片段相關(guān)聯(lián)的片段密鑰;根據(jù)所述片段密鑰在片段表中創(chuàng)建條目;在所述片段表中的條目中存儲(chǔ)指向所述流表中的條目的指針;接收所述片段式數(shù)據(jù)單元的后續(xù)片段,其中,所述后續(xù)片段是在接收到所述第一片段之后接收的;將所述后續(xù)片段與所述片段表中的條目進(jìn)行匹配;以及根據(jù)指向所述流表中的條目的指針使所述后續(xù)片段與所述第一片段相關(guān)聯(lián)。2.根據(jù)權(quán)利要求1所述的方法,其中,確定所述流標(biāo)識(shí)符包括識(shí)別所述第一片段的包頭中的信息,其中,所述包頭中的信息包括第三層信息和第四層信息,以及根據(jù)所述包頭中的信息生成所述流標(biāo)識(shí)符。3.根據(jù)權(quán)利要求1所述的方法,其中,確定所述片段密鑰包括識(shí)別所述第一片段的包頭中的信息,其中,所述包頭中的信息包括第三層信息和片段識(shí)別信息,以及根據(jù)所述包頭中的信息生成所述片段密鑰。4.根據(jù)權(quán)利要求1所述的方法,其中,將所述后續(xù)片段與所述片段存儲(chǔ)器中的條目進(jìn)行匹配包括生成與所述后續(xù)片段相關(guān)聯(lián)的另一片段密鑰,以及使用所述另一片段密鑰定位所述片段存儲(chǔ)器中的條目。5.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括在使所述后續(xù)片段與所述第一片段相關(guān)聯(lián)后,將與所述第一片段和所述后續(xù)片段相關(guān)聯(lián)的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行累計(jì)。6.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括在使所述后續(xù)片段與所述第一片段相關(guān)聯(lián)后,以與所述后續(xù)片段相關(guān)聯(lián)的信息更新所述流表的條目中的信息。7.一種設(shè)備,包括第一存儲(chǔ)器,用于存儲(chǔ)流表,所述流表存儲(chǔ)與片段式數(shù)據(jù)單元的片段相關(guān)聯(lián)的條目;第二存儲(chǔ)器,用于存儲(chǔ)與所述流表相分離的片段表;用于接收所述片段式數(shù)據(jù)單元的另一片段的裝置;用于確定與所述另一片段相關(guān)聯(lián)的片段密鑰的裝置;用于根據(jù)所述片段密鑰定位所述片段表中的條目的裝置;用于從所述片段表中的條目中讀取指向所述流表中的條目的指針的裝置;以及用于根據(jù)指向所述流表中的條目的所述指針,使與所述片段和所述另一片段相關(guān)聯(lián)的統(tǒng)計(jì)數(shù)據(jù)相關(guān)聯(lián)的裝置。8.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述第二存儲(chǔ)器是內(nèi)容可尋址存儲(chǔ)器。9.根據(jù)權(quán)利要求7所述的設(shè)備,其中,用于確定所述片段密鑰的裝置包括用于識(shí)別所述另一片段的包頭中的信息的裝置,其中,所述包頭中的信息包括第三層信息和片段識(shí)別信息,以及用于根據(jù)所述包頭中的信息生成所述片段密鑰的裝置。10.根據(jù)權(quán)利要求7所述的設(shè)備,其中,用于使所述統(tǒng)計(jì)數(shù)據(jù)關(guān)聯(lián)的裝置包括用于在所述流表的條目中存儲(chǔ)與所述另一片段相關(guān)聯(lián)的信息的裝置。11.根據(jù)權(quán)利要求7所述的設(shè)備,進(jìn)一步包括用于接收所述片段式數(shù)據(jù)單元的所述片段的裝置,其中,所述片段是在所述另一片段之前被接收的;用于確定識(shí)別與所述片段相關(guān)聯(lián)的數(shù)據(jù)流的流標(biāo)識(shí)符的裝置;以及用于根據(jù)所述流標(biāo)識(shí)符創(chuàng)建所述流表中的條目的裝置。12.根據(jù)權(quán)利要求11所述的設(shè)備,進(jìn)一步包括用于確定與所述片段相關(guān)聯(lián)的片段密鑰的裝置,該與所述片段相關(guān)聯(lián)的片段密鑰和與所述另一片段相關(guān)聯(lián)的片段密鑰相匹配,用于在所述片段表的條目中存儲(chǔ)指向所述流表中的條目的所述指針的裝置。13.根據(jù)權(quán)利要求7所述的設(shè)備,其中,用于確定所述流標(biāo)識(shí)符的裝置包括用于識(shí)別所述片段中的包頭的信息的裝置,其中,來(lái)自所述包頭的信息包括第三層信息和第四層信息,以及用于根據(jù)所述包頭中的信息生成所述流標(biāo)識(shí)符的裝置。14.根據(jù)權(quán)利要求7所述的設(shè)備,進(jìn)一步包括隊(duì)列,用于存儲(chǔ)所述另一片段;以及其中,所述片段表進(jìn)一步存儲(chǔ)用于確定是否從所述隊(duì)列中刪除所述另一片段的計(jì)數(shù)值。全文摘要一種設(shè)備,可接收片段式數(shù)據(jù)單元的片段,確定識(shí)別與該片段相關(guān)的數(shù)據(jù)流的流標(biāo)識(shí)符,并根據(jù)該流標(biāo)識(shí)符創(chuàng)建流條目,以存儲(chǔ)與數(shù)據(jù)流相關(guān)的信息。該設(shè)備也可確定與該片段相關(guān)的片段密鑰,根據(jù)片段密鑰存儲(chǔ)指向流條目的指針,根據(jù)片段密鑰和指向流條目的指針,將與數(shù)據(jù)流相關(guān)的一個(gè)片段和另一片段相關(guān)聯(lián),并在關(guān)聯(lián)一個(gè)片段和另一片段后,累計(jì)與該一個(gè)片段和另一片段相關(guān)的統(tǒng)計(jì)數(shù)據(jù)。文檔編號(hào)H04L29/06GK101827073SQ200910206689公開(kāi)日2010年9月8日申請(qǐng)日期2009年10月29日優(yōu)先權(quán)日2009年3月5日發(fā)明者古奈什·艾巴伊,大衛(wèi)·羅厄爾,杰克·科恩申請(qǐng)人:叢林網(wǎng)絡(luò)公司