專利名稱:支持層次化網(wǎng)絡(luò)拓撲的p2p流量優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化,可用于降 低P2P軟件的跨網(wǎng)絡(luò)流量,優(yōu)化P2P流量在網(wǎng)絡(luò)中的分布和流向,同時提高P2P軟件的下載 性能
背景技術(shù):
基于P2P (Peer-to-Peer)原理的文件下載、視頻流媒體分享及網(wǎng)絡(luò)電話等日益成 為互聯(lián)網(wǎng)上的主要應(yīng)用,與此同時P2P流量已占據(jù)了網(wǎng)上流量的絕大部分,在很多骨干網(wǎng) 上達到了 50%到70%的比例。P2P軟件在給用戶帶來快捷、方便的同時卻成為互聯(lián)網(wǎng)服務(wù) 提供商ISP的噩夢。很多ISP認為巨大的P2P流量帶來了網(wǎng)絡(luò)擁塞,影響了其它網(wǎng)絡(luò)應(yīng)用 的正常運行,因此采用各種措施限制甚至封堵P2P流量。這會降低P2P用戶的體驗,并引起 P2P用戶和ISP之間的矛盾。P2P軟件之所以給網(wǎng)絡(luò)帶來如此高的流量,部分原因來自于其內(nèi)部機理P2P軟件 在構(gòu)建Overlay網(wǎng)絡(luò)時不考慮底層網(wǎng)絡(luò)的實際拓撲結(jié)構(gòu),造成Overlay網(wǎng)絡(luò)拓撲和底層網(wǎng) 絡(luò)拓撲嚴重失配,對等結(jié)點間的連接大多是遠距離連接,產(chǎn)生的流量多是跨網(wǎng)絡(luò)流量。以 BitTorrent為例,在對等結(jié)點從目錄服務(wù)器Tracker得到對等結(jié)點列表之后,隨機地從列 表中選擇35個對等結(jié)點作為鄰居建立連接。這些連接的兩端很可能距離很遠,此后的數(shù)據(jù) 傳輸多是遠程跨網(wǎng)絡(luò)傳輸。對BitTorrent的研究表明,對于已在本地網(wǎng)存有拷貝的數(shù)據(jù), 其中的70-90%仍會從外部網(wǎng)絡(luò)遠距離下載。這種完全無視底層網(wǎng)絡(luò)拓撲、舍近求遠的做 法,導致大量的跨網(wǎng)絡(luò)流量,占用了相對寶貴的網(wǎng)間鏈路,增加了 ISP的負擔,引起了 ISP的 對抗情緒;同時,網(wǎng)間鏈路又往往是擁塞比較嚴重的網(wǎng)絡(luò)瓶頸,因而也會影響P2P軟件的下 載速率,降低下載性能。解決這一問題有兩種思路一是使用P2P Cache方法,在ISP控制的網(wǎng)絡(luò)內(nèi)放置 P2P Cache來緩存P2P流量;另一種就是P2P應(yīng)用層流量優(yōu)化方法,采用本地化的下載策略, 對等結(jié)點盡量選擇與鄰近結(jié)點構(gòu)成Overlay網(wǎng)絡(luò)、從鄰近結(jié)點下載數(shù)據(jù)。其中,P2P Cache 方法的問題在于需要針對各種活躍的P2P軟件設(shè)計相應(yīng)的機制、實現(xiàn)相應(yīng)的協(xié)議,工作量 比較大,而且P2P的流量巨大、傳輸?shù)膶ο蟪叽缫话愣急容^大,需要的Cache容量大、速度 高,容易形成單點瓶頸,另外Cache內(nèi)容也可能導致版權(quán)相關(guān)的法律問題。因此P2P應(yīng)用層 流量優(yōu)化方法就成為解決P2P軟件ISP友好性問題的一種備受期望的思路。P2P應(yīng)用層流量優(yōu)化方法,是指在應(yīng)用層優(yōu)化P2P軟件所產(chǎn)生網(wǎng)絡(luò)流量的流向,以 避免大量的跨網(wǎng)絡(luò)流量,同時提高對等結(jié)點的下載速率、減少下載時間。具體而言,是由ISP 維護一個服務(wù)器來提供拓撲信息,P2P軟件作為客戶端訪問該服務(wù)器,讀取拓撲信息,獲得 對等結(jié)點之間的距離,然后選擇距離較近的結(jié)點連接并傳輸數(shù)據(jù),從而降低網(wǎng)絡(luò)中的流量。 但是,現(xiàn)有的P2P應(yīng)用層流量優(yōu)化方法只考慮單一的距離指標,例如路由跳數(shù)或地理距離, 而沒有考慮同時應(yīng)用多個距離指標進行選擇,而且現(xiàn)有的流量優(yōu)化方法只在一個平面內(nèi)選 擇對等結(jié)點,而沒有考慮互聯(lián)網(wǎng)本身所具有的域內(nèi)、域間兩級路由體系?,F(xiàn)有的互聯(lián)網(wǎng)不是一個平面的網(wǎng)絡(luò),而是一個層次化的網(wǎng)絡(luò)高層由各ISP的骨干網(wǎng)絡(luò)相互連接而成,中間層 是匯聚網(wǎng)絡(luò),底層是接入網(wǎng)絡(luò)。在這樣的層次化結(jié)構(gòu)中,不同鏈路具有不同的帶寬與不同的 價值通常網(wǎng)間鏈路需要投入的資金較多,對ISP而言是價值較高的鏈路,同時帶寬又往往 有限;而網(wǎng)內(nèi)鏈路則相對帶寬比較充裕,同時比較廉價。因此,只有在P2P流量優(yōu)化的過程 中支持層次化的網(wǎng)絡(luò)拓撲,才能根據(jù)不同鏈路的不同價值與地位實現(xiàn)最經(jīng)濟、最有效的優(yōu) 化效果,以體現(xiàn)ISP的偏好。同時,流量優(yōu)化需要拓撲信息,這種拓撲信息一般來自于路由 協(xié)議。而互聯(lián)網(wǎng)的路由體系由域內(nèi)和域間兩級路由構(gòu)成域間路由協(xié)議負責構(gòu)造自治系統(tǒng) AS級別的拓撲結(jié)構(gòu)并計算AS間的路由,而域內(nèi)路由協(xié)議負責構(gòu)造AS內(nèi)的拓撲結(jié)構(gòu)并計算 AS內(nèi)的路由。因此由這兩種路由協(xié)議得到的拓撲信息一定是一個層次化的結(jié)構(gòu),因而相應(yīng) 的P2P流量優(yōu)化機制應(yīng)該能夠接收這樣的層次化的拓撲信息,并根據(jù)這樣的層次化的拓撲 信息給出優(yōu)化方案。但是,現(xiàn)有的P2P應(yīng)用層流量優(yōu)化方法沒有考慮互聯(lián)網(wǎng)拓撲的層次化 特征,不能接收來自域內(nèi)、域間兩級路由體系的層次化的拓撲信息,而只是將互聯(lián)網(wǎng)視為單 一平面網(wǎng)絡(luò),對所有鏈路一視同仁,因而不能體現(xiàn)不同鏈路的價值與ISP的偏好,不能從高 到低降低各層次網(wǎng)絡(luò)上的流量,不能實現(xiàn)有效的優(yōu)化效果
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有P2P應(yīng)用層流量優(yōu)化方法所存在的問題,提出一種支 持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,以體現(xiàn)不同鏈路的價值與ISP的偏好,從高到低降 低各層次網(wǎng)絡(luò)上的流量,實現(xiàn)有效的優(yōu)化效果。實現(xiàn)本發(fā)明目的的核心思想為采用分布式的框架,每個自治系統(tǒng)AS內(nèi)的網(wǎng)絡(luò)拓 撲信息服務(wù)器NTIS,僅從本AS內(nèi)的路由器收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu), 以構(gòu)建全網(wǎng)的層次化的拓撲結(jié)構(gòu),并依據(jù)這樣的層次化的拓撲結(jié)構(gòu)計算本AS內(nèi)某個對等 結(jié)點到全網(wǎng)任意結(jié)點間的層次化的流量優(yōu)化距離,供流量優(yōu)化客戶端查詢;將流量優(yōu)化距 離層次化,用高層、低層兩層或更多層距離描述結(jié)點間的流量優(yōu)化距離,即用高層距離描述 宏觀距離,用低層距離描述微觀距離,比較距離時先比較高層距離,再比較低層距離;本AS 內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)來自域內(nèi)路由協(xié)議,全網(wǎng)的拓撲結(jié)構(gòu)來自域間路由協(xié)議。其實現(xiàn)步驟包 括如下(1)每個自治系統(tǒng)AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS,從本AS內(nèi)的多個路由器中 收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu),構(gòu)建全網(wǎng)的層次化的拓撲結(jié)構(gòu);(2)每個AS內(nèi)的流量優(yōu)化服務(wù)器從本AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS取得全網(wǎng) 層次化的拓撲結(jié)構(gòu),并等候流量優(yōu)化客戶端的查詢;(3)流量優(yōu)化客戶端向?qū)Φ冉Y(jié)點所在AS內(nèi)的流量優(yōu)化服務(wù)器提交查詢請求,查詢 該對等節(jié)點到其它對等結(jié)點的流量優(yōu)化距離;(4)流量優(yōu)化服務(wù)器接到查詢請求后,根據(jù)全網(wǎng)層次化的拓撲結(jié)構(gòu),計算該對等 結(jié)點到其它對等結(jié)點的層次化的流量優(yōu)化距離,并將該流量優(yōu)化距離返回給流量優(yōu)化客戶 端;(5)流量優(yōu)化客戶端接到該對等結(jié)點到其它對等結(jié)點的層次化的流量優(yōu)化距離 時,根據(jù)距離的遠近選擇較近的對等結(jié)點建立連接,傳輸數(shù)據(jù)。本發(fā)明具有如下的優(yōu)點
(1)本發(fā)明由于在層次化的拓撲結(jié)構(gòu)中計算層次化的流量優(yōu)化距離,可以體現(xiàn)不 同鏈路的價值與ISP的偏好,從高到低降低各層次網(wǎng)絡(luò)上的流量,實現(xiàn)有效的優(yōu)化效果;(2)本發(fā)明由 于將來自不同路由協(xié)議的拓撲信息映射到統(tǒng)一的流量優(yōu)化距離,故 可與互聯(lián)網(wǎng)域內(nèi)、域間兩級路由體系相適應(yīng);(3)本發(fā)明由于其網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS僅從本AS內(nèi)的路由器收集本AS的拓 撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu),實現(xiàn)簡單;(4)本發(fā)明由于采用層次化的流量優(yōu)化距離,因而可以同時容納多種物理含義的 距離信息,可以組合實現(xiàn)復雜的流量優(yōu)化效果;(5)本發(fā)明由于采用分布式框架,不但流量優(yōu)化服務(wù)器分布在全網(wǎng),每個AS —個 流量優(yōu)化服務(wù)器,而且在一個AS中網(wǎng)絡(luò)拓撲信息也從AS中的多個路由器獲取,因而負載分 散,網(wǎng)絡(luò)中各個結(jié)點的負載不大。
圖1是本發(fā)明中的系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明的流程框圖;圖3是本發(fā)明中流量優(yōu)化距離類型通知報文格式圖;圖4是本發(fā)明中流量優(yōu)化標識格式通知報文格式圖;圖5是本發(fā)明中兩個對等結(jié)點間層次化的流量優(yōu)化距離的示例圖;圖6是本發(fā)明中流量優(yōu)化服務(wù)器與流量優(yōu)化客戶端間的通信報文格式圖。
具體實施例方式參照圖1,支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化系統(tǒng)中的實體包括網(wǎng)絡(luò)拓撲信息 服務(wù)器NTIS、流量優(yōu)化服務(wù)器、流量優(yōu)化客戶端。網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS負責從本自治 系統(tǒng)AS內(nèi)各處的路由器收集網(wǎng)絡(luò)拓撲信息,包括AS內(nèi)部的拓撲和AS外部的拓撲信息。AS 內(nèi)部拓撲主要來自域內(nèi)路由協(xié)議,如0SPF。有些類似OSPF的域內(nèi)路由協(xié)議將一個AS劃分 為若干區(qū)域,因而NTIS需要和各個區(qū)域內(nèi)的路由器交互獲得該區(qū)域內(nèi)的鏈路狀態(tài)信息。AS 外部的拓撲主要來自域間路由協(xié)議,如BGP ;NTIS要從運行BGP的AS邊界路由器取得AS外 部的拓撲結(jié)構(gòu)。NTIS獲得AS內(nèi)部的拓撲和AS外部的拓撲后,構(gòu)建全網(wǎng)層次化的網(wǎng)絡(luò)拓撲, 送給流量優(yōu)化服務(wù)器。流量優(yōu)化服務(wù)器根據(jù)網(wǎng)絡(luò)拓撲信息計算流量優(yōu)化距離,供流量優(yōu)化 客戶端查詢。參照圖2,本發(fā)明支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,包括以下步驟步驟1,由每個自治系統(tǒng)AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS,從本AS內(nèi)的多個路由 器中收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu),構(gòu)建全網(wǎng)的層次化的拓撲結(jié)構(gòu)。la)通過域內(nèi)路由協(xié)議,如OSPF收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu);有些類似OSPF的 域內(nèi)路由協(xié)議將一個AS劃分為若干區(qū)域,每個區(qū)域的內(nèi)部路由器只保存本區(qū)域的鏈路狀 態(tài),而由區(qū)域邊界路由器匯總本區(qū)域的鏈路信息向區(qū)域外發(fā)送;對于運行類似OSPF的域內(nèi) 路由協(xié)議的AS,網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS要從各個區(qū)域內(nèi)的路由器收集來自各個區(qū)域的 拓撲信息,以構(gòu)成整個AS的拓撲結(jié)構(gòu),該拓撲結(jié)構(gòu)為存儲了本AS內(nèi)所有網(wǎng)絡(luò)與結(jié)點間連接 狀態(tài)的鏈路狀態(tài)lb)通過域間路由協(xié)議,如路徑向量協(xié)議BGP收集全網(wǎng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu);BGP運行 于AS邊界路由器,它保存了到每一個AS的路徑向量,該路徑向量上存儲了到某AS的路徑 所經(jīng)過的AS序列;由于各種路由策略的存在,路徑向量存儲的不一定是最短路徑,但在只 考慮最短路徑的假設(shè)下,穩(wěn)態(tài)時BGP得到的網(wǎng)絡(luò)拓撲是一個以本AS為根的樹,其它所有AS 都是樹中的結(jié)點;對于類似BGP的域間路由協(xié)議,網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS要從本AS的AS 邊界路由器獲得全網(wǎng)的拓撲結(jié)構(gòu),該拓撲結(jié)構(gòu)是以本AS為根的路徑向量樹;Ic)分別獲得本AS內(nèi)的拓撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu)之后,以此構(gòu)建全網(wǎng)的層次化 的拓撲結(jié)構(gòu);由于域內(nèi)路由協(xié)議和域間路由協(xié)議存儲網(wǎng)絡(luò)拓撲的方式不同,例如域內(nèi)路由 協(xié)議OSPF以鏈路狀態(tài)形式存儲拓撲結(jié)構(gòu),而域間路由協(xié)議BGP以路徑向量形式存儲拓撲結(jié) 構(gòu),因此在構(gòu)造全網(wǎng)的層次化的拓撲結(jié)構(gòu)時,是分別存儲本AS內(nèi)的拓撲結(jié)構(gòu)和全網(wǎng)的拓 撲 結(jié)構(gòu)。步驟2,每個AS內(nèi)的流量優(yōu)化服務(wù)器從本AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS取得 全網(wǎng)層次化的拓撲結(jié)構(gòu),并等候流量優(yōu)化客戶端的查詢。步驟3,流量優(yōu)化客戶端向?qū)Φ冉Y(jié)點所在AS內(nèi)的流量優(yōu)化服務(wù)器提交查詢請求, 查詢該對等節(jié)點到其它對等結(jié)點的流量優(yōu)化距離。流量優(yōu)化客戶端可以是對等結(jié)點Peer,也可以是P2P系統(tǒng)中的目錄服務(wù)器 Tracker ;當流量優(yōu)化客戶端是對等結(jié)點Peer時,對等結(jié)點直接訪問所在AS的流量優(yōu)化服 務(wù)器,提交本機的地址和候選對等結(jié)點的地址列表,查詢本機到各候選對等結(jié)點的流量優(yōu) 化距離;若流量優(yōu)化客戶端是目錄服務(wù)器Tracker,當某個對等結(jié)點連接到Tracker請求返 回對等結(jié)點列表時,Tracker向該對等結(jié)點所在AS的流量優(yōu)化服務(wù)器發(fā)出查詢請求,提交 該對等結(jié)點的地址和候選對等結(jié)點的地址列表,查詢該對等結(jié)點到各候選對等結(jié)點的流量 優(yōu)化距離。步驟4,流量優(yōu)化服務(wù)器接到查詢請求后,根據(jù)全網(wǎng)的層次化的拓撲結(jié)構(gòu),計算該 對等結(jié)點到其它對等結(jié)點的流量優(yōu)化距離,并將該流量優(yōu)化距離返回給流量優(yōu)化客戶端。4a)定義流量優(yōu)化距離為層次化的距離,包含從高到低多個層次,描述各個層次上 的某種物理含義的距離,用高層距離描述宏觀距離,用低層距離描述微觀距離;例如定義兩 層,高一層是結(jié)點之間的AS數(shù),低一層是結(jié)點間路徑在本AS內(nèi)的路由跳數(shù);在這一層次化 的流量優(yōu)化距離定義下,比較兩個流量優(yōu)化距離時,首先比較高一層距離,然后在高層距離 相同或相近時再比較下一層距離;每一層流量優(yōu)化距離的物理含義有多種,例如反映對等 結(jié)點間距離的AS數(shù)、路由跳數(shù)、地理距離、體現(xiàn)ISP偏好的開銷,以及反映對等結(jié)點間鏈路 性能的往返時間RTT或可用帶寬的倒數(shù);層次化的流量優(yōu)化距離中每一層的物理含義由流 量優(yōu)化服務(wù)器通知流量優(yōu)化客戶端,通知報文格式如圖3所示先定義層次數(shù),然后是每一 層距離的類型,如0x01表示路由跳數(shù)、0x02表示AS數(shù)等,類型字長為8位;每層距離值的 字長為16位;4b)定義對等結(jié)點的流量優(yōu)化標識為層次化的標識;例如,對于一個對等結(jié)點,將 其標識定義為兩層結(jié)構(gòu),高層為AS號,低層為IP地址;實際中可根據(jù)需要定義若干層次,例 如若干AS構(gòu)成一個AS組,AS組號為最高層標識,其次為AS號,然后是若干子網(wǎng)構(gòu)成區(qū)域 的區(qū)域號,最后是IP地址;流量優(yōu)化服務(wù)器為流量優(yōu)化客戶端提供兩種查詢服務(wù)一是將 地址轉(zhuǎn)換為層次化的流量優(yōu)化標識,二是計算源對等結(jié)點標識到一些目的對等結(jié)點標識間的流量優(yōu)化距離;流量優(yōu)化標識的格式由流量優(yōu)化服務(wù)器通知流量優(yōu)化客戶端,其通知報 文的結(jié)構(gòu)如圖4所示先定義層次數(shù),之后是每一層標識的字長列表,表示每一層標識長度 為多少字節(jié),由于字長值為8位,因而每一層標識最長為255字節(jié),以后流量優(yōu)化服務(wù)器和 流量優(yōu)化客戶端間交互數(shù)據(jù)中的流量優(yōu)化標識都按此格式定義;4c)根據(jù)拓撲結(jié)構(gòu)計算流量優(yōu)化距離時,按照每個層次上的網(wǎng)絡(luò)拓撲結(jié)構(gòu),分別計 算各層次上的流量優(yōu)化距離,因為各個層次上的網(wǎng)絡(luò)拓撲來自不同的路由協(xié)議,這些路由 協(xié)議保存的拓撲信息有很大不同,例如域內(nèi)路由協(xié)議OSPF是鏈路狀態(tài)協(xié)議,而域間路由協(xié) 議BGP是路徑向量協(xié)議,因此需要 分別設(shè)計映射到流量優(yōu)化距離的方法;4d)在計算某個層次上的流量優(yōu)化距離時,若該層次上的網(wǎng)絡(luò)拓撲結(jié)構(gòu)以鏈路狀 態(tài)形式存儲,則通過最短路徑算法如Floyd算法或Dijkstra算法求得該對等結(jié)點到其它 對等結(jié)點在該層次網(wǎng)絡(luò)上的最短路徑,也就得到了結(jié)點間在該層網(wǎng)絡(luò)上的流量優(yōu)化距離; 以O(shè)SPF協(xié)議為例,鏈路上的權(quán)值在OSPF協(xié)議中稱為代價,有的廠商將代價設(shè)置為鏈路帶寬 的倒數(shù),如果直接采用OSPF代價作為邊的長度,則流量優(yōu)化距離就是最短路徑上的代價之 和;若將邊長設(shè)置為1,則流量優(yōu)化距離就是最短路徑的路徑長度,也就是路由跳數(shù);若將 邊長設(shè)為結(jié)點間的地理距離,則流量優(yōu)化距離就是最短路徑所經(jīng)過的地理距離之和;當AS 中的結(jié)點數(shù)量很大時,利用OSPF的原區(qū)域劃分方法降低最短路徑的求解復雜度;4e)在計算某個層次上的流量優(yōu)化距離時,若該層次上的網(wǎng)絡(luò)拓撲結(jié)構(gòu)以路徑向 量形式存儲,則通過直接查詢路徑向量樹獲得該對等結(jié)點到其它對等結(jié)點在該層次上的流 量優(yōu)化距離;以BGP協(xié)議為例,BGP存儲了以本AS為根的路徑向量樹,全網(wǎng)所有AS都是樹 中的結(jié)點,因此通過查詢路徑向量樹就能直接獲得從本AS到其它任一 AS所經(jīng)過的AS數(shù), 作為高一層流量優(yōu)化距離;若設(shè)置了 AS間的地理距離,則將經(jīng)過AS路徑上的地理距離之和 作為流量優(yōu)化距離;4f)使用4d)和4e)中的方法分別計算得到各個層次上的流量優(yōu)化距離后,將其組 合成層次化的流量優(yōu)化距離;例如,若本AS內(nèi)的拓撲結(jié)構(gòu)來自0SPF、全網(wǎng)的拓撲結(jié)構(gòu)來自 BGP,在分別計算了本AS內(nèi)的距離和AS間的距離之后,將其分別作為層次化的流量優(yōu)化距 離中的兩層,其中高層描述AS間的距離,低層描述本AS內(nèi)的距離;此時,若一個對等結(jié)點和 另一個候選對等結(jié)點位于同一 AS,則它們之間的AS距離為零,即高層距離為零;而低層距 離為它們之間在AS內(nèi)部的距離,如路由跳數(shù);若一個對等結(jié)點和另一個候選對等結(jié)點位于 不同的AS,則它們之間的高層距離為兩者間的AS數(shù)、即AS距離;而它們之間的低層距離為 從該對等結(jié)點路由到候選對等結(jié)點在該對等結(jié)點所在AS內(nèi)部的部分路徑的長度;以圖5為 例,對等結(jié)點A位于自治系統(tǒng)ASl中,候選對等結(jié)點B位于自治系統(tǒng)AS2中,流量優(yōu)化客戶 端向ASl中的流量優(yōu)化服務(wù)器查詢對等結(jié)點A到其它候選對等結(jié)點的流量優(yōu)化距離;在計 算A到B的距離時,假設(shè)A到B的路由為首先由A路由到ASl的邊界路由器S,再由S路由 到AS2的邊界路由器T,最后由T路由到B,則A到B的高層流量優(yōu)化距離為ASl到AS2之 間的AS數(shù),也就是S到T之間的路由經(jīng)過了多少個AS ;而A到B的低層流量優(yōu)化距離為該 路由在ASl內(nèi)部的路徑長度,也即A到S的路由跳數(shù)。上述步驟3和步驟4中流量優(yōu)化客戶端與流量優(yōu)化服務(wù)器之間的數(shù)據(jù)交互通過加 密連接TLS傳輸,以保證安全性。交互的報文格式如圖6所示,其中8位的版本號指明當前 通信協(xié)議的版本,24位的報文長度指明本報文的長度,16位的報文類型指明后面報文內(nèi)容的含義,不同的報文類型后面報文內(nèi)容的含義不同。例如當報文類型為流量優(yōu)化標識請求 時,后面報文內(nèi)容中包含所請求轉(zhuǎn)化的地址列表;當報文類型為流量優(yōu)化標識應(yīng)答時,報文 內(nèi)容中包括轉(zhuǎn)化后的地址和流量優(yōu)化標識映射列表;當報文類型為流量優(yōu)化距離請求時, 后面報文中包括源地址或流量優(yōu)化標識和目的地址或流量優(yōu)化標識列表;當報文類型為流 量優(yōu)化距離應(yīng)答時,報文內(nèi)容包括源對等結(jié)點到所有目的對等結(jié)點的流量優(yōu)化距離列表。 另外還應(yīng)有專門的出錯報文類型,在處理出錯時發(fā)送。
步驟5,流量優(yōu)化客戶端接到該對等結(jié)點到其它對等結(jié)點的層次化的流量優(yōu)化距 離時,根據(jù)距離的遠近選擇較近的對等結(jié)點建立連接,傳輸數(shù)據(jù)。5a)選擇較近的對等結(jié)點時,是先根據(jù)高層距離選擇距離較小的對等結(jié)點建立連 接;若高層距離相同或相近,則再根據(jù)低層距離選擇距離較小的對等結(jié)點建立連接;5b)當流量優(yōu)化客戶端是對等結(jié)點Peer時,對等結(jié)點接到流量優(yōu)化距離后,選擇 距離較近的對等結(jié)點建立連接,傳輸數(shù)據(jù);當流量優(yōu)化客戶端是目錄服務(wù)器Tracker時, Tracker接到流量優(yōu)化距離后,選擇距離較近的對等結(jié)點組成對等結(jié)點列表,然后將該列表 返回給之前請求列表的對等結(jié)點,該對等結(jié)點再連接列表中的結(jié)點傳輸數(shù)據(jù)。術(shù)語解釋P2P :Peer-to_Peer,對等網(wǎng)絡(luò)ISP Jnternet Service Provider,互聯(lián)網(wǎng)服務(wù)提供商Overlay網(wǎng)絡(luò)覆蓋網(wǎng)絡(luò)P2P Cache 對等網(wǎng)絡(luò)緩存AS Autonomous System,自治系統(tǒng)NTIS =Network Topology Information Server,網(wǎng)絡(luò)拓撲信息月艮務(wù)器OSPF =Open Shortest Path First,開放式最短路徑優(yōu)先協(xié)議BGP =Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議Peer 對等結(jié)點Tracker 目錄服務(wù)器RTT =Round-Trip Time,往返時間IP Jnternet Protocol,網(wǎng)際協(xié)議Floyd算法弗洛伊德算法Dijkstra算法迪杰斯特拉算法TLS transport Layer Security,傳輸層安全協(xié)議
權(quán)利要求
一種支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,包括以下步驟(1)每個自治系統(tǒng)AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS,從本AS內(nèi)的多個路由器中收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu),構(gòu)建全網(wǎng)的層次化的拓撲結(jié)構(gòu);(2)每個AS內(nèi)的流量優(yōu)化服務(wù)器從本AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS取得全網(wǎng)層次化的拓撲結(jié)構(gòu),并等候流量優(yōu)化客戶端的查詢;(3)流量優(yōu)化客戶端向?qū)Φ冉Y(jié)點所在AS內(nèi)的流量優(yōu)化服務(wù)器提交查詢請求,查詢該對等節(jié)點到其它對等結(jié)點的流量優(yōu)化距離;(4)流量優(yōu)化服務(wù)器接到查詢請求后,根據(jù)全網(wǎng)層次化的拓撲結(jié)構(gòu),計算該對等結(jié)點到其它對等結(jié)點的層次化的流量優(yōu)化距離,并將該流量優(yōu)化距離返回給流量優(yōu)化客戶端;(5)流量優(yōu)化客戶端接到該對等結(jié)點到其它對等結(jié)點的層次化的流量優(yōu)化距離時,根據(jù)距離的遠近選擇較近的對等結(jié)點建立連接,傳輸數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,其特征在于,步 驟(1)所述的從本AS內(nèi)的多個路由器中收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)和全網(wǎng)的網(wǎng)絡(luò)拓撲結(jié) 構(gòu),按如下步驟進行2a)通過域內(nèi)路由協(xié)議收集本AS內(nèi)的網(wǎng)絡(luò)拓撲結(jié)構(gòu);對于將AS劃分成若干區(qū)域的域 內(nèi)路由協(xié)議,網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS要從各個區(qū)域內(nèi)的路由器收集來自各個區(qū)域的拓 撲信息,以構(gòu)成整個AS的網(wǎng)絡(luò)拓撲結(jié)構(gòu);2b)通過域間路由協(xié)議收集全網(wǎng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu);對于類似BGP的域間路由協(xié)議,網(wǎng)絡(luò) 拓撲信息服務(wù)器NTIS要從本AS的AS邊界路由器獲得全網(wǎng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
3.根據(jù)權(quán)利要求1所述的支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,其特征在于,步 驟(4)所述的層次化的流量優(yōu)化距離,包含從高到低多個層次,用高層距離描述宏觀距離, 用低層距離描述微觀距離。
4.根據(jù)權(quán)利要求1所述的支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,其特征在于,步驟 (4)所述的根據(jù)全網(wǎng)層次化的拓撲結(jié)構(gòu)計算該對等結(jié)點到其它對等結(jié)點的層次化的流量優(yōu) 化距離,按如下步驟進行4a)根據(jù)每個層次上的網(wǎng)絡(luò)拓撲結(jié)構(gòu),分別計算各層次上的流量優(yōu)化距離,最后再組合 成層次化的流量優(yōu)化距離;4b)在計算某個層次上的流量優(yōu)化距離時,若該層次上的網(wǎng)絡(luò)拓撲結(jié)構(gòu)以鏈路狀態(tài)形 式存儲,則通過最短路徑算法求得該對等結(jié)點到其它對等結(jié)點在該層次上的流量優(yōu)化距 罔;4c)在計算某個層次上的流量優(yōu)化距離時,若該層次上的網(wǎng)絡(luò)拓撲結(jié)構(gòu)以路徑向量形 式存儲,則通過直接查詢路徑向量樹獲得該對等結(jié)點到其它對等結(jié)點在該層次上的流量優(yōu) 化距離。
5.根據(jù)權(quán)利要求1所述的支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,其特征在于,步 驟(5)所述的根據(jù)距離的遠近選擇較近的對等結(jié)點建立連接,是先根據(jù)高層距離選擇距離 較小的對等結(jié)點建立連接;若高層距離相同或相近,則再根據(jù)低層距離選擇距離較小的對 等結(jié)點建立連接。
全文摘要
本發(fā)明公開了一種支持層次化網(wǎng)絡(luò)拓撲的P2P流量優(yōu)化方法,主要解決現(xiàn)有技術(shù)不能處理層次化的網(wǎng)絡(luò)拓撲信息、不能實現(xiàn)有效優(yōu)化的問題。其實現(xiàn)步驟是每個自治系統(tǒng)AS內(nèi)的網(wǎng)絡(luò)拓撲信息服務(wù)器NTIS,僅從本AS內(nèi)的路由器收集本AS內(nèi)的拓撲結(jié)構(gòu)和全網(wǎng)的拓撲結(jié)構(gòu),構(gòu)建全網(wǎng)的層次化的拓撲結(jié)構(gòu),交給流量優(yōu)化服務(wù)器;流量優(yōu)化服務(wù)器依此計算本AS內(nèi)某個對等結(jié)點到全網(wǎng)任意結(jié)點間的層次化的流量優(yōu)化距離,供流量優(yōu)化客戶端查詢;流量優(yōu)化客戶端根據(jù)層次化的流量優(yōu)化距離,選擇距離較近的對等結(jié)點建立連接、傳輸數(shù)據(jù)。本發(fā)明能夠處理層次化的網(wǎng)絡(luò)拓撲信息,體現(xiàn)不同鏈路的價值,可用于降低各層次網(wǎng)絡(luò)上的P2P流量。
文檔編號H04L12/56GK101969458SQ20101029189
公開日2011年2月9日 申請日期2010年11月26日 優(yōu)先權(quán)日2010年11月26日
發(fā)明者宋建鋒, 張彤, 徐亮, 權(quán)義寧, 盛立杰, 董學文, 謝琨 申請人:西安電子科技大學