王 黎,張潤(rùn)生
(中國(guó)電子科技集團(tuán)公司第五十四研究所,石家莊 050081)
Technology Study
基于最大似然的網(wǎng)絡(luò)拓?fù)渫茢嗉夹g(shù)研究(一)
王 黎,張潤(rùn)生
(中國(guó)電子科技集團(tuán)公司第五十四研究所,石家莊 050081)
本文針對(duì)基于主動(dòng)探測(cè)的網(wǎng)絡(luò)拓?fù)渫茢鄦?wèn)題,提出了基于廣義似然比的拓?fù)渫茢嗉夹g(shù),仿真結(jié)果表明,該算法有較高的拓?fù)渫茢嗑取?/p>
網(wǎng)絡(luò)分析;拓?fù)浣Y(jié)構(gòu);拓?fù)渫茢?;最大似?/p>
本文以網(wǎng)絡(luò)拓?fù)涮綔y(cè)為出發(fā)點(diǎn),將網(wǎng)絡(luò)限定為規(guī)模較小的IP網(wǎng)絡(luò),假設(shè)探測(cè)節(jié)點(diǎn)已接入目標(biāo)網(wǎng)絡(luò),探討此情景下基于最大似然的網(wǎng)絡(luò)拓?fù)渫茢鄦?wèn)題。提出了一種基于子樹(shù)序貫合并的網(wǎng)絡(luò)拓?fù)渫茢嗨惴?,首先將每個(gè)葉子節(jié)點(diǎn)都作為一顆子樹(shù),由最大似然算法估計(jì)各個(gè)子樹(shù)之間的相關(guān)性,取其中相關(guān)性最大的兩顆子樹(shù);然后應(yīng)用廣義似然比假設(shè)檢驗(yàn)算法來(lái)判斷兩子樹(shù)的合并方式并對(duì)其進(jìn)行合并;接著對(duì)合并后的子樹(shù)集合重復(fù)以上過(guò)程直至子樹(shù)集合中只有一顆樹(shù)為止。該算法使用似然比方法合并子樹(shù),無(wú)需設(shè)置懲罰參數(shù),具有更高的穩(wěn)健性。
樹(shù)狀網(wǎng)絡(luò)拓?fù)淇山橛邢蜻壿嫎?shù)[8,9]T,令T=(V,E),V為樹(shù)中的頂點(diǎn)集合,對(duì)應(yīng)于網(wǎng)絡(luò)中的主機(jī)、路由器等,V由根節(jié)點(diǎn)s、葉子節(jié)點(diǎn)集合D(其葉子節(jié)點(diǎn)個(gè)數(shù)為Nr=|D|)以及內(nèi)部節(jié)點(diǎn)集合I構(gòu)成;E為邊集合,對(duì)應(yīng)于網(wǎng)絡(luò)中的通信鏈路。令樹(shù)根節(jié)點(diǎn)s為源節(jié)點(diǎn),樹(shù)的葉子節(jié)點(diǎn)集合D為接收節(jié)點(diǎn)。令U=sUD為端節(jié)點(diǎn),易得U中所有節(jié)點(diǎn)的度都為1(假設(shè)每個(gè)端節(jié)點(diǎn)僅與一個(gè)路由器相連)。該邏輯樹(shù)[10]中除根節(jié)點(diǎn)之外的所有非葉子節(jié)點(diǎn)均至少有兩個(gè)孩子節(jié)點(diǎn),除根節(jié)點(diǎn)之外的所有節(jié)點(diǎn)v∈IUD均有惟一的父節(jié)點(diǎn)f(v);令(f(v),v),f(v),v∈V表示v與其父節(jié)點(diǎn)之間的鏈路;令(s,v)為根節(jié)點(diǎn)s與節(jié)點(diǎn)v之間的鏈路;令a(i,j),i≠j,i,j∈D為節(jié)點(diǎn)對(duì){i,j}最深(距根節(jié)點(diǎn)最遠(yuǎn))的公共父節(jié)點(diǎn),可見(jiàn)a(i,j)為源節(jié)點(diǎn)s到節(jié)點(diǎn)對(duì){i,j}的分支節(jié)點(diǎn);令p(i,j)為{(s,i),(s,j)}的共享鏈路,即P(i,j)=(s,a(i,j))。
定義葉子節(jié)點(diǎn)的相關(guān)性為γij=¥(P(i,j)),¥(P(i,j))表示節(jié)點(diǎn)對(duì){i,j}共享鏈路上的某種性能的度量(排隊(duì)時(shí)延方差、丟包率方差等),滿足¥(P(i,j))∝P(i,j),可見(jiàn)拓?fù)錁?shù)中葉子節(jié)點(diǎn)對(duì)的共享鏈路越長(zhǎng),相關(guān)性越大。葉子節(jié)點(diǎn)相關(guān)性滿足以下條件[8]:
(1)單調(diào)性:如果P(i,j)是P(k,l)的子鏈路,其中,i,j,k,l∈D且i≠j,k≠l,則有γij<γkl。
(2)一致性:如果P(i,j)與P(k,l)為相同鏈路,即a(i,j)=a(k,l),其中,i,j,k,l∈D且i≠j,k≠l,則γij=γkl。
定理1:集合A={γij,a(i,j)=p;i,j∈D;i≠j}與集合B={γik,a(i,k)=q;i,k∈D;i≠k}中元素?cái)?shù)值相等的充要條件是內(nèi)部節(jié)點(diǎn)p和節(jié)點(diǎn)q為樹(shù)狀拓?fù)渲械耐粌?nèi)部節(jié)點(diǎn),即p=q。
證明:由于集合A中元素都是具有相同父節(jié)點(diǎn)的葉子節(jié)點(diǎn)之間的相關(guān)性,因此A中各個(gè)元素?cái)?shù)值相等,同理B中各個(gè)元素的數(shù)值也相等,因此要證明A與B中各個(gè)元素的數(shù)值都相等,只需證明γij=γik即可。首先證明充分性,p=q即a(i,j)=a(i,k)表明由源節(jié)點(diǎn)s到節(jié)點(diǎn)對(duì){i,j}的共享鏈路(s,a(i,j)與s到節(jié)點(diǎn)對(duì){i,k}的共享鏈路(s,a(i,k))為同一鏈路,又由于節(jié)點(diǎn)相關(guān)性的大小由節(jié)點(diǎn)對(duì)的共享鏈路長(zhǎng)度決定,因此可得γij=γik。再證明必要性,反證法,假設(shè)γij=γik,p≠q,即a(i,j)≠a(i,k),由于p,q分別為源節(jié)點(diǎn)s到{i,j}和{i,k}的分支節(jié)點(diǎn),那么p,q都位于鏈路(s,i)上,又由于p≠q,則鏈路(s,p)的長(zhǎng)度不等于鏈路(s,q)的長(zhǎng)度,即由源節(jié)點(diǎn)s到節(jié)點(diǎn)對(duì){i,j}的共享鏈路(s,a(i,j))的長(zhǎng)度與s到節(jié)點(diǎn)對(duì){i,k}的共享鏈路(s,a(i,k))的長(zhǎng)度不相等,那么可得節(jié)點(diǎn)對(duì){i,j}的相關(guān)性不等于節(jié)點(diǎn)對(duì){i,k}的相關(guān)性,即γij≠γik,與假設(shè)γij=γik矛盾,因此若γij=γik必有p=q,證畢。
圖1 樹(shù)狀拓?fù)涫疽鈭D
性質(zhì)1[8]:在節(jié)點(diǎn)相關(guān)性測(cè)量過(guò)程中網(wǎng)絡(luò)的統(tǒng)計(jì)特性平穩(wěn)的條件下,根據(jù)葉子節(jié)點(diǎn)相關(guān)性的一致性
推論1:內(nèi)部節(jié)點(diǎn)p和節(jié)點(diǎn)q為樹(shù)狀拓?fù)渲械耐粌?nèi)部節(jié)點(diǎn)(即p=q)的充分條件是
證明:易得M→∞,Nnorm→∞時(shí),
由推論1可得,我們可以通過(guò)檢驗(yàn)集合A與B的均值是否相等來(lái)判斷拓?fù)渲袃?nèi)部節(jié)點(diǎn)p和q是否為同一節(jié)點(diǎn),本文算法正是基于這一思想來(lái)判斷子樹(shù)的合并方式。
本節(jié)基于廣義似然比檢測(cè)通過(guò)對(duì)子樹(shù)序貫合并來(lái)推斷樹(shù)狀拓?fù)?。文獻(xiàn)[6,9]應(yīng)用了節(jié)點(diǎn)合并的方法推斷拓?fù)洌湔业阶钕嚓P(guān)子樹(shù)之后都按照二叉樹(shù)來(lái)合并,這顯然與真實(shí)情況相去甚遠(yuǎn)。本算法的創(chuàng)新之處在于:分析了最相關(guān)子樹(shù)的各種可能的合并方式;提出了基于廣義似然比檢測(cè)的子樹(shù)合并方式判定方法。
3.1 子樹(shù)合并
3.1.1 尋找最相關(guān)子樹(shù)
首先給出子樹(shù)相關(guān)性的定義,任取兩顆子樹(shù)Ti,Tj,二者的葉子節(jié)點(diǎn)集合分別為U和V,葉子節(jié)點(diǎn)個(gè)數(shù)分別為K,L,則子樹(shù)Ti與Tj之間的相關(guān)性定義為
式中,γkl為子樹(shù)Ti中的葉子節(jié)點(diǎn)k與子樹(shù)Tj中的葉子節(jié)點(diǎn)l的相關(guān)性。
定理2:如果序貫合并過(guò)程中每次選擇的兩棵子樹(shù){Ti,Tj}均為最相關(guān)子樹(shù),則每次子樹(shù)合并的合并點(diǎn)(兩樹(shù)合并的接觸點(diǎn))在合并后的樹(shù)中僅可能體現(xiàn)為原子樹(shù)的根節(jié)點(diǎn)或者原子樹(shù)根節(jié)點(diǎn)的父節(jié)點(diǎn)。其中合并點(diǎn)是為合并兩顆子樹(shù)而創(chuàng)建的新節(jié)點(diǎn),如圖2中節(jié)點(diǎn)q。
證明:反證法,不失一般性,我們假設(shè)兩子樹(shù)的合并點(diǎn)為左子樹(shù)Ti根節(jié)點(diǎn)的孩子節(jié)點(diǎn),如圖2所示,實(shí)線表示左子樹(shù)Ti,虛線表示右子樹(shù)Tj,兩子樹(shù)合并點(diǎn)為q,則q為左子樹(shù)根節(jié)點(diǎn)i的孩子節(jié)點(diǎn),那么此時(shí)從源節(jié)點(diǎn)s到節(jié)點(diǎn)i的鏈路長(zhǎng)度要小于從源節(jié)點(diǎn)s到節(jié)點(diǎn)q的鏈路長(zhǎng)度,則可得(1):子樹(shù)b與子樹(shù)j的相關(guān)性大于子樹(shù)a和子樹(shù)b的相關(guān)性;而又由于序貫合并過(guò)程中每次選擇的子樹(shù)對(duì){i,j}均為最相關(guān)子樹(shù),則可得(2):子樹(shù)b與子樹(shù)j的相關(guān)性小于子樹(shù)a和子樹(shù)b的相關(guān)性。顯然(1)與(2)矛盾,因此如果滿足序貫合并過(guò)程中每次選擇的子樹(shù)對(duì){i,j}均為最相關(guān)子樹(shù),則每次子樹(shù)合并的合并點(diǎn)必為子樹(shù)的根節(jié)點(diǎn)或者子樹(shù)根節(jié)點(diǎn)的父節(jié)點(diǎn),而不可能是兩棵子樹(shù)根節(jié)點(diǎn)的孩子節(jié)點(diǎn)。
圖2 子樹(shù)合并示意圖
給定子樹(shù)集合{Tl,l=1,…L},任取其中兩顆子樹(shù)Ti,Tj,二者的葉子節(jié)點(diǎn)集合分別為U和V。子樹(shù)Ti所有葉子節(jié)點(diǎn)與Tj所有葉子節(jié)點(diǎn)之間的相關(guān)性集合為Γ={γuv,u∈U,v∈V },u,v分別為子樹(shù)Ti與Tj的葉子節(jié)點(diǎn)。由于對(duì)于任意u和v,在其待推斷的真實(shí)拓?fù)渲芯哂邢嗤淖钌罡腹?jié)點(diǎn),所以由定理1得,集合Γ中所有元素都有相同的數(shù)值,定義這個(gè)數(shù)值為子樹(shù)之間的相關(guān)性γij。根據(jù)性質(zhì)1,我們可以認(rèn)為子樹(shù)Ti任意葉子節(jié)點(diǎn)u與Tj的任意葉子節(jié)點(diǎn)v之間的相關(guān)性采樣值,n=1,…,N,都服從相同的高斯分布N(γij,σ2),因此可根據(jù)(1)式估計(jì)Ti,Tj的相關(guān)性
3.1.2 子樹(shù)合并方式
在找到最相關(guān)子樹(shù)對(duì)之后,需要判定子樹(shù)的合并方式。兩個(gè)子樹(shù)的合并可分為三種情況,1)葉子節(jié)點(diǎn)數(shù)目均為1的兩子樹(shù)合并;2)葉子節(jié)點(diǎn)個(gè)數(shù)為1的子樹(shù)與葉子節(jié)點(diǎn)數(shù)不為1的子樹(shù)的合并;3)兩個(gè)葉子節(jié)點(diǎn)數(shù)目都不為1的子樹(shù)的合并。
由定理2可得,在情況1)中子樹(shù)的合并方式僅有一種,如圖3所示;情況2)中子樹(shù)有四種可能的合并方式如圖4所示;情況3)中子樹(shù)也有四種可能的合并方式,如圖5所示。圖中葉子節(jié)點(diǎn)數(shù)不為1的子樹(shù)由有兩個(gè)葉子節(jié)點(diǎn)的樹(shù)代表,實(shí)線表示左子樹(shù),虛線表示右子樹(shù)。
圖3 情況1的合并方式
圖4 情況2的合并方式
圖5 情況3的合并方式
設(shè)左右子樹(shù)的根節(jié)點(diǎn)分別為i和j,合并點(diǎn)為q,我們只需確定i,j,q中哪些點(diǎn)為相同的節(jié)點(diǎn),即可推斷出子樹(shù)以哪一種方式合并。對(duì)于情況1)只有一種合并方式;對(duì)于情況2)只需判斷節(jié)點(diǎn)數(shù)不為1的子樹(shù)的根節(jié)點(diǎn)是否與合并點(diǎn)q為相同的節(jié)點(diǎn)即可;對(duì)于情況3)我們需要判斷兩個(gè)子樹(shù)的根節(jié)點(diǎn)是否與合并點(diǎn)q為相同的節(jié)點(diǎn)。例如在情況3)的a方式(圖5)中i,j,q三個(gè)節(jié)點(diǎn)為不同的節(jié)點(diǎn);b中i,q兩點(diǎn)為相同節(jié)點(diǎn),j為獨(dú)立的節(jié)點(diǎn);c中j,q為相同的節(jié)點(diǎn),i為獨(dú)立的節(jié)點(diǎn);d中i,j,q三個(gè)節(jié)點(diǎn)為相同的節(jié)點(diǎn)。表1給出了情況3)子樹(shù)合并與i,j,q節(jié)點(diǎn)之間關(guān)系的映射。
表1 合并方式映射關(guān)系
接下來(lái),我們只需確定i,j,q三個(gè)節(jié)點(diǎn)的關(guān)系即可判定出子樹(shù)合并方式。由于序貫合并過(guò)程中滿足每次選擇的子樹(shù)對(duì){i,j}均為最相關(guān)子樹(shù),則結(jié)合定理2,可得合并點(diǎn)q的等價(jià)定義:設(shè)左右子樹(shù)的葉子節(jié)點(diǎn)集合分別為K,L,?k∈K,?l∈L,滿足a(k,l)=q。則可得節(jié)點(diǎn)q對(duì)應(yīng)的葉子節(jié)點(diǎn)相關(guān)性集合為C={,a(k,l)=q;k∈K;l∈L}。i,j對(duì)應(yīng)的葉子節(jié)點(diǎn)相關(guān)性集合分別為A={,a(m,n)=i;m,n∈K;m≠n},B={,a(u,v)=j(luò);u,v∈L;u≠v}。由推論1,我們可知,通過(guò)比較集合A,B,C的均值即可判定i,j,q三個(gè)節(jié)點(diǎn)的關(guān)系,進(jìn)而根據(jù)表1中的映射關(guān)系獲得子樹(shù)的合并方式。
我們采用廣義似然比的方法比較集合A,B,C的均值。
由于對(duì)于原始待推斷樹(shù)狀拓?fù)洌淙~子節(jié)點(diǎn)之間相關(guān)性的相對(duì)大小關(guān)系是確定的(因?yàn)橐獫M足單調(diào)性和一致性),那么在理想情況下葉子節(jié)點(diǎn)相關(guān)性的測(cè)量值的相對(duì)大小也滿足此確定關(guān)系,因此,只要保證推斷出的樹(shù)狀拓?fù)渲杏扇~子節(jié)點(diǎn)共享鏈路長(zhǎng)度表征的葉子節(jié)點(diǎn)相關(guān)性的相對(duì)大小關(guān)系,與實(shí)際中測(cè)得的葉子節(jié)點(diǎn)相關(guān)性的測(cè)量值的相對(duì)大小關(guān)系一致,即可認(rèn)為推斷出的拓?fù)渚褪谴茢嗟耐負(fù)?。分析我們的推斷過(guò)程,由于使用最相關(guān)子樹(shù)合并,因此在推斷過(guò)程中保證了相關(guān)性測(cè)量值較大的葉子節(jié)點(diǎn)之間的共享鏈路長(zhǎng)度大于相關(guān)性測(cè)量值較小的葉子節(jié)點(diǎn)之間的共享鏈路長(zhǎng)度,且合并過(guò)程中使用了合適的合并方式,保證了共享鏈路長(zhǎng)度相等的葉子節(jié)點(diǎn)有相同的公共父節(jié)點(diǎn),那么我們可得由最相關(guān)子樹(shù)合并方法推斷出的保留了葉子節(jié)點(diǎn)相關(guān)性的相對(duì)大小關(guān)系,其推斷出的拓?fù)渚褪窃纪負(fù)洹#ㄎ赐甏m(xù))
[1] DONNET D,FRIEDMAN T.Internet topology discovery:a survey[J].IEEE Communications Surveys and Tutorials,2007,9(4):2-15.
[2] ZHANG X,CHRIS P.A survey on selective routing topology inference through active probing[J].IEEE Communications Surveys &Tutorials,2012,14(4):1129-1141.
[3] 姜譽(yù),方濱興,胡銘曾..大型ISP網(wǎng)絡(luò)拓?fù)涠帱c(diǎn)測(cè)量及其特征分析實(shí)例[J].軟件學(xué)報(bào),2005,16(5):846-856
[4] COATES M,HERO A III,NOWAK R,YU B.Internet tomography[J].IEEE Signal Process Magazine,2002,19(3):47-65.
[5] 趙洪華,陳鳴.基于網(wǎng)絡(luò)層析成像技術(shù)的拓?fù)渫茢郲J].軟件學(xué)報(bào),2010,21(1):133-146
[6] DUFFIELD N,PRESTI F.Network tomography from measured end-to-end delay covariance[J].IEEE/ACM Transactions on Networking,2004,12(6):978-992.
[7] 李勇軍,蔡皖東,王偉.基于端到端報(bào)文丟失的網(wǎng)絡(luò)拓?fù)渫茰y(cè)算法研究[J].通信學(xué)報(bào),2007,28(10):85-91
[8] SHIH M F,HERO A.Hierarchical inference of unicast network topologies based on end to end measurements[J].IEEE Transactions on Signal Processing,2007,55(5):1708-1718.
[9] CASTRO R,COATES M.,NOWAK R.Likelihood based hierarchical clustering[J].IEEE Transactons on Signal Processing,2004,52(8):2308-2321.
[10] NI J,XIE H,TATIKONDA S.Efficient and dynamic routing topology inference from end-to-end measurements[J].IEEE/ACM Transactions on Networking,2010,18(1):123-135.
[11] ERIKSSON B,DASARATHY G,BARFORD P.Efficient network tomography for internet topology discovery[J].IEEE/ACM Transactions on Networking,2012,20(3):931-943.
[12] FEI G,HU G.Improving maximum-likelihood-based topology inference by sequentially inserting leaf nodes[J].IET Communications,2011,5(15):2221-2230.
[13] 費(fèi)高雷.基于單播端到端測(cè)量的網(wǎng)絡(luò)性能參數(shù)估計(jì)方法研究[D].成都:電子科技大學(xué)博士學(xué)位論文,2012
[14] 楊京禮,姜守達(dá),魏長(zhǎng)安,孫超.一種高效的單播網(wǎng)絡(luò)自適應(yīng)拓?fù)渫茰y(cè)算法[J].電子學(xué)報(bào),2013,41(10):1888-1894
[15] HENRY S,JOHN W W.Probability,Statistics,and random processes for engineers(fourth edtion)[M].New Jersey:Pearson Education Inc,2011.
[16] 現(xiàn)代數(shù)學(xué)手冊(cè).隨機(jī)數(shù)學(xué)卷[M].武漢:華中科技大學(xué)出版社,2000
[17] 周勇,馬昀蓓,謝尚宇,王曉靖.理工科概率統(tǒng)計(jì)(原書(shū)第8版)[M].北京:機(jī)械工業(yè)出版社,2009
[18] 饒?jiān)迫A,曹陽(yáng),楊艷,吳銳.基于Pareto分布的IP骨干節(jié)點(diǎn)輸入通信量模型[J].計(jì)算機(jī)科學(xué),2006,33(3):27-28
10.3969/J.ISSN.1672-7274.2016.05.011
TN911 文獻(xiàn)標(biāo)示碼:A
1672-7274(2016)05-0036-04