專利名稱:一種網(wǎng)絡流量的探測方法和探測裝置的制作方法
技術領域:
本申請涉及網(wǎng)絡技術領域,特別涉及一種網(wǎng)絡流量的探測裝置和探測方法。
背景技術:
隨著網(wǎng)絡技術的飛速發(fā)展,網(wǎng)絡的規(guī)模越來越大,構建在互聯(lián)網(wǎng)上的應用越來越多,導致整個社會對互聯(lián)網(wǎng)的依賴也越來越強。與此同時,網(wǎng)絡規(guī)模的迅速膨脹、新應用的不斷涌現(xiàn),導致網(wǎng)絡的可管理性和可控性越來越差,因此,高效可信的網(wǎng)絡管理也顯得越來越重要。網(wǎng)絡流量能夠反映出當前網(wǎng)絡的運行狀態(tài),是網(wǎng)絡管理和維護的重要依據(jù)。Netflow是Cisco公司最早提出的網(wǎng)絡數(shù)據(jù)包交換技術,可用來記錄并分析網(wǎng)絡流量信息,為網(wǎng)絡管理提供數(shù)據(jù)支撐?;贜etflow的流量采集方法可以獲得包括源地址IP、目的地址IP、源端口、目的端口和協(xié)議字段的五元組信息等詳細信息,根據(jù)這些信息就可以對協(xié)議(應用)、主機IP (用戶)以及AS域等進行統(tǒng)計排行和趨勢分析,也可對異常流量進行監(jiān)測?,F(xiàn)有的網(wǎng)絡產(chǎn)品一般是通過使用CPU協(xié)助完成和實現(xiàn)Netflow流量采集功能,并將采集到的網(wǎng)絡上的數(shù)據(jù)包的五元組信息整理得到的FST存儲于專用的存儲器中,為后續(xù)的流量收集器(collector)進行網(wǎng)絡流量的屬性分析提供依據(jù)。但是,由于采集流量信息所帶來的系統(tǒng)開銷會耗費大量的CPU資源,導致系統(tǒng)處理性能急劇下降。
發(fā)明內(nèi)容
有鑒于此,本申請?zhí)峁┮环N網(wǎng)絡流量的探測方法和探測裝置,不必通過CPU的協(xié)助就能夠?qū)W(wǎng)絡流量進行采集,保證系統(tǒng)的處理性能不受影響。一種網(wǎng)絡流量的探測方法,包括獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT(Flow Cell Table,流單元表),并對所述FCT進行抽樣;依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST (Flow Statistic Table,流統(tǒng)計表)進行更新。上述的方法,優(yōu)選的,所述對所述FCT進行抽樣包括獲取網(wǎng)絡流量探測位置的實時流量以及存儲器接口的實時流量;對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比;依據(jù)所述抽樣比對所述FCT進行抽樣。上述的方法,優(yōu)選的,依據(jù)預設的分析規(guī)則對抽樣得到的FCT表進行分析處理,對存儲的FST進行更新包括依次將FCT中的五元組信息經(jīng)過哈希計算得到所述FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配;當所述FCT的五元組信息不能與所述表項 地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST ;當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新。上述的方法,優(yōu)選的,所述在所述表項地址中為所述FCT創(chuàng)建新的FST包括判斷所述表項地址中存儲FST的空間是否已滿,如果已滿,任意刪除一條FST,并在刪除的FST所在的位置為所述FCT創(chuàng)建新的FST,如果不滿,在所述表項地址中的空余位置為所述FCT創(chuàng)建新的FST。上述的方法,優(yōu)選的,所述當所述FCT的五元組信息能與所述表項地址中的任一FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新包括依據(jù)FCT的時間判斷與所述FCT匹配的FST是否超時老化,如果所述FST已超時,刪除已超時的所述FST,并在所述FST的位置為所述FCT創(chuàng)建新的FST ;如果所述FST未超時,依據(jù)所述FCT的信息對所述FST中的信息進行更新。上述的方法,優(yōu)選的,還包括當?shù)竭_預設的檢測時間時,輪詢檢測存儲器中存儲的FST是否超時,如果任一 FST超時,刪除所述超時的FST。上述的方法,優(yōu)選的,還包括依據(jù)預設格式對刪除的FST進行打包并發(fā)送。一種網(wǎng)絡流量的探測裝置,包括抽樣器,用于獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;處理器,用于依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。上述的裝置,優(yōu)選的,所述抽樣器包括網(wǎng)絡流量獲取模塊,用于獲取網(wǎng)絡流量探測位置的實時流量;存儲器流量獲取模塊,用于獲取存儲器接口的實時流量;速率計算模塊,用于對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比;抽樣模塊,用于依據(jù)所述抽樣比對所述FCT進行抽樣。上述的裝置,優(yōu)選的,所述處理器包括匹配模塊,用于依次將FCT中的五元組信息經(jīng)過哈希計算得到所述FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配;創(chuàng)建模塊,用于當所述FCT的五元組信息不能與所述表項地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST ;更新模塊,用于當所述FCT的五元組信息能與所述表項地址中的任一FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新。上述的裝置,優(yōu)選的,還包括輪詢檢測器,用于當?shù)竭_預設的檢測時間時,輪詢檢測存儲的FST是否超時,如果任一 FST超時,刪除所述超時的FST。本申請?zhí)峁┝艘环N網(wǎng)絡流量的探測方法,包括獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。采用本申請的一種網(wǎng)絡流量的探測方法和裝置,對通過探測位置的網(wǎng)絡流量進行探測,得到為后續(xù)的流量收集器進行網(wǎng)絡流量的屬性分析提供依據(jù)的FST,而且不必通過CPU的協(xié)助就能夠?qū)W(wǎng)絡流量進行采集,保證系統(tǒng)的處理性能運行正常不受影響。
為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖I是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的流程圖;圖2是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的FCT圖;圖3是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的FST圖;圖4是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的一具體流程圖;圖5是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的另一具體流程圖;圖6是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的另一種流程圖;圖7是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例2的流程圖;圖8是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例3的流程圖;圖9是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例I的結構示意圖;圖10是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例I的一具體結構示意圖;圖11是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例I的另一種結構示意圖;圖12是本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例2的結構示意圖。
具體實施例方式下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。參見圖1,示出了本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例I的流程圖,包括步驟SlOl :獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;網(wǎng)絡上時刻傳輸大量的數(shù)據(jù)包信息,設定時間段內(nèi),在預定的探測位置對網(wǎng)絡流量進行探測。探測時,需要獲取該時間段內(nèi)通過探測位置的全部數(shù)據(jù)包,依次對每個數(shù)據(jù)包的屬性信息進行提取,并將該屬性信息生成和數(shù)據(jù)包相對應的FCT,每個數(shù)據(jù)包對應一個FCT,該FCT包含了與之對應的數(shù)據(jù)包的全部屬性信息。對得到的FCT進行抽樣處理,對統(tǒng)計信息的數(shù)據(jù)約減,減小統(tǒng)計量。參見圖2,F(xiàn)CT內(nèi)容包括哈希地址、時間戳、源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段、接口號、復用字段、ToS (Terms of Service,服務條款)、數(shù)據(jù)包字節(jié)個數(shù)。FCT的哈希地址是將五元組(源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段)經(jīng)過哈希計算得到的在存儲器中對應的表項地址,時間戳為獲取該FCT的時間。數(shù)據(jù)包字節(jié)個數(shù)表示該數(shù)據(jù)包的大小。步驟S102 :依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。 參見圖3,F(xiàn)ST內(nèi)容包括時間戳、源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段、接口號、復用字段、ToS、數(shù)據(jù)包個數(shù)、數(shù)據(jù)包字節(jié)個數(shù)。FST的時間戳表示該FST的時間,即最近一個更新到該FST的FCT的時間;數(shù)據(jù)包個數(shù)表示更新至該FST的數(shù)據(jù)包的個數(shù)即FCT的個數(shù);數(shù)據(jù)包字節(jié)個數(shù)表示更新至該FST的全部數(shù)據(jù)包的大小總和,即更新至該FST的全部FCT中數(shù)據(jù)包字節(jié)個數(shù)之和。依據(jù)預設的哈希計算規(guī)則,依次對抽樣得到的FCT進行處理,將FCT中的五元組信息(源地址IP、目的地址IP、源端口、目的端口和協(xié)議字段)經(jīng)過哈希計算得到與該FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配,依據(jù)匹配結果和FCT中的信息更新FST。所述FCT依次與所述表項地址中的FST進行匹配,當該FCT的源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段分別與該表項地址中的任一 FST對應項完全對應,則該FST該FCT與匹配,否則,不匹配。參見圖4所示的具體流程圖,依據(jù)匹配結果和FCT中的信息更新FST具體包括步驟S201 :當所述FCT的五元組信息不能與所述表項地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST ;當在依據(jù)FCT的五元組信息計算得到存儲器中對應的表項地址中存儲的FST的五元組信息不能與該FCT的五元組信息相匹配,在該表項地址中為該FCT創(chuàng)建新的FST,具體包括判斷所述表項地址中存儲FST的空間是否已滿,如果已滿,任意刪除一條FST,并在刪除的FST所在的位置為所述FCT創(chuàng)建新的FST,如果不滿,在所述表項地址中的空余位置為所述FCT創(chuàng)建新的FST。當該FCT對應的表項地址中存儲FST的空間未滿,在該表項地址中的空余位置為該FCT創(chuàng)建一條新的FST ;當該FCT對應的表項地址中存儲FST的空間已滿,沒有空余位置為該FCT創(chuàng)建FST,此時,隨機刪除任意一條FST,并在該FST所在的位置為該FCT創(chuàng)建一條新的FST。步驟S202 :當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新。當在依據(jù)FCT的五元組信息計算得到存儲器中對應的表項地址中存儲的任一 FST的五元組信息能與該FCT的五元組信息相匹配,依據(jù)所述FCT的信息更新所述FST的內(nèi)容。
參見圖5所示的具體流程圖,依據(jù)所述FCT的信息更新所述FST的內(nèi)容,具體包括步驟S301 :依據(jù)FCT的時間判斷與所述FCT匹配的FST是否超時老化,如果所述FST已超時,刪 除已超時的所述FST,并在所述FST的位置為所述FCT創(chuàng)建新的FST ;對所述FCT中時間戳表示的FCT時間和與該FCT相匹配的FST的時間戳表示的FST時間進行比較,當二者的時間差值大于用戶預設的閥值時,判定該FST超時老化,否則,該FST未超時老化。當與所述FCT相匹配的FST超時老化時,刪除該已超時老化的FST,并在該FST所在的位置為所述FCT創(chuàng)建一條新的FST。步驟S302 :如果所述FST未超時,依據(jù)所述FCT的信息對所述FST中的信息進行更新。當與所述FCT相匹配的FST未超時老化時,依據(jù)所述FCT的信息對所述FST中的信息進行更新,具體包括依據(jù)所述FCT的時間戳更新與其相匹配的FST中的時間戳;與所述FCT相匹配的FST中的數(shù)據(jù)包個數(shù)加I ;將所述FCT的數(shù)據(jù)包字節(jié)個數(shù)累加入與所述FCT相匹配的FST中的數(shù)據(jù)包字節(jié)個數(shù)中。由上述可知,本申請實施例I提供的一種網(wǎng)絡流量的探測方法,獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;依次將FCT中的五元組信息經(jīng)過哈希計算得到所述FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配;當所述FCT的五元組信息不能與所述表項地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST,判斷所述表項地址中存儲FST的空間是否已滿,如果已滿,任意刪除一條FST,并在刪除的FST所在的位置為所述FCT創(chuàng)建新的FST,如果不滿,在所述表項地址中的空余位置為所述FCT創(chuàng)建新的FST ;當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新,依據(jù)FCT的時間判斷與所述FCT匹配的FST是否超時老化,如果所述FST已超時,刪除已超時的所述FST,并在所述FST的位置為所述FCT創(chuàng)建新的FST ;如果所述FST未超時,依據(jù)所述FCT的信息對所述FST中的信息進行更新。采用本申請的一種網(wǎng)絡流量的探測方法,對通過探測位置的網(wǎng)絡流量進行探測,得到為后續(xù)的流量收集器進行網(wǎng)絡流量的屬性分析提供依據(jù)的FST。參見圖6,示出了本申請實施例I的另一種流程圖,基于上述實施例I,所述方法還包括步驟S103 當?shù)竭_預設的檢測時間時,輪詢檢測存儲器中存儲的FST是否超時,如果任一 FST超時,刪除所述超時的FST。在對網(wǎng)絡上傳輸?shù)臄?shù)據(jù)包進行獲取并生成FCT,以及依據(jù)所述FCT更新FST的過程中,同時對存儲器中存儲的FST進行著輪詢檢測。當?shù)竭_預設的檢測時間時,依據(jù)存儲器中表項地址的順序,依次對每個表項地址中存儲的每個FST進行檢測。當任意一個FST的時間戳表示的時間與當前時間的差值大于預設的時間閥值時,則判定該FST超時老化,需要刪除該條超時老化的FST,如果沒有超時,繼續(xù)對后續(xù)的FST進行檢測。當對存儲器中全部的表項地址中的全部的FST檢測完畢后,停止檢測,直至下一次到達預設的檢測時間時,重新開始輪詢檢測。實際操作中,該預設的檢測時間可依據(jù)實際情況進行設置。由上述方案,本發(fā)明實施例I提供的一種網(wǎng)絡流量的探測方法,在對網(wǎng)絡上傳輸?shù)臄?shù)據(jù)包進行獲取并生成FCT,以及依據(jù)所述FCT更新FST的過程中,同時對存儲器中存儲的FST進行著輪詢檢測,刪除存儲器存儲的超時老化的FST,清理存儲器中的表項空間。參見圖7,示出了本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例2的流程圖,本實施例是在實施例I所述步驟SlOl具體包括步驟S401 :獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所 述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT ;網(wǎng)絡上時刻傳輸大量的數(shù)據(jù)包信息,設定時間段內(nèi),在預定的探測位置對網(wǎng)絡流量進行探測。探測時,需要獲取該時間段內(nèi)通過探測位置的全部數(shù)據(jù)包,依次對每個數(shù)據(jù)包的屬性信息進行提取,并將該屬性信息生成和數(shù)據(jù)包相對應的FCT,每個數(shù)據(jù)包對應一個FCT,該FCT包含了與之對應的數(shù)據(jù)包的全部屬性信息。對得到的FCT進行抽樣處理,對統(tǒng)計信息的數(shù)據(jù)約減,減小統(tǒng)計量。參見圖2,F(xiàn)CT內(nèi)容包括哈希地址、時間戳、源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段、接口號、復用字段、ToS (Terms of Service,服務條款)、數(shù)據(jù)包字節(jié)個數(shù)。FCT的哈希地址是將五元組(源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段)經(jīng)過哈希計算得到的在存儲器中對應的表項地址,時間戳為獲取該FCT的時間。數(shù)據(jù)包字節(jié)個數(shù)表示該數(shù)據(jù)包的大小。步驟S402 :獲取網(wǎng)絡流量探測位置的實時流量以及存儲器接口的實時流量;為了對網(wǎng)絡上的流量進行合理有效的抽樣,依據(jù)存儲器中的實時流量和探測位置處的網(wǎng)絡實時流量對抽樣FCT的速率進行調(diào)整。存儲器接口處的實時流量包括依據(jù)FCT更新存儲器中存儲的FST占用的流量以及對FST進行輪詢檢測占用的流量。步驟S403 :對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量適配度進行比較,得到對FCT進行抽樣的抽樣比;存儲器接口的最大吞吐速率為固定值,將該速率定義為存儲器的閾值。 被測網(wǎng)絡最大帶寬可知,即鏈路類型輸出接口的鏈路帶寬可知。已測量得到存儲器實時流量,網(wǎng)絡流量探測位置的實時流量與依據(jù)FCT更新存儲器中存儲的FST占用的流量成比例,該比例為對數(shù)據(jù)包的FCT抽樣的比例。抽樣比具體的計算步驟包括假設所述被測網(wǎng)絡的最大帶寬為A,所述網(wǎng)絡流量探測位置的實時流量為a,所述存儲器接口的實時流量值為b,所述存儲器接口的閾值為B。當前網(wǎng)絡接口流量獲得的歸一化參量為存儲器接口流量帶寬歸一值為當
AD+>1時,需要指示降低抽樣比;當尋<1時,需要指示升高抽樣比。
A BA B依據(jù)存儲器接口流量閾值B與網(wǎng)絡接口最大帶寬A,對當前存儲器接口剩余帶寬(B-b)和當前網(wǎng)絡接口空閑速率(A-a)之間的差值做離散歸一化取整處理
|(5-·6) —(^^·)χ5|h
-_i-xioo = j-- 4導到離散化的調(diào)控參量c,ia &時,需要指示降
L」_〉_
_」AB
低抽樣比;當| 時,需要指示升高抽樣比。離散化的調(diào)控參量用于調(diào)整抽樣比的步幅,以100為上限,以O為下限對當前的抽樣比進行等比例的縮放調(diào)整。例如當前抽樣比為1000,升降指示為升高,離散化的調(diào)控參量C為50,則將抽樣比升到1500。步驟S404 :依據(jù)所述抽樣比對所述FCT進行抽樣。實時計算并動態(tài)調(diào)整更新抽樣比,并依據(jù)分析計算得到的抽樣比對FCT進行抽樣。由上述可知,本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例2,通過獲取網(wǎng)絡流量探測位置的實時流量以及存儲器接口的實時流量;對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比;依據(jù)所述抽樣比對所述FCT進行抽樣。實時計算并動態(tài)調(diào)整更新抽樣比,依據(jù)分析計算得到的抽樣比對FCT進行抽樣,保證抽樣的樣本數(shù)足夠且不會消耗過多的資源。參見圖8,示出了本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例3的流程圖,本實施例是在實施例I所述步驟S103后還包括步驟S104 :依據(jù)預設格式對刪除的FST進行打包并發(fā)送。本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法,是用于為后續(xù)的流量收集器進行網(wǎng)絡流量屬性分析提供依據(jù),所以對獲取的任何信息不能丟棄,因此,在對存儲器中存儲的FST刪除后,需要依據(jù)預設的打包格式,對刪除的FST進行打包,并將打包好的FST發(fā)送至后續(xù)的流量收集器中。實際實施中,預設的打包格式一般為NetFlow V9格式。與上述的本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測方法實施例相對應的,本申請還提供了一種網(wǎng)絡流量的探測裝置實施例。參見圖9,示出了本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例I的結構示意圖,該裝置包括抽樣器101和處理器102。其中,所述抽樣器101用于獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;網(wǎng)絡上時刻傳輸大量的數(shù)據(jù)包信息,設定時間段內(nèi),在預定的探測位置對網(wǎng)絡流量進行探測。探測時,需要抽樣器101獲取該時間段內(nèi)通過探測位置的全部數(shù)據(jù)包,依次對每個數(shù)據(jù)包的屬性信息進行提取,并將該屬性信息生成和數(shù)據(jù)包相對應的FCT,每個數(shù)據(jù)包對應一個FCT,該FCT包含了與之對應的數(shù)據(jù)包的全部屬性信息。對得到的FCT進行抽樣處理,對統(tǒng)計信息的數(shù)據(jù)約減,減小統(tǒng)計量。參見圖2,F(xiàn)CT內(nèi)容包括哈希地址、時間戳、源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段、接口號、復用字段、ToS (Terms of Service,服務條款)、數(shù)據(jù)包字節(jié)個數(shù)。FCT的哈希地址是將五元組(源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段)經(jīng)過哈希計算得到的在存儲器中對應的表項地址,時間戳為獲取該FCT的時間。數(shù)據(jù)包字節(jié)個數(shù)表示該數(shù)據(jù)包的大小。其中,所述處理器102用于依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。參見圖3,F(xiàn)ST內(nèi)容包括時間戳、源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段、接口號、復用字段、ToS、數(shù)據(jù)包個數(shù)、數(shù)據(jù)包字節(jié)個數(shù)。 FST的時間戳表示該FST的時間,即最近一個更新到該FST的FCT的時間;數(shù)據(jù)包個數(shù)表示更新至該FST的數(shù)據(jù)包的個數(shù)即FCT的個數(shù);數(shù)據(jù)包字節(jié)個數(shù)表示更新至該FST的全部數(shù)據(jù)包的大小總和,即更新至該FST的全部FCT中數(shù)據(jù)包字節(jié)個數(shù)之和。參見圖10所示的具體結構示意圖,所述處理器102包括匹配模塊1021、創(chuàng)建模塊1022和更新模塊1023。其中,所述匹配模塊1021用于依次將FCT中的五元組信息經(jīng)過哈希計算得到所述FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配;匹配模塊1021依據(jù)預設的哈希計算規(guī)則,依次對抽樣得到的FCT進行處理,將FCT中的五元組信息(源地址IP、目的地址IP、源端口、目的端口和協(xié)議字段)經(jīng)過哈希計算得到與該FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配,依據(jù)匹配結果和FCT中的信息更新FST。所述FCT依次與所述表項地址中的FST進行匹配,當該FCT的源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議字段分別與該表項地址中的任一 FST對應項完全對應,則稱該FST該FCT與匹配,否則,不匹配。其中,所述創(chuàng)建模塊1022用于當所述FCT的五元組信息不能與所述表項地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST ;當在依據(jù)FCT的五元組信息計算得到存儲器中對應的表項地址中存儲的FST的五元組信息不能與該FCT的五元組信息相匹配,創(chuàng)建模塊1022在該表項地址中為該FCT創(chuàng)建新的FST,具體包括判斷所述表項地址中存儲FST的空間是否已滿,如果已滿,任意刪除一條FST,并在刪除的FST所在的位置為所述FCT創(chuàng)建新的FST,如果不滿,在所述表項地址中的空余位置為所述FCT創(chuàng)建新的FST。當該FCT對應的表項地址中存儲FST的空間未滿,在該表項地址中的空余位置為該FCT創(chuàng)建一條新的FST ;當該FCT對應的表項地址中存儲FST的空間已滿,沒有空余位置為該FCT創(chuàng)建FST,此時,隨機刪除任意一條FST,并在該FST所在的位置為該FCT創(chuàng)建一條新的FST。其中,所述更新模塊1023用于當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新。當在依據(jù)FCT的五元組信息計算得到存儲器中對應的表項地址中存儲的任一 FST的五元組信息能與該FCT的五元組信息相匹配,更新模塊1023依據(jù)所述FCT的信息更新所述FST的內(nèi)容。對所述FCT中時間戳表示的FCT時間和與該FCT相匹配的FST的時間戳表示的FST時間進行比較,當二者的時間差值大于用戶預設的閥值時,判定該FST超時老化,否則,該FST未超時老化。當與所述FCT相匹配的FST超時老化時,更新模塊1023刪除該已超時老化的FST,并在該FST所在的位置為所述FCT創(chuàng)建一條新的FST。當與所述FCT相匹配的FST未超時老化時,更新模塊1023依據(jù)所述FCT的信息對所述FST中的信息進行更新,具體包括
依據(jù)所述FCT的時間戳更新與其相匹配的FST中的時間戳;與所述FCT相匹配的FST中的數(shù)據(jù)包個數(shù)加I ;將所述FCT的數(shù)據(jù)包字節(jié)個數(shù)累加入與所述FCT相匹配的FST中的數(shù)據(jù)包字節(jié)個數(shù)中。由上述可知,本申請實施例I提供的一種網(wǎng)絡流量的探測裝置,包括抽樣器,用于獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;處理器,用于依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。采用本申請的一種網(wǎng)絡流量的探測裝置,對通過探測位置的網(wǎng)絡流量進行探測,得到為后續(xù)的流量收集器進行網(wǎng)絡流量的屬性分析提供依據(jù)的FST,不必通過CPU的協(xié)助就能夠?qū)W(wǎng)絡流量進行采集,保證系統(tǒng)的處理性能不受影響。參見圖11,示出了本申請實施例I的另一種結構示意圖,基于上述實施例1,所述裝置還包括輪詢檢測器103,用于當?shù)竭_預設的檢測時間時,輪詢檢測存儲的FST是否超時,如果任一 FST超時,刪除所述超時的FST。在對網(wǎng)絡上傳輸?shù)臄?shù)據(jù)包進行獲取并生成FCT,以及依據(jù)所述FCT更新FST的過程中,輪詢檢測器103在同一時間對存儲器中存儲的FST進行著輪詢檢測。當?shù)竭_預設的檢測時間時,依據(jù)存儲器中表項地址的順序,輪詢檢測器103依次對每個表項地址中存儲的每個FST進行檢測。輪詢檢測器103的工作過程包括當任意一個FST的時間戳表示的時間與當前時間的差值大于預設的時間閥值時,則判定該FST超時老化,需要刪除該條超時老化的FST,如果沒有超時,繼續(xù)對后續(xù)的FST進行檢測。當對存儲器中全部的表項地址中的全部的FST檢測完畢后,停止檢測,直至下一次到達預設的檢測時間時,重新開始輪詢檢測。實際操作中,該預設的檢測時間可依據(jù)實際情況進行設置。由上述方案,本發(fā)明實施例I提供的一種網(wǎng)絡流量的探測裝置,在對網(wǎng)絡上傳輸?shù)臄?shù)據(jù)包進行獲取并生成FCT,以及依據(jù)所述FCT更新FST的過程中,輪詢檢測器在同一時間對存儲器中存儲的FST進行著輪詢檢測,刪除存儲器存儲的超時老化的FST,清理存儲器中的表項空間。
參見圖12,示出了本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例2的結構示意圖,本實施例是在實施例I所述裝置中所述抽樣器101具體包括網(wǎng)絡流量獲取模塊1011、存儲器流量獲取模塊1012、速率計算模塊1013和抽樣模塊1014。其中,所述網(wǎng)絡流量獲取模塊1011用于獲取網(wǎng)絡流量探測位置的實時流量;其中,所述存儲器流量獲取模塊1012用于獲取存儲器接口的實時流量;為了對網(wǎng)絡上的流量進行合理有效的抽樣,依據(jù)存儲器中的實時流量和探測位置處的網(wǎng)絡實時流量對抽樣FCT的速率進行調(diào)整。存儲器接口處的實時流量包括依據(jù)FCT更新存儲器中存儲的FST占用的流量以及對FST進行輪詢檢測占用的流量。 其中,所述速率計算模塊1013用于對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比;存儲器接口的最大吞吐速率為固定值,將該速率定義為存儲器的閾值。被測網(wǎng)絡最大帶寬可知,即鏈路類型輸出接口的鏈路帶寬可知。已測量得到存儲器實時流量,網(wǎng)絡流量探測位置的實時流量與依據(jù)FCT更新存儲器中存儲的FST占用的流量成比例,該比例為對數(shù)據(jù)包的FCT抽樣的比例。速率計算模塊1013計算抽樣比的具體步驟包括假設所述被測網(wǎng)絡的最大帶寬為A,所述網(wǎng)絡流量探測位置的實時流量為a,所述存儲器接口的實時流量值為b,所述存儲器接口的閾值為B。當前網(wǎng)絡接口流量獲得的歸一化參量為I,存儲器接口流量帶寬歸一值為I,當
AB
令>|時,需要指示降低抽樣比;當尋時,需要指示升高抽樣比。
A BA B依據(jù)存儲器接口流量閾值B與網(wǎng)絡接口最大帶寬A,對當前存儲器接口剩余帶寬(B-b)和當前網(wǎng)絡接口空閑速率(A-a)之間的差值做離散歸一化取整處理
-Ja—xl0° = h,得到離散化的調(diào)控參量C,當& &時,需要指示降
L J — > —
_JA B
低抽樣比;當| 時,需要指示升高抽樣比。
A B離散化的調(diào)控參量用于調(diào)整抽樣比的步幅,以100為上限,以0為下限對當前的抽樣比進行等比例的縮放調(diào)整。例如當前抽樣比為1000,升降指示為升高,離散化的調(diào)控參量C為50,則將抽樣比升到1500。其中,所述抽樣模塊1014用于依據(jù)所述抽樣比對所述FCT進行抽樣。實時計算并動態(tài)調(diào)整更新抽樣模塊1014的抽樣比,抽樣模塊1014依據(jù)分析計算得到的抽樣比對FCT進行抽樣。由上述可知,本申請?zhí)峁┑囊环N網(wǎng)絡流量的探測裝置實施例2,網(wǎng)絡流量獲取模塊獲取網(wǎng)絡流量探測位置的實時流量;存儲器流量獲取模塊獲取存儲器接口的實時流量;速率計算模塊對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比;抽樣模塊依據(jù)所述抽樣比對所述FCT進行抽樣。抽樣器實時計算并動態(tài)調(diào)整更新抽樣比,依據(jù)分析計算得到的抽樣比對FCT進行抽樣,保證抽樣的樣本數(shù)足夠且不會消耗過多的資源。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對所公開的實施例的上述說明,使本領域?qū)I(yè)技術人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一 致的最寬的范圍。
權利要求
1.一種網(wǎng)絡流量的探測方法,其特征在于,包括 獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT (Flow Cell Table,流單元表),并對所述FCT進行抽樣;依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST (Flow Statistic Table,流統(tǒng)計表)進行更新。
2.根據(jù)權利要求I所述的方法,其特征在于,所述對所述FCT進行抽樣包括 獲取網(wǎng)絡流量探測位置的實時流量以及存儲器接口的實時流量; 對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比; 依據(jù)所述抽樣比對所述FCT進行抽樣。
3.根據(jù)權利要求I所述的方法,其特征在于,依據(jù)預設的分析規(guī)則對抽樣得到的FCT表進行分析處理,對存儲的FST進行更新包括 依次將FCT中的五元組信息經(jīng)過哈希計算得到所述FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配; 當所述FCT的五元組信息不能與所述表項地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST ; 當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新。
4.根據(jù)權利要求3所述的方法,其特征在于,所述在所述表項地址中為所述FCT創(chuàng)建新的FST包括 判斷所述表項地址中存儲FST的空間是否已滿,如果已滿,任意刪除一條FST,并在刪除的FST所在的位置為所述FCT創(chuàng)建新的FST,如果不滿,在所述表項地址中的空余位置為所述FCT創(chuàng)建新的FST。
5.根據(jù)權利要求3所述的方法,其特征在于,所述當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新包括 依據(jù)FCT的時間判斷與所述FCT匹配的FST是否超時老化,如果所述FST已超時,刪除已超時的所述FST,并在所述FST的位置為所述FCT創(chuàng)建新的FST ; 如果所述FST未超時,依據(jù)所述FCT的信息對所述FST中的信息進行更新。
6.根據(jù)權利要求I所述的方法,其特征在于,還包括 當?shù)竭_預設的檢測時間時,輪詢檢測存儲器中存儲的FST是否超時,如果任一 FST超時,刪除所述超時的FST。
7.根據(jù)權利要求4飛所述的方法,其特征在于,還包括 依據(jù)預設格式對刪除的FST進行打包并發(fā)送。
8.一種網(wǎng)絡流量的探測裝置,其特征在于,包括 抽樣器,用于獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣; 處理器,用于依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述抽樣器包括網(wǎng)絡流量獲取模塊,用于獲取網(wǎng)絡流量探測位置的實時流量; 存儲器流量獲取模塊,用于獲取存儲器接口的實時流量; 速率計算模塊,用于對所述網(wǎng)絡流量探測位置的實時流量和所述存儲器接口的實時流量的適配度進行比較,得到對FCT進行抽樣的抽樣比; 抽樣模塊,用于依據(jù)所述抽樣比對所述FCT進行抽樣。
10.根據(jù)權利要求8所述的裝置,其特征在于,所述處理器包括 匹配模塊,用于依次將FCT中的五元組信息經(jīng)過哈希計算得到所述FCT在存儲器中對應的表項地址,將所述FCT依次與所述表項地址中的FST進行五元組信息匹配; 創(chuàng)建模塊,用于當所述FCT的五元組信息不能與所述表項地址中的FST匹配時,在所述表項地址中為所述FCT創(chuàng)建新的FST ; 更新模塊,用于當所述FCT的五元組信息能與所述表項地址中的任一 FST匹配時,依據(jù)所述FCT的信息對所述FST進行更新。
11.根據(jù)權利要求8所述的裝置,其特征在于,還包括 輪詢檢測器,用于當?shù)竭_預設的檢測時間時,輪詢檢測存儲的FST是否超時,如果任一FST超時,刪除所述超時的FST。
全文摘要
本申請?zhí)峁┝艘环N網(wǎng)絡流量的探測方法,包括獲取設定時間段內(nèi)通過網(wǎng)絡流量探測位置的全部數(shù)據(jù)包,依次提取所述數(shù)據(jù)包的屬性信息,生成與數(shù)據(jù)包相對應的FCT,并對所述FCT進行抽樣;依據(jù)預設的分析規(guī)則依次對抽樣得到的FCT進行分析處理,并依據(jù)對FCT的分析結果對存儲器中存儲的FST進行更新。采用本申請的一種網(wǎng)絡流量的探測方法和裝置,對通過探測位置的網(wǎng)絡流量進行探測,得到為后續(xù)的流量收集器進行網(wǎng)絡流量的屬性分析提供依據(jù)的流統(tǒng)計信息,而且不必通過CPU的協(xié)助進行網(wǎng)絡流量的采集,保證系統(tǒng)的處理性能運行正常不受影響。
文檔編號H04L12/26GK102664773SQ20121016017
公開日2012年9月12日 申請日期2012年5月22日 優(yōu)先權日2012年5月22日
發(fā)明者冶曉隆, 張建輝, 張校輝, 董永吉, 黃萬偉 申請人:中國人民解放軍信息工程大學