專利名稱:基于主動(dòng)探測的主機(jī)ip出流量估算方法
技術(shù)領(lǐng)域:
本發(fā)明涉及主機(jī)IP流量統(tǒng)計(jì)技術(shù)領(lǐng)域,確切地說涉及一種基于主動(dòng)探測的主機(jī) IP出流量估算方法。
背景技術(shù):
如何獲知一個(gè)IP主機(jī)的IP流量,對網(wǎng)絡(luò)管理而言具有重要意義。它可以幫助網(wǎng) 絡(luò)管理人員了解該主機(jī)的網(wǎng)絡(luò)繁忙程度,把握主機(jī)的網(wǎng)絡(luò)負(fù)載情況,以及主機(jī)對網(wǎng)絡(luò)帶寬 資源的消耗情況。主機(jī)的總IP流量還可以進(jìn)一步用于推測主機(jī)的異常行為、資源冗余和服 務(wù)可用性,在安全管理、性能管理、可用性管理等方面具有重要價(jià)值。主機(jī)的IP流量,是指主機(jī)在一段時(shí)間以內(nèi),以IP協(xié)議進(jìn)行通信的網(wǎng)絡(luò)出入流量之 和。IP流量包括兩個(gè)部分出流量和入流量,前者是指主機(jī)在一段時(shí)間內(nèi)向外發(fā)出的IP協(xié) 議網(wǎng)絡(luò)流量,后者是指主機(jī)在一段時(shí)間內(nèi)收到的IP協(xié)議網(wǎng)絡(luò)流量。IP流量有兩種度量方法每秒字節(jié)數(shù)(byte per second,byte/s),每秒包數(shù) (packet per second, packet/s)0前者描述每秒發(fā)出或收到的IP數(shù)據(jù)包的總字節(jié)數(shù),后者 描述每秒發(fā)出或收到的IP數(shù)據(jù)包的總數(shù)量。本發(fā)明僅針對主機(jī)的IP出流量,采用packet/s為度量單位。本發(fā)明將需要估算 IP出流量的主機(jī)稱為“目標(biāo)主機(jī)”。目前存在多種方法對主機(jī)的IP出流量進(jìn)行估算。從技術(shù)手段上可以劃分為4類 第1類為基于流量分析的方法,主要原理為在網(wǎng)絡(luò)關(guān)鍵設(shè)備上部署流量探測設(shè)備(硬
件或軟件),以端口鏡像等方式,對目標(biāo)主機(jī)的所有出流量進(jìn)行直接捕獲和統(tǒng)計(jì),將捕獲數(shù) 據(jù)包的總數(shù)除以捕獲過程的總時(shí)間,可以直接計(jì)算出目標(biāo)主機(jī)的IP出流量。該方法要求在 目標(biāo)主機(jī)所在的位置附近部署流量探測設(shè)備。第2類為基于網(wǎng)絡(luò)設(shè)備的統(tǒng)計(jì)方法,主要原理為在目標(biāo)主機(jī)直接連接的網(wǎng)絡(luò)設(shè) 備(交換機(jī)或路由器)上,通過網(wǎng)絡(luò)設(shè)備自身提供的統(tǒng)計(jì)功能,統(tǒng)計(jì)目標(biāo)主機(jī)的IP出流量。 該方法要求目標(biāo)主機(jī)直接連接的網(wǎng)絡(luò)設(shè)備具備流量統(tǒng)計(jì)功能,而且管理人員有權(quán)訪問該設(shè) 備的統(tǒng)計(jì)輸出信息。第3類為基于SNMP (簡單網(wǎng)絡(luò)管理協(xié)議)的方法,主要原理為在目標(biāo)主機(jī)上開放 SNMP管理服務(wù),然后在其他主機(jī)上通過SNMP協(xié)議訪問該SNMP服務(wù),獲取目標(biāo)主機(jī)的網(wǎng)卡統(tǒng) 計(jì)信息,然后計(jì)算目標(biāo)主機(jī)的IP出流量。該方法要求目標(biāo)主機(jī)開放SNMP服務(wù),而且管理人 員有權(quán)訪問該服務(wù)。第4類為基于管理代理的方法,主要原理為在目標(biāo)主機(jī)上安裝服務(wù)代理軟件,對 本機(jī)的出入流量進(jìn)行統(tǒng)計(jì),然后在其他主機(jī)上安裝相應(yīng)的軟件,與目標(biāo)主機(jī)上的代理軟件 進(jìn)行統(tǒng)計(jì),從而獲取目標(biāo)主機(jī)的IP出流量。該方法要求在目標(biāo)主機(jī)上安裝專用代理軟件。
上述方法都要求對目標(biāo)主機(jī)或目標(biāo)主機(jī)所在的網(wǎng)絡(luò)具有控制權(quán)限或訪問權(quán)限。然而,對于一臺(tái)處于不可控制網(wǎng)絡(luò)的不可控制的IP主機(jī),上述方法均無法發(fā)揮作用。例如,對 于互聯(lián)網(wǎng)上的任意一臺(tái)遠(yuǎn)程目標(biāo)主機(jī),上述方法無法在該主機(jī)上安裝軟件,也無法訪問和 控制該主機(jī)所在的網(wǎng)絡(luò)設(shè)備,當(dāng)然也就無法獲取該主機(jī)的IP流量統(tǒng)計(jì)信息。
發(fā)明內(nèi)容
為解決上述技術(shù)問題,本發(fā)明提出了一種基于主動(dòng)探測的主機(jī)IP出流量估算方 法,本發(fā)明能即時(shí)獲得互聯(lián)網(wǎng)上任意一臺(tái)遠(yuǎn)程目標(biāo)主機(jī)的IP流量統(tǒng)計(jì)信息,消除了傳統(tǒng)方 法在測量時(shí)對環(huán)境和訪問權(quán)限的苛刻要求,從而節(jié)省了大量的探測資源。本發(fā)明是通過采用下述技術(shù)方案實(shí)現(xiàn)的;
一種基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于在任意主機(jī)上向目標(biāo)主機(jī) 發(fā)起IP通信,在所述任意主機(jī)上計(jì)算目標(biāo)主機(jī)在時(shí)間段T內(nèi)返回給所述任意主機(jī)的IP分 組的IP_ID字段的增加值INC,將所述增加值INC除以T得到所述目標(biāo)主機(jī)的IP出流量。在計(jì)算所述增加值INC步驟后,統(tǒng)計(jì)該時(shí)間段T內(nèi)目標(biāo)主機(jī)返回的IP包總數(shù) COUNT,將所述增加值INC減去COUNT后的差值,除以T得到所述目標(biāo)主機(jī)的IP出流量。所述IP通信的方式包括但不限于發(fā)送ICMP探測,主動(dòng)請求TCP會(huì)話,或發(fā)起UDP
ififn。所述增加值INC減去COUNT后的差值,除以T得到所述目標(biāo)主機(jī)的IP出流量的具 體方法為
(1)假定目標(biāo)主機(jī)為H,以一臺(tái)任意的主機(jī)M為測量主機(jī),要求H與M通過IP協(xié)議可以 互相通信;
(2 )通過主機(jī)M向目標(biāo)主機(jī)H發(fā)起IP通信,在通信過程中,在主機(jī)M上對目標(biāo)主機(jī)H發(fā) 來的IP分組進(jìn)行觀測;
(3)以主機(jī)M收到某個(gè)目標(biāo)主機(jī)H發(fā)來的IP分組的時(shí)刻為起點(diǎn),記錄當(dāng)前時(shí)間為Tstart, 同時(shí)記錄該IP分組的IP_ID字段值為IP_IDstart,并設(shè)置一個(gè)計(jì)數(shù)器COUNT,將COUNT值設(shè) 置為0,所述起點(diǎn)在通信過程中任意選擇;
(4)繼續(xù)保持主機(jī)M與目標(biāo)主機(jī)H之間的IP通信,在通信期間,主機(jī)M不斷收到發(fā)自目 標(biāo)主機(jī)H的IP分組,這些分組的IP_ID字段不斷增長,記錄這些IP分組的數(shù)量,即每收到 1個(gè)來自目標(biāo)主機(jī)H的IP分組,COUNT值加1 ;
(5)—段時(shí)間T以后,以主機(jī)M收到某個(gè)目標(biāo)主機(jī)H發(fā)來的IP分組的時(shí)刻為終點(diǎn),記錄 當(dāng)前時(shí)間為Tmd,同時(shí)記錄該IP分組的IP_ID字段值為IP_IDmd ;
(6)以如下公式計(jì)算目標(biāo)主機(jī)H的IP出流量
目標(biāo)主機(jī) H 的 IP 出流量=((IP_IDend - IP_IDstart)-COUNT) / (Tend -Tstart) 計(jì)算結(jié)果單位為packet/s。所述目標(biāo)主機(jī)是指需要估算IP出流量的主機(jī)。所述IP出流量采用packet/s為度量單位。與現(xiàn)有技術(shù)相比,本發(fā)明所達(dá)到的技術(shù)效果如下
1、本發(fā)明采用增加值INC除以T得到所述目標(biāo)主機(jī)的IP出流量的方式,能得到目標(biāo)主 機(jī)的IP大致出流量,只需要極小的代價(jià)就能夠?qū)h(yuǎn)程目標(biāo)主機(jī)的IP出流量進(jìn)行計(jì)算,消除 了傳統(tǒng)方法在測量時(shí)對環(huán)境和訪問權(quán)限的苛刻要求,測量結(jié)果能夠真實(shí)準(zhǔn)確的反映遠(yuǎn)程主機(jī)在一個(gè)時(shí)間段內(nèi)的實(shí)際IP出流量情況,與傳統(tǒng)的IP流量測量方法相比,本方法能夠?qū)Σ?可控制的任意目標(biāo)主機(jī)進(jìn)行探測,同時(shí)可以節(jié)省大量的探測資源(設(shè)備、軟件、部署人力)。2、本發(fā)明采用增加值INC減去COUNT后的差值,除以T得到所述目標(biāo)主機(jī)的IP出 流量的方式,消除了測量過程中對目標(biāo)主機(jī)出流量產(chǎn)生的影響,使得出的目標(biāo)主機(jī)IP出流 量計(jì)算結(jié)果更為精確。
下面將結(jié)合說明書附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步的詳細(xì)說明,其中 圖1為在通信過程中,在主機(jī)M上對目標(biāo)主機(jī)H發(fā)來的IP分組進(jìn)行觀測的示意圖
圖2為增加值INC減去COUNT后的差值,除以T得到所述目標(biāo)主機(jī)的IP出流量的具體 方法的流程示意圖。
具體實(shí)施例方式實(shí)施例1
本發(fā)明的主要技術(shù)依據(jù)為在以IP為協(xié)議的通信過程中,每個(gè)IP分組(無論收發(fā))均 帶有一個(gè)IP頭部。IP頭部中有一個(gè)IP_ID字段,該字段為數(shù)字類型,標(biāo)識了每個(gè)數(shù)據(jù)包的 ID號;IP協(xié)議規(guī)定,主機(jī)每發(fā)送一個(gè)數(shù)據(jù)包,IP_ID字段增加1,即以為步長依次遞增。例 如,某主機(jī)在IP通信過程中,其在某個(gè)時(shí)刻發(fā)出的IP分組的IP_ID字段值為20,則無論其 下一個(gè)發(fā)出的IP分組的目標(biāo)IP地址是誰,其IP_ID字段值必定為21。因此,本發(fā)明基于IP_ID字段的變化規(guī)律,對任意目標(biāo)主機(jī)的IP出流量進(jìn)行探測。 本發(fā)明采用主動(dòng)探測的思想,在任意主機(jī)上向目標(biāo)主機(jī)發(fā)起IP通信(如發(fā)送ICMP探測,主 動(dòng)請求TCP會(huì)話,或發(fā)起UDP通信等),計(jì)算對方在一段時(shí)間T內(nèi)返回的IP分組的IP_ID的 增加值INC,則INC除以T的結(jié)果即為目標(biāo)主機(jī)的大致IP出流量。所述目標(biāo)主機(jī)是指需要 估算IP出流量的主機(jī)。所述IP出流量采用packet/s為度量單位。實(shí)施例2
作為本發(fā)明的最佳實(shí)施方式,本方案的目標(biāo)是估算遠(yuǎn)程主機(jī)的ip出流量,采用方法如
下
(1)假定目標(biāo)主機(jī)為H,以一臺(tái)任意的主機(jī)M為測量主機(jī),要求H與M通過IP協(xié)議可以 互相通信;
(2)通過M向H主機(jī)發(fā)起IP通信,通信的方式包括但不限于ICMP(ping),建立TCP連 接,建立UDP會(huì)話。在通信過程中,在M上對H發(fā)來的IP分組進(jìn)行觀測。如圖1所示。(3)以M收到某個(gè)H發(fā)來的IP分組的時(shí)刻為起點(diǎn),記錄當(dāng)前時(shí)間為Tstart,同時(shí)記 錄該IP分組的IP_ID字段值為IP_IDstot,并設(shè)置一個(gè)計(jì)數(shù)器COUNT,將COUNT值設(shè)置為0。 起點(diǎn)可以在通信過程中任意選擇。(4)繼續(xù)保持M與H之間的IP通信。在通信期間,M可以不斷收到發(fā)自H的IP分 組,這些分組的IP_ID字段不斷增長,記錄這些IP分組的數(shù)量。即每收到1個(gè)來自H的IP 分組,COUNT加1。(5)—段時(shí)間以后,以M收到某個(gè)H發(fā)來的IP分組的時(shí)刻為終點(diǎn),記錄當(dāng)前時(shí)間為 Tend,同時(shí)記錄該IP分組的IP_ID字段值為IP_IDmd。
(6)以如下公式計(jì)算H的IP出流量
H 的 IP 出流量=((IP_IDend - IP_IDstart) _ COUNT) / (Tend -Tstart) 計(jì)算結(jié)果單位為packet/s。實(shí)驗(yàn)驗(yàn)證
在一段時(shí)間內(nèi),網(wǎng)絡(luò)中的一個(gè)客戶端A向一個(gè)目標(biāo)服務(wù)器B發(fā)起IP通信(實(shí)驗(yàn)采用 ICMP探測方式,即ping探測)。在客戶端中抓獲被測節(jié)點(diǎn)的數(shù)據(jù)包,可以計(jì)算遠(yuǎn)程主機(jī)的 IP 出流量 Traffictotal= ((IP_IDend - IP_IDstart) _ COUNT) / (Tend-Tstart)。作為比較,在服務(wù)器B上分別安裝流量分析軟件和開啟SNMP服務(wù)。使用前文“現(xiàn) 有技術(shù)”的“第1類”和“第3類”進(jìn)行同步測量并互相驗(yàn)證結(jié)果的準(zhǔn)確性。在測量過程中,我們在不同的時(shí)間段內(nèi),針 對20個(gè)IP目標(biāo)主機(jī)進(jìn)行了測量,測量結(jié)果對比如下
權(quán)利要求
1.一種基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于在任意主機(jī)上向目標(biāo)主 機(jī)發(fā)起IP通信,在所述任意主機(jī)上計(jì)算目標(biāo)主機(jī)在時(shí)間段T內(nèi)返回給所述任意主機(jī)的IP 分組的IP_ID字段的增加值INC,將所述增加值INC除以T得到所述目標(biāo)主機(jī)的IP出流量。
2.根據(jù)權(quán)利要求1所述的基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于在計(jì) 算所述增加值INC步驟后,統(tǒng)計(jì)該時(shí)間段T內(nèi)目標(biāo)主機(jī)返回的IP包總數(shù)COUNT,將所述增加 值INC減去COUNT后的差值,除以T得到所述目標(biāo)主機(jī)的IP出流量。
3.根據(jù)權(quán)利要求1或2所述的基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于 所述IP通信的方式包括但不限于發(fā)送ICMP探測,主動(dòng)請求TCP會(huì)話,或發(fā)起UDP通信。
4.根據(jù)權(quán)利要求2所述的基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于所述 增加值INC減去COUNT后的差值,除以T得到所述目標(biāo)主機(jī)的IP出流量的具體方法為(1)假定目標(biāo)主機(jī)為H,以一臺(tái)任意的主機(jī)M為測量主機(jī),要求H與M通過IP協(xié)議可以 互相通信;(2 )通過主機(jī)M向目標(biāo)主機(jī)H發(fā)起IP通信,在通信過程中,在主機(jī)M上對目標(biāo)主機(jī)H發(fā) 來的IP分組進(jìn)行觀測;(3)以主機(jī)M收到某個(gè)目標(biāo)主機(jī)H發(fā)來的IP分組的時(shí)刻為起點(diǎn),記錄當(dāng)前時(shí)間為Tstart, 同時(shí)記錄該IP分組的IP_ID字段值為IP_IDstart,并設(shè)置一個(gè)計(jì)數(shù)器COUNT,將COUNT值設(shè) 置為0,所述起點(diǎn)在通信過程中任意選擇;(4)繼續(xù)保持主機(jī)M與目標(biāo)主機(jī)H之間的IP通信,在通信期間,主機(jī)M不斷收到發(fā)自目 標(biāo)主機(jī)H的IP分組,這些分組的IP_ID字段不斷增長,記錄這些IP分組的數(shù)量,即每收到 1個(gè)來自目標(biāo)主機(jī)H的IP分組,COUNT值加1 ;(5)—段時(shí)間T以后,以主機(jī)M收到某個(gè)目標(biāo)主機(jī)H發(fā)來的IP分組的時(shí)刻為終點(diǎn),記錄 當(dāng)前時(shí)間為Tmd,同時(shí)記錄該IP分組的IP_ID字段值為IP_IDmd ;(6)以如下公式計(jì)算目標(biāo)主機(jī)H的IP出流量目標(biāo)主機(jī) H 的 IP 出流量=((IP_IDend - IP_IDstart)-COUNT) / (Tend -Tstart)計(jì)算結(jié)果單位為packet/s。
5.根據(jù)權(quán)利要求1所述的基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于所述 目標(biāo)主機(jī)是指需要估算IP出流量的主機(jī)。
6.根據(jù)權(quán)利要求1所述的基于主動(dòng)探測的主機(jī)IP出流量估算方法,其特征在于所述 IP出流量采用packet/s為度量單位。
全文摘要
本發(fā)明公開了一種基于主動(dòng)探測的主機(jī)IP出流量估算方法,涉及主機(jī)IP流量統(tǒng)計(jì)技術(shù)領(lǐng)域,在任意主機(jī)上向目標(biāo)主機(jī)發(fā)起IP通信,在所述任意主機(jī)上計(jì)算目標(biāo)主機(jī)在時(shí)間段T內(nèi)返回給所述任意主機(jī)的IP分組的IP_ID字段的增加值INC,將所述增加值INC除以T得到所述目標(biāo)主機(jī)的IP出流量。本發(fā)明能即時(shí)獲得互聯(lián)網(wǎng)上任意一臺(tái)遠(yuǎn)程目標(biāo)主機(jī)的IP流量統(tǒng)計(jì)信息,消除了傳統(tǒng)方法在測量時(shí)對環(huán)境和訪問權(quán)限的苛刻要求,從而節(jié)省了大量的探測資源。
文檔編號H04L12/26GK102075443SQ20111004665
公開日2011年5月25日 申請日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者劉杰, 汪文勇, 黃鸝聲 申請人:電子科技大學(xué)