本發(fā)明涉及網(wǎng)絡(luò)擁塞控制領(lǐng)域,具體涉及一種IP網(wǎng)絡(luò)擁塞鏈路定位方法。
背景技術(shù):
:IP網(wǎng)絡(luò)鏈路性能推斷技術(shù)對(duì)廣大網(wǎng)絡(luò)用戶,特別是網(wǎng)絡(luò)運(yùn)營(yíng)、管理商非常重要。隨著IP網(wǎng)絡(luò)規(guī)模的迅速擴(kuò)大,網(wǎng)絡(luò)結(jié)構(gòu)日益多樣,人工定期檢查已不能適應(yīng)當(dāng)前大規(guī)模網(wǎng)絡(luò)的需要?;贗CMP(InternetControlMessageProtocol)的IP網(wǎng)絡(luò)內(nèi)部擁塞鏈路性能推斷采用主動(dòng)探測(cè)技術(shù),僅對(duì)待測(cè)IP網(wǎng)絡(luò)中部分端到端(End-to-End,E2E)路徑進(jìn)行多次快照(snapshots),獲取待測(cè)網(wǎng)絡(luò)中各E2E路徑性能及拓?fù)浣Y(jié)構(gòu)信息,并借助貝葉斯理論等,推斷IP網(wǎng)絡(luò)內(nèi)部鏈路性能。較基于SNMP(SimpleNetworkManagementProtocol)的被動(dòng)探測(cè)技術(shù)實(shí)時(shí)性好,需獲取的數(shù)據(jù)量小,且不涉及用戶隱私等。自1996年Vardi首次提出在IP網(wǎng)絡(luò)性能推斷中使用類似醫(yī)學(xué)層析掃描(tomography)技術(shù)以來(lái),借助網(wǎng)絡(luò)tomography技術(shù)推斷IP網(wǎng)絡(luò)內(nèi)部鏈路性能的方法主要包括兩類:第一類方法使用多播方式或多簇單播模擬多播的方式,通過(guò)構(gòu)建IP網(wǎng)絡(luò)線性方程組求解各鏈路丟包率。此類方法需投入復(fù)雜的基礎(chǔ)設(shè)施建設(shè),且對(duì)各E2E路徑性能探測(cè)的時(shí)間相關(guān)性要求高,并假設(shè)鏈路性能服從特定分布或具有時(shí)空獨(dú)立性和平穩(wěn)性等。出于安全等因素,當(dāng)前IP網(wǎng)絡(luò)中的大部分路由器對(duì)單播的支持度高于多播,時(shí)間相關(guān)性難以保證,且tomography技術(shù)以盡可能少的E2E路徑探測(cè)推斷網(wǎng)絡(luò)內(nèi)部鏈路性能,常導(dǎo)致構(gòu)建的系統(tǒng)線性方程組系數(shù)矩陣欠定,無(wú)法對(duì)各鏈路丟包率精確求解。另外,隨著IP網(wǎng)絡(luò)規(guī)模的擴(kuò)大,線性方程組因系數(shù)矩陣維數(shù)過(guò)大,求逆計(jì)算復(fù)雜,甚至導(dǎo)致算法失效。第二類方法將路徑及鏈路性能借助布爾(Boolean)二進(jìn)制代數(shù)值0、1進(jìn)行表示。H.X.Nguyen,V.N.Padmanabhan,N.G.Duffield等人提出借助不相關(guān)的E2E路徑探測(cè),推斷IP網(wǎng)絡(luò)最有可能發(fā)生擁塞的鏈路集合,簡(jiǎn)化了鏈路性能推斷過(guò)程。其中,HuangX.等人提出的CLINK算法較不使用先驗(yàn)概率的MCMC(MonteCarloMarkovChain)算法及使用一致先驗(yàn)概率的SCFS(SmallestConsistentFailureSetalgorithm)算法在推斷性能上有較大程度的提高。HuangX.等人提出IP網(wǎng)絡(luò)的路由改變會(huì)影響推斷性能,但認(rèn)為鏈路擁塞會(huì)持續(xù)數(shù)個(gè)小時(shí),未考慮路由變化對(duì)當(dāng)前鏈路推斷性能帶來(lái)的影響。喬焰等人將路由變化作為噪聲干擾,通過(guò)在貝葉斯網(wǎng)推斷模型中引入轉(zhuǎn)移概率,提高了推斷精度。但是,由于IP網(wǎng)絡(luò)中的各AS區(qū)域多采用動(dòng)態(tài)路由算法(如:OSPF),對(duì)IP網(wǎng)絡(luò)進(jìn)行擁塞鏈路推斷時(shí),路由將根據(jù)鏈路狀態(tài)發(fā)生動(dòng)態(tài)改變,從而造成推斷過(guò)程中網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化,而拓?fù)浣Y(jié)構(gòu)變化將引起IP網(wǎng)絡(luò)貝葉斯網(wǎng)推斷模型的結(jié)構(gòu)變化,不僅是參數(shù)改變。因此,上述方法均不能對(duì)動(dòng)態(tài)路由IP網(wǎng)絡(luò)進(jìn)行準(zhǔn)確建模,推斷擁塞鏈路將產(chǎn)生一定誤差。另外,為了簡(jiǎn)化計(jì)算復(fù)雜度,部分算法假設(shè)IP網(wǎng)絡(luò)發(fā)生擁塞的鏈路不超過(guò)一定數(shù)目,而在實(shí)際IP網(wǎng)絡(luò)中,多鏈路擁塞造成的IP網(wǎng)絡(luò)高網(wǎng)絡(luò)時(shí)延和高網(wǎng)絡(luò)丟包率等現(xiàn)象,很可能是因?yàn)樯婕斑`反SLA(Service-LevelAgreemeng)等相關(guān)服務(wù)等級(jí)協(xié)定造成的。網(wǎng)絡(luò)管理者更需要及時(shí)準(zhǔn)確的發(fā)現(xiàn)并定位擁塞鏈路,并進(jìn)行相應(yīng)的處理。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是針對(duì)上述現(xiàn)有技術(shù)的不足,而提供一種IP網(wǎng)絡(luò)擁塞鏈路定位方法,以解決傳統(tǒng)借助主動(dòng)網(wǎng)絡(luò)層析成像技術(shù)推斷IP網(wǎng)絡(luò)擁塞鏈路的方法均不能對(duì)動(dòng)態(tài)路由IP網(wǎng)絡(luò)進(jìn)行準(zhǔn)確建模,從而使推斷擁塞鏈路產(chǎn)生一定誤差的問(wèn)題。為解決上述技術(shù)問(wèn)題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種IP網(wǎng)絡(luò)擁塞鏈路定位方法,定位方法的步驟如下:(1)構(gòu)建動(dòng)態(tài)貝葉斯網(wǎng)模型:對(duì)待測(cè)IP網(wǎng)絡(luò)中端到端路徑進(jìn)行N次快照,N≥1,獲取待測(cè)IP網(wǎng)絡(luò)中各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)的探測(cè)結(jié)果,構(gòu)建變結(jié)構(gòu)離散動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)模型,動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)模型由多個(gè)時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型組成,時(shí)間片是每個(gè)靜態(tài)貝葉斯網(wǎng)模型對(duì)應(yīng)的持續(xù)時(shí)間;(2)簡(jiǎn)化動(dòng)態(tài)貝葉斯網(wǎng)模型:根據(jù)馬爾科夫模型的一階馬爾科夫性假設(shè)和時(shí)齊性假設(shè),將動(dòng)態(tài)貝葉斯網(wǎng)模型簡(jiǎn)化為由兩個(gè)時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型通過(guò)節(jié)點(diǎn)接口聯(lián)接而成的模型,兩個(gè)時(shí)間片分別為推斷時(shí)刻對(duì)應(yīng)的時(shí)間片和推斷時(shí)刻前N次快照對(duì)應(yīng)的初始時(shí)間片;(3)推斷擁塞鏈路:動(dòng)態(tài)貝葉斯網(wǎng)模型簡(jiǎn)化后,利用IP網(wǎng)絡(luò)擁塞鏈路推斷算法推斷最有可能發(fā)生擁塞的鏈路集合,包括:①.擁塞先驗(yàn)概率求解:根據(jù)探測(cè)結(jié)果,學(xué)習(xí)待測(cè)IP網(wǎng)絡(luò)中所述兩個(gè)時(shí)間片下各鏈路擁塞先驗(yàn)概率;②.擁塞鏈路推斷:根據(jù)當(dāng)前推斷時(shí)刻所進(jìn)行的第N+1次快照獲取的各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)探測(cè)結(jié)果,推斷此時(shí)最有可能發(fā)生擁塞的鏈路集合。在本發(fā)明另一個(gè)實(shí)施例中,步驟(3)①進(jìn)行擁塞先驗(yàn)概率求解包括如下步驟:a.根據(jù)探測(cè)結(jié)果,構(gòu)建兩個(gè)時(shí)間片T1、T2對(duì)應(yīng)的靜態(tài)貝葉斯網(wǎng)模型的選路矩陣D1、D2;b.對(duì)選路矩陣D1、D2進(jìn)行去相關(guān)化簡(jiǎn)得到化簡(jiǎn)矩陣D1'及D2';c.在化簡(jiǎn)矩陣D1'及D2'中去除正常路徑及途徑鏈路對(duì)應(yīng)的矩陣行元素和列元素,得到對(duì)應(yīng)的擁塞矩陣再次去相關(guān)化簡(jiǎn),得到化簡(jiǎn)擁塞矩陣及d.分別構(gòu)建兩個(gè)時(shí)間片中各對(duì)應(yīng)鏈路擁塞先驗(yàn)概率求解的布爾線性方程組,求解所述各鏈路擁塞先驗(yàn)概率。在本發(fā)明另一個(gè)實(shí)施例中,步驟d中構(gòu)建兩個(gè)時(shí)間片中各對(duì)應(yīng)鏈路擁塞先驗(yàn)概率求解的布爾線性方程組包括如下步驟:A.在待測(cè)IP網(wǎng)絡(luò)中,將各端對(duì)端路徑與其途徑的各鏈路之間的關(guān)系用Boolean代數(shù)模型表示為:式中,“∨”為Boolean值最大化操作符;nc為各端對(duì)端路徑途經(jīng)的鏈路總數(shù);yi為第i條路徑的狀態(tài)變量,xj為第j條鏈路的狀態(tài)變量:當(dāng)?shù)趇條路徑為通時(shí),yi=0,當(dāng)?shù)趇條路徑擁塞時(shí),yi=1;當(dāng)?shù)趈條鏈路為通時(shí),xj=0,當(dāng)?shù)趈條鏈路擁塞時(shí),xj=1;為各時(shí)間片中待測(cè)IP網(wǎng)絡(luò)構(gòu)建的對(duì)應(yīng)化簡(jiǎn)擁塞矩陣中的元素值,若第j條鏈路存在于第i條路徑中,反之,B.對(duì)A步驟中的Boolean代數(shù)模型公式兩邊取數(shù)學(xué)期望,并進(jìn)行轉(zhuǎn)換,得到:式中,nε為擁塞路徑途經(jīng)鏈路數(shù),E[yi']為去相關(guān)后的端對(duì)端路徑Pi'的擁塞概率Pi',E[yi']通過(guò)N次快照探測(cè)出的各端對(duì)端路徑狀態(tài)Boolean值求和取平均得到,用表示;pj為第j條鏈路的擁塞先驗(yàn)概率;C.對(duì)B步驟的數(shù)學(xué)期望公式兩邊取對(duì)數(shù),整理可得如下線性方程組:D.對(duì)C步驟中的線性方程組進(jìn)行系數(shù)矩陣擴(kuò)展補(bǔ)滿秩操作:將兩擁塞路徑視為一條路徑進(jìn)行關(guān)聯(lián)處理,對(duì)兩矩陣行相應(yīng)鏈路進(jìn)行“∨”操作,構(gòu)建化簡(jiǎn)擁塞矩陣的擴(kuò)展路徑行,將化簡(jiǎn)擁塞矩陣中各元素與對(duì)應(yīng)擴(kuò)展矩陣中各元素合并,并再次去相關(guān)化簡(jiǎn)后,構(gòu)造出如下秩等于nε的滿秩系數(shù)矩陣D”d:式中,為各擴(kuò)展路徑行對(duì)應(yīng)的擴(kuò)展矩陣中的元素值;n'θ為對(duì)應(yīng)的擁塞路徑數(shù),k值大小取決于nε-n'θ的值;E.對(duì)滿秩系數(shù)矩陣D”d進(jìn)行線性無(wú)關(guān)化簡(jiǎn),選擇線性無(wú)關(guān)擴(kuò)展路徑行使得補(bǔ)滿秩后的D”d線性無(wú)關(guān),可得如下公式:式中,通過(guò)對(duì)兩條擁塞路徑Pi、Pl在對(duì)應(yīng)時(shí)間片中進(jìn)行Nk次快照,獲取對(duì)應(yīng)的每次擁塞變量yi及yl,再進(jìn)行“∨”操作并求和取平均獲得,去相關(guān)、補(bǔ)滿秩后,得到向量形式的Boolean代數(shù)線性方程組如下:式中,均為對(duì)應(yīng)路徑的擁塞概率;為第nε鏈路的擁塞先驗(yàn)概率。在本發(fā)明另一個(gè)實(shí)施例中,步驟d中采用稀疏矩陣線性方程組迭代求解方法對(duì)構(gòu)建的所述兩個(gè)時(shí)間片對(duì)應(yīng)的鏈路擁塞先驗(yàn)概率求解的Boolean線性方程組進(jìn)行求解,得到兩時(shí)間片中各鏈路擁塞先驗(yàn)概率。在本發(fā)明另一個(gè)實(shí)施例中,稀疏矩陣線性方程組迭代求解方法包括雅克比迭代法,高斯-賽德?tīng)柕?,逐次超松弛迭代法,共軛梯度迭代法以及預(yù)處理共軛梯度法。在本發(fā)明另一個(gè)實(shí)施例中,步驟(3)②中利用最大評(píng)分參量對(duì)擁塞鏈路推斷時(shí),經(jīng)過(guò)簡(jiǎn)化處理的最大評(píng)分參量表達(dá)式為:其中,Y1,Y2分別為兩個(gè)時(shí)間片對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中的觀測(cè)變量,X1,X2分別為兩個(gè)時(shí)間片對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中的隱藏變量;及分別為兩個(gè)時(shí)間片對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中共有鏈路的狀態(tài)變量,及分別為兩個(gè)時(shí)間片對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中共有鏈路的擁塞先驗(yàn)概率。在本發(fā)明另一個(gè)實(shí)施例中,步驟(3)②中對(duì)擁塞鏈路推斷時(shí),基于貝葉斯最大后驗(yàn)概率準(zhǔn)則,依次在當(dāng)前推斷時(shí)刻擁塞路徑途徑鏈路集合中查找權(quán)值最高的鏈路,權(quán)值最高的鏈路即被推斷為擁塞鏈路。在本發(fā)明另一個(gè)實(shí)施例中,在當(dāng)前推斷時(shí)刻擁塞路徑途徑鏈路集合中查找權(quán)值最高的鏈路的判斷公式如下:式中,為分別在所述兩個(gè)時(shí)間片對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中各共有鏈路lk(lk∈Lε)的擁塞概率,Lε為當(dāng)前推斷時(shí)刻擁塞路徑途經(jīng)鏈路集合;n(k)為當(dāng)前推斷時(shí)刻鏈路lk存在于路徑的條數(shù)。本發(fā)明的有益效果是:本發(fā)明針對(duì)IP網(wǎng)絡(luò)路由的動(dòng)態(tài)特性,根據(jù)多路端到端探測(cè)獲取的路徑性能及拓?fù)浣Y(jié)構(gòu)的探測(cè)結(jié)果,建立變結(jié)構(gòu)離散動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)模型,并根據(jù)一階馬爾科夫性假設(shè)和時(shí)齊性假設(shè)簡(jiǎn)化該模型,基于該簡(jiǎn)化模型對(duì)IP網(wǎng)絡(luò)擁塞鏈路進(jìn)行推斷,實(shí)現(xiàn)了動(dòng)態(tài)路由下IP網(wǎng)絡(luò)擁塞鏈路的推斷。通過(guò)對(duì)不同類型及規(guī)模IP網(wǎng)絡(luò)進(jìn)行模擬實(shí)驗(yàn)與仿真實(shí)驗(yàn),在相同場(chǎng)景下,分別利用傳統(tǒng)CLINK算法及本發(fā)明的方法進(jìn)行擁塞鏈路推斷,實(shí)驗(yàn)驗(yàn)證了本發(fā)明的方法較CLINK算法有更高的推斷準(zhǔn)確性及魯棒性。另外,針對(duì)Boolean線性方程組系數(shù)矩陣的奇異性及稀疏性問(wèn)題,對(duì)系數(shù)矩陣去相關(guān)、補(bǔ)滿秩后,提出利用稀疏矩陣系統(tǒng)線性方程組迭代求解鏈路擁塞先驗(yàn)概率唯一解?;谪惾~斯最大后驗(yàn)概率準(zhǔn)則,利用加權(quán)啟發(fā)式貪心算法推斷擁塞鏈路集合。附圖說(shuō)明圖1是本發(fā)明IP網(wǎng)絡(luò)擁塞鏈路定位方法的流程圖;圖2是本發(fā)明IP網(wǎng)絡(luò)擁塞鏈路定位方法實(shí)施例簡(jiǎn)化后的變結(jié)構(gòu)離散動(dòng)態(tài)貝葉斯網(wǎng)模型圖;圖3a是實(shí)驗(yàn)驗(yàn)證實(shí)施例一不同Congestion-link-ratio下VSDDB算法擁塞鏈路推斷DR變化趨勢(shì)圖;圖3b是實(shí)驗(yàn)驗(yàn)證實(shí)施例一不同Congestion-link-ratio下VSDDB算法擁塞鏈路推斷FPR變化趨勢(shì)圖;圖4a是實(shí)驗(yàn)驗(yàn)證實(shí)施例二不同Congestion-link-ratio下VSDDB算法和CLINK算法DR的對(duì)比圖;圖4b是實(shí)驗(yàn)驗(yàn)證實(shí)施例二不同Congestion-link-ratio下VSDDB算法和CLINK算法FPR的對(duì)比圖;圖5a是實(shí)驗(yàn)驗(yàn)證實(shí)施例三不同路由變化頻繁程度下VSDDB算法和CLINK算法DR的對(duì)比圖;圖5b是實(shí)驗(yàn)驗(yàn)證實(shí)施例三不同路由變化頻繁程度下VSDDB算法和CLINK算法FPR的對(duì)比圖;圖6a是實(shí)驗(yàn)驗(yàn)證實(shí)施例四不同網(wǎng)絡(luò)規(guī)模下VSDDB算法和CLINK算法DR的對(duì)比圖;圖6b是實(shí)驗(yàn)驗(yàn)證實(shí)施例四不同網(wǎng)絡(luò)規(guī)模下VSDDB算法和CLINK算法FPR的對(duì)比圖。具體實(shí)施方式為了便于理解本發(fā)明,下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明進(jìn)行更詳細(xì)的說(shuō)明。附圖中給出了本發(fā)明的較佳的實(shí)施例。但是,本發(fā)明可以以許多不同的形式來(lái)實(shí)現(xiàn),并不限于本說(shuō)明書(shū)所描述的實(shí)施例。相反地,提供這些實(shí)施例的目的是使對(duì)本發(fā)明的公開(kāi)內(nèi)容的理解更加透徹全面。需要說(shuō)明的是,除非另有定義,本說(shuō)明書(shū)所使用的所有的技術(shù)和科學(xué)術(shù)語(yǔ)與屬于本發(fā)明的
技術(shù)領(lǐng)域:
的技術(shù)人員通常理解的含義相同。在本發(fā)明的說(shuō)明書(shū)中所使用的術(shù)語(yǔ)只是為了描述具體的實(shí)施例的目的,不是用于限制本發(fā)明。本說(shuō)明書(shū)所使用的術(shù)語(yǔ)“和/或”包括一個(gè)或多個(gè)相關(guān)的所列項(xiàng)目的任意的和所有的組合。如圖1所示,本發(fā)明提供了一種IP網(wǎng)絡(luò)擁塞鏈路定位方法,該定位方法的步驟如下:S1.構(gòu)建動(dòng)態(tài)貝葉斯網(wǎng)模型:對(duì)待測(cè)IP網(wǎng)絡(luò)中端到端路徑進(jìn)行N次快照,N≥1,獲取待測(cè)IP網(wǎng)絡(luò)中各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)的探測(cè)結(jié)果,構(gòu)建變結(jié)構(gòu)離散動(dòng)態(tài)貝葉斯(VariableStructureDiscreteDynamicBayesian,簡(jiǎn)稱VSDDB)網(wǎng)絡(luò)模型,動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)模型由多個(gè)時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型組成,時(shí)間片是每個(gè)靜態(tài)貝葉斯網(wǎng)模型對(duì)應(yīng)的持續(xù)時(shí)間;S2.簡(jiǎn)化動(dòng)態(tài)貝葉斯網(wǎng)模型:根據(jù)馬爾科夫模型的一階馬爾科夫性假設(shè)和時(shí)齊性假設(shè),將動(dòng)態(tài)貝葉斯網(wǎng)模型簡(jiǎn)化為由兩個(gè)時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型通過(guò)節(jié)點(diǎn)接口聯(lián)接而成的模型,兩個(gè)時(shí)間片分別為推斷時(shí)刻對(duì)應(yīng)的時(shí)間片和推斷時(shí)刻前N次快照對(duì)應(yīng)的初始時(shí)間片;S3.推斷擁塞鏈路:動(dòng)態(tài)貝葉斯網(wǎng)模型簡(jiǎn)化后,利用IP網(wǎng)絡(luò)擁塞鏈路推斷算法推斷最有可能發(fā)生擁塞的鏈路集合,包括:S31.擁塞先驗(yàn)概率求解:根據(jù)探測(cè)結(jié)果,學(xué)習(xí)待測(cè)IP網(wǎng)絡(luò)中兩個(gè)時(shí)間片下中各鏈路擁塞先驗(yàn)概率;S32.擁塞鏈路推斷:根據(jù)當(dāng)前推斷時(shí)刻所進(jìn)行的第N+1次快照獲取的各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)探測(cè)結(jié)果,推斷此時(shí)最有可能發(fā)生擁塞的鏈路集合。下面首先對(duì)本發(fā)明所要解決的問(wèn)題及相關(guān)模型的構(gòu)建進(jìn)行說(shuō)明。貝葉斯網(wǎng)絡(luò)又稱信度網(wǎng)絡(luò),是Bayes方法的擴(kuò)展,是目前不確定知識(shí)表達(dá)和推理領(lǐng)域最有效的理論模型之一。一個(gè)貝葉斯網(wǎng)絡(luò)是一個(gè)表示因果關(guān)系的有向無(wú)環(huán)圖G=(ν,ε),由代表變量節(jié)點(diǎn)及連接這些節(jié)點(diǎn)有向邊構(gòu)成,ν為節(jié)點(diǎn),代表隨機(jī)變量,ε為連接節(jié)點(diǎn)的有向邊,代表了節(jié)點(diǎn)間的互相關(guān)系(由父節(jié)點(diǎn)指向其子節(jié)點(diǎn)),用條件概率進(jìn)行表達(dá)關(guān)系強(qiáng)度,沒(méi)有父節(jié)點(diǎn)的用先驗(yàn)概率進(jìn)行信息表達(dá)。在貝葉斯網(wǎng)中,每個(gè)節(jié)點(diǎn)存儲(chǔ)了一個(gè)條件概率表,當(dāng)該節(jié)點(diǎn)為根節(jié)點(diǎn)時(shí),此條件概率表為節(jié)點(diǎn)的先驗(yàn)概率分布。根據(jù)貝葉斯網(wǎng)絡(luò)的因果關(guān)系以及已知的條件概率和先驗(yàn)概率,可由已知節(jié)點(diǎn)的狀態(tài)(證據(jù)節(jié)點(diǎn))推理未知節(jié)點(diǎn)(隱藏節(jié)點(diǎn))的狀態(tài)。本發(fā)明是基于主動(dòng)探測(cè)技術(shù)中的第二類方法,將路徑及鏈路性能利用Boolean二進(jìn)制代數(shù)值0、1表示,借助Boolean代數(shù)模型對(duì)動(dòng)態(tài)路由IP網(wǎng)絡(luò)進(jìn)行擁塞鏈路推斷。待測(cè)IP網(wǎng)絡(luò)中,各端對(duì)端(E2E)路徑的狀態(tài)變量集合:yi為第i條路徑的狀態(tài)變量,各E2E路徑途經(jīng)鏈路的狀態(tài)變量集合:xj為第j條鏈路的狀態(tài)變量;當(dāng)?shù)趇條路徑通時(shí),yi=0,當(dāng)?shù)趇條路徑擁塞時(shí),yi=1;當(dāng)?shù)趈條鏈路通時(shí),xj=0,當(dāng)?shù)趈條鏈路擁塞時(shí),xj=1。其中,np為待測(cè)IP網(wǎng)絡(luò)中E2E路徑總數(shù),nc為各E2E路徑途經(jīng)的鏈路總數(shù)。在構(gòu)建IP網(wǎng)絡(luò)擁塞鏈路推斷的貝葉斯網(wǎng)模型時(shí),Y為模型中的觀測(cè)變量(證據(jù)節(jié)點(diǎn)),X為隱藏變量(隱藏節(jié)點(diǎn)),各E2E路徑及途經(jīng)鏈路的連接關(guān)系構(gòu)成模型的有向邊。如果探測(cè)出E2E路徑Pi(i=1,2,...,np)擁塞時(shí),即yi=1,對(duì)IP網(wǎng)絡(luò)內(nèi)部的擁塞鏈路推斷問(wèn)題可轉(zhuǎn)化為對(duì)X最有可能取值的選取問(wèn)題。貝葉斯網(wǎng)模型節(jié)點(diǎn)聯(lián)合概率如(1)式所示:式(1)中,pa(xj)為節(jié)點(diǎn)xj的父節(jié)點(diǎn)。由于E2E路徑性能正常時(shí),該路徑途經(jīng)各鏈路的性能也正常;路徑擁塞時(shí),該路徑途經(jīng)各鏈路中至少有一條鏈路發(fā)生了擁塞。因此,E2E路徑與該路徑途經(jīng)各鏈路之間應(yīng)存在如下(2)式所示的概率關(guān)系:P(yi=0|pa(yi)={0,...,0})=1由上述數(shù)學(xué)表達(dá)式可得如下引理:引理1:P[yi|pa(yi)]取得最大值時(shí),當(dāng)滿足如下條件:1)如果yi=0,且Dij=1,則xj=0;2)如果yi=1,則必然存在至少一個(gè)xj=1,使得Dij=1。根據(jù)各E2E路徑探測(cè)性能,借助貝葉斯網(wǎng)模型推斷出最有可能發(fā)生擁塞的鏈路集合,利用最大評(píng)分參量(argmax)進(jìn)行求解,其公式如下:式(3)中,P(Y)僅與IP網(wǎng)絡(luò)狀態(tài)及探測(cè)結(jié)果有關(guān),與鏈路選取無(wú)關(guān),則式(3)可簡(jiǎn)化為:式(4)中,pa(yi)為貝葉斯網(wǎng)中yi的父節(jié)點(diǎn)。因此,在推斷IP網(wǎng)絡(luò)內(nèi)部擁塞鏈路時(shí),正常路徑途經(jīng)的各鏈路必為正常狀態(tài),不必再進(jìn)行性能推斷。即:可將正常路徑對(duì)應(yīng)的觀測(cè)變量yi及相關(guān)隱藏變量xj(途經(jīng)鏈路狀態(tài)變量)以及有向邊從IP網(wǎng)絡(luò)構(gòu)建的貝葉斯網(wǎng)推斷模型中移除,剩余的貝葉斯網(wǎng)模型為待測(cè)IP網(wǎng)絡(luò)擁塞鏈路推斷中的擁塞貝葉斯網(wǎng)模型。式(4)中,P(xj)(這里的P(xj)也可寫(xiě)做pj)為鏈路xj的先驗(yàn)概率,P[yi|pa(yi)]可由式(2)得出,但(4)式仍缺少P(xj)的信息。為了得到IP網(wǎng)絡(luò)中各鏈路擁塞先驗(yàn)概率P(xj),需要對(duì)各E2E路徑進(jìn)行N次快照snapshots(traceroute及ping),獲取待測(cè)網(wǎng)絡(luò)中各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)探測(cè)結(jié)果。traceroute返回各E2E路徑途經(jīng)各路由器的IP地址,從而,每?jī)蓚€(gè)直接相連的路由器組成了各E2E路徑所途經(jīng)的各鏈路;ping得到每次snapshots中各E2E路徑的性能探測(cè)結(jié)果。根據(jù)IP網(wǎng)絡(luò)動(dòng)態(tài)路由算法策略,在N次snapshots中,各E2E路徑途經(jīng)鏈路會(huì)因物理鏈路切斷或帶寬等因素發(fā)生改變,由此引起IP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化。為了構(gòu)建動(dòng)態(tài)路由IP網(wǎng)絡(luò)擁塞鏈路推斷的貝葉斯網(wǎng)模型,引入如下定義:如果組成一個(gè)離散動(dòng)態(tài)貝葉斯網(wǎng)絡(luò),不同時(shí)刻的離散靜態(tài)貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)或參數(shù)發(fā)生變化,則這類離散動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)稱為變結(jié)構(gòu)離散動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)。N次快照snapshots學(xué)習(xí)鏈路擁塞先驗(yàn)概率的過(guò)程中,如IP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生n次改變,則可得到n個(gè)靜態(tài)貝葉斯網(wǎng)模型,將每個(gè)靜態(tài)貝葉斯網(wǎng)模型對(duì)應(yīng)時(shí)間(snapshots次數(shù))稱作一個(gè)時(shí)間片(T)。因此,對(duì)動(dòng)態(tài)路由IP網(wǎng)絡(luò)構(gòu)建的擁塞鏈路推斷動(dòng)態(tài)貝葉斯網(wǎng)模型可由多個(gè)時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型組成。為了簡(jiǎn)化推斷過(guò)程,需要對(duì)上述貝葉斯網(wǎng)模型進(jìn)行簡(jiǎn)化,由此引入了馬爾科夫模型,馬爾科夫模型有兩個(gè)假設(shè):1)一階馬爾科夫性假設(shè):系統(tǒng)在當(dāng)前時(shí)刻的狀態(tài)只與前一時(shí)刻的狀態(tài)相關(guān),即給出當(dāng)前系統(tǒng)狀態(tài),該狀態(tài)只與過(guò)去的前一狀態(tài)有關(guān),將來(lái)的系統(tǒng)狀態(tài)和過(guò)去的前一狀態(tài)是獨(dú)立的;2)齊次性或時(shí)齊性:狀態(tài)轉(zhuǎn)移概率與時(shí)間無(wú)關(guān),即每個(gè)時(shí)間片中各節(jié)點(diǎn)的條件概率和各時(shí)間片間的轉(zhuǎn)移概率不隨時(shí)間發(fā)生變化。根據(jù)上述兩個(gè)假設(shè),待測(cè)IP網(wǎng)絡(luò)擁塞鏈路推斷動(dòng)態(tài)貝葉斯網(wǎng)模型可由推斷時(shí)刻前N次snapshots對(duì)應(yīng)的初始時(shí)間片(T1)和推斷時(shí)刻對(duì)應(yīng)時(shí)間片(T2)的兩個(gè)靜態(tài)貝葉斯網(wǎng)模型,通過(guò)節(jié)點(diǎn)接口(共有鏈路)聯(lián)接而成,其簡(jiǎn)化模型如圖2所示。如圖2所示,根據(jù)E2E路徑性能探測(cè)結(jié)果進(jìn)行擁塞鏈路推斷時(shí),各時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型中的觀測(cè)變量為探測(cè)出的各擁塞路徑狀態(tài),即:t為N次snapshots中第t個(gè)時(shí)間片,簡(jiǎn)化模型中,t={1,2}。各E2E路徑途經(jīng)的鏈路狀態(tài)為如圖2所示,鏈路lh,lj…,lk在T1和T2中均存在于各自時(shí)間片的擁塞路徑中,構(gòu)成兩時(shí)間片聯(lián)接的節(jié)點(diǎn)接口。lh,lj…,lk在初始時(shí)間片T1的靜態(tài)貝葉斯網(wǎng)模型中對(duì)應(yīng)的變量為lh,lj…,lk在推斷時(shí)刻對(duì)應(yīng)時(shí)間片T2的靜態(tài)貝葉斯網(wǎng)模型中對(duì)應(yīng)的變量為各時(shí)間片中,路徑的狀態(tài)變量鏈路的狀態(tài)變量及連接關(guān)系(有向邊)構(gòu)成對(duì)應(yīng)時(shí)間片的靜態(tài)貝葉斯網(wǎng)模型。如對(duì)靜態(tài)路由IP網(wǎng)絡(luò)進(jìn)行擁塞鏈路推斷時(shí),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)始終不變,由此建立的貝葉斯網(wǎng)模型即CLINK算法中擁塞鏈路推斷的靜態(tài)貝葉斯網(wǎng)模型?;谏鲜龊?jiǎn)化后的貝葉斯網(wǎng)模型,利用本發(fā)明提出的變結(jié)構(gòu)離散動(dòng)態(tài)貝葉斯(VariableStructureDiscreteDynamicBayesian,簡(jiǎn)稱VSDDB)方法,根據(jù)前N次E2E路徑性能探測(cè)結(jié)果及擁塞路徑與途經(jīng)鏈路間的Boolean代數(shù)關(guān)系,學(xué)習(xí)各鏈路擁塞先驗(yàn)概率,根據(jù)第N+1次E2E路徑性能探測(cè)結(jié)果,推斷此時(shí)最有可能發(fā)生擁塞的鏈路集合。該算法提高了動(dòng)態(tài)路由算法下IP網(wǎng)絡(luò)擁塞鏈路推斷精度,其推斷過(guò)程如下:①.擁塞先驗(yàn)概率求解:根據(jù)對(duì)待測(cè)IP網(wǎng)絡(luò)中端到端路徑的N次快照所獲取的各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)探測(cè)結(jié)果,學(xué)習(xí)待測(cè)IP網(wǎng)絡(luò)中兩個(gè)時(shí)間片下中各鏈路擁塞先驗(yàn)概率,具體步驟如下:a.根據(jù)N次快照所獲取的待測(cè)網(wǎng)絡(luò)中各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)探測(cè)結(jié)果,構(gòu)建兩個(gè)時(shí)間片T1、T2對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型的選路矩陣D1、D2;各時(shí)間片下中待測(cè)IP網(wǎng)絡(luò)對(duì)應(yīng)選路矩陣D的構(gòu)建方法如下:IP網(wǎng)絡(luò)選路矩陣D(在時(shí)間片T1下對(duì)應(yīng)為D1、在時(shí)間片T2下對(duì)應(yīng)為D2)的各行為E2E路徑Pi(i=1,2,…np),各列為IP網(wǎng)絡(luò)中所有鏈路lj(j=1,2,..nc)。按照跳數(shù)(hop)級(jí)別順序從小到大依次排列;當(dāng)某條E2E路徑Pi途經(jīng)某條鏈路lj時(shí),選路矩陣D對(duì)應(yīng)位置處的元素值Dij=1,否則Dij=0。b.對(duì)選路矩陣D1、D2進(jìn)行去相關(guān)化簡(jiǎn)得到化簡(jiǎn)矩陣D1'及D2':在鏈路擁塞先驗(yàn)概率學(xué)習(xí)過(guò)程中,對(duì)待測(cè)IP網(wǎng)絡(luò)各E2E路徑通過(guò)N次traceroute獲取途經(jīng)鏈路,構(gòu)建各時(shí)間片選路矩陣D后,為了減少ping實(shí)際發(fā)包探測(cè)的路徑數(shù),根據(jù)矩陣特性,可對(duì)選路矩陣D去相關(guān)化簡(jiǎn)得到矩陣D'(在時(shí)間片T1下對(duì)應(yīng)為D1'、在時(shí)間片T2下對(duì)應(yīng)為D2');c.在化簡(jiǎn)矩陣D1'及D2'中去除正常路徑及途徑鏈路對(duì)應(yīng)的矩陣行元素和列元素,得到對(duì)應(yīng)的擁塞矩陣再次去相關(guān)化簡(jiǎn),得到化簡(jiǎn)擁塞矩陣及由于去除線性相關(guān)路徑后并不影響矩陣特性及矩陣列數(shù),即覆蓋鏈路數(shù)不變。對(duì)各E2E路徑通過(guò)ping性能探測(cè)后,在D'中去除正常路徑及途經(jīng)鏈路對(duì)應(yīng)的矩陣行元素及列元素,可得到擁塞矩陣Dd(在時(shí)間片T1下對(duì)應(yīng)為在時(shí)間片T2下對(duì)應(yīng)為),再次去相關(guān)化簡(jiǎn)后,即可得到化簡(jiǎn)擁塞矩陣D'd(在時(shí)間片T1下對(duì)應(yīng)為在時(shí)間片T2下對(duì)應(yīng)為)。d.分別構(gòu)建兩個(gè)時(shí)間片下中各對(duì)應(yīng)鏈路擁塞先驗(yàn)概率求解的布爾線性方程組,求解兩時(shí)間片下中各鏈路擁塞先驗(yàn)概率;構(gòu)建兩個(gè)時(shí)間片下中各對(duì)應(yīng)鏈路擁塞先驗(yàn)概率求解的布爾線性方程組包括如下步驟:A.IP網(wǎng)絡(luò)中,各E2E擁塞路徑的整體傳輸率Ψi與路徑途經(jīng)各鏈路的傳輸率之間關(guān)系滿足(5)式:式(5)中,Ψi為第i條路徑整體傳輸率,為該路徑下途經(jīng)的第j條鏈路的傳輸率。為各時(shí)間片下中待測(cè)IP網(wǎng)絡(luò)構(gòu)建的對(duì)應(yīng)化簡(jiǎn)擁塞矩陣中的元素值,若第j條鏈路存在于第i條路徑中,反之,本發(fā)明的目的是為了識(shí)別網(wǎng)絡(luò)中的擁塞鏈路,擁塞鏈路是指丟包率(1-傳輸率)超過(guò)了應(yīng)用程序能夠容忍的最大極限的鏈路,反之,就是好的鏈路。用t限表示應(yīng)用程序指定的極限值。當(dāng)鏈路滿足時(shí)鏈路就是連通的。如果那么鏈路就是擁塞的。這里的閾值t限可根據(jù)應(yīng)用程序的性能需求而改變。為了簡(jiǎn)化推斷過(guò)程,根據(jù)如下定義:yi為第i條路徑的狀態(tài)變量,xj為第j條鏈路的狀態(tài)變量:當(dāng)?shù)趇條路徑通時(shí),yi=0,當(dāng)?shù)趇條路徑擁塞時(shí),yi=1;當(dāng)?shù)趈條鏈路通時(shí),xj=0,當(dāng)?shù)趈條鏈路擁塞時(shí),xj=1。將各端對(duì)端路徑與該路徑途徑的各鏈路之間關(guān)系用Boolean代數(shù)模型表示為:式(6)中,“∨”為Boolean值最大化操作符。B.為了對(duì)擁塞鏈路先驗(yàn)概率進(jìn)行求解,對(duì)式(6)兩邊取數(shù)學(xué)期望E,轉(zhuǎn)換后可得:式中,nε為擁塞路徑途經(jīng)鏈路數(shù),E[yi']為去相關(guān)后的端對(duì)端路徑Pi'的擁塞概率Pi',E[yi']通過(guò)N次快照探測(cè)出的各端對(duì)端路徑狀態(tài)Boolean值求和取平均得到,用表示;pj為第j條鏈路的擁塞先驗(yàn)概率。C.為便于計(jì)算,對(duì)式(7)兩邊取對(duì)數(shù),整理可得:D.對(duì)式(8)進(jìn)行系數(shù)矩陣擴(kuò)展補(bǔ)滿秩操作:根據(jù)動(dòng)態(tài)路由選路算法策略,當(dāng)IP網(wǎng)絡(luò)中某鏈路截?cái)嗷虺掷m(xù)擁塞達(dá)到一定時(shí)間后,會(huì)根據(jù)動(dòng)態(tài)選路協(xié)議重新進(jìn)行E2E路徑途經(jīng)鏈路的選取。因此,在擁塞鏈路先驗(yàn)概率學(xué)習(xí)過(guò)程中,N次snapshots中對(duì)IP網(wǎng)絡(luò)構(gòu)建的選路矩陣D可能會(huì)發(fā)生改變。由此,帶來(lái)式(8)中的改變,從而造成鏈路擁塞先驗(yàn)概率pj求解誤差。另外,在借助tomography技術(shù)進(jìn)行擁塞鏈路推斷時(shí),通常利用盡可能少的E2E路徑探測(cè),覆蓋盡可能多的鏈路,并且通過(guò)前述兩次去相關(guān)化簡(jiǎn)操作,易造成式(8)中D'd對(duì)應(yīng)的E2E路徑數(shù)小于算法覆蓋的鏈路數(shù)。使得式(8)所示Boolean線性方程組系數(shù)矩陣欠定,無(wú)法求得唯一解。因此,需對(duì)式(8)進(jìn)行系數(shù)矩陣擴(kuò)展補(bǔ)滿秩操作。由于系數(shù)矩陣D'd各行代表各線性無(wú)關(guān)擁塞路徑,因此可將兩擁塞路徑視為一條路徑進(jìn)行關(guān)聯(lián)處理,對(duì)兩矩陣行相應(yīng)鏈路進(jìn)行“∨”操作,構(gòu)建D'd的擴(kuò)展路徑行。各擴(kuò)展路徑行對(duì)應(yīng)的擴(kuò)展矩陣各元素用表示。將D'd各元素與擴(kuò)展矩陣各元素合并,并再次去相關(guān)化簡(jiǎn)后,可構(gòu)造滿秩系數(shù)矩陣D”d,其為秩等于nε的方陣,這里的k代表補(bǔ)滿秩需要的矩陣行數(shù),其值大小取決于nε-n'θ的值,nε為擁塞路徑途徑鏈路數(shù),n'θ為對(duì)應(yīng)的擁塞路徑數(shù),秩等于nε的滿秩系數(shù)矩陣D”d如式(9):E.對(duì)滿秩系數(shù)矩陣D”d進(jìn)行線性無(wú)關(guān)化簡(jiǎn):由于并非所有子矩陣D”d進(jìn)行路徑行擴(kuò)展組成的滿秩陣都能使得D”d線性無(wú)關(guān)。因此,仍需對(duì)擴(kuò)展后的矩陣進(jìn)行線性無(wú)關(guān)化簡(jiǎn),選擇線性無(wú)關(guān)擴(kuò)展路徑行使得補(bǔ)滿秩后的D”d線性無(wú)關(guān),從而求得鏈路擁塞先驗(yàn)概率唯一解?;?jiǎn)公式如式(10):式(10)中,通過(guò)對(duì)兩條擁塞路徑Pi、Pl在對(duì)應(yīng)時(shí)間片中進(jìn)行Nk次快照,獲取對(duì)應(yīng)的每次擁塞變量yi及yl,再進(jìn)行“∨”操作并求和取平均獲得,去相關(guān)、補(bǔ)滿秩后,得到向量形式的布Boolean代數(shù)線性方程組如下:式中,均為對(duì)應(yīng)路徑的擁塞概率;為第nε鏈路的擁塞先驗(yàn)概率。式(11)為Boolean代數(shù)線性方程組,直接求解存儲(chǔ)量和計(jì)算量均過(guò)大,特別是此方程組系數(shù)矩陣D”d各元素為Boolean代數(shù)值0或1,非零值較少,為典型的稀疏矩陣。當(dāng)矩陣主元(j=1,2,…,nε)時(shí),無(wú)法計(jì)算。即使主元但當(dāng)其絕對(duì)值很小時(shí),D”d的逆矩陣作為除數(shù),因舍入誤差的存在也會(huì)使計(jì)算帶來(lái)較大誤差。本發(fā)明將稀疏矩陣系數(shù)線性方程組迭代求解方法引入到IP網(wǎng)絡(luò)鏈路擁塞先驗(yàn)概率Boolean線性方程組求解中。迭代求解線性方程組的方法主要包括:雅克比(Jacobi)迭代法,高斯-賽德?tīng)?Gauss-Seidel)迭代法,逐次超松弛(SuccessiveOver-Relaxation,SOR)迭代法,共軛梯度(ConjugatedGradient,CG)迭代法以及預(yù)處理共軛梯度法(PretreatmentConjugatedGradient,PCG)等。②.動(dòng)態(tài)路由下?lián)砣溌吠茢啵航柚鲜龊?jiǎn)化后的貝葉斯網(wǎng)模型,根據(jù)當(dāng)前推斷時(shí)刻所進(jìn)行的第N+1次快照獲取的各端到端路徑性能及拓?fù)浣Y(jié)構(gòu)探測(cè)結(jié)果,推斷此時(shí)最有可能發(fā)生擁塞的鏈路集合。利用最大評(píng)分參量進(jìn)行動(dòng)態(tài)路由下?lián)砣溌吠茢鄷r(shí),所利用的最大評(píng)分參量argmax如(12)式所示:式(12)中,P(Y1,Y2)僅與網(wǎng)絡(luò)狀態(tài)及探測(cè)結(jié)果有關(guān),與鏈路選取無(wú)關(guān),則其最大評(píng)分參量argmax表達(dá)式可表示為:式(13)中,及分別為T(mén)1及T2對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中共有鏈路的狀態(tài)變量,nε'為T(mén)1及T2對(duì)應(yīng)各靜態(tài)貝葉斯網(wǎng)模型中共有鏈路總數(shù);分別為兩個(gè)時(shí)間片下中對(duì)應(yīng)靜態(tài)貝葉斯網(wǎng)模型中對(duì)應(yīng)路徑的狀態(tài)變量;分別為的父節(jié)點(diǎn)。為了求解(13)式,根據(jù)引理1,P[yi|pa(yi)]最大值等于1。由于IP網(wǎng)絡(luò)中各鏈路的狀態(tài)xj'是概率獨(dú)立的隨機(jī)變量,對(duì)當(dāng)前IP網(wǎng)絡(luò)進(jìn)行1次E2E路徑snapshots試驗(yàn),各鏈路擁塞概率推斷的分布律服從貝努利概率模型中二項(xiàng)概率公式n=1,且各鏈路狀態(tài)概率獨(dú)立,故可表示為(14)式:由于條件概率表及取得最大值時(shí)均為1。因此,式(13)可簡(jiǎn)化為:由貝葉斯定理:鏈路狀態(tài)變量與相互獨(dú)立,(15)式可表示為:式(16)中,及分別為T(mén)1及T2中各E2E路徑途經(jīng)鏈路的擁塞先驗(yàn)概率,這里的及也可表示為及及可以通過(guò)鏈路擁塞先驗(yàn)概率求解系統(tǒng)方程式(11)可分別求出,根據(jù)貝努利實(shí)驗(yàn)二項(xiàng)式分布概型,式(16)可轉(zhuǎn)化為:nε”為推斷時(shí)刻擁塞鏈路總數(shù)。對(duì)式(17)取對(duì)數(shù)可得:式(18)中,與鏈路狀態(tài)無(wú)關(guān),因此可等價(jià)為對(duì)式(19)的求解。當(dāng)各E2E路徑探測(cè)過(guò)程中未發(fā)生路由改變的情況時(shí),(19)式的推斷過(guò)程即簡(jiǎn)化為對(duì)固定路由下?lián)砣溌纷钚「采w集推斷算法CLINK。由此可見(jiàn),本發(fā)明提出的VSDDB方法對(duì)擁塞鏈路推斷具有一般性,是實(shí)現(xiàn)IP網(wǎng)絡(luò)擁塞鏈路推斷的通用算法。利用VSDDB方法推斷擁塞鏈路時(shí),基于簡(jiǎn)化模型和貝葉斯最大后驗(yàn)概率(MAP)準(zhǔn)則,借助加權(quán)啟發(fā)式貪心算法尋找最優(yōu)解,根據(jù)當(dāng)前時(shí)刻各E2E路徑性能探測(cè)結(jié)果,推斷最有可能發(fā)生擁塞的鏈路集合。貪心算法(又稱貪婪算法)是指在對(duì)問(wèn)題求解時(shí),總是做出在當(dāng)前看來(lái)是最好的選擇。該算法的特性是:為了解決問(wèn)題,需要尋找一個(gè)構(gòu)成解的候選對(duì)象集合,它可以優(yōu)化目標(biāo)函數(shù),貪婪算法一步一步的進(jìn)行。起初,算法選出的候選對(duì)象的集合為空;接下來(lái)的每一步中,根據(jù)選擇函數(shù),算法從剩余候選對(duì)象中選出最有希望構(gòu)成解的對(duì)象;如果集合中加上該對(duì)象后不可行,那么該對(duì)象就被丟棄并不再考慮;否則就加到集合里。每一次都擴(kuò)充集合,并檢查該集合是否構(gòu)成解。如果貪婪算法正確工作,那么找到的第一個(gè)解通常是最優(yōu)的。該算法偽代碼如下:輸入:——移除正常路徑及途經(jīng)鏈路后,構(gòu)建的IP網(wǎng)絡(luò)去相關(guān)化簡(jiǎn)擁塞矩陣,t={1,2};——各E2E路徑擁塞概率,t={1,2};Pθ——推斷時(shí)刻擁塞路徑集合;Lε——推斷時(shí)刻擁塞路徑途經(jīng)鏈路集合;n(k)——推斷時(shí)刻鏈路lk存在于多少條E2E路徑中;——包含鏈路lk的所有E2E路徑;輸出:Ω——擁塞鏈路推斷集合。下面通過(guò)實(shí)驗(yàn)驗(yàn)證本發(fā)明IP網(wǎng)絡(luò)擁塞鏈路定位方法的優(yōu)越性。評(píng)價(jià)算法性能的實(shí)驗(yàn)方法通常包括:模擬實(shí)驗(yàn)、仿真實(shí)驗(yàn)和實(shí)測(cè)實(shí)驗(yàn)。其中,模擬實(shí)驗(yàn)的標(biāo)準(zhǔn)答案(Benchmark)已知,實(shí)驗(yàn)細(xì)節(jié)可完全掌握,但不夠真實(shí);實(shí)測(cè)實(shí)驗(yàn)雖環(huán)境真實(shí),但較難獲取Benchmark;仿真實(shí)驗(yàn)兼顧實(shí)驗(yàn)的可控性與真實(shí)性,操作靈活。因此,為了客觀評(píng)價(jià)VSDDB算法的性能表現(xiàn),本發(fā)明分別采用模擬實(shí)驗(yàn)、Emulab仿真實(shí)驗(yàn)和PlanetLab實(shí)測(cè)實(shí)驗(yàn),驗(yàn)證算法準(zhǔn)確性及魯棒性。模擬、仿真實(shí)驗(yàn)中,為了增加算法的通用性,利用Brite拓?fù)渖善魃扇N不同類型、規(guī)模的IP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)模型(Waxman、BA及GLP),并利用隨機(jī)數(shù)模型模擬IP網(wǎng)絡(luò)中多鏈路擁塞事件場(chǎng)景。首先進(jìn)行算法參數(shù)設(shè)置及評(píng)價(jià)指標(biāo)定義:路徑擁塞閾值參數(shù)(Path-congestion-threshold):默認(rèn)設(shè)置N=30(鏈路擁塞先驗(yàn)概率學(xué)習(xí)中snapshots次數(shù)),Path-congestion-threshold=0。即:對(duì)各E2E路徑30次snapshots中,路徑丟包率每次snapshots均低于設(shè)置閾值(0.05),則該路徑正常;否則,該路徑擁塞。為了驗(yàn)證IP網(wǎng)絡(luò)在擁塞鏈路比例不同的情況下對(duì)算法性能帶來(lái)的影響。模擬實(shí)驗(yàn)中,引入擁塞鏈路占算法覆蓋鏈路比例參數(shù)(Congestion-link-ratio):設(shè)置0.05≤Congestion-link-ratio≤0.6模擬IP網(wǎng)絡(luò)中擁塞鏈路數(shù)由少到多變化。另外,為了模擬IP網(wǎng)絡(luò)中路由變化頻繁程度對(duì)算法推斷性能的影響;路由變化參數(shù)(Route-changing-threshold):以連續(xù)snapshots中鏈路持續(xù)擁塞次數(shù)作為路徑變路由的觸發(fā)條件,默認(rèn)設(shè)置Route-changing-threshold=4。為了驗(yàn)證路由變化快慢對(duì)算法推斷性能的影響,設(shè)置1≤Route-changing-threshold≤4。利用檢測(cè)率DR(DetectionRate)及誤報(bào)率FPR(FalsePositiveRate)進(jìn)行算法性能評(píng)估。推斷DR及FPR為各閾值參數(shù)不變的情況下,實(shí)驗(yàn)10次取平均值后得出。式(20)中,F(xiàn)為推斷時(shí)刻實(shí)際發(fā)生擁塞的鏈路,X為算法推斷出的擁塞鏈路。模擬實(shí)驗(yàn)評(píng)價(jià):本發(fā)明算法采用JAVA語(yǔ)言編寫(xiě),通過(guò)EclipseMARS.1平臺(tái)導(dǎo)入Brite文件,模擬相同鏈路覆蓋范圍、相同擁塞事件場(chǎng)景,利用本發(fā)明提出的VSDDB方法與CLINK算法分別進(jìn)行擁塞鏈路推斷并對(duì)推斷性能進(jìn)行比較。鏈路擁塞先驗(yàn)概率迭代求解:為了驗(yàn)證VSDDB方法中,利用稀疏系數(shù)矩陣線性方程組求解方法迭代求解鏈路擁塞先驗(yàn)概率唯一解的有效性,模擬一定規(guī)模(500個(gè)節(jié)點(diǎn))的Waxman(1000條鏈路)、BA(997條鏈路)及GLP(923條鏈路)IP網(wǎng)絡(luò)模型,Congestion-link-ratio=0.1,模擬30次鏈路擁塞事件,且路由不變的實(shí)驗(yàn)場(chǎng)景。對(duì)不同迭代算法求解性能進(jìn)行比較,迭代算法中誤差限=10-3。利用不同算法迭代求解式(11)中各鏈路擁塞先驗(yàn)概率唯一解,其迭代次數(shù)及運(yùn)行時(shí)間分別如表1所示。算法運(yùn)行時(shí)間為連續(xù)迭代求解10次取平均值后所得結(jié)果。表1不同算法的先驗(yàn)概率迭代求解性能比較通過(guò)實(shí)驗(yàn),Jacobi算法在不同類型、規(guī)模的IP網(wǎng)絡(luò)模型中,迭代求解鏈路擁塞先驗(yàn)概率均不能實(shí)現(xiàn)算法收斂。Gauss-Seidel、SOR、SSOR(SymmetricSOR)、CG以及SSOR分裂PCG(SSORPCG)算法均能在可接受的時(shí)間內(nèi)實(shí)現(xiàn)收斂。其中,SSORPCG算法因SSOR分裂具有對(duì)稱因子,在一定程度上能夠加速CG算法收斂,收斂步數(shù)最少;而SOR算法收斂時(shí)間最短。因此,在VSDDB算法中,可選擇SOR或SSORPCG算法迭代求解鏈路擁塞先驗(yàn)概率,以確保大規(guī)模IP網(wǎng)絡(luò)擁塞鏈路先驗(yàn)概率求解的準(zhǔn)確性及實(shí)時(shí)性,為擁塞鏈路在線推斷提供保障。不變路由下VSDDB方法性能:Brite拓?fù)渖善饕阅J(rèn)參數(shù)生成150個(gè)節(jié)點(diǎn)規(guī)模的Waxman、BA及GLP模型,VSDDB方法中,設(shè)置0.05Congestion-link-ratio0.6,擁塞鏈路推斷DR及FPR如圖3。根據(jù)圖3,隨著Congestion_link-ratio增大,DR呈下降趨勢(shì)。其中,GLP模型下DR最高,其次是BA模型,Waxman模型最低。這與IP網(wǎng)絡(luò)模型的拓?fù)浣Y(jié)構(gòu)有直接關(guān)系,因Waxman模型路徑長(zhǎng)度較長(zhǎng),VSDDB算法以最小覆蓋集問(wèn)題(SetCoverProblem,SCP)作為理論基礎(chǔ)進(jìn)行擁塞鏈路推斷,當(dāng)同一條路徑中最有可能擁塞的鏈路被推斷出來(lái)后,除非此鏈路在其余路徑中為最有可能擁塞的鏈路,否則該路徑下的其余鏈路在本路徑中將不再被推斷。而B(niǎo)A模型及GLP模型為冪律模型,網(wǎng)絡(luò)中部分路由器度值較大,共用路徑較Waxman模型多。因此,對(duì)Waxman模型的擁塞鏈路推斷DR較GLP及BA模型有明顯下降。VSDDB方法FPR在GLP模型下最低,不高于0.1,BA模型及Waxman模型下在0.2附近。在路由不變的GLP模型下,VSDDB方法擁塞鏈路推斷結(jié)果與CLINK算法基本一致。驗(yàn)證了VSDDB方法擁塞鏈路推斷的通用性。變路由下算法推斷性能比較:為了驗(yàn)證VSDDB方法對(duì)動(dòng)態(tài)路由IP網(wǎng)絡(luò)擁塞鏈路推斷的有效性及準(zhǔn)確性,對(duì)150個(gè)節(jié)點(diǎn)的Waxman、BA及GLP模型,30次snapshots中,利用隨機(jī)數(shù)發(fā)生器以Congestion-link-ratio比例模擬鏈路擁塞事件;Route-changing-threshold=4作為路由改變閾值,并以最短路徑優(yōu)先策略重新選路。在相同的擁塞鏈路場(chǎng)景下,分別利用VSDDB方法與CLINK算法進(jìn)行當(dāng)前時(shí)刻擁塞鏈路推斷。(1)不同Congestion-link-ratio對(duì)算法的影響設(shè)置0.05Congestion-link-ratio0.6,兩種算法擁塞鏈路推斷DR及FPR如圖4a~圖4b所示。由圖可知,不同IP網(wǎng)絡(luò)模型下,兩種方法DR均呈下降趨勢(shì)。VSDDB算法DR明顯高于CLINK算法。VSDDB方法在GLP模型下DR最高,其次是BA模型和Waxman模型。變路由下CLINK算法的推斷性能較不變路由時(shí)明顯降低,由于GLP模型冪律性強(qiáng),鏈路在多條E2E路徑中存在,造成DR下降最多,較路由不變時(shí)平均下降50%以上;對(duì)BA模型,平均下降40%左右;對(duì)Waxman模型平均下降30%左右。VSDDB方法DR也較路由不變時(shí)平均下降10%左右,F(xiàn)PR較不變路由時(shí)平均升高10%。當(dāng)擁塞鏈路比例增大時(shí),VSDDB表現(xiàn)出較強(qiáng)的魯棒性,穩(wěn)定性能明顯優(yōu)于CLINK。(2)路由變化快慢對(duì)算法的影響為了驗(yàn)證VSDDB方法在不同IP網(wǎng)絡(luò)環(huán)境下的推斷性能,利用鏈路連續(xù)擁塞snapshots次數(shù)觸發(fā)路由表更新來(lái)模擬IP網(wǎng)絡(luò)變路由的速度。模擬實(shí)驗(yàn)中,分別設(shè)置Route-changing-threshold=1~4次導(dǎo)致路由變化的場(chǎng)景。如:Route-changing-threshold=1即發(fā)生路由改變,說(shuō)明待推斷IP網(wǎng)絡(luò)路由變化頻繁;反之,路由變化較慢。對(duì)150個(gè)節(jié)點(diǎn)的Waxman、BA及GLP模型IP網(wǎng)絡(luò),設(shè)置Congestion-link-ratio=0.1,兩種算法擁塞鏈路推斷DR及FPR如圖5a~圖5b所示。由圖可知,路由變化越快,兩種算法DR均越低,F(xiàn)PR越高。DR隨路由變化頻率增大呈線性下降趨勢(shì)。VSDDB方法在GLP模型下DR最高,其次是BA及Waxman模型;在GLP模型下FPR最低,其次是BA及Waxman模型。不同模型下,VSDDB方法的推斷性能均優(yōu)于CLINK。(3)不同網(wǎng)絡(luò)規(guī)模對(duì)算法的影響為了驗(yàn)證VSDDB方法對(duì)不同規(guī)模下的IP網(wǎng)絡(luò)擁塞鏈路推斷性能。以默認(rèn)參數(shù)生成節(jié)點(diǎn)數(shù)(Node-number)50~350變化的Waxman、BA及GLP模型,設(shè)置Congestion-link-ratio=0.2,Route-changing-threshold=4,兩種方法擁塞鏈路推斷DR及FPR如圖6a~圖6b所示。由圖可知,對(duì)不同規(guī)模的IP網(wǎng)絡(luò),VSDDB方法推斷性能均優(yōu)于CLINK。其中,VSDDB方法在GLP模型下推斷DR最高,其次是BA及Waxman模型;在GLP模型下FPR最低,其次是BA及Waxman模型。對(duì)不同規(guī)模的IP網(wǎng)絡(luò),VSDDB方法較CLINK有更高的魯棒性,擁塞鏈路推斷DR及FPR均較CLINK穩(wěn)定。Emulab仿真實(shí)驗(yàn)評(píng)價(jià):實(shí)際IP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)大部分服從冪律規(guī)則,在Emulab實(shí)驗(yàn)平臺(tái)上進(jìn)行仿真實(shí)驗(yàn):(1)使用Brite拓?fù)渖善饕阅J(rèn)參數(shù)生成20個(gè)節(jié)點(diǎn),且服從冪律規(guī)則分布的GLP模型Brite文件;(2)導(dǎo)入Brite文件,搭建被測(cè)網(wǎng)絡(luò),并將探針及性能監(jiān)控臺(tái)接入被測(cè)網(wǎng)絡(luò);(3)由性能監(jiān)控臺(tái)給各發(fā)包路由器探針下達(dá)探測(cè)任務(wù),并將測(cè)得數(shù)據(jù)上傳至性能監(jiān)控臺(tái),分別利用VSDDB及CLINK進(jìn)行擁塞鏈路推斷。(1)網(wǎng)絡(luò)拓?fù)洌涸O(shè)置仿真IP網(wǎng)絡(luò)中各鏈路帶寬100Mbps,時(shí)延15ms;(2)選路協(xié)議:IP網(wǎng)絡(luò)采用OSPF協(xié)議,E2E路徑服從最短路徑優(yōu)先選路規(guī)則。設(shè)置鏈路擁塞時(shí)延大于8min后重新選路,各路由器路由表2min內(nèi)可實(shí)現(xiàn)穩(wěn)定,鏈路在2min內(nèi)可恢復(fù)正常數(shù)據(jù)傳輸;(3)鏈路狀態(tài):采用LM1模型,鏈路擁塞時(shí),丟包率服從[0.05,1]均勻分布;鏈路正常時(shí),丟包率服從[0,0.01]均勻分布。為每條鏈路賦初始丟包率后,鏈路丟包服從Gilbert過(guò)程。即:鏈路狀態(tài)在擁塞與正常之間波動(dòng)。處于正常狀態(tài)時(shí)不丟包;處于擁塞狀態(tài)時(shí)全丟包。鏈路每隔2min以Congestion-link-ratio比例按照隨機(jī)數(shù)規(guī)律變化產(chǎn)生擁塞事件。本次仿真實(shí)驗(yàn)場(chǎng)景下,僅對(duì)路由器節(jié)點(diǎn)Node6進(jìn)行發(fā)包探針部署,需進(jìn)行主動(dòng)發(fā)包探測(cè)的E2E路徑12條,鏈路覆蓋18條。性能監(jiān)控臺(tái)每隔2min對(duì)探針發(fā)送指令進(jìn)行一次snapshots。設(shè)置Congestion-link-ratio=0.1。兩算法的推斷DR及FPR為10次實(shí)驗(yàn)結(jié)果取平均值后得出,如表2所示。表2Emulab仿真實(shí)驗(yàn)算法推斷精度算法DR(檢測(cè)率)FPR(誤報(bào)率)VSDDB87.9%7.6%CLINK63.7%15.1%Internet實(shí)驗(yàn)評(píng)價(jià):為了驗(yàn)證VSDDB在實(shí)際IP網(wǎng)絡(luò)中擁塞鏈路推斷性能,在PlanetLab平臺(tái)構(gòu)建一由50個(gè)節(jié)點(diǎn)組成的拓?fù)渚W(wǎng)絡(luò),選取部分端主機(jī)作為發(fā)包路由器,最大程度的覆蓋整個(gè)待測(cè)網(wǎng)絡(luò)。由于實(shí)際Internet網(wǎng)絡(luò)中,各鏈路丟包率數(shù)值無(wú)法準(zhǔn)確獲知,即缺少DR及FPR計(jì)算式(20)中的Benchmark(F)。因此,本發(fā)明借鑒現(xiàn)有對(duì)算法推斷性能的評(píng)價(jià)方法。首先,將待測(cè)Internet網(wǎng)絡(luò)中各端到端路徑集合以隨機(jī)方式分為兩個(gè)大小相等的路徑集合:推斷路徑集合Ι及驗(yàn)證路徑集合Ρ。在集合Ι中,對(duì)各E2E路徑每隔4分鐘進(jìn)行一次snapshots,共進(jìn)行30次。(1)利用traceroute獲取每次snapshots中,各E2E路徑途經(jīng)路由器節(jié)點(diǎn),由此得到各E2E路徑途經(jīng)鏈路,由于路由器有多個(gè)端口,同一個(gè)路由器可能由多個(gè)端口與其他路由器相連,因此,實(shí)測(cè)實(shí)驗(yàn)中利用sr-ally工具將多個(gè)IP地址(端口)但歸屬同一路由器的節(jié)點(diǎn)進(jìn)行合并;(2)利用ping從發(fā)包節(jié)點(diǎn)向各端節(jié)點(diǎn)發(fā)送100個(gè)60字節(jié)UDP包,獲取每次E2E路徑性能測(cè)量結(jié)果。根據(jù)集合Ι中30次snapshots得到的數(shù)據(jù),利用VSDDB方法及CLINK算法進(jìn)行集合Ι中各鏈路擁塞先驗(yàn)概率求解。并對(duì)整個(gè)待測(cè)網(wǎng)絡(luò)各E2E路徑進(jìn)行1次snapshots,得到各路徑途經(jīng)鏈路及性能探測(cè)結(jié)果,利用VSDDB方法及CLINK算法進(jìn)行集合Ι中擁塞鏈路推斷,得到兩種算法推斷結(jié)果。根據(jù)E2E路徑中至少存在一條擁塞鏈路,則路徑擁塞原理。分別以兩種算法推斷出的擁塞鏈路集合確定路徑集合Ρ中的擁塞路徑集合,并對(duì)照該路徑在snapshots中得到的實(shí)際路徑丟包率測(cè)量值,判斷兩種算法的推斷準(zhǔn)確性。兩算法的推斷DR及FPR為10次實(shí)驗(yàn)結(jié)果取平均值后得出,如表3所示。表3Internet實(shí)測(cè)實(shí)驗(yàn)算法推斷精度算法DR(檢測(cè)率)FPR(誤報(bào)率)VSDDB92.1%4.2%CLINK87.2%10.5%由于CLINK算法未考慮Internet網(wǎng)絡(luò)動(dòng)態(tài)路由中各端到端路徑途經(jīng)鏈路改變對(duì)推斷性能帶來(lái)的影響。因此,擁塞鏈路推斷過(guò)程中,如E2E路徑路由發(fā)生改變,將造成CLINK算法推斷結(jié)果與當(dāng)前實(shí)際IP網(wǎng)絡(luò)環(huán)境中擁塞鏈路不一致。但是,推斷過(guò)程中,如路由未發(fā)生改變,則VSDDB方法與CLINK算法推斷結(jié)果一致。另外,如某鏈路僅在T2的靜態(tài)貝葉斯網(wǎng)模型中,而不在T1的靜態(tài)貝葉斯網(wǎng)模型中,說(shuō)明此鏈路在T2處在擁塞路徑中,在T1或處于正常路徑或因路由算法選路策略未參與到E2E路徑中,但無(wú)論哪種情況,此鏈路在T2均應(yīng)作為擁塞路徑途經(jīng)的可能擁塞鏈路進(jìn)行推斷;如某鏈路僅在T1的貝葉斯網(wǎng)模型中,而未出現(xiàn)在T2的貝葉斯網(wǎng)模型中,則說(shuō)明此鏈路在T1中處在擁塞路徑中,而T2中可能因選路策略未被E2E路徑覆蓋。通常,此鏈路應(yīng)仍處于擁塞狀態(tài)中,仍可作為擁塞鏈路進(jìn)行推斷。本發(fā)明對(duì)這兩種情況均采用t=1的情況進(jìn)行處理。但是,也有可能此鏈路在T2中為正常路徑途經(jīng)的鏈路。此時(shí),推斷可能存在誤差。另外,如先驗(yàn)概率學(xué)習(xí)過(guò)程中的多次snapshots中,E2E路徑始終擁塞,則式(10)中路徑擁塞概率值為1。而在進(jìn)行鏈路擁塞先驗(yàn)概率計(jì)算時(shí),將不滿足對(duì)數(shù)函數(shù)定義域要求,程序出現(xiàn)錯(cuò)誤。對(duì)此問(wèn)題進(jìn)行修正:當(dāng)路徑擁塞概率Pi=1時(shí),將值微調(diào)為0.99,調(diào)整后不影響該路徑在全網(wǎng)各擁塞路徑中所占比重。此外,如果選路矩陣D在N次snapshots探測(cè)后的第N+1次snapshots發(fā)生變化,而推斷時(shí)刻E2E路徑途經(jīng)了擁塞先驗(yàn)概率學(xué)習(xí)過(guò)程中未覆蓋的鏈路,將對(duì)推斷性能造成影響。但此情況發(fā)生概率極低,對(duì)算法推斷效果影響較小。以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)變換,或直接或間接運(yùn)用在其他相關(guān)的
技術(shù)領(lǐng)域:
,均包括在本發(fā)明的專利保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)1 2 3