国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      覆蓋網(wǎng)備用路徑生成方法和裝置的制作方法

      文檔序號:7700543閱讀:114來源:國知局
      專利名稱:覆蓋網(wǎng)備用路徑生成方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及互聯(lián)網(wǎng)中的路由優(yōu)化,特別涉及基于分域協(xié)作的覆蓋網(wǎng)備 用路徑生成方法和裝置。
      背景技術(shù)
      互聯(lián)網(wǎng)在最初設計時只針對數(shù)據(jù)傳輸服務,因此它所采用的best-effort 數(shù)據(jù)傳輸方式僅僅提供了基本的端到端的連接,并不對丟包率、延遲、抖 動和帶寬等提供特別保證。然而,隨著因特網(wǎng)規(guī)模的擴張,大量新型應用 開始興起,其中很多應用對網(wǎng)絡傳輸性能的要求非??量?,例如,以網(wǎng)絡 視頻、在線游戲和虛擬現(xiàn)實等為代表的新型業(yè)務對互聯(lián)網(wǎng)提出了高帶寬、 低延遲、低抖動的需求。
      同時,作為傳統(tǒng)Internet網(wǎng)最核心的路由協(xié)議-BGP協(xié)議,自1995 年完成修訂后,迄今為止沒有進行過較大的修改,隨著網(wǎng)絡的飛速擴展與 互聯(lián)關(guān)系的日益復雜,BGP路由協(xié)議在處理端到端傳輸時,其收斂慢、冗 余性差、效率低的問題日漸凸顯,已很難適應大量實時業(yè)務的傳輸要求。
      早在90年代,為了解決實時業(yè)務傳輸質(zhì)量難以保證的問題,許多研 究人員先后提出了大量方案,IETF也制定了 Intserv和Diffserv兩種QoS 架構(gòu),試圖建立統(tǒng)一的解決方案。然而,由于互聯(lián)網(wǎng)的底層網(wǎng)絡資源分別 歸屬于不同的國家機構(gòu)和ISP,各自不同的利益追求很難達成整體的 一致, 因此,跨越多個網(wǎng)絡的傳輸無法實現(xiàn)可操作的端到端服務質(zhì)量保證方案。
      近年來,研究者們提出釆用在應用層架設覆蓋網(wǎng)(Overlay)的方式,來 繞過某些低效的BGP路徑以提升端到端的連接性能,縮短故障恢復時間。 所謂的覆蓋網(wǎng)是在現(xiàn)有因特網(wǎng)上構(gòu)建一個完全位于應用層的網(wǎng)絡系統(tǒng),即 在IPv4底層網(wǎng)絡的基礎上通過節(jié)點之間單播機制將主機兩兩連接起來, 形成一個虛擬、獨立的網(wǎng)絡。它存在于因特網(wǎng)基礎設施和應用程序之間, 利用ISP (Internet Service Provider,因特網(wǎng)服務提供商)提供的服務來向 其用戶提供更加優(yōu)化的服務??梢哉J為,覆蓋網(wǎng)是分布在因特網(wǎng)上的一組 提供服務的終端主機的集合,它們?yōu)?一個或多個應用程序提供下層的傳輸基礎設施,并在某種程度上處理和轉(zhuǎn)發(fā)應用程序的數(shù)據(jù)。覆蓋網(wǎng)主要包括 兩個部分,分別為覆蓋網(wǎng)節(jié)點和邏輯鏈路。覆蓋網(wǎng)節(jié)點可以是各種網(wǎng)絡功 能節(jié)點,如路由器、服務器等,甚至可以是終端,這些節(jié)點通常具有路由、
      數(shù)據(jù)處理和數(shù)據(jù)保存等功能;而邏輯鏈路是由底層網(wǎng)絡組成,通常對應底 層的一條或多條物理路徑。在Detour和RON等典型的Overlay技術(shù)中, 研究者們已通過建設相應的實驗網(wǎng),驗證了采用Overlay網(wǎng)絡相對BGP在 快速響應、故障恢復、業(yè)務QoS保證等方面的巨大優(yōu)勢。
      覆蓋網(wǎng)的主要功能之一是實現(xiàn)對業(yè)務數(shù)據(jù)傳輸?shù)膬?yōu)化,而實現(xiàn)覆蓋網(wǎng) 傳輸優(yōu)化的關(guān)鍵就是其路由方式?;趯ΜF(xiàn)有路由覆蓋網(wǎng)絡技術(shù)方案的分 析,最常見的覆蓋網(wǎng)路由傳輸方式是基于選取轉(zhuǎn)發(fā)節(jié)點繞路路由的方式。 這種路由方式主要采用了中繼轉(zhuǎn)發(fā)路由的技術(shù),即數(shù)據(jù)發(fā)送方把數(shù)據(jù)包發(fā) 給轉(zhuǎn)發(fā)節(jié)點,然后轉(zhuǎn)發(fā)節(jié)點將數(shù)據(jù)包中繼給數(shù)據(jù)接收方,從而構(gòu)造相應的 Overlay路徑。已有研究發(fā)現(xiàn)2-跳的Overlay路徑提供的傳輸性能、可靠性 及路徑多樣程度(path diversity )與多跳Overlay路徑提供的近似,因此大 多數(shù)覆蓋網(wǎng)出于簡便和易于實現(xiàn)(不需要通過覆蓋網(wǎng)絡層實現(xiàn)非常復雜的 路由機制)的目的,均采用這種經(jīng)過一個轉(zhuǎn)發(fā)節(jié)點轉(zhuǎn)發(fā)的2-跳覆蓋網(wǎng)路徑。
      對于這樣的繞路路由構(gòu)建方案,決定其所構(gòu)建路由的質(zhì)量的一個核心 因素就是轉(zhuǎn)發(fā)節(jié)點的選擇是否恰當。現(xiàn)有的大多數(shù)的Overlay網(wǎng)絡都是基 于覆蓋網(wǎng)自身的Overlay結(jié)構(gòu)進行轉(zhuǎn)發(fā)節(jié)點的選取和備用路徑的構(gòu)建。比 如,在參考文獻1 "D. Andersen, H. Balakrishnan, M. Kaashoek, and R. Morris.Resilient Overlay Networks. In Proc. of the l她Symposium on Operating System Principles, Banff, Canada, October 2001"中,RON對路徑 性能進行探測,基于探測結(jié)果進行路徑篩選;而在參考文獻2"C. Cheng,Y. Huan, H. Kung, C. Wu. Path probing relay routing for achieving high end-to-end performance. GLOBECOM 2004"中,Cheng提出了使用隨機搜 索的算法來發(fā)現(xiàn)可用的替換路徑。上述算法在實現(xiàn)路徑選取時,都只是基 于對Overlay路徑的分析,由于缺乏對底層網(wǎng)絡拓樸信息的分析和利用, 使得Overlay網(wǎng)絡中所使用的備用路徑與默認底層IP路徑所使用的物理鏈 路或路由器具有關(guān)聯(lián)性,即備用路徑可能會與默認路徑同時失效,因此實 際運行中所遇到的路徑故障大約有40 - 50%無法在此類Overlay網(wǎng)絡中避 免?;谏鲜鲈?,在覆蓋網(wǎng)中選擇鄰居轉(zhuǎn)發(fā)節(jié)點時,應當充分考慮底層 網(wǎng)絡的信息。

      發(fā)明內(nèi)容
      本發(fā)明的一個目的是克服現(xiàn)有技術(shù)中鄰居轉(zhuǎn)發(fā)節(jié)點所構(gòu)建的備用路 徑與默認路徑存在相關(guān)性的缺陷,從而提供一種備用路徑生成方法。 本發(fā)明的另一個目的是提供一種備用路徑生成裝置。
      為了實現(xiàn)上述目的,本發(fā)明提供了一種覆蓋網(wǎng)備用路徑生成方法,用 于在包括接入服務器節(jié)點、標志服務器節(jié)點、轉(zhuǎn)發(fā)節(jié)點和用戶節(jié)點的覆蓋 網(wǎng)上為源用戶節(jié)點選取合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建從源用戶節(jié)點到目的用戶
      節(jié)點的備用路徑,該方法包括
      步驟1 )、利用所述覆蓋網(wǎng)中的標志服務器節(jié)點對所述轉(zhuǎn)發(fā)節(jié)點做網(wǎng)絡
      測距,根據(jù)網(wǎng)絡測距結(jié)果計算任意兩個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度,由
      所述綜合性能相似度為具有相近性能的轉(zhuǎn)發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡;其
      中,在所述覆蓋網(wǎng)的一個自由域內(nèi)屬于同一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點擁有 同一個入口轉(zhuǎn)發(fā)節(jié)點;
      步驟2 )、所述接入服務器節(jié)點根據(jù)所述用戶節(jié)點的請求轉(zhuǎn)發(fā)節(jié)點消息 在所述用戶節(jié)點所在的自由域中選擇邏輯轉(zhuǎn)發(fā)網(wǎng)絡,然后通過所述邏輯轉(zhuǎn) 發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點找到與所述入口轉(zhuǎn)發(fā)節(jié)點在同 一 自由域且同 一邏 輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為服務轉(zhuǎn)發(fā)節(jié)點;所述服務轉(zhuǎn)發(fā)節(jié)點在所在的邏 輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算法,根據(jù)該算法的運行結(jié)果選擇轉(zhuǎn)發(fā)節(jié)點作為 一次候選轉(zhuǎn)發(fā)節(jié)點;其中,
      所述的BFBB算法在計算網(wǎng)絡拓樸圖中每個節(jié)點的度和核度后,在當 前節(jié)點上通過廣度優(yōu)先算法在所述網(wǎng)絡拓樸圖上選取核度值大于當前節(jié) 點的核度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點;若所 能找到的節(jié)點的數(shù)目無法滿足要求,則將當前節(jié)點的度與核度的商的值遞 減后,重新在當前節(jié)點上利用廣度優(yōu)先算法選取核度值大于當前節(jié)點的核 度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點,直到滿足對 所選取節(jié)點的數(shù)目要求;
      步驟3)、對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢測,保留通過性能 檢測的候選轉(zhuǎn)發(fā)節(jié)點,在所述用戶節(jié)點間進行業(yè)務通信時,根據(jù)業(yè)務從所 保留的候選轉(zhuǎn)發(fā)節(jié)點中選擇合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建備用路徑。
      上述技術(shù)方案中,在所述步驟2)中所得到的一次候選轉(zhuǎn)發(fā)節(jié)點的數(shù) 目小于用戶的需求時,在所述的步驟2)和所述的步驟3)之間還包括選取二次候選轉(zhuǎn)發(fā)節(jié)點的步驟,該步驟包括
      在所述覆蓋網(wǎng)的網(wǎng)絡拓樸圖上運行BFBB算法;
      根據(jù)所述BFBB算法的計算結(jié)果,從所述覆蓋網(wǎng)中選取一個自由域, 在該自由域內(nèi)選擇轉(zhuǎn)發(fā)節(jié)點作為二次候選轉(zhuǎn)發(fā)節(jié)點;所選取的轉(zhuǎn)發(fā)節(jié)點盡 量不屬于所述第 一用戶節(jié)點所在自由域內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      上述技術(shù)方案中,所述的步驟l)包括
      步驟1-1)、所述覆蓋網(wǎng)中的所有轉(zhuǎn)發(fā)節(jié)點對所述覆蓋網(wǎng)中的所有標志 服務器節(jié)點做網(wǎng)絡測距,得到關(guān)于延遲、丟包率和瓶頸帶寬的指標;
      步驟1-2)、根據(jù)所述指標計算任意兩個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似
      度;
      步驟l-3)、對所有的綜合性能相似度結(jié)果做排序,然后為所述排序結(jié) 果分段,將具有相近綜合性能的轉(zhuǎn)發(fā)節(jié)點分配到同一個邏輯轉(zhuǎn)發(fā)網(wǎng)絡。 上述技術(shù)方案中,所述的步驟l)還包括
      步驟1-4)、由所述邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點向鄰居域的入口轉(zhuǎn)發(fā) 節(jié)點做鏈路性能探測;所述鏈路性能包括路徑的延遲、丟包率和瓶頸帶寬;
      步驟1-5)、所述鏈路性能探測的結(jié)果保存到入口轉(zhuǎn)發(fā)節(jié)點的鏈路狀態(tài) 表中,所述鏈路狀態(tài)表的信息定時向鄰居域的入口轉(zhuǎn)發(fā)節(jié)點更新。
      上述技術(shù)方案中,在所述的步驟1-2)中,所述綜合性能相似度采用 下列公式計算
      ^表示節(jié)點A與節(jié)點B之間的綜合性能相似度,D"表示節(jié)點A與節(jié) 點B間的延遲相似度,L、表示節(jié)點A與節(jié)點B間的丟包率相似度,Bwav 表示節(jié)點A與節(jié)點B間的瓶頸帶寬相似度,《、 "、 Z為網(wǎng)絡系統(tǒng)對性能 的要求有關(guān)的常量值;其中,
      <formula>formula see original document page 11</formula>
      D亂表示節(jié)點A與覆蓋網(wǎng)中第i個標志服務器節(jié)點間的延遲指標,Ls亂表示節(jié)點A與覆蓋網(wǎng)中第i個標志服務器節(jié)點間的丟包率指標,Bv^表示 節(jié)點A與覆蓋網(wǎng)中第i個標志服務器節(jié)點間的瓶頸帶寬指標。 上述技術(shù)方案中,所述的步驟2)包括
      步驟2-1 )、所述接入服務器節(jié)點根據(jù)所述用戶節(jié)點發(fā)起的請求轉(zhuǎn)發(fā)節(jié) 點消息在所述用戶節(jié)點所在自由域中選擇邏輯轉(zhuǎn)發(fā)網(wǎng)絡,并將所述邏輯轉(zhuǎn) 發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點的地址通知所述用戶節(jié)點;
      步驟2-2 )、所述入口轉(zhuǎn)發(fā)節(jié)點根據(jù)所迷用戶節(jié)點發(fā)起的請求轉(zhuǎn)發(fā)節(jié)點 消息選取一個與該入口轉(zhuǎn)發(fā)節(jié)點具有相同自由域和相同邏輯轉(zhuǎn)發(fā)網(wǎng)絡的 轉(zhuǎn)發(fā)節(jié)點,作為為所述用戶節(jié)點服務的服務轉(zhuǎn)發(fā)節(jié)點;
      步驟2-3 )、所述服務轉(zhuǎn)發(fā)節(jié)點在自身的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算 法,根據(jù)算法的運行結(jié)果在所述覆蓋網(wǎng)中選擇有別于所述服務轉(zhuǎn)發(fā)節(jié)點所 在自由域的自由域,然后在所述自由域內(nèi)選擇與該服務轉(zhuǎn)發(fā)節(jié)點具有相同 邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為 一次候選轉(zhuǎn)發(fā)節(jié)點,所述一次候選轉(zhuǎn)發(fā)節(jié)點 返回給所述的第一用戶節(jié)點。
      上述技術(shù)方案中,所述的步驟2)還包括
      步驟2-4)、所述用戶節(jié)點將接收到的一次候選轉(zhuǎn)發(fā)節(jié)點與自身的一次
      候選轉(zhuǎn)發(fā)節(jié)點列表進行比較;
      步驟2-5 )、所述用戶節(jié)點向不存在于所述列表中的新的轉(zhuǎn)發(fā)節(jié)點發(fā)送
      自身的信息,從而在所述新的轉(zhuǎn)發(fā)節(jié)點的鏈路狀態(tài)表中查詢所述新的轉(zhuǎn)發(fā)
      節(jié)點所在自由域與所述用戶節(jié)點所在自由域之間的鏈路屬性信息; 步驟2-6 )、所述鏈路屬性信息返回并保存到所述用戶節(jié)點。 上述技術(shù)方案中,在所述的步驟2-1)中,所述接入服務器節(jié)點根據(jù)
      用戶節(jié)點發(fā)起的請求轉(zhuǎn)發(fā)節(jié)點消息在所述用戶節(jié)點所在自由域中選擇邏
      輯轉(zhuǎn)發(fā)網(wǎng)絡時,選擇盡可能多的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      上述技術(shù)方案中,在所述的選取二次候選轉(zhuǎn)發(fā)節(jié)點的步驟后,還包括 所述的用戶節(jié)點對所述的二次候選轉(zhuǎn)發(fā)節(jié)點做周期性的路徑性能探
      測,并將探測結(jié)果保存到所述用戶節(jié)點的鏈路狀態(tài)表中。
      上述技術(shù)方案中,在所述的步驟3)中,對候選轉(zhuǎn)發(fā)節(jié)點所能形成的
      路徑做性能檢測包括
      步驟3-l )、用戶節(jié)點根據(jù)業(yè)務的類型確定路徑的門限指標;
      步驟3-2 )、從所述一次候選轉(zhuǎn)發(fā)節(jié)點中選擇轉(zhuǎn)發(fā)節(jié)點;
      步驟3 -3 )、獲取一 用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至另 一 用戶節(jié)點的路徑性能;
      步驟3_4)、將步驟3-3)所獲取的路徑性能與步驟3-l)中所確定的門 限指標進行比較,根據(jù)比較結(jié)果確定路徑是否通過了性能檢測。
      上述技術(shù)方案中,對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢測還包

      步驟3-5 )、當所述一次候選轉(zhuǎn)發(fā)節(jié)點中能夠通過路徑性能檢測的轉(zhuǎn)發(fā) 節(jié)點數(shù)目無法滿足用戶要求時,從所述二次候選轉(zhuǎn)發(fā)節(jié)點中選擇轉(zhuǎn)發(fā)節(jié) 點;
      步驟3-6 )、獲取一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至另 一用戶節(jié)點的 路徑性能;
      步驟3-7)、將步驟3-6)所獲取的路徑性能與步驟3-l )中所確定的門 限指標進行比較,根據(jù)比較結(jié)果確定路徑是否通過了性能檢測。
      上述技術(shù)方案中,在所述的步驟3-3)中,獲取所述第一用戶節(jié)點經(jīng) 由所選擇的轉(zhuǎn)發(fā)節(jié)點至所述第二用戶節(jié)點的路徑性能包括
      從所選擇的轉(zhuǎn)發(fā)節(jié)點的鏈路狀態(tài)表中查詢從所述轉(zhuǎn)發(fā)節(jié)點所在自由 域到所述第二用戶節(jié)點所在自由域間的鏈路屬性,從所述第一用戶節(jié)點的 鏈路狀態(tài)表中獲取從所述第 一用戶節(jié)點所在自由域到所述轉(zhuǎn)發(fā)節(jié)點所在 自由域的鏈路屬性,進而獲取所述第一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至 所述第二用戶節(jié)點的路徑性能;
      或所選擇的轉(zhuǎn)發(fā)節(jié)點通過路徑探測,得到從所述轉(zhuǎn)發(fā)節(jié)點所在自由域 到所述第二用戶節(jié)點所在自由域間的鏈路屬性,從所述第 一用戶節(jié)點的鏈 路狀態(tài)表中獲取從所述第 一 用戶節(jié)點所在自由域到所述轉(zhuǎn)發(fā)節(jié)點所在自 由域的鏈路屬性,進而獲取所述第一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至所 述第二用戶節(jié)點的路徑性能。
      上述技術(shù)方案中,在所述的步驟3-6)中,獲取所述第一用戶節(jié)點經(jīng) 由所選擇的轉(zhuǎn)發(fā)節(jié)點至所述第二用戶節(jié)點的路徑性能包括
      所選擇的轉(zhuǎn)發(fā)節(jié)點通過路徑探測,得到從所述轉(zhuǎn)發(fā)節(jié)點所在自由域到 所述第二用戶節(jié)點所在自由域間的鏈路屬性,從所述第一用戶節(jié)點的鏈路 狀態(tài)表中獲取從所述第一用戶節(jié)點所在自由域到所述轉(zhuǎn)發(fā)節(jié)點所在自由 域的鏈路屬性,進而獲取所述第一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至所述 第二用戶節(jié)點的路徑性能。
      本發(fā)明還提供了 一種覆蓋網(wǎng)備用路徑生成裝置,用于在包括接入服務器節(jié)點、標志服務器節(jié)點、轉(zhuǎn)發(fā)節(jié)點和用戶節(jié)點的覆蓋網(wǎng)上為源用戶節(jié)點 選取合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建從源用戶節(jié)點到目的用戶節(jié)點的備用路徑,該 裝置包括邏輯轉(zhuǎn)發(fā)網(wǎng)絡創(chuàng)建模塊、 一次候選轉(zhuǎn)發(fā)節(jié)點選取模塊以及性能檢
      測模塊;其中,
      所述的邏輯轉(zhuǎn)發(fā)網(wǎng)絡創(chuàng)建模塊利用所述覆蓋網(wǎng)中的標志服務器節(jié)點 對所述轉(zhuǎn)發(fā)節(jié)點做網(wǎng)絡測距,根據(jù)網(wǎng)絡測距結(jié)果計算任意兩個轉(zhuǎn)發(fā)節(jié)點間 的綜合性能相似度,由所述綜合性能相似度為具有相近性能的轉(zhuǎn)發(fā)節(jié)點構(gòu) 建邏輯轉(zhuǎn)發(fā)網(wǎng)絡;其中,在所述覆蓋網(wǎng)的一個自由域內(nèi)屬于同一邏輯轉(zhuǎn)發(fā) 網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點擁有同 一 個入口轉(zhuǎn)發(fā)節(jié)點;
      所述的一次候選轉(zhuǎn)發(fā)節(jié)點選取模塊用于由所述接入服務器節(jié)點根據(jù)
      所述用戶節(jié)點的請求轉(zhuǎn)發(fā)節(jié)點消息在所述用戶節(jié)點所在的自由域中選擇 邏輯轉(zhuǎn)發(fā)網(wǎng)絡,然后通過所述邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點找到與所述入 口轉(zhuǎn)發(fā)節(jié)點在同 一 自由域且同 一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為服務轉(zhuǎn)發(fā) 節(jié)點;所述服務轉(zhuǎn)發(fā)節(jié)點在所在的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算法,根據(jù) 該算法的運行結(jié)果選擇轉(zhuǎn)發(fā)節(jié)點作為 一次候選轉(zhuǎn)發(fā)節(jié)點;其中,
      所述的BFBB算法在計算網(wǎng)絡拓樸圖中每個節(jié)點的度和核度后,在當 前節(jié)點上通過廣度優(yōu)先算法在所述網(wǎng)絡拓樸圖上選取核度值大于當前節(jié) 點的核度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點;若所 能找到的節(jié)點的數(shù)目無法滿足要求,則將當前節(jié)點的度與核度的商的值遞 減后,重新在當前節(jié)點上利用廣度優(yōu)先算法選取核度值大于當前節(jié)點的核 度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點,直到滿足對 所選取節(jié)點的數(shù)目要求;
      所述的性能檢測模塊用于對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢 測,保留通過性能檢測的候選轉(zhuǎn)發(fā)節(jié)點,在所述用戶節(jié)點間進行業(yè)務通信 時,根據(jù)業(yè)務從所保留的候選轉(zhuǎn)發(fā)節(jié)點中選擇合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建備用 路徑。
      上述技術(shù)方案中,還包括二次候選轉(zhuǎn)發(fā)節(jié)點選取模塊,該模塊用于在 所述覆蓋網(wǎng)的網(wǎng)絡拓樸圖上運行BFBB算法,然后根據(jù)所述BFBB算法的 計算結(jié)果,從所述覆蓋網(wǎng)中選取一個自由域,在該自由域內(nèi)選擇轉(zhuǎn)發(fā)節(jié)點 作為二次候選轉(zhuǎn)發(fā)節(jié)點;所選取的轉(zhuǎn)發(fā)節(jié)點盡量不屬于所述第一用戶節(jié)點 所在自由域內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      本發(fā)明的優(yōu)點在于本發(fā)明能夠顯著地提高轉(zhuǎn)發(fā)鄰居節(jié)點的命中率,降低所構(gòu)建備用路徑 與默認路徑同時發(fā)生故障的可能性。


      圖1為本發(fā)明中所涉及的覆蓋網(wǎng)的一個實施例的示意圖; 圖2為將覆蓋網(wǎng)中的轉(zhuǎn)發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡的示意圖; 圖3為一個AS內(nèi)且屬于同一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的所有轉(zhuǎn)發(fā)節(jié)點對外所提 供的入口轉(zhuǎn)發(fā)節(jié)點的示意圖4為邏輯轉(zhuǎn)發(fā)網(wǎng)絡中的各個節(jié)點發(fā)送鏈路狀態(tài)表的示意圖; 圖5為已經(jīng)為轉(zhuǎn)發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡的覆蓋網(wǎng)的示意圖; 圖6為對圖5中的用戶節(jié)點Cl與用戶節(jié)點C2建立業(yè)務通信的示意
      圖7為本發(fā)明的備用路徑生成方法的流程圖。
      具體實施例方式
      下面結(jié)合附圖和具體實施方式
      對本發(fā)明做進一步說明。
      在本發(fā)明中,所涉及的覆蓋網(wǎng)可以應用在多種類型的網(wǎng)絡,如P2P網(wǎng) 絡、CDN網(wǎng)絡以及各種Overlay網(wǎng)絡,如RON、 QRON、 NIRA.OverQos 等。在下面的實施例中,所涉及的覆蓋網(wǎng)不限于具體的網(wǎng)絡類型,可在前 面所提到的各種網(wǎng)絡上應用。
      在本發(fā)明中,覆蓋網(wǎng)中的各個節(jié)點可分為三種類型,包括服務節(jié)點、 轉(zhuǎn)發(fā)節(jié)點以及用戶節(jié)點,其中的服務節(jié)點又可進一步分為接入服務器節(jié)點 (Server)和標志服務器節(jié)點(Landmark)。所述的接入服務器節(jié)點用于存 儲和維護系統(tǒng)信息,而標志服務器節(jié)點則用于實現(xiàn)網(wǎng)絡測距,在本發(fā)明中, 所述的網(wǎng)絡測距主要包括測量延遲、抖動和瓶頸帶寬。所迷的轉(zhuǎn)發(fā)節(jié)點用 于向用戶提供穩(wěn)定的轉(zhuǎn)發(fā)服務,或在系統(tǒng)啟動時啟動路由轉(zhuǎn)發(fā)服務。所述 的用戶節(jié)點是網(wǎng)絡系統(tǒng)中接受路由優(yōu)化服務的客戶。上述的服務節(jié)點、轉(zhuǎn) 發(fā)節(jié)點以及用戶節(jié)點之間相互連接,從而構(gòu)成所述的覆蓋網(wǎng)。覆蓋網(wǎng)中各 種類型的節(jié)點都不限于一個。
      在上述覆蓋網(wǎng)中,不同用戶節(jié)點間做數(shù)據(jù)通信時存在默認的路徑,但 這些默認路徑會由于各種各樣的原因而發(fā)生故障,因此需要采用本發(fā)明的 方法從網(wǎng)絡中選擇合適的轉(zhuǎn)發(fā)節(jié)點,進而構(gòu)建最適合的備用路徑,使得默
      15換到這些備用路徑上實現(xiàn)用戶節(jié)點間的繼續(xù)通 信。本發(fā)明在為用戶節(jié)點選擇轉(zhuǎn)發(fā)節(jié)點時,需要首先為覆蓋網(wǎng)中的各個轉(zhuǎn)
      發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡(LFN, Logical Forward Network),將具有相似 性能的轉(zhuǎn)發(fā)節(jié)點分配到同 一個邏輯轉(zhuǎn)發(fā)網(wǎng)絡中,將性能存在明顯差異的轉(zhuǎn) 發(fā)節(jié)點分配到不同的邏輯轉(zhuǎn)發(fā)網(wǎng)絡中;然后再根據(jù)需要從各個邏輯轉(zhuǎn)發(fā)網(wǎng) 絡選擇候選鄰居轉(zhuǎn)發(fā)節(jié)點,從所述候選鄰居轉(zhuǎn)發(fā)節(jié)點中得到某一用戶節(jié)點 的轉(zhuǎn)發(fā)節(jié)點;最后就可以根據(jù)所選取的轉(zhuǎn)發(fā)節(jié)點構(gòu)建備用路徑。在對本發(fā) 明的上述實現(xiàn)方法做進一步說明前,首先對其中所涉及到的概念、算法做 統(tǒng)一的i兌明。
      一、綜合性能相似度計算方法
      在前面已經(jīng)提到,本發(fā)明需要將整個覆蓋網(wǎng)中具有相近性能的轉(zhuǎn)發(fā)節(jié) 點分配到同一邏輯轉(zhuǎn)發(fā)網(wǎng)絡中。對轉(zhuǎn)發(fā)節(jié)點的這一分配過程可通過綜合性 能相似度計算方法實現(xiàn)。
      在這一計算方法中,首先從覆蓋網(wǎng)中選取一個轉(zhuǎn)發(fā)節(jié)點,然后用這一 轉(zhuǎn)發(fā)節(jié)點對覆蓋網(wǎng)中所有的標志服務器節(jié)點做網(wǎng)絡測距,得到關(guān)于延遲、 丟包率和瓶頸帶寬的指標。若覆蓋網(wǎng)中的標志服務器節(jié)點有n個,則轉(zhuǎn)發(fā) 節(jié)點的網(wǎng)絡測距結(jié)果由n個分量組成,每個分量包括該轉(zhuǎn)發(fā)節(jié)點對一個標 志服務器節(jié)點的網(wǎng)絡測距結(jié)果。對覆蓋網(wǎng)中的所有轉(zhuǎn)發(fā)節(jié)點都做上述搡 作,即可得到所有轉(zhuǎn)發(fā)節(jié)點的網(wǎng)絡測距結(jié)果。
      在得到轉(zhuǎn)發(fā)節(jié)點的網(wǎng)絡測距結(jié)果后,就可以根據(jù)網(wǎng)絡測距結(jié)果計算轉(zhuǎn) 發(fā)節(jié)點間的兩兩相似度。在前面已經(jīng)提到,網(wǎng)絡測距結(jié)果包括關(guān)于延遲、 丟包率和瓶頸帶寬的指標,因此,轉(zhuǎn)發(fā)節(jié)點間的相似度可分為延遲相似度 DAV 、丟包率相似度LsAv和瓶頸帶寬相似度BwAv 。
      假設要計算某一覆蓋網(wǎng)中的兩個轉(zhuǎn)發(fā)節(jié)點A、 B間的相似度,該覆蓋 網(wǎng)中的標志服務器節(jié)點有n個,用Li, L2…Ln表示,則用D化表示轉(zhuǎn)發(fā)節(jié)
      點X與某一標志服務器節(jié)點Li間的延遲,其中Xe(A,B), Lje(L,,L2,…,Ln)。 同樣的,可以用Lsxt,表示轉(zhuǎn)發(fā)節(jié)點X與某 一標志服務器節(jié)點Li間的丟包率, 用Bw&表示轉(zhuǎn)發(fā)節(jié)點X與某一標志服務器節(jié)點Lj間的瓶頸帶寬。轉(zhuǎn)發(fā)節(jié) 點A、 B間的延遲相似度D^、丟包率相似度Ls^和瓶頸帶寬相似度Bw^可 采用如下公式計算
      <formula>formula see original document page 16</formula>lsav = V(Lsal, —lsbLi)2十(Ls亂2 — LsBL2)2 + —LsBLn)
      BwAv = V(Bw^ — BwBL| )2 + (Bw亂2 - BwBL2 )2 +…+ (Bw亂。-
      BwBL )
      在得到延遲相似度D^、丟包率相似度LsAv和瓶頸帶寬相似度Bw^后, 可進一步計算兩個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度I^,其計算公式如下
      在上述公式中,《、 "、 y為常量值,它們的大小與網(wǎng)絡系統(tǒng)對具體性 能的要求有關(guān),若網(wǎng)絡系統(tǒng)對丟包率的要求較高,則〃的數(shù)值與"、y相比 就相對4交高。
      二、 限界廣度優(yōu)先算法BFBB
      限界廣度優(yōu)先算法BFBB是在覆蓋網(wǎng)的網(wǎng)絡拓樸圖中基于拓樸分析尋 找轉(zhuǎn)發(fā)節(jié)點的方法。該方法包括以下步驟
      步驟1)、計算拓樸圖中每個節(jié)點的度(degree)和核度(coreness )。 度的大小由拓樸圖中與節(jié)點相交的邊的個數(shù)而定,而核度的大小也可通過 現(xiàn)有技術(shù)計算得到。在參考文獻3 "A. Hamelin, J. Lgnacio, D. A. Luca, B. Alain and V. Alessandro. k-core decomposition: a tool for the visualization of large scale networks, http:〃arxiv.org/abs/cs.NI/0511007, 2005"中有對如何計 算核度的詳細說明。
      步驟2)、在拓樸圖中選擇一個節(jié)點作為當前節(jié)點,并計算兩個變量 REF和Cornref的值,其中REF = degree/coreness, Cornref = coreness。
      步驟3)、在當前節(jié)點調(diào)用廣度優(yōu)先算法,在拓樸圖上選取coreness >= Cornref且degree/coreness 〉 REF的節(jié)點,若所能找到的節(jié)點個數(shù)無法達到 用戶的要求,則繼續(xù)執(zhí)行下一步。
      步驟4 )、令REF=REF-1后,重新執(zhí)行前一步驟。
      步驟5)、將查找到的節(jié)點返回后,結(jié)束計算過程。
      三、 IPtoAS算法
      該算法主要用于通過IP地址查找該IP地址所屬的AS (自治域),其 實現(xiàn)包括以下步驟
      1、 得到熟知的AS號及其所擁有IP前綴的對照表
      2、 將所有IP前綴存儲為一顆Trie樹,葉子節(jié)點為AS號3、依據(jù)所輸入的IP地址IPi,查詢Trie樹,依據(jù)最長匹配的原則,選 取對應的AS號ASj,然后將結(jié)果返回。
      在對本發(fā)明所涉及的算法統(tǒng)一做解釋說明后,下面結(jié)合附圖對本發(fā)明 進行說明。
      在圖1所示的覆蓋網(wǎng)絡中,包括有標志服務器節(jié)點(用L表示)、接 入服務器節(jié)點(用S表示)、轉(zhuǎn)發(fā)節(jié)點(用F表示)以及用戶節(jié)點(用C 表示)。上述各類節(jié)點存在于不同的AS域內(nèi)。
      在某 一 時刻,如覆蓋網(wǎng)絡初次啟動時,將覆蓋網(wǎng)中的所有轉(zhuǎn)發(fā)節(jié)點(包 括有轉(zhuǎn)發(fā)功能的服務節(jié)點)按照性能構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡,從而將具有近似 性能的轉(zhuǎn)發(fā)節(jié)點分配到同一邏輯轉(zhuǎn)發(fā)網(wǎng)絡中。在構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡時,根 據(jù)前述的綜合性能相似度計算方法所述,由各個轉(zhuǎn)發(fā)節(jié)點對所有的標志服 務器節(jié)點進行探測,測量其到標志服務器節(jié)點的延遲,丟包率和瓶頸帶寬, 進而利用前述的公式(1) 一公式(4)對各個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似 度進行計算。在得到所有轉(zhuǎn)發(fā)節(jié)點相互間的綜合性能相似度后,可對所有 的相似度結(jié)果進行排序,然后再將排序結(jié)果分段,從而把綜合性能相近的 轉(zhuǎn)發(fā)節(jié)點分配到一起,從而構(gòu)建出多個邏輯轉(zhuǎn)發(fā)網(wǎng)絡。由于在邏輯轉(zhuǎn)發(fā)網(wǎng) 絡中,轉(zhuǎn)發(fā)節(jié)點之間需要定期地進行路徑性能的探測,并發(fā)布探測結(jié)果, 因此需要對邏輯轉(zhuǎn)發(fā)網(wǎng)絡中轉(zhuǎn)發(fā)節(jié)點的數(shù)目進行控制,以避免由于轉(zhuǎn)發(fā)節(jié) 點的數(shù)量太多而導致系統(tǒng)開銷太大的問題。因此,在本實施例中,將一個 邏輯轉(zhuǎn)發(fā)網(wǎng)絡規(guī)模限制為50個轉(zhuǎn)發(fā)節(jié)點,如果某一邏輯轉(zhuǎn)發(fā)網(wǎng)絡內(nèi)所包 含的轉(zhuǎn)發(fā)節(jié)點數(shù)超過50,則可將這一邏輯轉(zhuǎn)發(fā)網(wǎng)絡拆分。以圖2為例,從 AS1到AS7的多個自由域中,各自有不同數(shù)目的轉(zhuǎn)發(fā)節(jié)點,這些轉(zhuǎn)發(fā)節(jié)點 按照性能分別被分配到了 LFN1、 LFN2、 LFN3三個邏輯轉(zhuǎn)發(fā)網(wǎng)絡中,一 個邏輯轉(zhuǎn)發(fā)網(wǎng)絡所包含的轉(zhuǎn)發(fā)節(jié)點并不局限于某一 AS,而是不同AS內(nèi)轉(zhuǎn) 發(fā)節(jié)點的集合。此外,雖然在圖2中在一個AS內(nèi)對于某一邏輯轉(zhuǎn)發(fā)網(wǎng)絡 只示出了一個節(jié)點,但這一節(jié)點實際上由多個轉(zhuǎn)發(fā)節(jié)點組成,只是對外以 一個節(jié)點的形式表示。這類節(jié)點也被稱為邏輯轉(zhuǎn)發(fā)網(wǎng)絡中的邏輯節(jié)點 (LN)。如圖3所示, 一個邏輯轉(zhuǎn)發(fā)網(wǎng)絡在一個AS內(nèi)的一個邏輯節(jié)點擁 有多個(這里是5)個轉(zhuǎn)發(fā)節(jié)點,這些屬于同一邏輯節(jié)點的所有轉(zhuǎn)發(fā)節(jié)點 間卩波此全互連。
      為了適應前述邏輯節(jié)點的現(xiàn)象,所有在一個AS內(nèi)且屬于同一邏輯轉(zhuǎn) 發(fā)網(wǎng)絡的所有轉(zhuǎn)發(fā)節(jié)點會對外推選出一個入口轉(zhuǎn)發(fā)節(jié)點(AC),由該節(jié)點向用戶節(jié)點分配具體的轉(zhuǎn)發(fā)節(jié)點以及負責本邏輯轉(zhuǎn)發(fā)網(wǎng)絡內(nèi)不同邏輯節(jié)
      點之間鏈路性能的探測。如圖3所示,轉(zhuǎn)發(fā)節(jié)點F6就是在一個AS內(nèi)所擁 有的5個轉(zhuǎn)發(fā)節(jié)點的入口轉(zhuǎn)發(fā)節(jié)點。入口轉(zhuǎn)發(fā)節(jié)點在做鏈路性能探測時, 主要探測該入口轉(zhuǎn)發(fā)節(jié)點與鄰居域的入口轉(zhuǎn)發(fā)節(jié)點間路徑的延遲、丟包率 和瓶頸帶寬,所得到的探測結(jié)果會存儲在鏈路狀態(tài)表中。在一個實例中, 假設一入口轉(zhuǎn)發(fā)節(jié)點ACi向鄰居域的入口轉(zhuǎn)發(fā)節(jié)點ACj發(fā)起鏈路性能探 測,所得到的探測結(jié)果保存在自身的鏈路狀態(tài)表中。ACi每過30秒,將自 己的鏈路狀態(tài)表定期發(fā)送給鄰居ACj,鄰居ACj收到后,跟自己的鏈路狀 態(tài)表進行比較更新。 一種優(yōu)選的更新順序是優(yōu)先比較延遲,其次是丟包率, 最后比較瓶頸帶寬,當然這一更新順序也可根據(jù)需要改變。每個AC要將 自己的鏈路狀態(tài)表同本AS內(nèi)的其他同屬一個邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點進 行共享。每隔15分鐘重復上述過程,以保持鏈路的實時狀態(tài)。在圖4中 對鏈路狀態(tài)表的上述傳遞過程做了示意性說明。需要說明的是,此次所涉 及的鏈路狀態(tài)表更新時間的間隔只是舉例說明之用,在實際應用中并不限 于上述時間間隔。
      在為覆蓋網(wǎng)絡中的各個轉(zhuǎn)發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡后,若有新的轉(zhuǎn)發(fā) 節(jié)點加入覆蓋網(wǎng)絡(可以是新部署的專用轉(zhuǎn)發(fā)節(jié)點,也可以是由性能優(yōu)異、 在線時間穩(wěn)定的用戶節(jié)點所提升的轉(zhuǎn)發(fā)節(jié)點),則利用新的轉(zhuǎn)發(fā)節(jié)點對標 志服務器節(jié)點做網(wǎng)絡測距,測量其到標志服務器節(jié)點的延遲,丟包率和瓶 頸帶寬。然后從每個已經(jīng)產(chǎn)生的邏輯轉(zhuǎn)發(fā)網(wǎng)絡中隨機選取一個轉(zhuǎn)發(fā)節(jié)點, 調(diào)用前述的綜合性能相似度計算方法,計算新增加的轉(zhuǎn)發(fā)節(jié)點與這些隨機 選擇的轉(zhuǎn)發(fā)節(jié)點之間的綜合性能相似度。在前面的說明中已經(jīng)提到,在生 成邏輯轉(zhuǎn)發(fā)網(wǎng)絡時,是將所有轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度做排序、分段 后得到的,因此每個邏輯轉(zhuǎn)發(fā)網(wǎng)絡對應有一段特定的綜合性能相似度區(qū) 間。因此,在得到新增加的轉(zhuǎn)發(fā)節(jié)點與隨機選擇的轉(zhuǎn)發(fā)節(jié)點間的綜合性能 相似度后,先選擇其中的最大值,然后將該最大值與所對應的隨機選擇的 轉(zhuǎn)發(fā)節(jié)點所在邏輯轉(zhuǎn)發(fā)網(wǎng)絡的綜合性能相似度區(qū)間進行比較,若最大值在 這一區(qū)間內(nèi),則新增加的轉(zhuǎn)發(fā)節(jié)點就在該隨機選擇的轉(zhuǎn)發(fā)節(jié)點所在邏輯轉(zhuǎn) 發(fā)網(wǎng)絡內(nèi)。若最大值并不在這一區(qū)間內(nèi),則從新增加的轉(zhuǎn)發(fā)節(jié)點與這些隨 機選擇的轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度中選擇次大值,繼續(xù)前述的比較過 程,根據(jù)比較結(jié)果決定新增加的轉(zhuǎn)發(fā)節(jié)點是否能夠加入到相應的邏輯轉(zhuǎn)發(fā) 網(wǎng)絡內(nèi)。如果新增加的轉(zhuǎn)發(fā)節(jié)點無法加入任何已有的邏輯轉(zhuǎn)發(fā)網(wǎng)絡,則該新增加的轉(zhuǎn)發(fā)節(jié)點形成一個新的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。在將新增加的轉(zhuǎn)發(fā)節(jié)點加 入已有邏輯轉(zhuǎn)發(fā)網(wǎng)絡的過程中,如果邏輯轉(zhuǎn)發(fā)網(wǎng)絡在加入新的轉(zhuǎn)發(fā)節(jié)點 后,超出了規(guī)模限制,則分裂該邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      覆蓋網(wǎng)絡在如前所述構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡后,即可向用戶節(jié)點提供選取 轉(zhuǎn)發(fā)節(jié)點從而構(gòu)建備用路徑的服務。以圖5所示的覆蓋網(wǎng)絡為例,在整個
      網(wǎng)絡中包括有三個邏輯轉(zhuǎn)發(fā)網(wǎng)絡,分別用LFN1、 LFN2、 LFN3表示。LFN1 所包含的轉(zhuǎn)發(fā)節(jié)點在AS1、 AS2、 AS3、 AS4、 AS5內(nèi),而LFN2所包含的 轉(zhuǎn)發(fā)節(jié)點在AS1、 AS3、 AS4、 AS5和AS6內(nèi),LFN3所包含的轉(zhuǎn)發(fā)節(jié)點 在AS1、 AS2、 AS3、 AS4、 AS5和AS6內(nèi)。在AS1內(nèi)有一個用戶節(jié)點, 用Cl表示。在某一時刻,用戶節(jié)點C1發(fā)起請求轉(zhuǎn)發(fā)節(jié)點的消息,為該 用戶節(jié)點選取轉(zhuǎn)發(fā)節(jié)點的操作如下。
      覆蓋網(wǎng)絡中的接入服務器節(jié)點在收到用戶節(jié)點Cl的請求轉(zhuǎn)發(fā)節(jié)點消 息后,運行前述的IPtoAS算法,知道用戶節(jié)點所在的AS,從圖5可以知 道,Cl所在的AS為AS1。然后對AS1內(nèi)所包含的邏輯轉(zhuǎn)發(fā)網(wǎng)絡的個數(shù) 進行查詢,根據(jù)請求轉(zhuǎn)發(fā)節(jié)點消息中所請求的轉(zhuǎn)發(fā)節(jié)點的個數(shù),選擇盡可 能多的邏輯轉(zhuǎn)發(fā)網(wǎng)絡,并將這些邏輯轉(zhuǎn)發(fā)網(wǎng)絡在AS1內(nèi)的入口轉(zhuǎn)發(fā)節(jié)點通 知Cl。假設在一個實例中,用戶節(jié)點Cl所請求的轉(zhuǎn)發(fā)節(jié)點的個數(shù)有4個, 由于AS1內(nèi)所包含的邏輯轉(zhuǎn)發(fā)網(wǎng)絡的個數(shù)有3個,因此邏輯轉(zhuǎn)發(fā)網(wǎng)絡 LFN1 、 LFN2、 LFN3都被選中,并將它們的入口轉(zhuǎn)發(fā)節(jié)點的地址都發(fā)送給 Cl。當然,如果用戶節(jié)點Cl所請求的轉(zhuǎn)發(fā)節(jié)點的數(shù)目小于AS1內(nèi)所包含 的邏輯轉(zhuǎn)發(fā)網(wǎng)絡的個數(shù),則在AS1內(nèi)可任意選擇與所請求的轉(zhuǎn)發(fā)節(jié)點數(shù)目 相同的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      用戶節(jié)點Cl在得到各個邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點的地址后,向 這些入口轉(zhuǎn)發(fā)節(jié)點各自發(fā)出請求轉(zhuǎn)發(fā)節(jié)點的消息。各個入口轉(zhuǎn)發(fā)節(jié)點在收 到請求轉(zhuǎn)發(fā)節(jié)點的消息后,依據(jù)負載平衡的原則,在所屬LN中選取一個 合適的轉(zhuǎn)發(fā)節(jié)點以服務于用戶節(jié)點Cl,幫助用戶節(jié)點Cl進一步查找所需 要的轉(zhuǎn)發(fā)節(jié)點。由于本步驟選取的轉(zhuǎn)發(fā)節(jié)點起到服務的作用,因此,這一 轉(zhuǎn)發(fā)節(jié)點也被稱為服務轉(zhuǎn)發(fā)節(jié)點,用LFNs表示。如圖5所示,用戶節(jié)點 C1在LFN1、 LFN2、 LFN3中各自查找一個服務轉(zhuǎn)發(fā)節(jié)點,分別用LFNs,、 LFNs,和LFN&表示。由于這些服務轉(zhuǎn)發(fā)節(jié)點都是由入口轉(zhuǎn)發(fā)節(jié)點在自身所 屬的LN中找到的,因此它們都存在于AS1中。
      在得到服務轉(zhuǎn)發(fā)節(jié)點LFNSi后,由這些服務轉(zhuǎn)發(fā)節(jié)點在各自的邏輯轉(zhuǎn)發(fā)
      20網(wǎng)絡上運行前述的BFBB算法,選取拓樸位置合適的n個AS,并隨機地 從這n個AS中選擇m個屬于該邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點。其中,所述的 n的大小為用戶請求的轉(zhuǎn)發(fā)節(jié)點數(shù)目與服務器在用戶節(jié)點所在AS中選中 的LFN網(wǎng)絡的個數(shù)的商;所述的m的個數(shù)通常為1或2,也可根據(jù)系統(tǒng) 情況確定。此次計算過程中所得到的轉(zhuǎn)發(fā)節(jié)點被稱為 一次候選轉(zhuǎn)發(fā)節(jié)點。 仍然以圖5所示的實例為例,用戶節(jié)點Cl通過服務轉(zhuǎn)發(fā)節(jié)點LFNs,、 LFNs2 和LFN&分別在LFN1、 LFN2、 LFN3上找到了一個轉(zhuǎn)發(fā)節(jié)點,這3個轉(zhuǎn)發(fā) 節(jié)點形成了一次候選轉(zhuǎn)發(fā)節(jié)點。由于轉(zhuǎn)發(fā)節(jié)點的作用是在不同AS域間建 立路徑,因此所得到的一次候選轉(zhuǎn)發(fā)節(jié)點一定不存在于用戶節(jié)點Cl所在 的AS1中,而是在其他AS內(nèi),如對于LFN1而言,可能在AS2或AS3 或AS4或AS5內(nèi)。假設LFN1內(nèi)所選取的轉(zhuǎn)發(fā)節(jié)點位于AS3內(nèi),LFN2 所選取的轉(zhuǎn)發(fā)節(jié)點位于AS5內(nèi),LFN3所選取的轉(zhuǎn)發(fā)節(jié)點也位于AS5內(nèi)。
      在得到一次候選轉(zhuǎn)發(fā)節(jié)點后,需要將它們返回給用戶節(jié)點Cl。在用 戶節(jié)點Cl上保存有一張一次候選轉(zhuǎn)發(fā)節(jié)點列表,將新得到的一次候選轉(zhuǎn) 發(fā)節(jié)點與所述的 一次候選轉(zhuǎn)發(fā)節(jié)點列表進行比較,若某一一 次候選轉(zhuǎn)發(fā)節(jié) 點已經(jīng)存在于用戶節(jié)點Cl的一次候選轉(zhuǎn)發(fā)節(jié)點列表中,則忽略,否則用 戶節(jié)點Cl將自身的IP(SourceIP)地址信息發(fā)送給該一次候選轉(zhuǎn)發(fā)節(jié)點,由 這一一次候選轉(zhuǎn)發(fā)節(jié)點根據(jù)IP地址信息和IPtoAS算法得到用戶節(jié)點Cl 所在的AS,然后在該候選轉(zhuǎn)發(fā)節(jié)點所保存的鏈路狀態(tài)表中查詢候選轉(zhuǎn)發(fā) 節(jié)點所在AS到用戶節(jié)點Cl所在AS的鏈路性能,所得到的結(jié)果返回給用 戶節(jié)點Cl并保存。對新得到的一次候選轉(zhuǎn)發(fā)節(jié)點重復執(zhí)行上述操作。
      前述操作所得到的 一 次候選轉(zhuǎn)發(fā)節(jié)點的數(shù)目可能已經(jīng)滿足用戶節(jié)點 對轉(zhuǎn)發(fā)節(jié)點的數(shù)目要求,也可能不能滿足要求。如在本實施例中,用戶節(jié) 點Cl所要求的轉(zhuǎn)發(fā)節(jié)點為4個,而一次候選轉(zhuǎn)發(fā)節(jié)點只有3個,并不能 滿足要求。對于此類情況,需要由用戶節(jié)點再次向接入服務器節(jié)點發(fā)起請 求轉(zhuǎn)發(fā)節(jié)點消息,以第二次進行候選轉(zhuǎn)發(fā)節(jié)點的選取。在進行第二次候選 轉(zhuǎn)發(fā)節(jié)點的選取時,為了避免所選取的轉(zhuǎn)發(fā)節(jié)點與一次候選轉(zhuǎn)發(fā)節(jié)點相沖 突,采用與選取一次候選轉(zhuǎn)發(fā)節(jié)點時不同的選取方法。具體的說,接入服 務器節(jié)點在收到請求轉(zhuǎn)發(fā)節(jié)點的消息后,在整個AS網(wǎng)絡拓樸圖上運行 BFBB算法尋找合適的AS,在找到AS后,從中選出所需數(shù)目的轉(zhuǎn)發(fā)節(jié)點, 在選取過程中應當盡量保證所選擇的轉(zhuǎn)發(fā)節(jié)點不屬于用戶節(jié)點所在AS內(nèi) 的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。例如,在圖5中已經(jīng)知道,Cl所在的AS為AS1,而AS1中所包含的邏輯轉(zhuǎn)發(fā)網(wǎng)絡有LEN1、 LEN2、 LEN3。那么在第二次選 取轉(zhuǎn)發(fā)節(jié)點的過程中,盡量不要選取LEN1、 LEN2、 LEN3中所包含的轉(zhuǎn) 發(fā)節(jié)點。如在AS3中存在F4,它不屬于前述的LEN1、 LEN2、 LEN3,因 此可以將它作為所要選擇的候選轉(zhuǎn)發(fā)節(jié)點。只有在整個覆蓋網(wǎng)絡中,不存 在獨立于用戶節(jié)點所在AS內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點時,才在這些邏 輯轉(zhuǎn)發(fā)網(wǎng)絡中選擇相應的轉(zhuǎn)發(fā)節(jié)點。即使如此,也要盡量避免選擇那些已
      經(jīng)被選入一次候選轉(zhuǎn)發(fā)節(jié)點中的轉(zhuǎn)發(fā)節(jié)點。為了與 一次候選轉(zhuǎn)發(fā)節(jié)點相區(qū) 別,此次選擇所得到的轉(zhuǎn)發(fā)節(jié)點被稱為二次候選轉(zhuǎn)發(fā)節(jié)點。對于每個二次 候選轉(zhuǎn)發(fā)節(jié)點,由于不是通過用戶節(jié)點Cl所在AS內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡選 取的,因此不能通過查詢Cl所在AS內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡的鏈路狀態(tài)表, 獲取C1到每個二次候選轉(zhuǎn)發(fā)節(jié)點的路徑性能,因此,Cl需要對每個二次 候選轉(zhuǎn)發(fā)節(jié)點進行周期型的路徑性能探測,并將探測結(jié)果保存到用戶節(jié)點 Cl的鏈路狀態(tài)表中,以備構(gòu)造備用路徑之用。
      用戶節(jié)點Cl在得到候選轉(zhuǎn)發(fā)節(jié)點后,就可以根據(jù)業(yè)務的需求選擇具 體的轉(zhuǎn)發(fā)節(jié)點,從而構(gòu)建相應的備用路徑。如圖6所示,在本實施例中, 假設要在圖5所示的覆蓋網(wǎng)絡的基礎上,實現(xiàn)用戶節(jié)點Cl與用戶節(jié)點C2 間的通信。
      用戶節(jié)點Cl首先需要確定業(yè)務的類型,然后根據(jù)業(yè)務類型確定該業(yè) 務對哪一個性能指標更為敏感,從而決定路徑的門限指標Th。假設用戶節(jié) 點C1、 C2間的業(yè)務為文件傳輸業(yè)務,則該業(yè)務對丟包率和瓶頸帶寬更加 敏感,因此將與丟包率和瓶頸帶寬有關(guān)的數(shù)值作為路徑的門限指標。此外, 還要提取出業(yè)務傳輸源地址(即Cl的IP地址)和業(yè)務傳輸目的地址(即 C2的IP地址)。
      用戶節(jié)點Cl的候選轉(zhuǎn)發(fā)節(jié)點中至少包括一次候選轉(zhuǎn)發(fā)節(jié)點,因此首 先從一次候選轉(zhuǎn)發(fā)節(jié)點中選取節(jié)點做性能檢測,以得到可行的轉(zhuǎn)發(fā)節(jié)點。 已知用戶節(jié)點C1的一次候選轉(zhuǎn)發(fā)節(jié)點有3個,按序選擇其中的一個候選 轉(zhuǎn)發(fā)節(jié)點,假設先選擇LFN1中且位于AS3內(nèi)的候選轉(zhuǎn)發(fā)節(jié)點,對所選擇 的候選轉(zhuǎn)發(fā)節(jié)點做性能檢測。在性能檢測過程中,用戶節(jié)點C1將業(yè)務傳 輸目的地址(即C2的IP地址)發(fā)送給所選擇的候選轉(zhuǎn)發(fā)節(jié)點,該節(jié)點運 行所述的IPtoAS算法后查找到用戶節(jié)點C2所在的AS,然后在候選轉(zhuǎn)發(fā) 節(jié)點自身的鏈路狀態(tài)表中查詢從候選轉(zhuǎn)發(fā)節(jié)點所在的AS到用戶節(jié)點C2 所在的AS的鏈路屬性,如果能夠找到,則將所找到的鏈路屬性信息返回給用戶節(jié)點Cl,如果不能找到,則候選轉(zhuǎn)發(fā)節(jié)點發(fā)起對用戶節(jié)點C2的探 觀'J,將探測得到的鏈路屬性信息返回給用戶節(jié)點Cl。用戶節(jié)點Cl得到從
      候選轉(zhuǎn)發(fā)節(jié)點到用戶節(jié)點C2的鏈路屬性信息后,將該信息與用戶節(jié)點Cl 的鏈路狀態(tài)表中所記錄的用戶節(jié)點Cl到候選轉(zhuǎn)發(fā)節(jié)點的鏈路屬性信息進 行加權(quán),從而得到從用戶節(jié)點Cl (即業(yè)務傳輸源)經(jīng)由候選轉(zhuǎn)發(fā)節(jié)點到 用戶節(jié)點C2 (即業(yè)務傳輸目的)的整條路徑的鏈路屬性信息。在前面的 說明中已經(jīng)提到,鏈路屬性信息包括延遲、丟包率和瓶頸帶寬等多個性能 的相關(guān)信息,因此可以將所得到的鏈路屬性信息與為該業(yè)務設定的路徑門 限指標Th進行比較,若能達到路徑門限指標Th,則所述的候選轉(zhuǎn)發(fā)節(jié)點 將作為可行的轉(zhuǎn)發(fā)節(jié)點并保存相關(guān)的信息,若不能達到路徑門限指標Th, 則忽略該候選轉(zhuǎn)發(fā)節(jié)點。對于一次候選轉(zhuǎn)發(fā)節(jié)點中的其它候選轉(zhuǎn)發(fā)節(jié)點做 類似的操作,從而得到這些候選轉(zhuǎn)發(fā)節(jié)點能否成為可行的轉(zhuǎn)發(fā)節(jié)點的結(jié) 論。
      從一次候選轉(zhuǎn)發(fā)節(jié)點得到可行的轉(zhuǎn)發(fā)節(jié)點后,可行的轉(zhuǎn)發(fā)節(jié)點的數(shù)目 可能多于用戶的需求,此時從可行的轉(zhuǎn)發(fā)節(jié)點中選取若干個轉(zhuǎn)發(fā)節(jié)點作為 最佳的轉(zhuǎn)發(fā)節(jié)點,若可行的轉(zhuǎn)發(fā)節(jié)點的數(shù)目少于用戶的需求,則需要繼續(xù) 從二次候選轉(zhuǎn)發(fā)節(jié)點中選取可行轉(zhuǎn)發(fā)節(jié)點。雖然在本實施例中,用戶節(jié)點
      Cl的二次候選轉(zhuǎn)發(fā)節(jié)點只有1個,但在多數(shù)情況下,二次候選轉(zhuǎn)發(fā)節(jié)點 的數(shù)目多于1個,因此同樣按序依次選擇一個節(jié)點做性能檢測。在性能檢 測過程中,由于在多數(shù)情況下,二次候選轉(zhuǎn)發(fā)節(jié)點不屬于用戶節(jié)點所在 AS內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡中的節(jié)點,因此,無法通過查詢鏈路狀態(tài)表的方式 得到二次候選轉(zhuǎn)發(fā)節(jié)點到作為業(yè)務傳輸目的的用戶節(jié)點C2的鏈路屬性信 息。因此,作為業(yè)務傳輸源的用戶節(jié)點Cl將用戶節(jié)點C2的IP地址發(fā)送 給候選轉(zhuǎn)發(fā)節(jié)點,由該節(jié)點對用戶節(jié)點C2發(fā)起探測,探測所得到的從候 選轉(zhuǎn)發(fā)節(jié)點到用戶節(jié)點C2的鏈路屬性信息將返回給用戶節(jié)點Cl。用戶節(jié) 點Cl將候選轉(zhuǎn)發(fā)節(jié)點所返回的候選轉(zhuǎn)發(fā)節(jié)點到用戶節(jié)點C2的鏈路屬性信 息與用戶節(jié)點ci的鏈路狀態(tài)表中所記錄的用戶節(jié)點Cl到候選轉(zhuǎn)發(fā)節(jié)點的 鏈路屬性信息進行加權(quán),從而得到從用戶節(jié)點Cl (即業(yè)務傳輸源)經(jīng)由 候選轉(zhuǎn)發(fā)節(jié)點到用戶節(jié)點C2 (即業(yè)務傳輸目的)的整條路徑的鏈路屬性 信息。在得到整條路徑的鏈路屬性信息后,可將其與路徑門限指標Th進 行比較,根據(jù)比較結(jié)果確定是否將該候選轉(zhuǎn)發(fā)節(jié)點作為可行的轉(zhuǎn)發(fā)節(jié)點。 當二次候選轉(zhuǎn)發(fā)節(jié)點中的節(jié)點數(shù)目多于1個時,對于其它節(jié)點同樣做此類操作。
      從上述說明可以看出,由一次候選轉(zhuǎn)發(fā)節(jié)點和二次候選轉(zhuǎn)發(fā)節(jié)點可得 到可行轉(zhuǎn)發(fā)節(jié)點,并由可行轉(zhuǎn)發(fā)節(jié)點進而得到最佳可行轉(zhuǎn)發(fā)節(jié)點。在一個 可選實現(xiàn)方式中,若所要執(zhí)行的業(yè)務不僅僅是對延遲,丟包率和瓶頸帶寬 等鏈路性能中的 一個或者多個敏感,則需要對由最佳可行轉(zhuǎn)發(fā)節(jié)點確定的 備用路徑進一步探測最能影響該業(yè)務性能的其他指標,如抖動、可用帶寬 等,并根據(jù)探測結(jié)果對最佳可行轉(zhuǎn)發(fā)節(jié)點做進一步的篩選。
      在得到最佳可行轉(zhuǎn)發(fā)節(jié)點后,當所監(jiān)測的原路徑性能在此期間發(fā)生了 從良好到惡化的變化,從而需要做路徑切換時,切換至最佳可行轉(zhuǎn)發(fā)節(jié)點,
      通過這些轉(zhuǎn)發(fā)節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù),或通過Overlay路徑與默認路徑的組合同時 發(fā)送數(shù)據(jù),增加通信魯棒性,并同時監(jiān)測原路徑的性能。在此期間,如果 原路徑性能恢復,則切換回原路徑。
      本發(fā)明還提供了與前述方法相對應的覆蓋網(wǎng)備用路徑生成裝置,用于 在包括接入服務器節(jié)點、標志服務器節(jié)點、轉(zhuǎn)發(fā)節(jié)點和用戶節(jié)點的覆蓋網(wǎng) 上為源用戶節(jié)點選取合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建從源用戶節(jié)點到目的用戶節(jié) 點的備用路徑,該裝置包括邏輯轉(zhuǎn)發(fā)網(wǎng)絡創(chuàng)建模塊、 一次候選轉(zhuǎn)發(fā)節(jié)點選 取模塊以及性能檢測模塊;其中,
      所述的邏輯轉(zhuǎn)發(fā)網(wǎng)絡創(chuàng)建模塊利用所述覆蓋網(wǎng)中的標志服務器節(jié)點 對所述轉(zhuǎn)發(fā)節(jié)點做網(wǎng)絡測距,根據(jù)網(wǎng)絡測距結(jié)果計算任意兩個轉(zhuǎn)發(fā)節(jié)點間 的綜合性能相似度,由所述綜合性能相似度為具有相近性能的轉(zhuǎn)發(fā)節(jié)點構(gòu) 建邏輯轉(zhuǎn)發(fā)網(wǎng)絡;其中,在所述覆蓋網(wǎng)的一個自由域內(nèi)屬于同一邏輯轉(zhuǎn)發(fā) 網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點擁有同 一個入口轉(zhuǎn)發(fā)節(jié)點;
      所述的 一次候選轉(zhuǎn)發(fā)節(jié)點選取模塊用于由所述接入服務器節(jié)點根據(jù)
      所述用戶節(jié)點的請求轉(zhuǎn)發(fā)節(jié)點消息在所述用戶節(jié)點所在的自由域中選擇 邏輯轉(zhuǎn)發(fā)網(wǎng)絡,然后通過所述邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點找到與所述入 口轉(zhuǎn)發(fā)節(jié)點在同 一 自由域且同 一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為服務轉(zhuǎn)發(fā) 節(jié)點;所述服務轉(zhuǎn)發(fā)節(jié)點在所在的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算法,根據(jù) 該算法的運行結(jié)果選擇轉(zhuǎn)發(fā)節(jié)點作為 一次候選轉(zhuǎn)發(fā)節(jié)點;其中,
      所述的BFBB算法在計算網(wǎng)絡拓樸圖中每個節(jié)點的度和核度后,在當 前節(jié)點上通過廣度優(yōu)先算法在所述網(wǎng)絡拓樸圖上選取核度值大于當前節(jié) 點的核度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點;若所 能找到的節(jié)點的數(shù)目無法滿足要求,則將當前節(jié)點的度與核度的商的值遞
      24減后,重新在當前節(jié)點上利用廣度優(yōu)先算法選取核度值大于當前節(jié)點的核 度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點,直到滿足對 所選取節(jié)點的數(shù)目要求;
      所述的性能檢測模塊用于對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢 測,保留通過性能檢測的候選轉(zhuǎn)發(fā)節(jié)點,在所述用戶節(jié)點間進行業(yè)務通信 時,根據(jù)業(yè)務從所保留的候選轉(zhuǎn)發(fā)節(jié)點中選擇合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建備用 路徑。
      在另一個實施例中,覆蓋網(wǎng)備用路徑生成裝置還包括二次候選轉(zhuǎn)發(fā)節(jié)
      點選取模塊,該模塊用于在所述覆蓋網(wǎng)的網(wǎng)絡拓樸圖上運行BFBB算法, 然后根據(jù)所述BFBB算法的計算結(jié)果,從所述覆蓋網(wǎng)中選取一個自由域, 在該自由域內(nèi)選擇轉(zhuǎn)發(fā)節(jié)點作為二次候選轉(zhuǎn)發(fā)節(jié)點;所選取的轉(zhuǎn)發(fā)節(jié)點盡 量不屬于所述第 一用戶節(jié)點所在自由域內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      本發(fā)明的方法與現(xiàn)有的Overlay技術(shù)中采用的簡單大強度探測和全互 聯(lián)路由通告方式相比,通過獲取并有效分析、利用底層的拓樸知識以及對 轉(zhuǎn)發(fā)節(jié)點進行合理的分域,從而顯著地提高轉(zhuǎn)發(fā)鄰居節(jié)點的命中率。而轉(zhuǎn) 發(fā)節(jié)點內(nèi)部通過提前探測,實時地感知鏈路狀態(tài),不僅顯著降低了 Overlay 節(jié)點的探測強度和規(guī)模,也可以有效地對轉(zhuǎn)發(fā)節(jié)點進行篩選,優(yōu)化Overlay 路由,當網(wǎng)絡故障或性能不穩(wěn)定時,可通過路徑切換,有效提高網(wǎng)絡的傳 輸和容錯能力,保證通信的穩(wěn)定性。
      本發(fā)明不僅適用于Overlay網(wǎng)絡中的終端^各徑切換,也可作為進行 Internet路徑分集傳輸系統(tǒng)的多路徑創(chuàng)建基礎,具有相當廣闊的應用前景。
      最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限 制。盡管參照實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應當 理解,對本發(fā)明的技術(shù)方案進行修改或者等同替換,都不脫離本發(fā)明技術(shù)方 案的精神和范圍,其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。
      權(quán)利要求
      1、一種覆蓋網(wǎng)備用路徑生成方法,用于在包括接入服務器節(jié)點、標志服務器節(jié)點、轉(zhuǎn)發(fā)節(jié)點和用戶節(jié)點的覆蓋網(wǎng)上為源用戶節(jié)點選取合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建從源用戶節(jié)點到目的用戶節(jié)點的備用路徑,該方法包括步驟1)、利用所述覆蓋網(wǎng)中的標志服務器節(jié)點對所述轉(zhuǎn)發(fā)節(jié)點做網(wǎng)絡測距,根據(jù)網(wǎng)絡測距結(jié)果計算任意兩個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度,由所述綜合性能相似度為具有相近性能的轉(zhuǎn)發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡;其中,在所述覆蓋網(wǎng)的一個自由域內(nèi)屬于同一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點擁有同一個入口轉(zhuǎn)發(fā)節(jié)點;步驟2)、所述接入服務器節(jié)點根據(jù)所述用戶節(jié)點的請求轉(zhuǎn)發(fā)節(jié)點消息在所述用戶節(jié)點所在的自由域中選擇邏輯轉(zhuǎn)發(fā)網(wǎng)絡,然后通過所述邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點找到與所述入口轉(zhuǎn)發(fā)節(jié)點在同一自由域且同一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為服務轉(zhuǎn)發(fā)節(jié)點;所述服務轉(zhuǎn)發(fā)節(jié)點在所在的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算法,根據(jù)該算法的運行結(jié)果選擇轉(zhuǎn)發(fā)節(jié)點作為一次候選轉(zhuǎn)發(fā)節(jié)點;其中,所述的BFBB算法在計算網(wǎng)絡拓撲圖中每個節(jié)點的度和核度后,在當前節(jié)點上通過廣度優(yōu)先算法在所述網(wǎng)絡拓撲圖上選取核度值大于當前節(jié)點的核度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點;若所能找到的節(jié)點的數(shù)目無法滿足要求,則將當前節(jié)點的度與核度的商的值遞減后,重新在當前節(jié)點上利用廣度優(yōu)先算法選取核度值大于當前節(jié)點的核度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點,直到滿足對所選取節(jié)點的數(shù)目要求;步驟3)、對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢測,保留通過性能檢測的候選轉(zhuǎn)發(fā)節(jié)點,在所述用戶節(jié)點間進行業(yè)務通信時,根據(jù)業(yè)務從所保留的候選轉(zhuǎn)發(fā)節(jié)點中選擇合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建備用路徑。
      2、 根據(jù)權(quán)利要求1所述的覆蓋網(wǎng)備用路徑生成方法,其特征在于, 在所述步驟2)中所得到的一次候選轉(zhuǎn)發(fā)節(jié)點的數(shù)目小于用戶的需求時, 在所述的步驟2)和所述的步驟3)之間還包括選取二次候選轉(zhuǎn)發(fā)節(jié)點的 步驟,該步驟包括在所述覆蓋網(wǎng)的網(wǎng)絡拓樸圖上運行BFBB算法;根據(jù)所述BFBB算法的計算結(jié)果,從所述覆蓋網(wǎng)中選取一個自由域,在該自由域內(nèi)選擇轉(zhuǎn)發(fā)節(jié)點作為二次候選轉(zhuǎn)發(fā)節(jié)點;所選取的轉(zhuǎn)發(fā)節(jié)點盡 量不屬于所述第一用戶節(jié)點所在自由域內(nèi)的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      3、 根據(jù)權(quán)利要求1或2所述的覆蓋網(wǎng)備用路徑生成方法,其特征在 于,所述的步驟1 )包括步驟1-1)、所述覆蓋網(wǎng)中的所有轉(zhuǎn)發(fā)節(jié)點對所述覆蓋網(wǎng)中的所有標志 服務器節(jié)點做網(wǎng)絡測距,得到關(guān)于延遲、丟包率和瓶頸帶寬的指標;步驟1-2)、根據(jù)所述指標計算任意兩個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度;步驟l-3)、對所有的綜合性能相似度結(jié)果做排序,然后為所述排序結(jié) 果分段,將具有相近綜合性能的轉(zhuǎn)發(fā)節(jié)點分配到同一個邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      4、 根據(jù)權(quán)利要求3所述的覆蓋網(wǎng)備用路徑生成方法,其特征在于, 所述的步驟1 )還包括步驟i_4)、由所述邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點向鄰居域的入口轉(zhuǎn)發(fā) 節(jié)點做鏈路性能探測;所述鏈路性能包括路徑的延遲、丟包率和瓶頸帶寬;步驟1-5)、所述鏈路性能探測的結(jié)果保存到入口轉(zhuǎn)發(fā)節(jié)點的鏈路狀態(tài) 表中,所述鏈路狀態(tài)表的信息定時向鄰居域的入口轉(zhuǎn)發(fā)節(jié)點更新。
      5、 根據(jù)權(quán)利要求3或4所述的覆蓋網(wǎng)備用路徑生成方法,其特征在 于,在所述的步驟l-2)中,所述綜合性能相似度釆用下列公式計算I旭表示節(jié)點A與節(jié)點B之間的綜合性能相似度,D^表示節(jié)點A與節(jié) 點B間的延遲相似度,"Av表示節(jié)點A與節(jié)點B間的丟包率相似度,Bwav 表示節(jié)點A與節(jié)點B間的瓶頸帶寬相似度,"、〃、Z為網(wǎng)絡系統(tǒng)對性能 的要求有關(guān)的常量值;其中,DAv = V(D— DBL| )2 + ("°亂2 — dbl2 )2 +…+ (D al — DBLn )2LS八v = V(lsal, - lsbl|)2 +(lsal2 - lsbl2)2 + .'. + (lsal - lsbl fBwAv = ^(Bw亂,—BwBL' )2 + (BWaL2 - BwBL2 )2 +…+ (Bw亂。_ BwBLn )2表示節(jié)點A與覆蓋網(wǎng)中第i個標志服務器節(jié)點間的延遲指標,LSal, 表示節(jié)點A與覆蓋網(wǎng)中第i個標志服務器節(jié)點間的丟包率指標,Bw^表示節(jié)點A與覆蓋網(wǎng)中第i個標志服務器節(jié)點間的瓶頸帶寬指標。
      6、 根據(jù)權(quán)利要求1或2所述的覆蓋網(wǎng)備用路徑生成方法,其特征在 于,所述的步驟2)包括步驟2-l )、所述接入服務器節(jié)點根據(jù)所述用戶節(jié)點發(fā)起的請求轉(zhuǎn)發(fā)節(jié) 點消息在所述用戶節(jié)點所在自由域中選擇邏輯轉(zhuǎn)發(fā)網(wǎng)絡,并將所述邏輯轉(zhuǎn) 發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點的地址通知所述用戶節(jié)點;步驟2-2 )、所述入口轉(zhuǎn)發(fā)節(jié)點根據(jù)所述用戶節(jié)點發(fā)起的請求轉(zhuǎn)發(fā)節(jié)點 消息選取一個與該入口轉(zhuǎn)發(fā)節(jié)點具有相同自由域和相同邏輯轉(zhuǎn)發(fā)網(wǎng)絡的 轉(zhuǎn)發(fā)節(jié)點,作為為所述用戶節(jié)點服務的服務轉(zhuǎn)發(fā)節(jié)點;步驟2-3 )、所述服務轉(zhuǎn)發(fā)節(jié)點在自身的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算 法,根據(jù)算法的運行結(jié)果在所述覆蓋網(wǎng)中選擇有別于所述JI良務轉(zhuǎn)發(fā)節(jié)點所 在自由域的自由域,然后在所述自由域內(nèi)選擇與該服務轉(zhuǎn)發(fā)節(jié)點具有相同 邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為 一次候選轉(zhuǎn)發(fā)節(jié)點,所述一次候選轉(zhuǎn)發(fā)節(jié)點 返回給所述的第一用戶節(jié)點。
      7、 根據(jù)權(quán)利要求6所述的覆蓋網(wǎng)備用路徑生成方法,其特征在于, 所述的步驟2)還包括步驟2-4)、所述用戶節(jié)點將接收到的一次候選轉(zhuǎn)發(fā)節(jié)點與自身的一次 候選轉(zhuǎn)發(fā)節(jié)點列表進行比較;步驟2-5)、所述用戶節(jié)點向不存在于所述列表中的新的轉(zhuǎn)發(fā)節(jié)點發(fā)送 自身的信息,從而在所述新的轉(zhuǎn)發(fā)節(jié)點的鏈路狀態(tài)表中查詢所述新的轉(zhuǎn)發(fā) 節(jié)點所在自由域與所述用戶節(jié)點所在自由域之間的鏈路屬性信息;步驟2-6 )、所述鏈路屬性信息返回并保存到所述用戶節(jié)點。
      8、 根據(jù)權(quán)利要求6或7所述的覆蓋網(wǎng)備用路徑生成方法,其特征在 于,在所述的步驟2-1)中,所述接入服務器節(jié)點根據(jù)用戶節(jié)點發(fā)起的請 求轉(zhuǎn)發(fā)節(jié)點消息在所述用戶節(jié)點所在自由域中選擇邏輯轉(zhuǎn)發(fā)網(wǎng)絡時,選擇 盡可能多的邏輯轉(zhuǎn)發(fā)網(wǎng)絡。
      9、 根據(jù)權(quán)利要求2所述的覆蓋網(wǎng)備用路徑生成方法,其特征在于, 在所述的選取二次候選轉(zhuǎn)發(fā)節(jié)點的步驟后,還包括所述的用戶節(jié)點對所述的二次候選轉(zhuǎn)發(fā)節(jié)點做周期性的路徑性能探 測,并將探測結(jié)果保存到所述用戶節(jié)點的鏈路狀態(tài)表中。
      10、 根據(jù)權(quán)利要求1或2所述的覆蓋網(wǎng)備用路徑生成方法,其特征在 于,在所述的步驟3)中,對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢測包括步驟3-l )、用戶節(jié)點根據(jù)業(yè)務的類型確定路徑的門限指標; 步驟3-2)、從所述一次候選轉(zhuǎn)發(fā)節(jié)點中選擇轉(zhuǎn)發(fā)節(jié)點; 步驟3-3 )、獲取一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至另 一用戶節(jié)點的 路徑性能;步驟3-4)、將步驟3-3)所獲取的路徑性能與步驟3-l)中所確定的門 限指標進行比較,根據(jù)比較結(jié)果確定路徑是否通過了性能檢測。
      11、 根據(jù)權(quán)利要求IO所述的覆蓋網(wǎng)備用路徑生成方法,其特征在于, 對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢測還包括步驟3-5 )、當所述一次候選轉(zhuǎn)發(fā)節(jié)點中能夠通過路徑性能檢測的轉(zhuǎn)發(fā) 節(jié)點數(shù)目無法滿足用戶要求時,從所述二次候選轉(zhuǎn)發(fā)節(jié)點中選擇轉(zhuǎn)發(fā)節(jié) 點;步驟3-6 )、獲取一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至另 一用戶節(jié)點的 路徑性能;步驟3-7 )、將步驟3-6 )所獲取的路徑性能與步驟3-1 )中所確定的門 限指標進行比較,根據(jù)比較結(jié)果確定路徑是否通過了性能檢測。
      12、 根據(jù)權(quán)利要求10或11所述的覆蓋網(wǎng)備用路徑生成方法,其特征 在于,在所述的步驟3-3)中,獲取所述第一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā) 節(jié)點至所述第二用戶節(jié)點的路徑性能包括從所選擇的轉(zhuǎn)發(fā)節(jié)點的鏈路狀態(tài)表中查詢從所述轉(zhuǎn)發(fā)節(jié)點所在自由 域到所述第二用戶節(jié)點所在自由域間的鏈路屬性,從所述第一用戶節(jié)點的 鏈路狀態(tài)表中獲取從所述第 一用戶節(jié)點所在自由域到所述轉(zhuǎn)發(fā)節(jié)點所在 自由域的鏈路屬性,進而獲取所述第一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至 所述第二用戶節(jié)點的路徑性能;或所選擇的轉(zhuǎn)發(fā)節(jié)點通過路徑探測,得到從所述轉(zhuǎn)發(fā)節(jié)點所在自由域 到所述第二用戶節(jié)點所在自由域間的鏈路屬性,從所述第一用戶節(jié)點的鏈 路狀態(tài)表中獲取從所述第 一 用戶節(jié)點所在自由域到所述轉(zhuǎn)發(fā)節(jié)點所在自 由域的鏈路屬性,進而獲取所述第 一 用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至所 述第二用戶節(jié)點的路徑性能。
      13、 根據(jù)權(quán)利要求11所述的覆蓋網(wǎng)備用路徑生成方法,其特征在于, 在所述的步驟3-6)中,獲取所述第一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至 所述第二用戶節(jié)點的路徑性能包括所選擇的轉(zhuǎn)發(fā)節(jié)點通過路徑探測,得到從所述轉(zhuǎn)發(fā)節(jié)點所在自由域到 所述第二用戶節(jié)點所在自由域間的鏈路屬性,從所述第一用戶節(jié)點的鏈路 狀態(tài)表中獲取從所述第 一用戶節(jié)點所在自由域到所述轉(zhuǎn)發(fā)節(jié)點所在自由 域的鏈路屬性,進而獲取所述第 一用戶節(jié)點經(jīng)由所選擇的轉(zhuǎn)發(fā)節(jié)點至所述 第二用戶節(jié)點的路徑性能。
      14、 一種覆蓋網(wǎng)備用路徑生成裝置,其特征在于,用于在包括接入服 務器節(jié)點、標志服務器節(jié)點、轉(zhuǎn)發(fā)節(jié)點和用戶節(jié)點的覆蓋網(wǎng)上為源用戶節(jié) 點選取合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建從源用戶節(jié)點到目的用戶節(jié)點的備用路徑, 該裝置包括邏輯轉(zhuǎn)發(fā)網(wǎng)絡創(chuàng)建模塊、 一次候選轉(zhuǎn)發(fā)節(jié)點選取模塊以及性能檢測模塊;其中,所述的邏輯轉(zhuǎn)發(fā)網(wǎng)絡創(chuàng)建模塊利用所述覆蓋網(wǎng)中的標志服務器節(jié)點 對所述轉(zhuǎn)發(fā)節(jié)點做網(wǎng)絡測距,根據(jù)網(wǎng)絡測距結(jié)果計算任意兩個轉(zhuǎn)發(fā)節(jié)點間 的綜合性能相似度,由所述綜合性能相似度為具有相近性能的轉(zhuǎn)發(fā)節(jié)點構(gòu) 建邏輯轉(zhuǎn)發(fā)網(wǎng)絡;其中,在所述覆蓋網(wǎng)的一個自由域內(nèi)屬于同一邏輯轉(zhuǎn)發(fā) 網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點擁有同 一 個入口轉(zhuǎn)發(fā)節(jié)點;所述的一次候選轉(zhuǎn)發(fā)節(jié)點選取模塊用于由所述接入服務器節(jié)點根據(jù) 所述用戶節(jié)點的請求轉(zhuǎn)發(fā)節(jié)點消息在所述用戶節(jié)點所在的自由域中選擇 邏輯轉(zhuǎn)發(fā)網(wǎng)絡,然后通過所述邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點找到與所述入口轉(zhuǎn)發(fā)節(jié)點在同 一 自由域且同 一邏輯轉(zhuǎn)發(fā)網(wǎng)絡的轉(zhuǎn)發(fā)節(jié)點作為服務轉(zhuǎn)發(fā) 節(jié)點;所述服務轉(zhuǎn)發(fā)節(jié)點在所在的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算法,根據(jù) 該算法的運行結(jié)果選擇轉(zhuǎn)發(fā)節(jié)點作為 一次候選轉(zhuǎn)發(fā)節(jié)點;其中,所述的BFBB算法在計算網(wǎng)絡拓樸圖中每個節(jié)點的度和核度后,在當 前節(jié)點上通過廣度優(yōu)先算法在所述網(wǎng)絡拓樸圖上選取核度值大于當前節(jié) 點的核度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點;若所 能找到的節(jié)點的數(shù)目無法滿足要求,則將當前節(jié)點的度與核度的商的值遞 減后,重新在當前節(jié)點上利用廣度優(yōu)先算法選取核度值大于當前節(jié)點的核 度值,且度與核度的商大于當前節(jié)點的度與核度的商的節(jié)點,直到滿足對 所選取節(jié)點的數(shù)目要求;所述的性能檢測模塊用于對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢 測,保留通過性能檢測的候選轉(zhuǎn)發(fā)節(jié)點,在所述用戶節(jié)點間進行業(yè)務通信 時,根據(jù)業(yè)務從所保留的候選轉(zhuǎn)發(fā)節(jié)點中選擇合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建備用 路徑。
      15、根據(jù)權(quán)利要求14所述的覆蓋網(wǎng)備用路徑生成裝置,其特征在于, 還包括二次候選轉(zhuǎn)發(fā)節(jié)點選取模塊,該模塊用于在所述覆蓋網(wǎng)的網(wǎng)絡拓樸 圖上運行BFBB算法,然后根據(jù)所述BFBB算法的計算結(jié)果,從所述覆蓋 網(wǎng)中選取一個自由域,在該自由域內(nèi)選擇轉(zhuǎn)發(fā)節(jié)點作為二次候選轉(zhuǎn)發(fā)節(jié) 點;所選取的轉(zhuǎn)發(fā)節(jié)點盡量不屬于所述第一用戶節(jié)點所在自由域內(nèi)的邏輯 轉(zhuǎn)發(fā)網(wǎng)絡。
      全文摘要
      本發(fā)明提供一種覆蓋網(wǎng)備用路徑生成方法,該方法包括利用覆蓋網(wǎng)中的標志服務器節(jié)點對轉(zhuǎn)發(fā)節(jié)點做網(wǎng)絡測距,計算任意兩個轉(zhuǎn)發(fā)節(jié)點間的綜合性能相似度,由綜合性能相似度為具有相近性能的轉(zhuǎn)發(fā)節(jié)點構(gòu)建邏輯轉(zhuǎn)發(fā)網(wǎng)絡;接入服務器節(jié)點根據(jù)用戶節(jié)點的請求轉(zhuǎn)發(fā)節(jié)點消息在用戶節(jié)點所在的自由域中選擇邏輯轉(zhuǎn)發(fā)網(wǎng)絡,然后通過邏輯轉(zhuǎn)發(fā)網(wǎng)絡的入口轉(zhuǎn)發(fā)節(jié)點找到服務轉(zhuǎn)發(fā)節(jié)點;服務轉(zhuǎn)發(fā)節(jié)點在所在的邏輯轉(zhuǎn)發(fā)網(wǎng)絡上運行BFBB算法,根據(jù)運行結(jié)果選擇轉(zhuǎn)發(fā)節(jié)點作為一次候選轉(zhuǎn)發(fā)節(jié)點;對候選轉(zhuǎn)發(fā)節(jié)點所能形成的路徑做性能檢測,保留通過性能檢測的候選轉(zhuǎn)發(fā)節(jié)點,在用戶節(jié)點間進行業(yè)務通信時,根據(jù)業(yè)務從所保留的候選轉(zhuǎn)發(fā)節(jié)點中選擇合適的轉(zhuǎn)發(fā)節(jié)點以構(gòu)建備用路徑。
      文檔編號H04L12/56GK101562568SQ20091008546
      公開日2009年10月21日 申請日期2009年5月26日 優(yōu)先權(quán)日2009年5月26日
      發(fā)明者張國清, 李彥君, 楊清峰 申請人:中國科學院計算技術(shù)研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1