董守玲 李佳 張凌
(華南理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,廣東廣州510006)
拓?fù)浒l(fā)現(xiàn)是網(wǎng)絡(luò)管理的一項(xiàng)基本功能.由于下一代互聯(lián)網(wǎng)IPv6協(xié)議中地址結(jié)構(gòu)等方面的變化以及IPv6網(wǎng)絡(luò)中龐大的節(jié)點(diǎn)數(shù)量,適用于IPv4網(wǎng)絡(luò)的拓?fù)浒l(fā)現(xiàn)方法已不再適用于IPv6網(wǎng)絡(luò)環(huán)境.由于Traceroute6探測(cè)方法是利用ICMPv6消息發(fā)現(xiàn)從源地址到目的地址之間通過(guò)的路由器來(lái)得到網(wǎng)絡(luò)拓?fù)?,它?dú)立于IP的特性使得許多學(xué)者研究采用Traceroute6探測(cè)方法對(duì)IPv6的骨干網(wǎng)網(wǎng)絡(luò)層的拓?fù)溥M(jìn)行拓?fù)浒l(fā)現(xiàn).Astic等[1]提出了一種基于Traceroute6的分級(jí)結(jié)構(gòu)的拓?fù)浒l(fā)現(xiàn)思想,該方法雖然對(duì)局域網(wǎng)的管理收到了良好的效果,但需要在每一個(gè)子網(wǎng)內(nèi)安置探測(cè)點(diǎn),系統(tǒng)較為復(fù)雜.Daniel等[2]提出了一種利用源路由選項(xiàng)進(jìn)行改進(jìn)的基于Traceroute6的拓?fù)浒l(fā)現(xiàn)思想,對(duì)6Bone網(wǎng)絡(luò)進(jìn)行了大規(guī)模的探測(cè),但是目前并不是所有路由器都支持IPv6的源路由選項(xiàng),而且利用源路由機(jī)制進(jìn)行拓?fù)浒l(fā)現(xiàn)會(huì)大幅增加探測(cè)時(shí)間.國(guó)內(nèi)在IPv6網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)領(lǐng)域的研究起步較晚,同樣主要研究基于Traceroute6的拓?fù)浒l(fā)現(xiàn)方法[3-7],這種方法通用性好,算法容易實(shí)現(xiàn),但存在路由別名的問(wèn)題(同一路由器的不同接口地址被誤認(rèn)為是多個(gè)路由器),致使準(zhǔn)確性不高;此外,Traceroute6探測(cè)方法不能發(fā)現(xiàn)網(wǎng)段信息,而且如果給定的探測(cè)目的地址缺少部分邊界路由器,則這些邊界路由器及相連鏈路不能被發(fā)現(xiàn),或發(fā)現(xiàn)的信息不完整.若增加探測(cè)節(jié)點(diǎn)來(lái)提升完整性,則會(huì)增加探測(cè)時(shí)間以及出現(xiàn)更多的路由別名問(wèn)題.針對(duì)Traceroute6拓?fù)浒l(fā)現(xiàn)方法存在的不足,許多學(xué)者也在使用源路由提高完整性、減少路由別名、減少冗余探測(cè)提高性能方面進(jìn)行了探討和研究[8-12].
開(kāi)放式最短路徑優(yōu)先(OSPF)協(xié)議是一個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議,用于在單一自治系統(tǒng)內(nèi)決策路由.OSPF域中的每臺(tái)路由器上都有一個(gè)鏈路狀態(tài)數(shù)據(jù)庫(kù),存放關(guān)于整個(gè)路由域的鏈路狀態(tài)信息.當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化時(shí),路由器之間通過(guò)交換過(guò)程和泛洪過(guò)程實(shí)現(xiàn)鏈路狀態(tài)數(shù)據(jù)庫(kù)的動(dòng)態(tài)同步,從而得到本區(qū)域的拓?fù)浣Y(jié)構(gòu).如果能與網(wǎng)絡(luò)上的路由器交換信息,就可以得到網(wǎng)絡(luò)拓?fù)湫畔?曾有學(xué)者利用OSPF協(xié)議進(jìn)行IPv4網(wǎng)絡(luò)環(huán)境下的拓?fù)浒l(fā)現(xiàn)[13].這種發(fā)現(xiàn)方法的準(zhǔn)確率令人滿意,而且包含豐富的子網(wǎng)信息,更重要的是,該方法不存在路由別名的問(wèn)題.但是,該方法只能得到子網(wǎng)信息,不能得到接口信息,而且OSPF從第3版本(OSPFv3,用于IPv6網(wǎng)絡(luò))開(kāi)始不再用IPv6地址標(biāo)識(shí)路由器,雖然OSPFv3協(xié)議在IPv6網(wǎng)絡(luò)的路由設(shè)計(jì)中得到了廣泛的應(yīng)用,但該發(fā)現(xiàn)方法在IPv6環(huán)境中的使用受到了限制.
基于Traceroute6的拓?fù)浒l(fā)現(xiàn)方法和基于OSPF路由協(xié)議發(fā)現(xiàn)方法各有優(yōu)缺點(diǎn),如果將這兩種拓?fù)浒l(fā)現(xiàn)方法結(jié)合,就可以利用OSPFv3發(fā)現(xiàn)的拓?fù)湫畔?lái)對(duì)Traceroute6發(fā)現(xiàn)的信息進(jìn)行補(bǔ)充和修正,改善拓?fù)浣Y(jié)果的覆蓋率以及解決路由別名的問(wèn)題,而利用Traceroute6發(fā)現(xiàn)的信息又可以標(biāo)識(shí)OSPFv3發(fā)現(xiàn)的路由器的IPv6地址及接口.
這兩種拓?fù)浒l(fā)現(xiàn)方法結(jié)合的難點(diǎn)在于,基于Traceroute6的拓?fù)浒l(fā)現(xiàn)方法是用IPv6地址來(lái)標(biāo)識(shí)路由器的,而OSPFv3協(xié)議不包含地址信息,它是用RouterID來(lái)標(biāo)識(shí)路由器的.
筆者曾提出一個(gè)名為ANTDBMP的算法[14].該算法分別使用基于Traceroute6的拓?fù)浒l(fā)現(xiàn)方法和基于OSPF的拓?fù)浒l(fā)現(xiàn)方法進(jìn)行拓?fù)浒l(fā)現(xiàn),并基于跳數(shù)(hop)成功地將兩種方法發(fā)現(xiàn)的結(jié)果進(jìn)行整合,得到了較好的效果.但這種基于跳數(shù)的整合方法也存在一些不足之處,而且系統(tǒng)效率不高.針對(duì)這個(gè)問(wèn)題,文中提出一個(gè)新的IPv6網(wǎng)絡(luò)拓?fù)湫畔⒌恼纤惴―IAITD(Distance-Based Integrated Algorithm for IPv6 Topology Discovery),并通過(guò)實(shí)際網(wǎng)絡(luò)對(duì)該算法進(jìn)行了測(cè)試.
根據(jù)OSPF協(xié)議,每臺(tái)運(yùn)行OSPF路由協(xié)議的路由器必須用RouterID來(lái)唯一標(biāo)識(shí).RouterID通常為一個(gè)IPv4地址或者是一個(gè)有意義的字符串.若僅僅拿RouterID和基于Traceroute6探測(cè)發(fā)現(xiàn)的IPv6地址作對(duì)比,很難發(fā)現(xiàn)兩者的直接聯(lián)系.由于OSPF的鏈路狀態(tài)通知中有豐富的子網(wǎng)信息,可以利用子網(wǎng)信息來(lái)查找兩種拓?fù)浒l(fā)現(xiàn)方法的關(guān)聯(lián)之處.
ANTDBMP算法[14]首先將利用 Traceroute6發(fā)現(xiàn)的IPv6地址和利用OSPFv3協(xié)議發(fā)現(xiàn)的子網(wǎng)信息進(jìn)行比對(duì),確定地址分布在哪些網(wǎng)段內(nèi);然后采用UDP數(shù)據(jù)包探測(cè)法計(jì)算IPv6地址以及屬于該子網(wǎng)的OSPF路由器的跳數(shù),根據(jù)對(duì)比跳數(shù)來(lái)確定IPv6地址屬于哪一臺(tái)OSPF路由器;最后通過(guò)其它信息對(duì)特殊的情況進(jìn)行分析和修正.
但是,ANTDBMP算法存在一些缺陷.首先,OSPF路由器的跳數(shù)計(jì)算是將該路由器的RouterID作為目標(biāo)地址進(jìn)行Traceroute6操作從而得出,如果RouterID不是IPv4地址而是一個(gè)有意義的字符串(例如路由器的位置),則無(wú)法計(jì)算OSPF路由器的跳數(shù);其次,即使所有RouterID都是IPv4地址,當(dāng)Traceroute6的某IPv4地址出現(xiàn)目的地不可達(dá)時(shí)(路由器設(shè)置了不回應(yīng)),就得不到該地址的跳數(shù);再者,即使所有地址都可達(dá),跳數(shù)都能正確返回,同一路由器的不同地址也會(huì)因?yàn)槁酚杀硪?guī)定的路徑不同而返回不同的跳數(shù).如圖1所示,路由器R1、R2、R3兩兩相連,以R1為探測(cè)源點(diǎn),到達(dá)R3的路徑就有兩條:路徑1(跳數(shù)為2,R1-R3);路徑2(跳數(shù)為3,R1-R2-R3).當(dāng)對(duì) R3上的 RouterID進(jìn)行 Traceroute6操作時(shí),可能路由表選了路徑2,而對(duì)R3的一個(gè)IPv6地址進(jìn)行Traceroute6操作時(shí),路由表選了路徑1,那么返回的跳數(shù)就不一樣,這時(shí)根據(jù)跳數(shù)進(jìn)行判斷就會(huì)判斷錯(cuò)誤.
圖1 不同的傳輸路徑及其返回的跳數(shù)Fig.1 Different transmission paths and their hops
由于基于跳數(shù)結(jié)合的方法在某些情況下變得不可靠,文中提出一種新的結(jié)合方式,不再用跳數(shù)進(jìn)行判斷,而是利用連接關(guān)系表中的信息.
定義D(A)為連接關(guān)系表中節(jié)點(diǎn)A到網(wǎng)關(guān)的最短距離,N1、N2、N3為子網(wǎng),IPA、IPB、IPC 為 IPv6地址.
根據(jù)網(wǎng)絡(luò)路由器之間的連接關(guān)系,有如下性質(zhì).
性質(zhì)1 對(duì)于任何存根子網(wǎng),有且只有一臺(tái)路由器屬于該存根子網(wǎng).
根據(jù)性質(zhì)1可以得到如下結(jié)論:?N1∈存根子網(wǎng),?R1∈N1,?IPA∈N1,如果 D(IPA)=D(R1),那么IPA∈R1.
性質(zhì)2 對(duì)于任何路由器間子網(wǎng),有且只有兩臺(tái)路由器屬于該子網(wǎng),它們有共同的子網(wǎng)前綴.
根據(jù)性質(zhì)2可以得到如下結(jié)論:?N1∈路由器間子網(wǎng),?R1∈N1,?R2∈N1,?IPA∈N1,如果D(IPA)=D(R1)且 D(IPA)≠D(R2),那么 IPA∈R1.
性質(zhì)3 一個(gè)路由器的不同接口具有不同的子網(wǎng)地址.
根據(jù)上述性質(zhì)和結(jié)論,分別定義基于OSPF路由協(xié)議的拓?fù)浒l(fā)現(xiàn)方法和基于Traceroute6的拓?fù)浒l(fā)現(xiàn)方法得到的節(jié)點(diǎn)間的連接關(guān)系為L(zhǎng)inkList_OSPF和 LinkList_Traceroute6.以 LinkList_OSPF 為例,以網(wǎng)關(guān)作為根節(jié)點(diǎn),通過(guò)最短路徑算法求出在連接關(guān)系表中其它所有節(jié)點(diǎn)到網(wǎng)關(guān)的最短距離.對(duì)LinkList_Traceroute6作同樣的分析,然后以這個(gè)距離作為度量值.
取出由Traceroute6拓?fù)浒l(fā)現(xiàn)方法得到的一個(gè)IPv6地址IPA,從子網(wǎng)集合Subnet_OSPF中進(jìn)行查找,看是否存在與IPA地址前綴匹配的子網(wǎng)N1,若N1對(duì)應(yīng)的OSPF路由器有且只有一臺(tái)路由器R1(即N1為存根子網(wǎng)),則比較 D(IPA)和D(R1),若相等,則IPA屬于R1;若存在另外一個(gè)路由器R2(即N1為路由器間子網(wǎng)),則分別比較D(IPA)、D(R1)和D(R2),從而得出IPA屬于哪一臺(tái)路由器.
但僅僅用距離來(lái)進(jìn)行判斷時(shí),在以下情況下會(huì)失效:當(dāng)測(cè)試地址(記為IPA)為路由器間網(wǎng)絡(luò)的地址,且兩臺(tái)OSPF路由器(記為R1和R2)與網(wǎng)關(guān)的距離相等時(shí),無(wú)法判斷IPA是屬于R1還是屬于R2,如圖2所示.
圖2 IPA、R1、R2與網(wǎng)關(guān)的最短距離Fig.2 Shortest distances between gateway and IPA,R1and R2
解決方法1 對(duì)于距離相等的情況,取IPA的子網(wǎng)前綴prefixA,根據(jù)prefixA構(gòu)造一個(gè)新的該子網(wǎng)下的任意地址IPB.例如,prefixA為2001:da8:250:3001::,可以構(gòu)造一個(gè) IPv6地址2001:da8:250:3001::45.通過(guò)網(wǎng)關(guān)對(duì)IPB發(fā)ICMP探測(cè)包,則該網(wǎng)段的路由器地址通常選擇發(fā)出回應(yīng)包的接口(如圖2中的IPC)返回一個(gè)地址不可達(dá)的ICMP回應(yīng)包,若D(IPC)=D(IPA)且IPC≠IPA,則IPC與IPA是同一路由器下的兩個(gè)接口地址,接下來(lái)只需分別查看R1與R2的子網(wǎng)表,通常有且只有一個(gè)路由器包含IPC所在子網(wǎng)的信息,從而認(rèn)定IPA屬于那臺(tái)有IPC子網(wǎng)信息的路由器.
解決方法2 查看接口表,看IPA所在路由器是否存在其它接口地址.假設(shè)存在其它地址IPC是IPA所在路由器上的另一接口地址,如圖3所示.既然IPA和IPC是同一路由器的不同接口地址,而只有一個(gè)接口會(huì)遇到同一個(gè)網(wǎng)段距離相等的情況,因此IPC不會(huì)出現(xiàn)同一個(gè)網(wǎng)段距離相等的問(wèn)題.對(duì)IPC采用上述提到的基于距離的整合方法,可以判斷IPC位于路由器R1上,因此作為同一路由器的接口地址,IPA也屬于路由器R1.
圖3 同一路由器上的接口與網(wǎng)關(guān)的最短距離Fig.3 Shortest distances between gateway and interfaces on the same router
解決方法3 查看子網(wǎng)表和接口表,查看是否存在前綴同樣為prefixA的其它接口地址.如圖3所示,存在與IPA前綴相同的IPD.由于同一路由器間網(wǎng)絡(luò)里有且只有兩個(gè)接口地址,因此,若利用解決方法1和2能確定出IPD屬于哪一臺(tái)路由器(見(jiàn)圖3,IPD屬于R2),相應(yīng)地就能確定IPA屬于該網(wǎng)段下的另一臺(tái)路由器(即R1).
通過(guò)上述3種解決方法,能有效解決基于距離的整合方法出現(xiàn)距離相同時(shí)無(wú)法判斷的問(wèn)題.
這種基于距離的DIAITD算法無(wú)需發(fā)ICMP包進(jìn)行探測(cè),只需分析連接關(guān)系表,在減少網(wǎng)絡(luò)通信的同時(shí)縮短了分析時(shí)間;而且,最短路徑算法是一個(gè)被廣泛使用的成熟算法,其時(shí)間復(fù)雜度不高,只要連接關(guān)系表的數(shù)據(jù)正確,計(jì)算出來(lái)的距離就是正確的,這樣便保證了DIAITD算法的準(zhǔn)確率;再者,由于無(wú)需借用RouterID進(jìn)行判斷,整合方法與路由協(xié)議無(wú)關(guān),因此該結(jié)合方法同樣適用于其它拓?fù)浒l(fā)現(xiàn)方法間的結(jié)合,具有很好的通用性.
下面給出DIAITD算法描述,其中RouterList_Traceroute6代表基于Traceroute6獲取的路由器節(jié)點(diǎn)集合,RouterList_OSPF代表基于OSPFv3獲取的路由器節(jié)點(diǎn)集合,LinkList_Traceroute6代表基于Traceroute6獲取的連接關(guān)系,LinkList_OSPF代表基于OSPFv3獲取的連接關(guān)系,Subnet_OSPF代表基于OSPFv3獲取的子網(wǎng)集合,D(A)代表A與網(wǎng)關(guān)之間的距離,CurDistance表示與網(wǎng)關(guān)的最短距離計(jì)數(shù),baseNodeList表示已處理的節(jié)點(diǎn)列表.
首先計(jì)算基于所有OSPF路由器到網(wǎng)關(guān)的最短距離,其算法描述如下:
其次計(jì)算Traceroute6獲得的IPv6地址到網(wǎng)關(guān)的最短距離,算法與上述算法類似,此處不再贅述.
根據(jù)上述計(jì)算的最短距離,對(duì)拓?fù)浒l(fā)現(xiàn)結(jié)果進(jìn)行整合.其算法描述如下:
計(jì)算所有路由器到網(wǎng)關(guān)的最短距離時(shí),最壞的情況時(shí)要遍歷LinkList才能找到對(duì)應(yīng)Ri的記錄,此時(shí)時(shí)間復(fù)雜度為O(ML),其中M為RouterList的大小,L為L(zhǎng)inkList的大小;在整合時(shí),最壞的情況下要遍歷子網(wǎng)表才能找到對(duì)應(yīng)Ri的子網(wǎng)記錄,測(cè)試算法的時(shí)間復(fù)雜度為O(MS),S為Subnet_OSPF的大小.因此總的復(fù)雜度為O(ML)+O(MS).
基于文中所提出的拓?fù)浒l(fā)現(xiàn)整合算法,使用java語(yǔ)言在Linux環(huán)境中設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)IPv6網(wǎng)絡(luò)層拓?fù)浒l(fā)現(xiàn)系統(tǒng).該系統(tǒng)包含5個(gè)模塊:2個(gè)探測(cè)引擎、1個(gè)拓?fù)湔夏K、1個(gè)拓?fù)浔4嬉约?個(gè)拓?fù)滹@示模塊.
2個(gè)探測(cè)引擎中的一個(gè)基于利用源路由改進(jìn)的Traceroute6方法,另一個(gè)基于OSPFv3路由協(xié)議.系統(tǒng)利用這兩個(gè)探測(cè)引擎分別去收集網(wǎng)絡(luò)拓?fù)湫畔?其中,基于Traceroute6的探測(cè)引擎收集信息分為初步探測(cè)拓?fù)潆A段、源路由測(cè)試階段以及交叉路徑發(fā)現(xiàn)階段.基于OSPFv3路由協(xié)議的發(fā)現(xiàn)方法是將計(jì)算機(jī)模擬成路由器,與網(wǎng)絡(luò)上的路由器交換網(wǎng)絡(luò)拓?fù)湫畔?,從而得到完整的網(wǎng)絡(luò)拓?fù)湫畔ⅲ?5].在整合模塊中,利用DIAITD算法把兩個(gè)拓?fù)浒l(fā)現(xiàn)引擎的拓?fù)浒l(fā)現(xiàn)結(jié)果進(jìn)行整合.整合后的拓?fù)浣Y(jié)果可以通過(guò)拓?fù)滹@示模塊進(jìn)行顯示,也可以通過(guò)拓?fù)浔4婺K保存進(jìn)數(shù)據(jù)庫(kù).
實(shí)驗(yàn)在華南理工大學(xué)校園網(wǎng)上進(jìn)行,為測(cè)試系統(tǒng)的各項(xiàng)指標(biāo)分別進(jìn)行了多項(xiàng)測(cè)試,同時(shí)比較新舊算法的準(zhǔn)確性、完整性以及效率.
測(cè)試1 比較改進(jìn)的基于距離的拓?fù)湫畔⒄纤惴?DIAITD算法)和舊的基于跳數(shù)的整合算法(ANTDBMP算法).
為保證測(cè)試的真實(shí)性,隨機(jī)采用每臺(tái)路由器上的一個(gè)接口地址作為探測(cè)節(jié)點(diǎn),共22個(gè).通過(guò)OSPF探測(cè)引擎發(fā)現(xiàn)OSPF路由器22臺(tái),通過(guò)Traceroute6探測(cè)引擎發(fā)現(xiàn)31個(gè)IPv6地址,結(jié)合情況如表1所示,其中,準(zhǔn)確率為成功結(jié)合的IPv6地址數(shù)與IPv6地址總數(shù)之比.
表1 新舊拓?fù)湫畔⒄纤惴òl(fā)現(xiàn)整合效果對(duì)比Table 1 Comparison of integration effect between original and new algorithms for topology information integration
表1的數(shù)據(jù)顯示,基于距離的DIAITD算法向網(wǎng)絡(luò)發(fā)送了10個(gè)ICMP探測(cè)包,這是由于測(cè)試時(shí)程序遇到了第1.2節(jié)中提到的距離相等的問(wèn)題,而其采用解決方法1來(lái)解決問(wèn)題,因此產(chǎn)生了網(wǎng)絡(luò)通信.通過(guò)對(duì)比發(fā)現(xiàn),新的基于距離的拓?fù)浒l(fā)現(xiàn)整合算法比基于跳數(shù)的算法更加準(zhǔn)確,分析整合時(shí)間和發(fā)包數(shù)也大為減少.
測(cè)試2 分別采用基于OSPF的拓?fù)浒l(fā)現(xiàn)方法、基于Traceroute6的拓?fù)浒l(fā)現(xiàn)方法和DIAITD整合算法對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試,結(jié)果如表2所示.
表2 3種拓?fù)浒l(fā)現(xiàn)算法結(jié)果的比較Table 2 Comparison of results among three topology discovery algorithms
從表2中可以看出,OSPFv3發(fā)現(xiàn)方法只能發(fā)現(xiàn)子網(wǎng)信息,不能得到接口信息,Traceroute6發(fā)現(xiàn)方法可以發(fā)現(xiàn)接口信息,但是不能發(fā)現(xiàn)網(wǎng)段信息,并且存在別名問(wèn)題,這導(dǎo)致發(fā)現(xiàn)的路由器和連接關(guān)系個(gè)數(shù)與真實(shí)情況有出入.另外Traceroute6發(fā)現(xiàn)的接口個(gè)數(shù)與探測(cè)節(jié)點(diǎn)集合的大小有關(guān),由于本次探測(cè)的探測(cè)節(jié)點(diǎn)只有22個(gè),因此只發(fā)現(xiàn)了31個(gè)接口,大量的接口信息不能被發(fā)現(xiàn).DIAITD整合算法不僅可以發(fā)現(xiàn)路由器設(shè)備,還可以發(fā)現(xiàn)子網(wǎng)及接口,發(fā)現(xiàn)的信息比單獨(dú)的OSPFv3發(fā)現(xiàn)方法或Traceroute6發(fā)現(xiàn)方法更為完整,經(jīng)驗(yàn)證與真實(shí)拓?fù)鋱D更為吻合.由于整合算法的接口信息來(lái)源于Traceroute6發(fā)現(xiàn)方法,因此接口數(shù)目與Traceroute6發(fā)現(xiàn)方法發(fā)現(xiàn)的一樣.
測(cè)試3 校園網(wǎng)環(huán)境與加入公網(wǎng)環(huán)境拓?fù)浣Y(jié)果的比較.
在原有地址集合里增加了3個(gè)公網(wǎng)地址:上海交通大學(xué)的地址(ipv6.sjtu.edu.cn,IP 為 2001:da8:8000:1::80)、華南農(nóng)業(yè)大學(xué)的地址(ipv6.scau.edu.cn,IP 為 2001:da8:2004:1000:202:116:160:48)和谷歌的地址(ipv6.google.com,IP 為 2404:6800:8003::69).探測(cè)結(jié)果如表3所示.
表3 校園網(wǎng)環(huán)境與公網(wǎng)環(huán)境拓?fù)浒l(fā)現(xiàn)結(jié)果比較Table 3 Comparison of discovery results between campus network and public network
表3表明,在增加了3個(gè)公網(wǎng)地址后,除子網(wǎng)個(gè)數(shù)沒(méi)有變化外,路由器個(gè)數(shù)、連接關(guān)系個(gè)數(shù)和接口個(gè)數(shù)都有不同程度的增加.子網(wǎng)個(gè)數(shù)沒(méi)有變化的原因是子網(wǎng)信息是利用OSPF協(xié)議發(fā)現(xiàn)的,而公網(wǎng)和校園網(wǎng)不屬于同一個(gè)OSPF域,因此運(yùn)用OSPF協(xié)議只能獲得華南理工大學(xué)校園網(wǎng)的信息,在校外的網(wǎng)絡(luò)只能用Traceroute來(lái)探測(cè).在這種情況下,校外的子網(wǎng)就不能被發(fā)現(xiàn)了.
文中設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于距離的IPv6校園網(wǎng)拓?fù)浒l(fā)現(xiàn)整合算法,該算法將兩種不同的拓?fù)浒l(fā)現(xiàn)方法的拓?fù)浣Y(jié)果進(jìn)行整合.測(cè)試結(jié)果證明,該算法能更有效、準(zhǔn)確、迅速地整合拓?fù)湫畔?拓?fù)湫畔⒌恼鲜且粋€(gè)相對(duì)新的研究領(lǐng)域,雖然文中方法目前只能對(duì)Traceroute6和OSPF協(xié)議的拓?fù)浣Y(jié)構(gòu)進(jìn)行整合,但基于OSPF協(xié)議的廣泛應(yīng)用以及Traceroute6的通用性,整合之后的結(jié)果無(wú)論從完整度和精確度來(lái)看都比單一拓?fù)浒l(fā)現(xiàn)方法更接近實(shí)際網(wǎng)絡(luò)情況,這種基于距離的整合方法定能對(duì)處于同一個(gè)OSPF域的IPv6校園網(wǎng)拓?fù)浒l(fā)現(xiàn)提供有效幫助.
[1]Astic I,F(xiàn)estor O.A hierarchical topology discovery service for IPv6 networks[C]∥Proceedings of 2002 IEEE/IFIP Network Operations and Management Symposium.Florence:Institute of Electrical and Electronics Engineers Incorporation,2002:497-510.
[2]Daniel G W,F(xiàn)angzhe C,Ramesh V,et al.Topology discovery for public IPv6 networks[J].Computer Communications Review,2003,33(3):59-68.
[3]Dong S L,Zhang L,Lan C F.Compatible IPv4 and IPv6 networks topology discovery schema based on general protocols[C]∥Proceedings of 2007 International Conference on Broadband Network & Multimedia Technology.Beijing:IC-BNMT,2007:307-311.
[4]Liu Z S,Luo J Y,Wang Q X.Large scale topology discovery for public IPv6 networks[C]∥Proceedings of 7th International Conference on Networking.Cancun:IEEE Computer Society,2008:639-644.
[5]李元臣,劉維群,匡國(guó)防,等.基于 Traceroute6的 IPv6網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù)[J].計(jì)算機(jī)應(yīng)用,2008,28(3):560-562.Li Yuan-chen,Liu Wei-qun,Kuang Guo-fang,et al.Topology discovery for IPv6 networks based on Traceroute6[J].Computer Applications,2008,28(3):560-562.
[6]宮晨,郎昕培,陳英,等.IPv6骨干網(wǎng)絡(luò)的拓?fù)浒l(fā)現(xiàn)[J].計(jì)算機(jī)科學(xué),2006,33(4):29-31.Gong Chen,Lang Xin-pei,Chen Ying,et al.Topology discovery for backbone of IPv6 networks[J].Computer Science,2006,33(4):29-31.
[7]叢林,陳陽(yáng),鄧北星,等.CERNET2 IPv6網(wǎng)絡(luò)層拓?fù)浒l(fā)現(xiàn)[J].廈門大學(xué)學(xué)報(bào):自然科學(xué)版,2007,46(增刊 2):6-8.Cong Lin,Chen Yang,Deng Bei-xing,et al.The IPv6 network layer topology discovery of CERNET2 [J].Journal of Xiamen University:Natural Science,2007,46(Suppl 2):6-8.
[8]周苗,楊家海,吳建平.基于滑動(dòng)地址序列的IPv6網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)引擎[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2009,49(8):1241-1244.Zhou Miao,Yang Jia-hai,Wu Jian-ping.IPv6 topology discovery engine based on a sequence of sliding addresses[J].Journal of Tsinghua University:Science and Technology,2009,49(8):1241-1244.
[9]楊柳,李振宇,張大方,等.冗余最小化的IPv6拓?fù)浒l(fā)現(xiàn)方法 [J].計(jì)算機(jī)研究與發(fā)展,2007,44(6):939-946.Yang Liu,Li Zhen-yu,Zhang Da-fang,et al.Topology discovery with smallest redundancy in IPv6 [J].Journal of Computer Research and Development,2007,44(6):939-946.
[10]Zhu M M,Luo J Y.An improved solution for IPv6 network topology discovery based on source routing mechanism[C]∥Proceedings of the 2009 International Conference on Communication Softwareand Networks.Macau:IEEE Computer Society,2009:279-282.
[11]Qian S Y,Wang Y H,Xu K.Utilizing destination options header to resolve IPv6 alias resolution[C]∥2010 IEEE Global Telecommunications Conference.Miami:Institute of Electrical and Electronics Engineers Incorporation,2010:1-6.
[12]Qian S Y,Xu M,Qiao Z L,et al.Route positional method for IPv6 alias resolution[C]∥2010 Proceedings of 19th International Conference on Computer Communications and Networks.Zurich:Institute of Electrical and Electronics Engineers Incorporation,2010:1-6.
[13]徐建鋒,鄧永平,丁圣勇.基于OSPF服務(wù)器的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2004,24(8):98-100.Xu Jian-feng,Deng Yong-ping,Ding Sheng-yong.OSPF server based network topology discovery[J].Computer Applications,2004,24(8):98-100.
[14]Dong S L,Li J,Zhang L,et al.A novel algorithm of IPv6 network topology discovery for campus network[C]∥2011 International Conference on Computer Science and Service System.Nanjing:IEEE Computer Society,2011:68-71.
[15]董守玲,張凌,董守斌,等.基于IPv6的下一代互聯(lián)網(wǎng)拓?fù)浒l(fā)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法:中國(guó),ZL 201010275867.x[P].2012-03-28.