專利名稱::基于拓?fù)錁涞幕厮菔铰酚杉?jí)網(wǎng)絡(luò)拓?fù)錂z測(cè)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種大規(guī)模網(wǎng)絡(luò)的快速拓?fù)錂z測(cè)方法,能有效地提高大規(guī)模網(wǎng)絡(luò)拓?fù)錂z測(cè)的效率和減少所需的檢測(cè)時(shí)間,屬于網(wǎng)絡(luò)拓?fù)錂z測(cè)領(lǐng)域。技術(shù)背景目前,常見的路由級(jí)網(wǎng)絡(luò)拓?fù)錂z測(cè)方法都是基于網(wǎng)絡(luò)數(shù)據(jù)包的生存時(shí)間(TTL)限制進(jìn)行的,基本原理,是首先從檢測(cè)點(diǎn)發(fā)送TTL字段為1的數(shù)據(jù)包到目的地址,從檢測(cè)點(diǎn)到目的地址的網(wǎng)絡(luò)路徑中第一個(gè)路由器接收到此數(shù)據(jù)包后,向檢測(cè)源發(fā)回一個(gè)ICMP"超時(shí)"數(shù)據(jù)包,此數(shù)據(jù)包中包含該路由器的接口IP地址,然后檢測(cè)源發(fā)送TTL字段為2的數(shù)據(jù)包到目的地址,網(wǎng)絡(luò)路徑中第二個(gè)路由器接收到此數(shù)據(jù)包后向檢測(cè)源發(fā)回ICMP"超時(shí)"數(shù)據(jù)包,從而得到第二個(gè)路由器的接口IP地址,循環(huán)往復(fù)從而得到從檢測(cè)源到目的地址的整條路徑中的所有路由器接口IP。通過檢測(cè)大量檢測(cè)源和目的地址對(duì),就可以得到整個(gè)網(wǎng)絡(luò)中路由器的接口IP信息,進(jìn)一步處理即可得到整個(gè)網(wǎng)絡(luò)的路由級(jí)拓?fù)洹S捎谛枰獙?duì)網(wǎng)絡(luò)中每條路徑進(jìn)行檢測(cè),因此網(wǎng)絡(luò)中不同路徑的交叉部分會(huì)被反復(fù)檢測(cè)到,特別是在大規(guī)模的網(wǎng)絡(luò)拓?fù)錂z測(cè)中這種冗余度是非常高的。為了降低冗余度、提高檢測(cè)效率和降低拓?fù)錂z測(cè)時(shí)間,出現(xiàn)了一些改進(jìn)型的方法,它們根據(jù)不同的算法將第一個(gè)檢測(cè)數(shù)據(jù)包的TTL值設(shè)置為大于1的某個(gè)值,從而在一定的概率范圍內(nèi)降低檢測(cè)的冗余度,但是這種概率是不確定的,在網(wǎng)絡(luò)拓?fù)錂z測(cè)過程中,在整個(gè)拓?fù)涞哪承┚植繖z測(cè)中這種改進(jìn)能有效地降低冗余度,而其它一些則只能有較少的冗余度降低。
發(fā)明內(nèi)容為了克服現(xiàn)有路由級(jí)拓?fù)錂z測(cè)方法中初始TTL值設(shè)置的不確定性,進(jìn)一步降低撲檢測(cè)的冗余度和提高檢測(cè)效率,本發(fā)明利用目的地址集合中對(duì)檢測(cè)做出響應(yīng)的目的地址,取得其返回的數(shù)據(jù)包并分析出目的地址與檢測(cè)源的距離,從而確定初始檢測(cè)數(shù)據(jù)包的TTL值,在取得部分網(wǎng)絡(luò)拓?fù)湫畔⒑筮M(jìn)行分析,從而指導(dǎo)后續(xù)檢測(cè)工作的繼續(xù)進(jìn)行。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是1)以255作為網(wǎng)絡(luò)數(shù)據(jù)包的生存時(shí)間TTL針對(duì)所有的目的地址進(jìn)行一次探測(cè);還可以64或者128作為網(wǎng)絡(luò)數(shù)據(jù)包的生存時(shí)間TTL;2)當(dāng)某個(gè)目的地址有響應(yīng)時(shí),取得該響應(yīng)數(shù)據(jù)包的TTL字段值;3)目前各種操作系統(tǒng)默認(rèn)將響應(yīng)數(shù)據(jù)包的TTL值設(shè)置為16、32、64、128或255,上述取得的響應(yīng)數(shù)據(jù)包的TTL與這五個(gè)值中稍大于它的值之差的絕對(duì)值為目的地址和檢測(cè)源的路徑長(zhǎng)度N;4)利用拓?fù)鋱D的樹狀特性,從目的地址開始回溯網(wǎng)絡(luò)拓?fù)洌词褂肨TbN-l、TTL=N-2、TTL=N-3直至TTL:1的數(shù)據(jù)包檢測(cè)目的地址,并記錄下得到的路由器接口地址;當(dāng)探測(cè)到某個(gè)己經(jīng)發(fā)現(xiàn)的路由器接口時(shí),對(duì)此目的地址的探測(cè)過程中止,繼續(xù)探測(cè)下一個(gè)目的地址;當(dāng)目的地址集中沒有對(duì)檢測(cè)做出響應(yīng)的地址會(huì)被忽略,拓?fù)錂z測(cè)過程以下一個(gè)目的地址為檢測(cè)地址繼續(xù)進(jìn)行;5)完成對(duì)全部目的地址集的一次掃描之后,得到整個(gè)實(shí)際網(wǎng)絡(luò)拓?fù)涞囊徊糠?,此時(shí)分析得到的拓?fù)鋱D,找出拓?fù)鋱D中出度乘以路徑長(zhǎng)度值最大的拓?fù)涔?jié)點(diǎn)作為最優(yōu)節(jié)點(diǎn);6)以上述最優(yōu)節(jié)點(diǎn)的路徑長(zhǎng)度為初始檢測(cè)數(shù)據(jù)包的TTL值來回溯檢測(cè)目的地址集中沒有響應(yīng)的地址,并記錄得到拓?fù)?,完成整個(gè)拓?fù)錂z測(cè)過程。本發(fā)明的有益效果是,可以有效地降低網(wǎng)絡(luò)拓?fù)錂z測(cè)的冗余度,減少拓?fù)錂z測(cè)時(shí)間和提高拓?fù)浒l(fā)現(xiàn)效率,同時(shí)操作和實(shí)施起來比較方便。圖l是原始的拓?fù)錂z測(cè)算法圖。圖2是改進(jìn)后的拓?fù)錂z測(cè)算法3是回溯式拓?fù)錂z測(cè)算法4是回溯式拓?fù)錂z測(cè)算法首輪探測(cè)后發(fā)現(xiàn)的網(wǎng)絡(luò)拓?fù)淦渲蠷1、R2、R3、R4、R5、R6、R7、R8、R9代表路由器l-9D(Destination)1、D2、D3、D4、D5代表目的地址l-5M(Monitor)代表檢測(cè)源具體實(shí)施方式在圖3所示實(shí)施例中,目的地址集合為D1、D2、D3、D4和D5,M為檢測(cè)源,Rl、R2、R3、R4、R5、R6、R7、R8和R9為網(wǎng)絡(luò)拓?fù)渲械?個(gè)路由器。1)以255作為網(wǎng)絡(luò)數(shù)據(jù)包的生存時(shí)間TTL針對(duì)目的地址集里的5個(gè)目的地址進(jìn)行一次探測(cè)。2)當(dāng)某個(gè)目的地址有響應(yīng)時(shí),取得響應(yīng)數(shù)據(jù)包的TTL字段值。其中D1、D2和D4對(duì)探測(cè)做出響應(yīng),返回相應(yīng)的響應(yīng)數(shù)據(jù)包。從三個(gè)響應(yīng)數(shù)據(jù)包得到各自的TTL值,分別為TTL1二251,TTL2=124,TTL4二60。3)目前各種操作系統(tǒng)默認(rèn)將響應(yīng)數(shù)據(jù)包的TTL值設(shè)置為16、32、64、128或255,上述取得的響應(yīng)數(shù)據(jù)包的TTL與這五個(gè)值中稍大于它的值之差的絕對(duì)值為目的地址和檢測(cè)源的路徑長(zhǎng)度N。因此D1、D2和D4的路徑長(zhǎng)度分別為Nl=255-251,N2=128-124,N4=64-60。4)利用拓?fù)鋱D的樹狀特性,從目的地址開始回溯網(wǎng)絡(luò)拓?fù)?,即使用TTL二N-1、TTL二N-2、TTL二N-3.......的數(shù)據(jù)包檢測(cè)目的地址,并記錄下得到的路由器接口地址;當(dāng)探測(cè)到某個(gè)已經(jīng)發(fā)現(xiàn)的路由器接口時(shí),對(duì)此目的地址的探測(cè)過程中止,繼續(xù)探測(cè)下一個(gè)目的地址。對(duì)于D1,此時(shí)已經(jīng)發(fā)現(xiàn)的路由器集合I為空。然后分別使用TTL3、TTL=2、TTL4的探測(cè)數(shù)據(jù)包對(duì)其進(jìn)行探測(cè),得到路由器R4、R3和R1的信息,因此此時(shí)I二(R4,R3,Rlh對(duì)于D2,分別使用TTL二3、TTL=2、TTL二1的數(shù)據(jù)包對(duì)其進(jìn)行探測(cè),先后得到路由器R8、R3的信息,此時(shí)因?yàn)镽3在集合I中,即探測(cè)遇到已經(jīng)發(fā)現(xiàn)的路由器,此時(shí)對(duì)D2的探測(cè)終止,1={R4,R3,Rl,R8h對(duì)于D4,分別使用TTL二3、TTL二2、TTL二1的數(shù)據(jù)包對(duì)其進(jìn)行探測(cè),先后得到路由器R6、R2、Rl的信息,此時(shí)因?yàn)镽1在集合I中,即探測(cè)遇到已經(jīng)發(fā)現(xiàn)的路由器,此時(shí)對(duì)D2的探測(cè)終止,1={R4,R3,R1,R8,R6,R2)。5)目的地址集中沒有對(duì)檢測(cè)做出響應(yīng)的地址會(huì)被忽略,拓?fù)錂z測(cè)過程以下一個(gè)目的地址為檢測(cè)地址繼續(xù)進(jìn)行。由于D3和D5沒有對(duì)檢測(cè)源M做出響應(yīng),因此在首輪探測(cè)過程中被忽略。6)當(dāng)完成對(duì)全部目的地址集的一次掃描之后,將會(huì)得到整個(gè)實(shí)際網(wǎng)絡(luò)拓?fù)涞囊徊糠郑藭r(shí)分析得到的拓?fù)鋱D,找出拓?fù)鋱D中出度乘以其到檢測(cè)源的路徑長(zhǎng)度值S最大的拓?fù)涔?jié)點(diǎn),作為最優(yōu)節(jié)點(diǎn)。首輪檢測(cè)結(jié)束后得到圖3中拓?fù)涞囊徊糠?,如圖4所示。此時(shí)得到了路由器R4、R3、Rl、R8、R6、R2及其之間的連接關(guān)系。對(duì)于這6個(gè)路由器其S值分別為S4二3xl,S3=2x2,Sl=lx3,S8=3xl,S6=3xl,S2二lxl,因此R3是最優(yōu)節(jié)點(diǎn)。7)以最優(yōu)節(jié)點(diǎn)的路徑長(zhǎng)度為初始檢測(cè)數(shù)據(jù)包的TTL值來回溯檢測(cè)目的地址集中沒有響應(yīng)的地址,并記錄得到拓?fù)洌瑥亩瓿烧麄€(gè)拓?fù)錂z測(cè)過程。以最優(yōu)節(jié)點(diǎn)R3的路徑長(zhǎng)度繼續(xù)探測(cè)沒有響應(yīng)的目的地址D3和D5。對(duì)于D3,首先使用TT1^2的數(shù)據(jù)包對(duì)其進(jìn)行探測(cè),得到路由器R5的信息,然后使用TTL二3、TTL二4.......的數(shù)據(jù)包對(duì)其進(jìn)行探測(cè),得到路由器R7、R9的信息。因?yàn)镽5不在I中,所以需要執(zhí)行回溯式探測(cè),即以TTL4的數(shù)據(jù)包回溯D3,得到路由器R1,因?yàn)镽1在I中,探測(cè)中止,此時(shí)1二{R4,R3,Rl,R8,R5,R7,R9};對(duì)于D5,首先使用TT1^2的數(shù)據(jù)包對(duì)其進(jìn)行探測(cè),得到路由器R2的信息,因?yàn)镽2在I中,不需要執(zhí)行回溯式探測(cè),因此探測(cè)中止,此時(shí)1={R4,R3,Rl,R8,R5,R7,R9h整個(gè)拓?fù)錂z測(cè)過程結(jié)束并發(fā)現(xiàn)了全部的網(wǎng)絡(luò)拓?fù)?。將所有的?shù)值具體化,分步驟。效果對(duì)比(可用表格)<table>tableseeoriginaldocumentpage6</column></row><table>權(quán)利要求1、基于拓?fù)錁涞幕厮菔铰酚杉?jí)網(wǎng)絡(luò)拓?fù)錂z測(cè)方法,其特征在于,包括以下步驟1)以255作為網(wǎng)絡(luò)數(shù)據(jù)包的生存時(shí)間TTL針對(duì)所有的目的地址進(jìn)行一次探測(cè);2)當(dāng)某個(gè)目的地址有響應(yīng)時(shí),取得該響應(yīng)數(shù)據(jù)包的TTL字段值;3)目前各種操作系統(tǒng)默認(rèn)將響應(yīng)數(shù)據(jù)包的TTL值設(shè)置為16、32、64、128或255,上述取得的響應(yīng)數(shù)據(jù)包的TTL與這五個(gè)值中稍大于它的值之差的絕對(duì)值為目的地址和檢測(cè)源的路徑長(zhǎng)度N;4)使用TTL=N-1、TTL=N-2、TTL=N-3直至TTL=1的數(shù)據(jù)包檢測(cè)目的地址,并記錄下得到的路由器接口地址;當(dāng)探測(cè)到某個(gè)已經(jīng)發(fā)現(xiàn)的路由器接口時(shí),對(duì)此目的地址的探測(cè)過程中止,繼續(xù)探測(cè)下一個(gè)目的地址;當(dāng)目的地址集中沒有對(duì)檢測(cè)做出響應(yīng)的地址會(huì)被忽略,拓?fù)錂z測(cè)過程以下一個(gè)目的地址為檢測(cè)地址繼續(xù)進(jìn)行;5)完成對(duì)全部目的地址集的一次掃描之后,得到整個(gè)實(shí)際網(wǎng)絡(luò)拓?fù)涞囊徊糠?,此時(shí)分析得到的拓?fù)鋱D,找出拓?fù)鋱D中出度乘以路徑長(zhǎng)度值最大的拓?fù)涔?jié)點(diǎn)作為最優(yōu)節(jié)點(diǎn);6)以上述最優(yōu)節(jié)點(diǎn)的路徑長(zhǎng)度為初始檢測(cè)數(shù)據(jù)包的TTL值來回溯檢測(cè)目的地址集中沒有響應(yīng)的地址,并記錄得到拓?fù)?,完成整個(gè)拓?fù)錂z測(cè)過程。2、根據(jù)權(quán)利要求l所述的基于拓?fù)錁涞幕厮菔铰酚杉?jí)網(wǎng)絡(luò)拓?fù)錂z測(cè)方法,其特征在于,步驟l)中以64或者128作為網(wǎng)絡(luò)數(shù)據(jù)包的生存時(shí)間TTL。全文摘要基于拓?fù)錁涞幕厮菔铰酚杉?jí)網(wǎng)絡(luò)拓?fù)錂z測(cè)方法屬于網(wǎng)絡(luò)拓?fù)錂z測(cè)領(lǐng)域。當(dāng)前的網(wǎng)絡(luò)拓?fù)錂z測(cè)算法存在著檢測(cè)冗余度高、效率低的缺點(diǎn),無法快速而準(zhǔn)確地檢測(cè)出大規(guī)模網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。該方法利用對(duì)檢測(cè)有響應(yīng)的目的地址回溯式檢測(cè)出網(wǎng)絡(luò)拓?fù)涞囊徊糠郑诜治鼍W(wǎng)絡(luò)拓?fù)涮匦灾笳业匠龆瘸艘云涞綑z測(cè)源的路徑長(zhǎng)度值最大的拓?fù)涔?jié)點(diǎn),以其路徑長(zhǎng)度作為初始檢測(cè)數(shù)據(jù)包的TTL值來回溯式檢測(cè)目的地址集中沒有響應(yīng)的部分,從而高效地完成整個(gè)拓?fù)溥^程。經(jīng)過試驗(yàn),該方法只需使用原始拓?fù)錂z測(cè)算法18%左右的時(shí)間就能發(fā)現(xiàn)98%左右的網(wǎng)絡(luò)拓?fù)湫畔?。該方法?yīng)用于對(duì)探測(cè)時(shí)間和拓?fù)浒l(fā)現(xiàn)率有較高要求的網(wǎng)絡(luò)拓?fù)錂z測(cè),是一種快速、高效的路由級(jí)網(wǎng)絡(luò)拓?fù)錂z測(cè)方法。文檔編號(hào)H04L12/26GK101217428SQ20081005601公開日2008年7月9日申請(qǐng)日期2008年1月11日優(yōu)先權(quán)日2008年1月11日發(fā)明者何涇沙,波李,石恒華申請(qǐng)人:北京工業(yè)大學(xué)