專利名稱:基于子路徑可用帶寬測量的緊鏈路定位方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于子路徑可用帶寬測量的緊鏈路定位方法,特別涉及一種在緊 鏈路定位過程中可同時知道子路徑可用帶寬信息和路徑可用帶寬信息的緊鏈路定位方法, 屬于網(wǎng)絡(luò)性能測量領(lǐng)域。
背景技術(shù):
可用帶寬指已存在背景流的情況下,鏈路還能為其他流提供的最大數(shù)據(jù)傳輸速 率。各段鏈路中可用帶寬最小的鏈路稱為這段路徑的緊鏈路(Tight Link)。緊鏈路的可用 帶寬為這段路徑的可用帶寬。端到端路徑可用帶寬是動態(tài)描述網(wǎng)絡(luò)路徑傳輸能力的重要參 數(shù),它能有效評估一條網(wǎng)絡(luò)路徑的實際承載能力和性能優(yōu)劣。一條網(wǎng)絡(luò)路徑中可用帶寬最 小的鏈路即為該段路徑的緊鏈路??捎脦捄途o鏈路狀況反映網(wǎng)絡(luò)性能狀況,對于監(jiān)測網(wǎng) 絡(luò)性能、診斷網(wǎng)絡(luò)運行狀況、優(yōu)化網(wǎng)絡(luò)性能具有重要意義??捎脦挏y量和緊鏈路定位對于 擁塞控制、路由選擇、流媒體應(yīng)用、服務(wù)器的動態(tài)選擇及服務(wù)質(zhì)量(QoS)驗證等應(yīng)用具有重 要意義。根據(jù)探測方式的不同,目前的可用帶寬測量方法可分為包對法、包列法及基于模 型的可用帶寬測量方法。包對技術(shù)利用包對在傳輸過程中時間間隔的變化來估計可用帶 寬。包對技術(shù)衍生出了很多的算法和工具,如Spruce、IGI、Delphi等。包對技術(shù)測量可用 帶寬需基于緊鏈路和窄鏈路為同一鏈路的假設(shè),該假設(shè)不成立時測量誤差可能很大。包列 技術(shù)通過發(fā)送一列或多列探測包得到可用帶寬值,其原理是通過自負(fù)載的方法發(fā)送數(shù)據(jù)包 使路徑擁塞,通過分析包列中探測包的單向時延變化來估計可用帶寬值。采用包列技術(shù)的 典型方法有=PathloacUPathChirp、PTR?;谀P偷臏y量方法也是可用帶寬測量領(lǐng)域的一 個重要方向,基本思想是將復(fù)雜的網(wǎng)絡(luò)進(jìn)行簡化建模,通過發(fā)送少量的探測流收集路徑信 息后結(jié)合模型估測路徑可用帶寬,對網(wǎng)絡(luò)本身狀態(tài)和背景流影響較小。目前比較著名的緊鏈路定位方法有BFind,DRPS,STAB,Pathneck。BFind通過連續(xù) 發(fā)送UDP數(shù)據(jù)流導(dǎo)致網(wǎng)絡(luò)擁塞,并從traceroute測得的每條鏈路的往返時延(RTT)中推算 緊鏈路位置。然而,BFind在一次定位過程中產(chǎn)生大量負(fù)載包,其入侵度不容忽視。DRPS將 數(shù)據(jù)包周期流性質(zhì)與數(shù)據(jù)包擋板原理相結(jié)合。通過改變速率的切換時間來控制鏈路擁塞, 在接收端通過擁塞識別技術(shù)來定位緊鏈路。它的缺點在于依賴于可用帶寬測量,致使其定 位精度直接受到可用帶寬測量精度的影響。STAB通過測量子路徑的可用帶寬來進(jìn)行緊鏈路 定位,但它用pathChirp算法估計子路徑可用帶寬,測量精度不高且健壯性不足,從而影響 緊鏈路定位精度。Pathneck采用了遞歸包列(RPT)技術(shù)確定緊鏈路的位置,它無需知道子 路徑或整條路徑的可用帶寬,便可以得到比較準(zhǔn)確的定位結(jié)果,但它基于ICMP協(xié)議,若路 徑上的節(jié)點不開啟ICMP功能則無法定位緊鏈路。此外,有一種基于緊鏈路定位的可用帶寬測量的方法Pathtrait,它先定位出緊鏈 路,再測量緊鏈路處的鏈路可用帶寬。Pathtrait同Pathneck—樣需要路徑上的節(jié)點開啟 ICMP功能,其可用帶寬測量依賴于緊鏈路定位結(jié)果,若緊鏈路定位錯誤,則可用帶寬測量結(jié)
4果將直接受到影響。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種測量精度高、測量速度快、入侵度低,且能同時獲得子路 徑可用帶寬信息、路徑可用帶寬信息及路徑緊鏈路位置信息的基于子路徑可用帶寬測得緊 鏈路定位方法?!N基于子路徑可用帶寬測量的緊鏈路定位方法,包括如下步驟步驟1、發(fā)送端根據(jù)待測子路徑的長度連續(xù)向接收端發(fā)送d個第一類分組包,稱為 負(fù)載包,接著再以逐步遞減的速率發(fā)送j個第一類分組包,稱為降速包,在發(fā)送第一類分組 包中的至少部分包時,每發(fā)送完一個第一類分組包后緊跟著發(fā)送一第二類分組包,其中,d 個第一類分組包中的第一個被發(fā)送的包被稱之為Cl1包,各第一類分組包的域生存期為待測 子路徑的長度值,各第二類分組包的域生存期大于或等于發(fā)送端至接收端的路徑長度值,d 和j的值預(yù)先設(shè)定;步驟2、接收端根據(jù)接收到各第二類分組包的時間計算各第二類分組包由發(fā)送端 至接收端的耗時,各第二類分組包的耗時的變化趨勢是先上升后下降至一致,在耗時下降 至接近一致的各第二類分組包中搜尋出最先被發(fā)送者,在此將所述最先被發(fā)送者稱之為擁 塞恰好消除包;步驟3、接收端根據(jù)被搜尋出的擁塞恰好消除包計算Cl1包到所述擁塞恰好消除包 的這段包列的平均發(fā)送速率;步驟4、接收端以所述平均發(fā)送速率作為待測子路徑可用帶寬值,判斷所計算出的 相鄰兩條待測子路徑的可用帶寬值中的待測子路徑長度長者的可用帶寬值的β倍與短者 的可用帶寬值進(jìn)行比較以確定當(dāng)前緊鏈路,其中,所述β為預(yù)先設(shè)定的值,相鄰兩條條待 測子路徑各自的終點節(jié)點相鄰,而起點節(jié)點都為發(fā)送端;如果是采用子路徑長度逐漸遞增 的方式進(jìn)行可用帶寬值測試,則當(dāng)待測子路徑長度長者的可用帶寬值的β倍小于短者的 可用帶寬值時,發(fā)送端將待測子路徑長度長者比短者多出的那一段作為當(dāng)前緊鏈路,并進(jìn) 一步將后一待測子路徑的可用帶寬值的β倍與當(dāng)前待測子路徑長度長者的可用帶寬值進(jìn) 行比較,以確定是否需要將所述后一待測子路徑比當(dāng)前待測子路徑多出的那一段作為當(dāng)前 緊鏈路,如此持續(xù)比較直到最后一條待測子路徑為止;而如果采用子路徑長度逐漸遞減的 方式進(jìn)行可用帶寬值測試,當(dāng)發(fā)送端首次判斷出相鄰兩條待測子路徑中長度長者的可用帶 寬值的β倍小于短者時,則直接將長度長者的待測子路徑比短者多出的那一段作為整條 路徑的緊鏈路,由此接收端能最終確定出整條路徑的緊鏈路和可用帶寬。較佳的,可采用在發(fā)送了 Cl1包后緊跟著發(fā)送一第二類分組包的方式通知接收端Cl1 包被發(fā)送的時間,由此來計算耗時。較佳的,可以指數(shù)遞減的速率發(fā)送j個第一類分組包;進(jìn)而,可用帶寬值avbwOii) 可按照下式計算avbw(m) = --^——== \,2,3...j
ta其中,S1為第一類分組包的大小,S2為第二類分組包的大小,k為擁塞恰好消除包 所緊跟著的第一類分組包的序號,t為從開始發(fā)送d個第一類分組包的第一個到j(luò)個第一類分組包中的第k個所需要的時間,若逐步遞減的速率發(fā)送的j個第一類分組包中第一個 被發(fā)送的包稱之為J1包,則R為Cl1包到J1包的這段包列的平均發(fā)送速率,若j個第一類分 組包中相鄰兩個包分別被稱之為jm包和jm+1包,則α為Cl1包到丄包的這段包列的平均發(fā) 送速率和Cl1包到j(luò)m+1包的這段包列的平均發(fā)送速率的比值且α > 1。較佳的,β的范圍為1 < β < 1. 3,優(yōu)選設(shè)定為1. 2。其中,當(dāng)采用子路徑長度逐漸遞增的方式進(jìn)行可用帶寬值測試時,待測子路徑為 整條鏈路時,所計算出的可用帶寬值為整條鏈路的可用帶寬值;而當(dāng)采用子路徑長度逐漸 遞減的方式進(jìn)行可用帶寬值測試時,所計算出的第一條待測子路徑的可用帶寬值為整條鏈 路的可用帶寬值。本發(fā)明的有益效果在于測量精度高、測量速度快、入侵度低,且能同時獲得子路 徑可用帶寬信息、路徑可用帶寬信息及路徑緊鏈路位置信息的基于子路徑可用帶寬測得緊 鏈路定位方法。相比較STAB而言,由于測量子路徑可用帶寬方法不同,子路徑可用帶寬測 量精度比STAB高,致使可用帶寬測量精度和緊鏈路定位比STAB高。且本發(fā)明所采用的子 路徑可用帶寬測量方法健壯性比STAB高,在突發(fā)背景流下仍能保證很好的測量性能。
圖1為本發(fā)明的實施例所述包列構(gòu)造示意圖。
圖2為實施例緊鏈路流量變化圖。
圖3為實施例Loche中小分組相對單向時延變化情況。
圖4為實施例緊鏈路定位流程圖。
圖5為實施例恒定背景流實驗拓?fù)洹?br>
圖6為實施例恒定背景流單緊鏈路實驗結(jié)果。
圖7為實施例恒定背景流雙緊鏈路實驗結(jié)果。
圖8為實施例突發(fā)背景流實驗拓?fù)洹?br>
圖9為實施例突發(fā)背景流下STAB定位緊鏈路過程。
圖10為實施例突發(fā)背景流下PathLoche定位緊鏈路過程。
具體實施例方式下面結(jié)合附圖詳細(xì)說明本發(fā)明的較佳實施例。需要說明的是,本實施例采用遞增 式搜尋緊鏈路,即依序從路徑長度最小的待測子路徑開始進(jìn)行可用帶寬的測量;當(dāng)然,也可 采用遞減式搜尋緊鏈路,也就是依序從路徑最長的待測子路徑開始進(jìn)行可用帶寬的測量。網(wǎng)絡(luò)路徑的一部分稱為該路徑的子路徑,本文定義網(wǎng)絡(luò)路徑前m(m = 1,2,3···η,η 為整條路徑長度)跳鏈路構(gòu)成的子路徑為subpath (m)。若定義由依次相連的η條鏈路Li, L2,L3".Ln 組成的路徑 L 為L = {Li,L2,L3…Ln},則 L 的子路徑 subpath (m) = {Li,L2, L3... Lm} ο本發(fā)明由發(fā)送端和接收端進(jìn)行雙端測量,所用來測量子路徑的可用帶寬值的包列 如圖1所示,即發(fā)送端首先背靠背地發(fā)送d個大分組(也就是第一類分組包,這d個大分組 稱為負(fù)載包,隨后發(fā)送的大分組稱為降速包)對網(wǎng)絡(luò)路徑進(jìn)行充分擁塞,隨后以指數(shù)形式 逐步降低包列的平均發(fā)送速率(需要說明的是,也可采用其他降速方式發(fā)送降速包),發(fā)送第i個降速包時包列的平均發(fā)送速率Ri為發(fā)送第i+Ι個降速包時包列的平均發(fā)送速率Ri+1 的α (α > 1)倍,在包列發(fā)送過程中部分大分組的后面加上一個與之背靠背的小分組(即 第二類分組包),將所有大分組的分組頭中的域生存期(Time To Live, TTL)設(shè)置為m(即 為待測子路徑的路徑長度,如果從路徑長度為1的待測子路徑開始,則m首先設(shè)定為1),而 將小分組的TTL設(shè)置得相對較大(即至少不小于發(fā)送端到接收端的路徑長度),這樣的包列 禾爾為Loche0一條Loche每經(jīng)過路徑上的一個路由器后,分組的TTL均減1,當(dāng)TTL減為O時該 分組就會被丟棄。因此在Loche中,大分組將在到達(dá)鏈路m后被丟棄,而小分組則繼續(xù)傳輸 直到接收端。圖1所示的Loche中,在第1個大分組及從第d+Ι個大分組開始的所有大分 組的后面都緊跟有與之背靠背的小分組。在部分大分組后添加小分組的目的是使包列在經(jīng) 過第m條鏈路后,剩下的小分組組成的包列中相鄰包的速率小于整條路徑中subpath(m)之 后的鏈路構(gòu)成的子路徑的可用帶寬值。這樣,大分組丟失后,小分組組成的包列由于速率太 低而在經(jīng)過第m條鏈路后的鏈路構(gòu)成的子路徑時不會造成阻塞,盡量保持它們到達(dá)第m條 鏈路時的時間間隔一直傳到接收端。其中,在第1個大分組后添加小分組是為了通過該包 記錄包列的開始發(fā)送時間,以滿足可用帶寬計算的需要。此處的小分組并非必須,也可通過 其他方式記錄包列開始發(fā)送的時間。一條 Loche 在經(jīng)過 subpath (m)時,在 subpath (m)的緊鏈路(即 Tight Link)處 造成擁塞,然后隨著包列發(fā)送速率逐漸下降,擁塞隨之不斷減輕至消除(如圖2所示), 當(dāng)擁塞恰好消除時,到達(dá)緊鏈路處的包列的平均發(fā)送速率即為subpath (m)的可用帶寬值
aVbw(m),若第k個降速包到達(dá)sumpathOn)的緊鏈路時擁塞恰好消除,則有
(d + k)S, + (λ+ 1)5, R/ιΝavbw(m)=-————=—,A = 1,2,3...(1)
ta其中,S1為大分組的大小,S2為小分組的大小,t為Loche開始發(fā)送到發(fā)送第k個 降速包所需要的時間,R為發(fā)送第一個降速包時Loche的平均發(fā)送速率(稱該速率為初始 下降速率)。接收端根據(jù)小分組的相對單向時延(即耗時,可用接收端接收時間減去發(fā)送端發(fā) 送時間得到的值來表示)變化來判斷擁塞消除的時刻,在一次子路徑可用帶寬測量過程 中,小分組的單向時延變化情況如圖3所示。由于Loche的發(fā)送方式是先背靠背地發(fā)送一 些負(fù)載包,這些包在緊鏈路不斷堆積,排隊時延不斷增加,致使后面發(fā)送的降速包及其緊跟 在后面的小分組的相對單向時延也將逐漸增加。當(dāng)Loche的平均發(fā)送速率下降到一定程度 時,緊鏈路處的緩沖區(qū)中數(shù)據(jù)包的堆積情況逐漸緩解,小分組的排隊時延逐漸減小,從而相 對單向時延也逐漸減小,至擁塞恰好消除時刻開始相對單向時延將保持不變。因此,只需要 找到相對單向時延開始保持恒定的那個包,此包到達(dá)子路徑緊鏈路的時刻即為擁塞消除時 刻,此包發(fā)送時Loche的平均發(fā)送速率即為待測子路徑可用帶寬值。根據(jù)subpath (m)的定義可知,subpath (m)的可用帶寬顯然是一個關(guān)于m的非增 函數(shù)。它的值在每條瘦鏈路(瘦鏈路是一條網(wǎng)絡(luò)路徑中可用帶寬比它之前所有鏈路的可 用帶寬都要小的鏈路)處都會減小,而在兩個相鄰瘦鏈路之間保持不變。最后一條瘦鏈路 顯然是整條鏈路上可用帶寬最小的鏈路,即緊鏈路;subpath (η) (η為路徑長度)的可用帶 寬顯然是整條鏈路的可用帶寬。若Loche中大分組的TTL域設(shè)為m,由公式(1)可計算出subpath (m)的可用帶寬。若不斷發(fā)送Loche,依次發(fā)送的各Loche中大分組的TLL域也依次 增加(從 1 開始,依次增 1),依次測得 subpath (1),subpath (2),subpath (3)... subpath (η) (η為路徑長度)的可用帶寬值。最后通過一種專門的時間滑動窗口來存儲這些可用帶寬估 計值,根據(jù)subpath(m-1)的可用帶寬是否比subpath(m)的β倍大來測定第m條鏈路是瘦 鏈路的可能性,其中1 < β < 1. 3。最后一條擁有高可能性的瘦鏈路最有可能是整條路徑的 緊鏈路。在本實施例中,β取1. 2。如圖4所示本發(fā)明的定位緊鏈路方法(即PathLoche) 定位緊鏈路并進(jìn)行可用帶寬測量的步驟如下步驟Α、發(fā)送端設(shè)定包列中大分組的TTL值m等于1 ;步驟B、發(fā)送端發(fā)送探測包列,該探測包列如圖1所示,并且如前所述;步驟C、接收端接收所述探測包列并計算所接收到的小分組的相對單向時延值;步驟D、接收端判斷所接收的小分組的相對單向時延是否開始保持恒定,若是,計 算開始保持恒定的小分組在其發(fā)送時刻的包列的平均發(fā)送速率作為子路徑可用帶寬值輸 出,若否,轉(zhuǎn)到步驟C;步驟E、記錄當(dāng)前子路徑可用帶寬值,判斷當(dāng)前子路徑長度是否大于一,若是,則跳 到步驟F,若否,轉(zhuǎn)到步驟G ;步驟F、判斷此次測得子路徑可用帶寬值的1. 2倍是否小于上次測量值,若是,轉(zhuǎn) 到步驟G,若否,轉(zhuǎn)到步驟H;步驟G、記錄第m跳鏈路為當(dāng)前緊鏈路,接收端發(fā)送數(shù)據(jù)包通知發(fā)送端此次子路徑 可用帶寬測量結(jié)束,附帶測量結(jié)果;步驟H、判斷子路徑長度是否等于路徑長度,若是,輸出當(dāng)前緊鏈路作為整體路徑 的緊鏈路,輸出最后一次子路徑可用帶寬值結(jié)果作為路徑可用帶寬值。若否,設(shè)置下次發(fā)送 的包列中大分組的TTL值m增1,返回步驟B再次進(jìn)行下一次子路徑可用帶寬測量,其中再 次進(jìn)行步驟B前可等待一段時間以降低入侵性。實驗驗證為驗證PathLoche可用帶寬測量的準(zhǔn)確性及其緊鏈路定位的準(zhǔn)確性。使用網(wǎng)絡(luò)研 究領(lǐng)域廣泛采用的NS2進(jìn)行仿真實驗。由于該方法是一個端到端測量工具,因此采用只有 一條線性主干路徑的實驗拓?fù)洹M負(fù)渲懈髀酚善骶捎孟冗M(jìn)先出的調(diào)度策略,緩沖區(qū)采用 隊尾丟棄策略。拓?fù)渲兴墟溌肪鶠殡p向?qū)ΨQ的鏈路,容量均為100Mbps。1恒定背景流情況由于PathLoche與STAB均通過測量子路徑可用帶寬來定位緊鏈路,不僅比較了其 定位結(jié)果,也比較其定位過程中子路徑可用帶寬測量情況,而Pathneck緊鏈路定位過程中 不能得到子路徑可用帶寬值,只與Pathneck比較定位結(jié)果。實驗拓?fù)淙鐖D5所示,發(fā)送端 Snd到接收端Rcv的路徑P依次經(jīng)過路由器η1,η2,η3···η8,背景流1為貫穿nl,n2…η8的 恒定比特率背景流,背景流2和背景流3分別為只經(jīng)過L3和L6的恒定比特率背景流。1. 1 一條緊鏈路情況在圖5所示的拓?fù)渲?,設(shè)置3條恒定比特背景流背景流1,背景流2,背景流3的流 量大小分別為10Mbps,30Mbps,50Mbps,包大小均為lOOObytes。從發(fā)送端Snd往接收端Rcv 發(fā)送探測流,測量結(jié)果如圖6,其中橫坐標(biāo)為子路徑的長度,縱坐標(biāo)為該子路徑的可用帶寬 值。該情況下,PathLoche與STAB均能正確定位出緊鏈路,但從圖6中通過比較測量值與真實值(即realvalue),可得出PathLoche比STAB的子路徑可用帶寬測量精度更高。該 情況下Pathneck可以準(zhǔn)確定位出緊鏈路L6,但其沒有子路徑可用帶寬測量的過程,無法跟 PathLoche和STAB比較子路徑可用帶寬測量情況。1. 2兩條緊鏈路情況在圖5所示的拓?fù)渲?,設(shè)置3條恒定比特背景流背景流1,背景流2,背景流3的流 量大小分別為10Mbps,30Mbps, 30Mbps,包大小均為lOOObytes。該情況下,L3和L6的實際可 用帶寬值都為70Mbps,PathLoche、STAB及Pathneck都將L3作為定位結(jié)果輸出,PathLoche 與STAB子路徑可用帶寬測量比較見圖7。從圖7可以看出PathLoche比STAB的子路徑可 用帶寬測量精度更高。2突發(fā)背景流情況在圖5所示的拓?fù)渖仙宰鞲膭拥玫饺鐖D8所示拓?fù)?,鏈路L3的背景流由100條符 合Pareto分布的流匯集而成,鏈路L6的背景流由200條符合Pareto分布的流匯集而成, 以模擬突發(fā)性的背景流,Pareto流的包大小設(shè)置為包大小為40/550/1500bytes的數(shù)據(jù)包 在負(fù)載中所占的比例分別為50%、40%、10%,L3與L6上的包發(fā)送速率分別為20Mbps和 40Mbps,Pareto分布形狀參數(shù)α = 1. 9。這是因為多個服從參數(shù)α < 2的Pareto分布的 流聚合后表現(xiàn)出自相似特征。由于PathLoche與STAB均需通過多次子路徑可用帶寬測量才能定位緊鏈路,若 用兩種工具同時進(jìn)行測量,則兩種探測流可能會相互影響而影響彼此測量效果,所以不適 合同時用這兩種方法進(jìn)行測量。我們分別對PathLoche與STAB進(jìn)行測量實驗,將它們的 測量結(jié)果與實際值進(jìn)行比較,在實驗中我們通過實時記錄各條背景流的流量來計算出L3 與L6上的背景流大小從而得到子路徑可用帶寬的實際值。實驗結(jié)果如圖9和圖10所示, 在突發(fā)背景流下,PathLoche與STAB能夠較準(zhǔn)確的測量出子路徑可用帶寬值,PathLoche 比STAB的測量精度高,但由于PathLoche與STAB均需要多次子路徑可用帶寬測量過程, 而在這個過程中L3與L6上的背景流是變化的,所以出現(xiàn)了 subpath(m)的可用帶寬值比 subpath (m-1)小的情況,在實驗中由于L3上的流量大小與L6上的流量大小相差比較明顯, PathLoche與STAB仍然可以定位出緊鏈路位置。但若L3與L6上的背景流流量大小差異不 大,在整個測量過程中緊鏈路的位置就可能發(fā)生變化,PathLoche與STAB不會反映緊鏈路 位置的變化。需要說明的是,上述實施例中,所采用的包列中,在第1個大分組后緊跟有與之背 靠背的小分組,第d+Ι個大分組開始的所有大分組的后面都有背靠背的小分組,但是,也可 僅在部分大分組(例如,從d+n個大分組開始,都有背靠背的小分組,η大于1),這樣,小分 組的位置相對大分組靠后,不過需要保證接收到的小分組的相對單向時延變化能從某個值 下降至恒定。這樣,包列在經(jīng)過第m條鏈路后,剩下的小分組組成的包列中相鄰包的速率小 于整條路徑中subpath(m)之后的鏈路構(gòu)成的子路徑的可用帶寬值。所以,大分組丟失后, 小分組組成的包列由于速率太低而在經(jīng)過路徑中后m條鏈路構(gòu)成的子路徑時不會造成阻 塞,盡量保持它們到達(dá)第m條鏈路時的時間間隔一直傳到接收端。其中,在第1個大分組后 添加小分組是為了通過該包記錄包列的開始發(fā)送時間,以滿足可用帶寬計算的需要。此處 的小分組并非必須,也可通過其他方式記錄包列開始發(fā)送的時間,此方式可由本領(lǐng)域技術(shù) 人員根據(jù)實際通信情況予以自由選取,在此不再多述。
以上實施例僅用以說明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的 任何修改或局部替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
一種基于子路徑可用帶寬測量的緊鏈路定位方法,其特征在于包括如下步驟步驟1、發(fā)送端根據(jù)待測子路徑的長度連續(xù)向接收端發(fā)送d個第一類分組包,接著再以逐步遞減的速率發(fā)送j個第一類分組包,在發(fā)送第一類分組包中的至少部分包時,每發(fā)送完一個第一類分組包后緊跟著發(fā)送一第二類分組包,其中,d個第一類分組包中的第一個被發(fā)送的包被稱之為d1包,各第一類分組包的域生存期為待測子路徑的長度值,各第二類分組包的域生存期大于或等于發(fā)送端至接收端的路徑長度值,d和j的值預(yù)先設(shè)定;步驟2、接收端根據(jù)接收到各第二類分組包的時間計算各第二類分組包由發(fā)送端至接收端的耗時,各第二類分組包的耗時的變化趨勢是先上升后下降至一致,在耗時下降至接近一致的各第二類分組包中搜尋出最先被發(fā)送者,在此將所述最先被發(fā)送者稱之為擁塞恰好消除包;步驟3、接收端根據(jù)被搜尋出的擁塞恰好消除包計算d1包到所述擁塞恰好消除包的這段包列的平均發(fā)送速率;步驟4、接收端以所述平均發(fā)送速率作為待測子路徑可用帶寬值,判斷所計算出的相鄰兩條待測子路徑的可用帶寬值中的待測子路徑長度長者的可用帶寬值的β倍與短者的可用帶寬值進(jìn)行比較以確定當(dāng)前緊鏈路,其中,所述β為預(yù)先設(shè)定的值,相鄰兩條待測子路徑各自的終點節(jié)點相鄰,而起點節(jié)點都為發(fā)送端;如果是采用子路徑長度逐漸遞增的方式進(jìn)行可用帶寬值測試,則當(dāng)待測子路徑長度長者的可用帶寬值的β倍小于短者的可用帶寬值時,發(fā)送端將待測子路徑長度長者比短者多出的那一段作為當(dāng)前緊鏈路,并進(jìn)一步將當(dāng)前待測子路徑長度長者的可用帶寬值與后一待測子路徑的可用帶寬值的β倍進(jìn)行比較以確定是否需要將所述后一待測子路徑比當(dāng)前待測子路徑多出的那一段作為當(dāng)前緊鏈路,如此持續(xù)比較直到最后一條待測子路徑為止;而如果采用子路徑長度逐漸遞減的方式進(jìn)行可用帶寬值測試,當(dāng)發(fā)送端首次判斷出相鄰兩條待測子路徑中長度長者的可用帶寬值的β倍小于短者時,則直接將長度長者的待測子路徑比短者多出的那一段作為整條路徑的緊鏈路,由此接收端能最終確定出整條路徑的緊鏈路和可用帶寬。
2.如權(quán)利項1所述的方法,其特征在于采用在發(fā)送了Cl1包后緊跟著發(fā)送一第二類分 組包的方式通知接收端Cl1包被發(fā)送的時間,由此來計算耗時。
3.如權(quán)利項1所述的方法,其特征在于以指數(shù)遞減的速率發(fā)送j個第一類分組包。
4.如權(quán)利項3所述的方法,其特征在于可用帶寬值avbwOii),由下式計算avbw(m) =-!-- -—η^,κ - l,2,3..j其中,S1為第一類分組包的大小,S2為第二類分組包的大小,k為擁塞恰好消除包所緊 跟著的第一類分組包的序號,t為從開始發(fā)送d個第一類分組包的第一個到j(luò)個第一類分 組包中的第k個所需要的時間,若逐步遞減的速率發(fā)送的j個第一類分組包中第一個被發(fā) 送的包稱之為J1包,則R為Cl1包到J1包的這段包列的平均發(fā)送速率,若j個第一類分組包 中相鄰兩個包分別被稱之為jm包和jm+1包,則α為Cl1包到j(luò)m包的這段包列的平均發(fā)送速 率和Cl1包到j(luò)m+1包的這段包列的平均發(fā)送速率的比值且α > 1。
5、如權(quán)利項1所述的方法,其特征在于廣的范圍為K/K1.3。
6、如權(quán)利項1所述的方法,其特征在于.·當(dāng)采用子路徑長度逐漸遞增的方式進(jìn)行可用帶寬值測試時,待測子路徑為整條鏈路時,所計算出的可用帶寬值為整條鏈路的可用帶寬值;而當(dāng)采用子路徑長度逐漸遞減的方式進(jìn)行可用帶寬值測試時,所計算出的第一條待測 子路徑的可用帶寬值為整條鏈路的可用帶寬值。
全文摘要
本發(fā)明涉及一種基于子路徑可用帶寬測量的緊鏈路定位方法-PathLoche,包括如下步驟發(fā)送端設(shè)置由大小分組組成的特定探測包列中大分組的TTL值為一,并發(fā)送探測包列;接收端接收探測包列并計算所接收的探測包列中各小分組的相對單向時延值;找到相對單向時延開始保持恒定的包,計算該包發(fā)送時包列的平均發(fā)送速率作為子路徑可用帶寬的測量值;依次設(shè)置各包列中大分組的TTL值不斷增一并依次發(fā)送這些探測包從而依次測量長度不斷增一的子路徑的可用帶寬,并根據(jù)相鄰兩子路徑的可用帶寬來定位緊鏈路的位置。本發(fā)明在實現(xiàn)緊鏈路定位的同時可得到路徑的可用帶寬值,本發(fā)明方法測量速度快、入侵度低、可用帶寬測量精度及緊鏈路定位精度高。
文檔編號H04L12/24GK101895417SQ20101022029
公開日2010年11月24日 申請日期2010年7月6日 優(yōu)先權(quán)日2010年7月6日
發(fā)明者匡增美, 張俊生, 張大陸, 張起強, 胡治國, 谷麗麗 申請人:同濟大學(xué)