專利名稱:一種流量統(tǒng)計方法及流量采集器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)流量統(tǒng)計技術(shù),尤其涉及一種基于網(wǎng)絡(luò)應(yīng)用的流量統(tǒng)計方法及流量采集器。
背景技術(shù):
隨著計算機及網(wǎng)絡(luò)技術(shù)的快速發(fā)展,有線及無線網(wǎng)絡(luò)的使用愈加頻繁,用戶數(shù)量也不斷增加。為了能夠獲知網(wǎng)絡(luò)中各種信息的傳輸情況,網(wǎng)絡(luò)流量統(tǒng)計應(yīng)運而生,并成為網(wǎng)絡(luò)管理和網(wǎng)絡(luò)應(yīng)用的重要技術(shù)。
現(xiàn)有的網(wǎng)絡(luò)流量統(tǒng)計基于網(wǎng)絡(luò)流量的采集技術(shù),流量采集器以報文的網(wǎng)絡(luò)屬性為對象進(jìn)行統(tǒng)計。這里,報文的網(wǎng)絡(luò)屬性包括報文的源因特網(wǎng)協(xié)議(IP)地址、目的IP地址、源端口、目的端口以及所使用的協(xié)議等指標(biāo)。圖1示出了現(xiàn)有網(wǎng)絡(luò)流量統(tǒng)計的方法流程圖。參見圖1,該方法包括在步驟101中,網(wǎng)絡(luò)報文到達(dá)被測端口,該端口以中斷方式通知流量采集器。
在步驟102~103中,流量采集器緩存該報文并獲取報文的網(wǎng)絡(luò)屬性,對獲取到的網(wǎng)絡(luò)屬性進(jìn)行哈希(hash)操作,獲得索引值;然后根據(jù)所獲得的索引值檢索采集流量表。
為了便于對流量采集的結(jié)果進(jìn)行記錄,通常在流量采集器中設(shè)置采集流量表,其中的每個表項均包含有索引值、諸如報文字節(jié)數(shù)、報文個數(shù)、時間戳等流量統(tǒng)計項目,這樣,網(wǎng)絡(luò)中每傳輸一個報文,采集流量表中相應(yīng)記錄的信息就會隨之更新。
在步驟104~106中,判斷是否命中采集流量表,如果是,則更新采集流量表中的相應(yīng)流量統(tǒng)計記錄,并執(zhí)行步驟107;否則,按照采集流量表的形式生成新表項,加入到采集流量表中,并執(zhí)行步驟107。
當(dāng)經(jīng)過hash操作獲得的索引值與采集流量表中某一表項的索引值一致時,判定命中采集流量表。此時對采集流量表中的相應(yīng)表項的內(nèi)容進(jìn)行更新,例如將報文的字節(jié)數(shù)加到該表項的報文字節(jié)數(shù)中,利用報文的時間戳更新表項中的時間戳等等。當(dāng)采集流量表中各個表項的索引值都與對報文的網(wǎng)絡(luò)屬性進(jìn)行hash之后獲得的索引值不一致時,判定未命中采集流量表。此時在采集流量表中新增一個以hash結(jié)果作為索引值的表項,并根據(jù)該報文在表項的各個統(tǒng)計項目中填入對應(yīng)的信息。
在步驟107~108中,根據(jù)老化標(biāo)準(zhǔn)判斷采集流量表是否需要老化,如果是,則對不活躍的表項進(jìn)行老化處理,并執(zhí)行步驟109;否則,直接執(zhí)行步驟109。
為了能夠保證對采集流量表的空間的有效利用,通常預(yù)先設(shè)置老化標(biāo)準(zhǔn),例如老化時間門限等,當(dāng)采集流量表中存在符合老化標(biāo)準(zhǔn)的表項時,判定需要進(jìn)行老化處理,此時將不活躍的表項,即長時間未被更新的表項,從采集流量表中提取出來,并將這些表項放入老化模塊中。
在步驟109中,對采集流量表進(jìn)行匯總,生成統(tǒng)計分析表并向用戶顯示。
至此,完成現(xiàn)有的流量統(tǒng)計流程。
在上述現(xiàn)有的流量統(tǒng)計過程中,流量采集器根據(jù)報文頭來獲取網(wǎng)絡(luò)屬性,針對獲取到的網(wǎng)絡(luò)屬性進(jìn)行流量統(tǒng)計。由于目前網(wǎng)絡(luò)應(yīng)用的種類繁多,例如點到點(P2P)、企業(yè)資源規(guī)劃(ERP)等,準(zhǔn)確獲知各種應(yīng)用的流量是運營商或網(wǎng)絡(luò)管理人員等用戶的迫切需求。而現(xiàn)有的流量統(tǒng)計方法無法針對報文的應(yīng)用屬性提供統(tǒng)計結(jié)果,從而用戶無法根據(jù)應(yīng)用屬性進(jìn)行分析,給網(wǎng)絡(luò)管理帶來不便。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種網(wǎng)絡(luò)流量統(tǒng)計的方法,能夠針對網(wǎng)絡(luò)應(yīng)用進(jìn)行流量統(tǒng)計。
本發(fā)明中網(wǎng)絡(luò)流量統(tǒng)計方法預(yù)先建立報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,并按照如下步驟進(jìn)行網(wǎng)絡(luò)流量統(tǒng)計獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,根據(jù)預(yù)先建立的報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,確定該報文的應(yīng)用屬性,并針對所確定的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計,獲得統(tǒng)計結(jié)果。
其中,所述建立報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系為確定各報文載荷與代表應(yīng)用屬性的應(yīng)用標(biāo)識之間的對應(yīng)關(guān)系,并保存于預(yù)先設(shè)置的應(yīng)用特征數(shù)據(jù)庫中;所述確定報文的應(yīng)用屬性為根據(jù)所述報文載荷檢索應(yīng)用特征數(shù)據(jù)庫,并判斷是否命中該應(yīng)用特征數(shù)據(jù)庫中的記錄,如果是,則從應(yīng)用特征數(shù)據(jù)庫中獲取報文載荷對應(yīng)的應(yīng)用標(biāo)識,否則,將該報文載荷對應(yīng)的應(yīng)用標(biāo)識設(shè)置為未知。
其中,所述各報文載荷與應(yīng)用標(biāo)識之間的對應(yīng)關(guān)系為包括根節(jié)點、至少一級枝節(jié)點和葉子節(jié)點的樹狀結(jié)構(gòu),則所述根據(jù)報文載荷檢索應(yīng)用特征數(shù)據(jù)庫為從樹的根節(jié)點向葉子節(jié)點逐級與所述報文載荷匹配;所述判斷是否命中該應(yīng)用特征數(shù)據(jù)庫為根節(jié)點、各級枝節(jié)點和葉子節(jié)點的內(nèi)容順序合并后,與所述報文載荷的內(nèi)容一致,則判定命中應(yīng)用特征數(shù)據(jù)庫中的記錄;否則,判定未命中應(yīng)用特征數(shù)據(jù)庫中的記錄;所述從應(yīng)用特征數(shù)據(jù)庫中獲取報文載荷對應(yīng)的應(yīng)用標(biāo)識為將應(yīng)用特征數(shù)據(jù)庫中被命中的記錄的葉子節(jié)點對應(yīng)的應(yīng)用標(biāo)識作為該報文載荷對應(yīng)的應(yīng)用標(biāo)識。
其中,預(yù)先設(shè)置采集流量表,用于保存網(wǎng)絡(luò)屬性與應(yīng)用屬性結(jié)合的結(jié)果和對應(yīng)的統(tǒng)計項目,所述針對所確定的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計為對所述報文的網(wǎng)絡(luò)屬性和應(yīng)用標(biāo)識進(jìn)行哈希處理,獲得索引值,根據(jù)該索引值檢索所述采集流量表,并判斷該采集流量表中是否存在與該索引值對應(yīng)的表項,如果是,則根據(jù)該報文更新采集流量表中的該表項內(nèi)容,否則,根據(jù)該報文生成包括該索引值的新表項,加入到所述采集流量表中;所述獲得流量統(tǒng)計結(jié)果為確定用戶需要統(tǒng)計的項目,從所述流量統(tǒng)計表中獲取所確定的項目對應(yīng)的統(tǒng)計信息,并進(jìn)行匯總,將匯總結(jié)果作為流量統(tǒng)計結(jié)果。
其中,所述確定該報文的網(wǎng)絡(luò)屬性和報文載荷之后,進(jìn)一步包括對所述報文進(jìn)行預(yù)處理,并根據(jù)預(yù)處理結(jié)果判斷該報文是否為合法報文,如果是,則繼續(xù)執(zhí)行所述確定該報文的應(yīng)用屬性;否則,結(jié)束本統(tǒng)計流程。
其中,所述獲得統(tǒng)計結(jié)果之前,進(jìn)一步包括根據(jù)預(yù)先設(shè)置的老化標(biāo)準(zhǔn),判斷是否對采集流量表進(jìn)行老化處理,如果是,則將符合老化標(biāo)準(zhǔn)的表項從流量采集中提取出來,并繼續(xù)執(zhí)行所述獲得統(tǒng)計結(jié)果的操作;否則,直接執(zhí)行所述獲得統(tǒng)計結(jié)果的操作。
本發(fā)明還提供一種網(wǎng)絡(luò)流量采集器,能夠針對網(wǎng)絡(luò)應(yīng)用進(jìn)行流量統(tǒng)計。
本發(fā)明中的網(wǎng)絡(luò)流量采集器包括流會話管理模塊、應(yīng)用識別模塊、應(yīng)用協(xié)議統(tǒng)計模塊,其中,所述流會話管理模塊用于獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,將報文載荷傳送給應(yīng)用識別模塊,接收來自于應(yīng)用識別模塊的應(yīng)用屬性,并將該報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性傳送給應(yīng)用統(tǒng)計模塊;所述應(yīng)用識別模塊用于保存報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,接收來自于流會話管理模塊的報文載荷,確定對應(yīng)的應(yīng)用屬性,并發(fā)送給所述流會話管理模塊;所述應(yīng)用協(xié)議統(tǒng)計模塊用于接收來自于所述流會話管理模塊的報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性,并針對接收到的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計。
較佳地,所述應(yīng)用識別模塊包括應(yīng)用特征數(shù)據(jù)庫和檢索子模塊,其中所述應(yīng)用特征數(shù)據(jù)庫用于保存報文載荷與代表應(yīng)用屬性的應(yīng)用標(biāo)識之間的對應(yīng)關(guān)系;所述檢索子模塊用于接收來自于流會話管理模塊的報文載荷,根據(jù)接收到的報文載荷對應(yīng)用特征數(shù)據(jù)中的所述對應(yīng)關(guān)系進(jìn)行檢索,獲得該報文載荷對應(yīng)的應(yīng)用標(biāo)識,并將該應(yīng)用標(biāo)識作為應(yīng)用屬性發(fā)送給所述流會話管理模塊。
較佳地,所述應(yīng)用協(xié)議統(tǒng)計模塊包括采集流量表和統(tǒng)計子模塊,其中所述采集流量表用于保存包括網(wǎng)絡(luò)屬性和應(yīng)用屬性的哈希處理結(jié)果以及對應(yīng)的統(tǒng)計項目在內(nèi)的表項,并在所述統(tǒng)計子模塊的控制下更新統(tǒng)計項目的內(nèi)容或者新建表項;所述統(tǒng)計子模塊用于接收來自于所述流會話管理模塊的報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性,對接收到的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行哈希處理,以哈希處理結(jié)果作為索引值,檢索所述采集流量表,在確定采集流量表中存在對應(yīng)表項時,通知采集流量表根據(jù)報文更新所述對應(yīng)表項,在確定采集流量表中不存在對應(yīng)表項時,通知采集流量表根據(jù)報文新建表項。
較佳地,所述流量采集器進(jìn)一步包括報文預(yù)處理模塊,用于接收來自于流會話管理模塊的報文,對接收到的報文進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果返回給流會話管理模塊。
較佳地,所述流量采集器進(jìn)一步包括應(yīng)用統(tǒng)計表模塊,用于接收來自于應(yīng)用協(xié)議統(tǒng)計模塊的統(tǒng)計結(jié)果,根據(jù)接收到的統(tǒng)計結(jié)果生成統(tǒng)計分析表,并向用戶顯示。
應(yīng)用本發(fā)明,能夠針對網(wǎng)絡(luò)應(yīng)用進(jìn)行流量統(tǒng)計。具體而言,本發(fā)明具有如下有益效果本發(fā)明在執(zhí)行網(wǎng)絡(luò)流量統(tǒng)計時,通過報文頭獲取網(wǎng)絡(luò)屬性并通過報文載荷獲取應(yīng)用屬性,然后針對網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行實時的流量統(tǒng)計。可見本發(fā)明中將報文的應(yīng)用屬性作為統(tǒng)計對象,因此能夠準(zhǔn)確獲知各種應(yīng)用的流量,便于用戶根據(jù)應(yīng)用屬性進(jìn)行分析,有效提高了網(wǎng)絡(luò)管理的方便程度。
另外,由于本發(fā)明中能夠基于應(yīng)用進(jìn)行網(wǎng)絡(luò)流量統(tǒng)計,網(wǎng)絡(luò)管理者能夠根據(jù)各種應(yīng)用的流量對用戶進(jìn)行計費,并根據(jù)流量狀況調(diào)整服務(wù)質(zhì)量(QOS),以保證網(wǎng)絡(luò)傳輸?shù)耐〞撑c高效。
下面將通過參照附圖詳細(xì)描述本發(fā)明的示例性實施例,使本領(lǐng)域的普通技術(shù)人員更清楚本發(fā)明的上述及其它特征和優(yōu)點,附圖中
圖1為現(xiàn)有網(wǎng)絡(luò)流量統(tǒng)計的方法流程圖;圖2為本發(fā)明流量統(tǒng)計方法的示例性流程圖;圖3為本發(fā)明實施例中流量統(tǒng)計方法的流程圖;圖4為本發(fā)明實施例中特征數(shù)據(jù)庫的樹狀結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例中流量采集器的結(jié)構(gòu)示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明做進(jìn)一步的詳細(xì)說明。
本發(fā)明為一種網(wǎng)絡(luò)流量統(tǒng)計的方法,其基本思想是將報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性結(jié)合在一起,進(jìn)行流量統(tǒng)計。
圖2示出了本發(fā)明中網(wǎng)絡(luò)流量統(tǒng)計方法的示例性流程圖。參見圖2,該方法預(yù)先建立報文的載荷與應(yīng)用標(biāo)識的對應(yīng)關(guān)系,該方法包括在步驟201中,獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,根據(jù)預(yù)先建立的報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,確定該報文的應(yīng)用屬性;在步驟202中,針對所確定的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計,獲得統(tǒng)計結(jié)果。
這里,報文的載荷是指報文在TCP層及以下部分的信息。由于網(wǎng)絡(luò)屬性可以從報文頭中獲得,那么本發(fā)明在進(jìn)行流量統(tǒng)計時,將報文的全部內(nèi)容作為依據(jù),而非僅僅針對報文頭的內(nèi)容。為了便于實際操作,可以對網(wǎng)絡(luò)屬性和應(yīng)用標(biāo)識進(jìn)行hash處理,將獲得的結(jié)果作為流量統(tǒng)計中各個項目的標(biāo)識。
圖3示出了本發(fā)明實施例中流量統(tǒng)計的方法流程圖。參見圖3,該方法包括以下步驟在步驟301中,網(wǎng)絡(luò)報文到達(dá)被測端口,該端口以中斷方式通知流量采集器。
本發(fā)明中采用流量采集器對網(wǎng)絡(luò)報文的流量進(jìn)行采集和統(tǒng)計,并且在進(jìn)行采集之前,預(yù)先確定被測端口,當(dāng)報文經(jīng)過被測端口時,這些發(fā)現(xiàn)報文的端口通過發(fā)送中斷請求的方式,向流量采集器指明有報文到達(dá)。
在步驟302中,流量采集器緩存報文,獲取該報文的網(wǎng)絡(luò)屬性和載荷,并對該報文進(jìn)行預(yù)處理。
本步驟中,流量采集器首先從發(fā)出中斷通知的端口獲取報文并將該報文緩存于自身之中,再從該報文的報文頭中獲取諸如源IP地址、目的IP地址、源端口、目的端口以及所用協(xié)議等網(wǎng)絡(luò)屬性,并將該報文在TCP層以下的內(nèi)容作為載荷,即報文的載荷包括字符串和數(shù)字等。為了保證流量統(tǒng)計的真實性,避免將網(wǎng)絡(luò)攻擊產(chǎn)生的大量報文計入統(tǒng)計結(jié)果,本步驟中還通過預(yù)處理操作,驗證該報文的合法性。只有在獲取到合法報文時,才將其作為流量統(tǒng)計的對象,以便后續(xù)步驟中對該報文進(jìn)行應(yīng)用屬性的識別。本實施例中的預(yù)處理操作包括將IP分片報文合成為完整的IP報文,對報文進(jìn)行諸如(CRC)之類的校驗等。
在步驟303中,判斷報文是否為合法報文,如果是,則執(zhí)行步驟304;否則,結(jié)束本統(tǒng)計流程。
舉例來說,當(dāng)預(yù)處理操作是合成完整IP報文時,如果接收到的IP分片報文無法被合成為符合協(xié)議的完整IP報文,則判定該報文不合法;當(dāng)預(yù)處理操作是進(jìn)行CRC校驗時,如果CRC校驗后的結(jié)果為表示校驗失敗的數(shù)值1,則判定該報文為非法報文。
在步驟304~307中,根據(jù)報文載荷檢索預(yù)先設(shè)置的應(yīng)用特征數(shù)據(jù)庫,判斷是否命中應(yīng)用特征數(shù)據(jù)庫,如果是,則獲取應(yīng)用ID,并執(zhí)行步驟308;否則,將該報文載荷對應(yīng)的應(yīng)用ID設(shè)為未知(unknow),并執(zhí)行步驟308。
為了能夠便于處理和識別,本實施例中采用應(yīng)用ID來代表報文的應(yīng)用屬性,例如P2P報文的應(yīng)用ID為1,ERP報文的應(yīng)用ID為2,VoIP報文的應(yīng)用ID為3等等。并且,本實施例中還預(yù)先建立了用于保存報文載荷與應(yīng)用ID之間對應(yīng)關(guān)系的應(yīng)用特征數(shù)據(jù)庫,以便根據(jù)報文載荷確定表示應(yīng)用屬性的應(yīng)用ID。該應(yīng)用特征數(shù)據(jù)庫可以采用圖4所示的樹狀結(jié)構(gòu),參見圖4,該樹包括根節(jié)點、至少一級枝節(jié)點以及葉子節(jié)點,其中的葉子節(jié)點為最末一級節(jié)點。在根據(jù)報文載荷檢索應(yīng)用特征數(shù)據(jù)庫時,從樹的根節(jié)點開始向葉子節(jié)點逐級匹配,只有將根節(jié)點、各級枝節(jié)點和葉子節(jié)點的內(nèi)容順序合并后,與報文載荷的內(nèi)容完全一致,才判定應(yīng)用特征數(shù)據(jù)庫中存在與報文載荷匹配的內(nèi)容,即命中應(yīng)用特征數(shù)據(jù)庫中的記錄,此時將該葉子節(jié)點對應(yīng)的應(yīng)用ID作為該報文載荷對應(yīng)的應(yīng)用ID。如果未命中應(yīng)用特征數(shù)據(jù)庫中的任何記錄,則表明流量采集器尚未為該報文載荷設(shè)置應(yīng)用ID,那么此時的應(yīng)用ID被設(shè)置為unknow。
以報文載荷為abc001為例,報文載荷的前三位與根節(jié)點的內(nèi)容abc相同,則轉(zhuǎn)向第一級枝節(jié)點,而報文載荷的第四和第五位與右側(cè)的枝節(jié)點的內(nèi)容00相同,則轉(zhuǎn)向葉子節(jié)點,此時報文載荷的最后一位為1,那么該報文載荷對應(yīng)的應(yīng)用ID為1。上述示例較為簡單,在實際應(yīng)用中,由于報文載荷包括的內(nèi)容較多,應(yīng)用特征數(shù)據(jù)庫中包括的枝節(jié)點級數(shù)也較多,檢索匹配的過程更為復(fù)雜。盡管如此,實際應(yīng)用中仍然按照上述示例的方法執(zhí)行操作。
在步驟308~311中,對報文的網(wǎng)絡(luò)屬性和應(yīng)用ID進(jìn)行hash處理,獲得索引值,根據(jù)該索引值檢索采集流量表,并判斷是否命中該采集流量表,如果是,則根據(jù)該報文更新采集流量表中的相應(yīng)流量統(tǒng)計記錄,而后執(zhí)行步驟312;否則,生成包括該索引值在內(nèi)的新表項,加入到采集流量表中,而后執(zhí)行步驟312。
本實施例預(yù)先設(shè)置的采集流量表中,保存有網(wǎng)絡(luò)屬性與應(yīng)用屬性結(jié)合的結(jié)果和對應(yīng)的統(tǒng)計項目,其中也包括應(yīng)用屬性未知時對應(yīng)的統(tǒng)計項目。為了節(jié)省采集流量表的內(nèi)存空間,采集流量表中的索引值為網(wǎng)絡(luò)屬性和應(yīng)用ID經(jīng)過hash處理而得到的數(shù)值。因此,為了在采集流量表中找到匹配的表項,這里首先將步驟301中到達(dá)的報文的網(wǎng)絡(luò)屬性和步驟306或者307中獲得的應(yīng)用ID組合成一段信息,通常網(wǎng)絡(luò)屬性占據(jù)前面的位置,應(yīng)用ID占用后面的位置;然后,對組合后的信息進(jìn)行hash處理,獲得一個數(shù)值,該數(shù)值即為該報文對應(yīng)的索引值;而后,查找采集流量表,并判斷是否存在與報文索引值一致的表項,如果是,則判定命中采集流量表,否則,判定未命中采集流量表。
在命中采集流量表的情況下,表明此前網(wǎng)絡(luò)中已經(jīng)出現(xiàn)過網(wǎng)絡(luò)屬生和應(yīng)用屬性相同的報文,并進(jìn)行了統(tǒng)計,則此時再次收到此種報文時,根據(jù)該報文更新對應(yīng)表項中的各個統(tǒng)計項目,例如報文字節(jié)數(shù)、報文個數(shù)、時間戳等等。而在未命中采集流量表的情況下,表明此種網(wǎng)絡(luò)屬性和應(yīng)用屬性的報文未被統(tǒng)計過,則在采集流量表中新建表項,該表項的索引值為對網(wǎng)絡(luò)屬性和應(yīng)用ID進(jìn)行hash后的結(jié)果,其余部分為所需的統(tǒng)計項目??梢姡砑有卤眄椀哪康脑谟诒阌诖撕笤诔霈F(xiàn)相同應(yīng)用類型的報文時,從應(yīng)用的角度進(jìn)行統(tǒng)計。
在步驟312~313中,判斷是否需要對采集流量表進(jìn)行老化處理,如果是,則將不活躍的表項老化,并執(zhí)行步驟314;否則,直接執(zhí)行步驟314。
這里的老化處理操作與現(xiàn)有技術(shù)中的老化處理操作相同。
在步驟314中,根據(jù)用戶需求對采集流量表進(jìn)行匯總,生成統(tǒng)計分析表并顯示給用戶。
本步驟中,首先確定用戶的需求,即用戶需要統(tǒng)計的項目;然后,從采集流量表中獲取所確定的項目對應(yīng)的統(tǒng)計信息,并在匯總后生成便于用戶查看的統(tǒng)計分析表。例如,當(dāng)用戶需要統(tǒng)計的項目為應(yīng)用協(xié)議類型時,經(jīng)過匯總后的統(tǒng)計分析表中可以包含有諸如P2P、ERP等應(yīng)用協(xié)議的報文數(shù)量、字節(jié)數(shù)、最近報文的時間戳等結(jié)果。這樣用戶在進(jìn)行網(wǎng)絡(luò)流量分析時,可以清楚準(zhǔn)確的獲知各種應(yīng)用所對應(yīng)的流量。
至此,完成本實施例中的網(wǎng)絡(luò)流量統(tǒng)計流程。
由上述流程可見,本實施例在執(zhí)行網(wǎng)絡(luò)流量統(tǒng)計時,通過報文頭獲取網(wǎng)絡(luò)屬性并通過報文載荷獲取應(yīng)用屬性,然后針對網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行實時的流量統(tǒng)計。
本實施例還提供了一種流量采集器,用于執(zhí)行上述的網(wǎng)絡(luò)流量統(tǒng)計流程。圖5示出了本實施例中流量采集器的結(jié)構(gòu)示意圖。參見圖5,該流量采集器包括流會話管理模塊、應(yīng)用識別模塊、應(yīng)用協(xié)議統(tǒng)計模塊。其中,流會話管理模塊用于獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,將報文載荷傳送給應(yīng)用識別模塊,接收來自于應(yīng)用識別模塊的應(yīng)用屬性,并將該報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性傳送給應(yīng)用統(tǒng)計模塊;應(yīng)用識別模塊用于保存報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,接收來自于流會話管理模塊的報文載荷,確定對應(yīng)的應(yīng)用屬性,并發(fā)送給所述流會話管理模塊;應(yīng)用協(xié)議統(tǒng)計模塊用于接收來自于流會話管理模塊的報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性,并針對接收到的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計。
對于本實施例中的流量統(tǒng)計流程而言,應(yīng)用識別模塊中包含有應(yīng)用特征數(shù)據(jù)庫和檢索子模塊,其中應(yīng)用特征數(shù)據(jù)庫用于保存報文載荷與代表應(yīng)用屬性的應(yīng)用ID之間的對應(yīng)關(guān)系;檢索子模塊用于接收來自于流會話管理模塊的報文載荷,根據(jù)接收到的報文載荷對應(yīng)用特征數(shù)據(jù)中的對應(yīng)關(guān)系進(jìn)行檢索,獲得該報文載荷對應(yīng)的應(yīng)用ID,并將該應(yīng)用ID作為應(yīng)用屬性發(fā)送給所述流會話管理模塊。換言之,檢索子模塊按照圖3中的步驟304至307來確定報文載荷對應(yīng)的應(yīng)用ID。
應(yīng)用協(xié)議統(tǒng)計模塊中包含有采集流量表和統(tǒng)計子模塊,其中,采集流量表用于保存包括網(wǎng)絡(luò)屬性和應(yīng)用屬性的哈希處理結(jié)果以及對應(yīng)的統(tǒng)計項目在內(nèi)的表項,并在統(tǒng)計子模塊的控制下更新統(tǒng)計項目的內(nèi)容或者新建表項;統(tǒng)計子模塊用于接收來自于流會話管理模塊的報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性,對接收到的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行hash處理,以hash處理結(jié)果作為索引值,檢索采集流量表,在確定采集流量表中存在對應(yīng)表項時,通知采集流量表根據(jù)報文更新所述對應(yīng)表項,在確定采集流量表中不存在對應(yīng)表項時,通知采集流量表根據(jù)報文新建表項,即統(tǒng)計子模塊按照圖3中的步驟308至311來進(jìn)行面向應(yīng)用的流量統(tǒng)計。另外,應(yīng)用協(xié)議統(tǒng)計模塊在完成流量統(tǒng)計后,確定采集流量表中是否存在需要進(jìn)行老化處理的表項,并在存在需要老化的表項時,將這些表項發(fā)送給流會話管理模塊;流會話管理模塊中包括老化子模塊,用于保存來自于應(yīng)用協(xié)議統(tǒng)計模塊的需要老化的采集流量表的表項。
本實施例中的流量采集器還包括報文預(yù)處理模塊,用于接收來于流會話管理模塊的報文,對接收到的報文進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果返回給流會話管理模塊。
另外,這里的流量采集器還可以包括應(yīng)用統(tǒng)計表模塊,用于接收來自于應(yīng)用協(xié)議統(tǒng)計模塊的統(tǒng)計結(jié)果,根據(jù)接收到的統(tǒng)計結(jié)果生成統(tǒng)計分析表,并向用戶顯示。
在上述所舉實施例的網(wǎng)絡(luò)流量統(tǒng)計方法和流量采集器中,均將報文的應(yīng)用屬性作為統(tǒng)計對象,因此能夠準(zhǔn)確獲知各種應(yīng)用的流量,便于用戶根據(jù)應(yīng)用屬性進(jìn)行分析,有效提高了網(wǎng)絡(luò)管理的方便程度。并且,正是由于上述實施例中所實現(xiàn)的基于應(yīng)用的流量統(tǒng)計,網(wǎng)絡(luò)管理者能夠根據(jù)各種應(yīng)用的流量對用戶進(jìn)行計費,并根據(jù)流量狀況調(diào)整QOS,以保證網(wǎng)絡(luò)傳輸?shù)耐〞撑c高效。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)流量統(tǒng)計方法,其特征在于,預(yù)先建立報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,該方法包括獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,根據(jù)預(yù)先建立的報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,確定該報文的應(yīng)用屬性,并針對所確定的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計,獲得統(tǒng)計結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,所述建立報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系為確定各報文載荷與代表應(yīng)用屬性的應(yīng)用標(biāo)識之間的對應(yīng)關(guān)系,并保存于預(yù)先設(shè)置的應(yīng)用特征數(shù)據(jù)庫中;所述確定報文的應(yīng)用屬性為根據(jù)所述報文載荷檢索應(yīng)用特征數(shù)據(jù)庫,并判斷是否命中該應(yīng)用特征數(shù)據(jù)庫中的記錄,如果是,則從應(yīng)用特征數(shù)據(jù)庫中獲取報文載荷對應(yīng)的應(yīng)用標(biāo)識,否則,將該報文載荷對應(yīng)的應(yīng)用標(biāo)識設(shè)置為未知。
3.如權(quán)利要求2所述的方法,其特征在于,所述各報文載荷與應(yīng)用標(biāo)識之間的對應(yīng)關(guān)系為包括根節(jié)點、至少一級枝節(jié)點和葉子節(jié)點的樹狀結(jié)構(gòu),則所述根據(jù)報文載荷檢索應(yīng)用特征數(shù)據(jù)庫為從樹的根節(jié)點向葉子節(jié)點逐級與所述報文載荷匹配;所述判斷是否命中該應(yīng)用特征數(shù)據(jù)庫為根節(jié)點、各級枝節(jié)點和葉子節(jié)點的內(nèi)容順序合并后,與所述報文載荷的內(nèi)容一致,則判定命中應(yīng)用特征數(shù)據(jù)庫中的記錄;否則,判定未命中應(yīng)用特征數(shù)據(jù)庫中的記錄;所述從應(yīng)用特征數(shù)據(jù)庫中獲取報文載荷對應(yīng)的應(yīng)用標(biāo)識為將應(yīng)用特征數(shù)據(jù)庫中被命中的記錄的葉子節(jié)點對應(yīng)的應(yīng)用標(biāo)識作為該報文載荷對應(yīng)的應(yīng)用標(biāo)識。
4.如權(quán)利要求2所述的方法,其特征在于,預(yù)先設(shè)置采集流量表,用于保存網(wǎng)絡(luò)屬性與應(yīng)用屬性結(jié)合的結(jié)果和對應(yīng)的統(tǒng)計項目,所述針對所確定的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計為對所述報文的網(wǎng)絡(luò)屬性和應(yīng)用標(biāo)識進(jìn)行哈希處理,獲得索引值,根據(jù)該索引值檢索所述采集流量表,并判斷該采集流量表中是否存在與該索引值對應(yīng)的表項,如果是,則根據(jù)該報文更新采集流量表中的該表項內(nèi)容,否則,根據(jù)該報文生成包括該索引值的新表項,加入到所述采集流量表中;所述獲得流量統(tǒng)計結(jié)果為確定用戶需要統(tǒng)計的項目,從所述流量統(tǒng)計表中獲取所確定的項目對應(yīng)的統(tǒng)計信息,并進(jìn)行匯總,將匯總結(jié)果作為流量統(tǒng)計結(jié)果。
5.如權(quán)利要求1所述的方法,其特征在于,所述確定該報文的網(wǎng)絡(luò)屬性和報文載荷之后,進(jìn)一步包括對所述報文進(jìn)行預(yù)處理,并根據(jù)預(yù)處理結(jié)果判斷該報文是否為合法報文,如果是,則繼續(xù)執(zhí)行所述確定該報文的應(yīng)用屬性;否則,結(jié)束本統(tǒng)計流程。
6.如權(quán)利要求1所述的方法,其特征在于,所述獲得統(tǒng)計結(jié)果之前,進(jìn)一步包括根據(jù)預(yù)先設(shè)置的老化標(biāo)準(zhǔn),判斷是否對采集流量表進(jìn)行老化處理,如果是,則將符合老化標(biāo)準(zhǔn)的表項從流量采集中提取出來,并繼續(xù)執(zhí)行所述獲得統(tǒng)計結(jié)果的操作;否則,直接執(zhí)行所述獲得統(tǒng)計結(jié)果的操作。
7.一種用于網(wǎng)絡(luò)流量統(tǒng)計的流量采集器,其特征在于,該流量采集器包括流會話管理模塊、應(yīng)用識別模塊、應(yīng)用協(xié)議統(tǒng)計模塊,其中,所述流會話管理模塊用于獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,將報文載荷傳送給應(yīng)用識別模塊,接收來自于應(yīng)用識別模塊的應(yīng)用屬性,并將該報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性傳送給應(yīng)用統(tǒng)計模塊;所述應(yīng)用識別模塊用于保存報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,接收來自于流會話管理模塊的報文載荷,確定對應(yīng)的應(yīng)用屬性,并發(fā)送給所述流會話管理模塊;所述應(yīng)用協(xié)議統(tǒng)計模塊用于接收來自于所述流會話管理模塊的報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性,并針對接收到的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計。
8.如權(quán)利要求7所述的流量采集器,其特征在于,所述應(yīng)用識別模塊包括應(yīng)用特征數(shù)據(jù)庫和檢索子模塊,其中所述應(yīng)用特征數(shù)據(jù)庫用于保存報文載荷與代表應(yīng)用屬性的應(yīng)用標(biāo)識之間的對應(yīng)關(guān)系;所述檢索子模塊用于接收來自于流會話管理模塊的報文載荷,根據(jù)接收到的報文載荷對應(yīng)用特征數(shù)據(jù)中的所述對應(yīng)關(guān)系進(jìn)行檢索,獲得該報文載荷對應(yīng)的應(yīng)用標(biāo)識,并將該應(yīng)用標(biāo)識作為應(yīng)用屬性發(fā)送給所述流會話管理模塊。
9.如權(quán)利要求7所述的流量采集器,其特征在于,所述應(yīng)用協(xié)議統(tǒng)計模塊包括采集流量表和統(tǒng)計子模塊,其中所述采集流量表用于保存包括網(wǎng)絡(luò)屬性和應(yīng)用屬性的哈希處理結(jié)果以及對應(yīng)的統(tǒng)計項目在內(nèi)的表項,并在所述統(tǒng)計子模塊的控制下更新統(tǒng)計項目的內(nèi)容或者新建表項;所述統(tǒng)計子模塊用于接收來自于所述流會話管理模塊的報文的網(wǎng)絡(luò)屬性和應(yīng)用屬性,對接收到的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行哈希處理,以哈希處理結(jié)果作為索引值,檢索所述采集流量表,在確定采集流量表中存在對應(yīng)表項時,通知采集流量表根據(jù)報文更新所述對應(yīng)表項,在確定采集流量表中不存在對應(yīng)表項時,通知采集流量表根據(jù)報文新建表項。
10.如權(quán)利要求7至9中任意一項所述的流量采集器,其特征在于,所述流量采集器進(jìn)一步包括報文預(yù)處理模塊,用于接收來自于流會話管理模塊的報文,對接收到的報文進(jìn)行預(yù)處理,并將預(yù)處理結(jié)果返回給流會話管理模塊。
11.如權(quán)利要求7至9中任意一項所述的流量采集器,其特征在于,所述流量采集器進(jìn)一步包括應(yīng)用統(tǒng)計表模塊,用于接收來自于應(yīng)用協(xié)議統(tǒng)計模塊的統(tǒng)計結(jié)果,根據(jù)接收到的統(tǒng)計結(jié)果生成統(tǒng)計分析表,并向用戶顯示。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)流量統(tǒng)計方法,其特征在于,預(yù)先建立報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,該方法包括獲取來自于被測端口的報文,確定該報文的網(wǎng)絡(luò)屬性和報文載荷,根據(jù)預(yù)先建立的報文載荷與應(yīng)用屬性的對應(yīng)關(guān)系,確定該報文的應(yīng)用屬性,并針對所確定的網(wǎng)絡(luò)屬性和應(yīng)用屬性進(jìn)行流量統(tǒng)計,獲得統(tǒng)計結(jié)果。本發(fā)明還公開了一種用于網(wǎng)絡(luò)流量統(tǒng)計的流量采集器,其特征在于,該流量采集器包括流會話管理模塊、應(yīng)用識別模塊、應(yīng)用協(xié)議統(tǒng)計模塊。本發(fā)明能夠針對網(wǎng)絡(luò)應(yīng)用進(jìn)行流量統(tǒng)計。
文檔編號H04L12/08GK1905491SQ20061011211
公開日2007年1月31日 申請日期2006年8月11日 優(yōu)先權(quán)日2006年8月11日
發(fā)明者王松波, 常立民, 宋建明 申請人:杭州華為三康技術(shù)有限公司