專利名稱:IPv4/v6混合組網(wǎng)下P2P資源的共享方法
技術(shù)領(lǐng)域:
本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種在IPv4/v6網(wǎng)絡(luò)下P2P資源的混合共
享方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,P2P應(yīng)用已成為各種網(wǎng)絡(luò)應(yīng)用的主導(dǎo),P2P流媒體 視頻共享軟件也層出不窮,PPTV(原PPLive),PPStream等軟件的成功也從一個(gè)側(cè)面反 映了 P2P流媒體共享技術(shù)在當(dāng)今網(wǎng)絡(luò)中的重要地位。所謂P2P流媒體視頻共享系統(tǒng),是 指基于P2P網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)共享和傳輸?shù)牧髅襟w視頻系統(tǒng),能夠有效克服原始C/S模式在 用戶量增多時(shí)服務(wù)器壓力過大而導(dǎo)致的系統(tǒng)瓶頸以及單點(diǎn)失效的缺點(diǎn),并且,在P2P模 式下,每個(gè)節(jié)點(diǎn)同時(shí)扮演了客戶端和服務(wù)器的角色,不僅從其他節(jié)點(diǎn)獲取數(shù)據(jù),而且要 將自己的數(shù)據(jù)進(jìn)行處理并發(fā)給其他節(jié)點(diǎn),將“資源共享”這一概念詮釋的更加清晰,也 正因?yàn)檫@種特性,使得利用P2P模式能夠非常容易的使用現(xiàn)有網(wǎng)絡(luò)資源,建立高速,穩(wěn) 定的大規(guī)模網(wǎng)絡(luò)流媒體視頻共享平臺(tái)。中國(guó)下一代互聯(lián)網(wǎng)示范工程(CNGI)的提出并在中國(guó)教育科研網(wǎng)(CERNET) 中得到應(yīng)用標(biāo)志著中國(guó)第二代中國(guó)教育和科研計(jì)算機(jī)網(wǎng)(CERNET2)的成功開通, CERNET2為全國(guó)幾百所高校和科研單位提供高速IPv6網(wǎng)絡(luò)接入服務(wù),高速連接國(guó)內(nèi)外下
一代互聯(lián)網(wǎng)。在IPv6的設(shè)計(jì)過程中,除了一勞永逸地解決了地址短缺問題以外,還考慮了在 IPv4中解決不好的其它問題,主要有端到端IP連接、服務(wù)質(zhì)量、安全性、多播、移動(dòng) 性、即插即用等?;谌绱舜蟮募夹g(shù)優(yōu)勢(shì),因此,從大的發(fā)展層面來說,IPv6必將是 未來數(shù)據(jù)通信領(lǐng)域內(nèi)的主流發(fā)展趨勢(shì)。具有良好的可擴(kuò)展性和開放的體系架構(gòu)、支持各 種綜合業(yè)務(wù)、可持續(xù)發(fā)展的下一代網(wǎng)絡(luò)已經(jīng)開始出現(xiàn)。IPv6將成為下一代網(wǎng)絡(luò)的核心技 術(shù)。然而和其巨大的內(nèi)部帶寬相比,基于下一代互聯(lián)網(wǎng)的應(yīng)用并不是很多,缺乏創(chuàng) 新的應(yīng)用,技術(shù)發(fā)展的動(dòng)力不足;IPv4向IPv6的過渡問題尚未很好地解決,IPv6作為技 術(shù)設(shè)施的一部分固然重要,但“殺手級(jí)應(yīng)用”的出現(xiàn)才能真正把IPv6帶入網(wǎng)絡(luò)中并滿足 人們的需要。IPv4和IPv6將長(zhǎng)期共存,但目前的應(yīng)用要么僅支持IPv4,不能利用IPv6的帶 寬,比如PPTV,PPStream等商業(yè)軟件。要么僅支持IPv6,使得對(duì)沒有配備IPv6的用戶 不宜推廣,如上海交通大學(xué)的IPv6視頻試驗(yàn)站(video6.sjtu.edu.cn),可為校園網(wǎng)用戶提供 多種碼率的IPTV直播頻道,但目前而言僅僅支持IPv6網(wǎng)絡(luò);還有一些系統(tǒng)支持了雙棧但 并不支持資源共享,難以滿足大規(guī)模的視頻觀看請(qǐng)求,如清華大學(xué)發(fā)布的IPTV實(shí)驗(yàn)平臺(tái)
“左右TV” (iptv.tsinghua.edu.cn),支持了 IPv4/IPv6雙棧用戶,而且可以進(jìn)行回播,但 從原理上來講,仍然是屬于B/S模型,即所有節(jié)目源數(shù)據(jù)都是來自服務(wù)器端,存在單點(diǎn) 失效和承載用戶數(shù)量有限的瓶頸。所以,在IPv4和IPv6網(wǎng)絡(luò)共存的情況下,研究支持配備IPv4地址或者IPv6地址的網(wǎng)絡(luò)用戶共享網(wǎng)絡(luò)資源,使用P2P流媒體系統(tǒng),具有非常重 要的理論意義和實(shí)用價(jià)值。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種IPv4/v6混合組網(wǎng)環(huán)境下P2P資源的混合共享方法, 對(duì)于配置了 IPv4地址或IPv6地址或兩類地址都有配置的節(jié)點(diǎn),均能實(shí)現(xiàn)資源共享。IPv4/v6混合組網(wǎng)下P2P資源的共享方法,涉及節(jié)目源服務(wù)器、索引服務(wù)器、 web服務(wù)器和客戶端;索引服務(wù)器分為IPv4索引服務(wù)器和IPv6索引服務(wù)器;客戶端分為 配置IPv4地址的客戶端、配置IPv6地址的客戶端和同時(shí)配置IPv4/IPv6地址的客戶端; 節(jié)目源服務(wù)器實(shí)時(shí)向索引服務(wù)器發(fā)送節(jié)目源相關(guān)信息;IPv4地址客戶端首先通過web服務(wù)器向IPv4索引服務(wù)器發(fā)出加入請(qǐng)求,IPv4索 引服向IPv4地址客戶端反饋配置IPv4地址的鄰居節(jié)點(diǎn)信息及請(qǐng)求的節(jié)目源相關(guān)信息; IPv4地址客戶端再依據(jù)請(qǐng)求得到的節(jié)目源相關(guān)信息向其鄰居節(jié)點(diǎn)發(fā)送資源請(qǐng)求,擁有資 源的鄰居節(jié)點(diǎn)反饋其請(qǐng)求的資源;IPv6地址客戶端首先通過web服務(wù)器向IPv6索引服務(wù)器發(fā)出加入請(qǐng)求,IPv6索 引服向IPv6地址客戶端反饋配置IPv6地址的鄰居節(jié)點(diǎn)信息和請(qǐng)求的節(jié)目源相關(guān)信息; IPv6地址客戶端再依據(jù)請(qǐng)求得到的節(jié)目源相關(guān)信息向其鄰居節(jié)點(diǎn)發(fā)送資源請(qǐng)求,擁有資 源的鄰居節(jié)點(diǎn)反饋其請(qǐng)求的資源;IPv4/IPv6地址客戶端首先通過web服務(wù)器分別向IPv4和IPv6索引服務(wù)器發(fā)出 加入請(qǐng)求,兩類索引服務(wù)器均反饋相應(yīng)地址類型的鄰居節(jié)點(diǎn)信息和請(qǐng)求的節(jié)目源相關(guān)信 息;IPv4/IPv6地址客戶端再依據(jù)請(qǐng)求得到的節(jié)目源相關(guān)信息向鄰居節(jié)點(diǎn)發(fā)送資源請(qǐng)求, 擁有資源的鄰居節(jié)點(diǎn)反饋請(qǐng)求的資源。作為優(yōu)化,所述客戶端使用統(tǒng)一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)鄰居節(jié)點(diǎn)信息。作為優(yōu)化,在所述客戶端向索引服務(wù)器發(fā)出加入請(qǐng)求時(shí),索引服務(wù)器首先進(jìn)行 安全認(rèn)證。本發(fā)明通過部署IPv4索引服務(wù)器和IPv6索引服務(wù)器,使用雙協(xié)議棧技術(shù),在 IPv4和IPv6混合組網(wǎng)的情況下,構(gòu)建一個(gè)無結(jié)構(gòu)的P2P共享網(wǎng)絡(luò),覆蓋了 IPv4節(jié)點(diǎn), IPv6節(jié)點(diǎn)以及IPv4/v6節(jié)點(diǎn),實(shí)現(xiàn)混合組網(wǎng)下資源共享。
圖1為視頻系統(tǒng)結(jié)構(gòu)示意圖。圖2為節(jié)目源視頻處理流程圖。圖3為視頻系統(tǒng)服務(wù)器端結(jié)構(gòu)圖。圖4為視頻系統(tǒng)客戶端結(jié)構(gòu)圖。圖5為節(jié)點(diǎn)加入系統(tǒng)流程圖。 圖6為三類節(jié)點(diǎn)通信示意圖。圖7為數(shù)據(jù)在IPv4/V6網(wǎng)絡(luò)中的共享示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。特別說明的是,在本發(fā)明 中“/”含義為“和”的意思。系統(tǒng)體系結(jié)構(gòu)如圖1所示,整個(gè)系統(tǒng)包括服務(wù)器端和客戶端,其中服務(wù)器端包 括編碼服務(wù)器,節(jié)目源服務(wù)器,IPv4Tracker,IPv6Tracker以及網(wǎng)頁(yè)服務(wù)器(web服務(wù) 器)。視頻信號(hào)源可以是電視信號(hào)或者是視頻資料;編碼服務(wù)器把視頻信號(hào)轉(zhuǎn)換成網(wǎng) 絡(luò)視頻流;節(jié)目源服務(wù)器從編碼服務(wù)器上獲取視頻流,分成合適的視頻塊,并且打包; IPv4Tracker接受配置有IPv4地址的客戶端的加入申請(qǐng),IPv6Tracker接受配置有IPv6地 址的客戶端的加入申請(qǐng);節(jié)目源服務(wù)器實(shí)時(shí)向IPHTracker和IPV6TraCke發(fā)送節(jié)目源相 關(guān)信息,節(jié)目源相關(guān)信息主要包括節(jié)目編號(hào)(ID)、緩沖區(qū)信息等內(nèi)容,IPHTracker和 IPv6Tracke通過web服務(wù)器發(fā)布視頻節(jié)目信息,以供節(jié)點(diǎn)選擇不同的頻道節(jié)目??蛻舳税?中類型,即配置IPv4的客戶端,配置IPv6的客戶端和配置了 IPv4/ v6的客戶端。系統(tǒng)在組織節(jié)點(diǎn)時(shí),使用雙Tracker雙協(xié)議棧來組織這三類不同的節(jié)點(diǎn), 形成一個(gè)既有IPv4節(jié)點(diǎn),又有IPv6節(jié)點(diǎn)的混合節(jié)點(diǎn)類型的共享網(wǎng)絡(luò)。僅僅配置了 IPv4節(jié)點(diǎn)只能使用IPv4的協(xié)議棧和配置有IPv4的節(jié)點(diǎn)進(jìn)行通信,同 理,僅僅配置了 IPv6的節(jié)點(diǎn)只能使用IPv6的協(xié)議棧和配置有IPv6的節(jié)點(diǎn)進(jìn)行通信。本 發(fā)明在服務(wù)器端使用一個(gè)IPv4的索引服務(wù)器(Tracker)來構(gòu)建配置了 IPv4的節(jié)點(diǎn)網(wǎng)絡(luò); 使用一個(gè)IPv6的Tracker來構(gòu)建配置了 IPv6的節(jié)點(diǎn)網(wǎng)絡(luò)。配置了 IPv4/v6的節(jié)點(diǎn)會(huì)同時(shí) 加入這兩個(gè)網(wǎng)絡(luò),向這兩個(gè)網(wǎng)絡(luò)共享自己的資源。同時(shí),在客戶端,使用一致的數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)鄰居列表,由于IPv4和IPv6的地 址的結(jié)構(gòu)不同,本發(fā)明構(gòu)造一個(gè)一致的存儲(chǔ)結(jié)構(gòu)同時(shí)存放這兩種類型的節(jié)點(diǎn),而不是使 用兩個(gè)鄰居列表來存放不同類型的鄰居;節(jié)點(diǎn)只有在通信時(shí)才調(diào)用不同的通信協(xié)議和不 同類型的節(jié)點(diǎn)進(jìn)行通信。視頻的編碼發(fā)布流程如圖2所示,編碼服務(wù)器首先獲取視頻資源,然后對(duì)視頻 資源進(jìn)行編碼,使之成為流媒體文件,然后把經(jīng)過編碼的流媒體文件發(fā)送給節(jié)目源,節(jié)目 源對(duì)流媒體文件進(jìn)行分片,打包,并向Tracker服務(wù)器發(fā)送節(jié)目ID以及節(jié)目源相關(guān)信息。系統(tǒng)的服務(wù)器結(jié)構(gòu)如圖3所示,編碼服務(wù)器和節(jié)目源的通信如圖2所示,節(jié)目源 配置IPv4地址和IPv6地址,會(huì)同時(shí)向IPv4Tracker和IPv6Tracker發(fā)送節(jié)目ID以及節(jié)目源 的緩沖區(qū)信息。Tracker在接到節(jié)目源信息以后,會(huì)向web服務(wù)器發(fā)送節(jié)目信息,web服 務(wù)器把接受到的節(jié)目信息顯示在web頁(yè)面上,供用戶選擇??蛻舳说慕Y(jié)構(gòu)如圖4所示,每個(gè)客戶端主要包括兩個(gè)模塊,鄰居管理和數(shù)據(jù)管 理。鄰居管理主要負(fù)責(zé)維持一定數(shù)目的鄰居節(jié)點(diǎn),同時(shí)周期性的刷新鄰居列表,剔除不 回應(yīng)的鄰居;數(shù)據(jù)管理主要負(fù)責(zé)維護(hù)客戶端緩沖區(qū)信息,并且決定如何請(qǐng)求自己需要的 數(shù)據(jù)。本發(fā)明的目的通過如下措施來達(dá)到1.服務(wù)器端設(shè)置兩種類型的Tracker由于網(wǎng)絡(luò)中存在三種類型的節(jié)點(diǎn),配置了 IPv4的節(jié)點(diǎn),配置了 IPv6的節(jié)點(diǎn)和 配置了 IPv4/v6的節(jié)點(diǎn)。所以服務(wù)器端設(shè)置兩種類型的Tracker 一種是IPv4類型的 Tracker,所有配置了 IPv4協(xié)議的節(jié)點(diǎn)都向這個(gè)Tracker發(fā)出請(qǐng)求,可以加入網(wǎng)絡(luò)中;另一
5種是IPv6類型的Tracker,所有配置了 IPv6協(xié)議的節(jié)點(diǎn)向這個(gè)Tracker發(fā)出請(qǐng)求,加入網(wǎng)絡(luò)中。2.客戶端設(shè)置統(tǒng)一的鄰居存儲(chǔ)結(jié)構(gòu),屏蔽IPv4和IPv6節(jié)點(diǎn)類型的差異。由于存在三種節(jié)點(diǎn)類型,IPv6地址和IPv4地址的結(jié)構(gòu)不同,本發(fā)明使用統(tǒng)一的 鄰居存儲(chǔ)結(jié)構(gòu),屏蔽IPv4和IPv6的地址差異,所有鄰居地址都存儲(chǔ)在一個(gè)列表中,只有 當(dāng)進(jìn)行網(wǎng)絡(luò)通信時(shí),才辨別鄰居節(jié)點(diǎn)是屬于何種節(jié)點(diǎn)類型,然后調(diào)用不同的通信協(xié)議進(jìn) 行通信。(2.1) IPv4節(jié)點(diǎn)的加入和鄰居存儲(chǔ)IPv4節(jié)點(diǎn)在啟動(dòng)客戶端以后會(huì)向IPv4的Tracker發(fā)出加入(join)信息,試圖加 入網(wǎng)絡(luò),IPv4的Tracker接到j(luò)oin請(qǐng)求以后,對(duì)節(jié)點(diǎn)進(jìn)行安全認(rèn)證,如果節(jié)點(diǎn)IP屬于可 信IP地址,會(huì)向請(qǐng)求的節(jié)點(diǎn)響應(yīng),返回服務(wù)器狀態(tài)信息、視頻源的相關(guān)信息以及發(fā)起請(qǐng) 求的節(jié)點(diǎn)的信息,完成節(jié)點(diǎn)的加入。然后發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)向Tracker請(qǐng)求鄰居信息, Tracker響應(yīng)請(qǐng)求,返回一定數(shù)量的鄰居節(jié)點(diǎn),IPv4類型的Tracker由于只響應(yīng)IPv4類型 節(jié)點(diǎn)的請(qǐng)求,所以此時(shí)返回的鄰居節(jié)點(diǎn)全部為IPv4類型的節(jié)點(diǎn),包括IP地址,端口信息 等。節(jié)點(diǎn)會(huì)把這些鄰居信息放在鄰居列表中,這個(gè)鄰居列表并不區(qū)分這些鄰居IP是IPv4 類型或者是IPv6類型。(2.2) IPv6節(jié)點(diǎn)的加入和鄰居存儲(chǔ)IPv6節(jié)點(diǎn)在啟動(dòng)客戶端以后會(huì)向IPv6的Tracker發(fā)出join信息,試圖加入網(wǎng)絡(luò), IPv6的Tracker接到j(luò)oin請(qǐng)求以后,對(duì)節(jié)點(diǎn)進(jìn)行安全認(rèn)證,如果節(jié)點(diǎn)IP屬于可信IP地址, 會(huì)向請(qǐng)求的節(jié)點(diǎn)響應(yīng),返回服務(wù)器狀態(tài)信息,視頻源的相關(guān)信息以及發(fā)起請(qǐng)求的節(jié)點(diǎn)的 信息,完成節(jié)點(diǎn)的加入。然后發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)向Tracker請(qǐng)求鄰居信息,Tracker響應(yīng) 請(qǐng)求,返回一定數(shù)量的鄰居節(jié)點(diǎn),IPv6類型的Tracker由于只響應(yīng)IPv6類型節(jié)點(diǎn)的請(qǐng)求, 所以此時(shí)返回的鄰居節(jié)點(diǎn)全部為IPv6類型的節(jié)點(diǎn),包括IP地址,端口信息等。節(jié)點(diǎn)會(huì) 把這些鄰居信息放在鄰居列表中,這個(gè)鄰居列表并不區(qū)分這些鄰居IP是IPv4類型或者是 IPv6類型。(2.3)lPv4/v6節(jié)點(diǎn)的加入和鄰居存儲(chǔ)IPv4/v6節(jié)點(diǎn)在啟動(dòng)客戶端以后會(huì)向IPv4的Tracker和IPv6的Tracker同時(shí)發(fā)出 join信息,加入兩個(gè)網(wǎng)絡(luò)。IPv4的Tracker接到j(luò)oin請(qǐng)求以后,對(duì)節(jié)點(diǎn)進(jìn)行安全認(rèn)證,如
果節(jié)點(diǎn)IP屬于可信IP地址,會(huì)向請(qǐng)求的節(jié)點(diǎn)響應(yīng),返回服務(wù)器狀態(tài)信息,視頻源的信息 以及發(fā)起請(qǐng)求的節(jié)點(diǎn)的信息,完成節(jié)點(diǎn)IPv4網(wǎng)絡(luò)的加入;IPv6的Tracker接到j(luò)oin請(qǐng)求 以后,對(duì)節(jié)點(diǎn)進(jìn)行安全認(rèn)證,如果節(jié)點(diǎn)IP屬于可信IP地址,會(huì)向請(qǐng)求的節(jié)點(diǎn)響應(yīng),返回 服務(wù)器狀態(tài)信息、視頻源的相關(guān)信息以及發(fā)起請(qǐng)求的節(jié)點(diǎn)的信息,完成節(jié)點(diǎn)IPv6網(wǎng)絡(luò)的 加入。然后發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)向兩個(gè)Tracker請(qǐng)求鄰居信息,Tracker響應(yīng)請(qǐng)求,返回一 定數(shù)量的鄰居節(jié)點(diǎn),IPv6類型的Tracker返回的IPv6類型的鄰居節(jié)點(diǎn)信息;Pv4類型的 Tracker返回的IPv4類型的鄰居節(jié)點(diǎn)信息。節(jié)點(diǎn)會(huì)把這些鄰居信息放在鄰居列表中,這個(gè) 鄰居列表并不區(qū)分這些鄰居IP是IPv4類型或者是IPv6類型。具體實(shí)施方法如下步驟1.視頻節(jié)目的編碼如圖2所示,首先由視頻信號(hào)采集器對(duì)信號(hào)進(jìn)行采集,然后啟動(dòng)編碼器(Windows Media Encoder),編碼以后的視頻流發(fā)送到流媒體服務(wù)器。步驟2.節(jié)目源的發(fā)布流媒體服務(wù)器在接到編碼服務(wù)器發(fā)送過來的視頻以后,會(huì)通知Tracker自己擁 有的頻道,Tracker在接到流媒體服務(wù)器(SourcePeer)的消息以后,會(huì)把流媒體服務(wù)器 (Source Peer)擁有的頻道加入自己的頻道列表里面,同時(shí)通知Web服務(wù)器新頻道的編 號(hào),完成節(jié)目源的發(fā)布。步驟3 節(jié)點(diǎn)加入網(wǎng)絡(luò)的方法本發(fā)明需要同時(shí)處理IPv4地址的網(wǎng)絡(luò)節(jié)點(diǎn)和IPv6的網(wǎng)絡(luò)節(jié)點(diǎn),以及IPV4/V6節(jié) 點(diǎn),節(jié)點(diǎn)(peer)和Tracker通信流程如圖5所示,下文對(duì)不同的情況給予介紹。步驟3.1僅配置了 IPv4地址的節(jié)點(diǎn)的加入1)節(jié)點(diǎn)訪問Web服務(wù)器,獲得需要看的頻道的信息;2)向IPHTracker發(fā)送join請(qǐng)求報(bào)文,報(bào)文包括本機(jī)的信息和請(qǐng)求的頻道信息;
3) IPv4Tracker返回應(yīng)答報(bào)文,允許/拒絕節(jié)點(diǎn)的加入;4)允許加入的節(jié)點(diǎn)再次請(qǐng)求鄰居列表,IPHTracker返回配置了 IPv4地址的鄰居 列表給請(qǐng)求的節(jié)點(diǎn),完成加入;5)按照周期向Tracker發(fā)送“心跳”信息,維持節(jié)點(diǎn)和Tracker的通信。步驟3.2僅配置了 IPv6地址的節(jié)點(diǎn)的加入1)節(jié)點(diǎn)訪問Web服務(wù)器,獲得需要看的頻道信息和IPv6Tracker的IP地址;2)向IPveTracker發(fā)送join請(qǐng)求報(bào)文,報(bào)文包括本機(jī)信息和請(qǐng)求的頻道信息;3) IPv6Tracker返回應(yīng)答報(bào)文,允許/拒絕節(jié)點(diǎn)的加入;4)允許加入的節(jié)點(diǎn)再次請(qǐng)求鄰居列表,IPv6Tracker返回配置了 IPv6地址的鄰居 列表給請(qǐng)求的節(jié)點(diǎn),完成加入;5)按照周期向Tracker發(fā)送“心跳”信息,維持節(jié)點(diǎn)和Tracker的通信。步驟3.3配置了 IPv4/v6地址的節(jié)點(diǎn)的加入 1)節(jié)點(diǎn)訪問Web服務(wù)器,獲得需要看的頻道的編號(hào)和IPHTracker以及 IPv6Tracker 的 IP 地址;2)同時(shí)向IPv4Tracker和IPv6Tracker發(fā)送join請(qǐng)求報(bào)文,報(bào)文包括本機(jī)的一些信
息和請(qǐng)求的頻道地址;3) IPv4Tracker和IPv6Tracker返回應(yīng)答報(bào)文,允許/拒絕節(jié)點(diǎn)的加入;4)允許加入的節(jié)點(diǎn)再次請(qǐng)求鄰居列表,IPv6Tracker返回配置了 IPv6地址的鄰居 列表給請(qǐng)求的節(jié)點(diǎn),IPv4 Tracker返回配置了 IPv4地址的鄰居列表給請(qǐng)求的節(jié)點(diǎn),完成加 入;5)按照周期向Tracker發(fā)送“心跳”信息,維持節(jié)點(diǎn)和Tracker的通信。步驟4節(jié)點(diǎn)之間的資源共享方法節(jié)點(diǎn)在收到Tracker返回的初始鄰居節(jié)點(diǎn)以后,需要和這些節(jié)點(diǎn)進(jìn)行信息交換和 資源共享,信息交換是指節(jié)點(diǎn)間相互交換狀態(tài)信息,資源交換是指節(jié)點(diǎn)間相互交換視頻 資源。由于系統(tǒng)中包括IPv4節(jié)點(diǎn),IPv6節(jié)點(diǎn)和IPv4/v6節(jié)點(diǎn),這三類節(jié)點(diǎn)的特征不同, 所以使用的通信方法也不相同,以下分別描述三類節(jié)點(diǎn)和鄰居的交互方法。步驟4.1僅配置了 IPv4地址的節(jié)點(diǎn)交互方法
此類節(jié)點(diǎn)首先和IPv4Tracker通信,加入到IPv4的網(wǎng)絡(luò)中,Tracker會(huì)返回一定數(shù)
量的鄰居節(jié)點(diǎn)給新加入的節(jié)點(diǎn),這些節(jié)點(diǎn)都是擁有IPv4地址的(包括僅配置了 IPv4地址 的節(jié)點(diǎn)和IPv4/v6節(jié)點(diǎn))。節(jié)點(diǎn)和這些鄰居的交互過程中除了向他們請(qǐng)求視頻信息,還會(huì) 和他們交換各自擁有的鄰居信息。向IPv4鄰居請(qǐng)求他們的鄰居信息時(shí),這些鄰居節(jié)點(diǎn)會(huì)把自己的鄰居節(jié)點(diǎn)信息返 回給發(fā)起請(qǐng)求的節(jié)點(diǎn),發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)把他們放在自己的鄰居列表中。向IPv4/lPv6鄰居請(qǐng)求他們的鄰居信息時(shí),這類鄰居節(jié)點(diǎn)會(huì)把自己的IPv4鄰居節(jié) 點(diǎn)信息返回給發(fā)起請(qǐng)求的節(jié)點(diǎn),發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)把他們放在自己的鄰居列表中。步驟4.2僅配置了 IPv6地址的節(jié)點(diǎn)交互方法此類節(jié)點(diǎn)首先和IPv6Tracker通信,加入到IPv6的網(wǎng)絡(luò)中,Tracker會(huì)返回一定數(shù)
量的鄰居節(jié)點(diǎn)給新加入的節(jié)點(diǎn),這些節(jié)點(diǎn)都是擁有IPv6地址的(包括僅配置了 IPv6地址 的節(jié)點(diǎn)和IPv4/v6節(jié)點(diǎn))。節(jié)點(diǎn)和這些鄰居的交互過程中除了向他們請(qǐng)求他們擁有的視頻 信息,還會(huì)和他們交換各自擁有的鄰居信息。向IPv6鄰居請(qǐng)求他們的鄰居信息時(shí),這些鄰居節(jié)點(diǎn)會(huì)把自己的鄰居節(jié)點(diǎn)信息返 回給發(fā)起請(qǐng)求的節(jié)點(diǎn),發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)把他們放在自己的鄰居列表中。向IPv4/lPv6鄰居請(qǐng)求他們的鄰居信息時(shí),這類鄰居節(jié)點(diǎn)會(huì)把自己的IPv6鄰居節(jié) 點(diǎn)信息返回給發(fā)起請(qǐng)求的節(jié)點(diǎn),發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)把他們放在自己的鄰居列表中。步驟4.3配置了 IPv4/v6地址的節(jié)點(diǎn)交互方法交互流程如圖6所示,此類節(jié)點(diǎn)同時(shí)和IPv4Tracker,IPv6Tracker通信,加入到 IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)中,兩類Tracker都會(huì)返回一定數(shù)量的鄰居節(jié)點(diǎn)給新加入的節(jié)點(diǎn),這 些節(jié)點(diǎn)包括僅配置IPv4地址的節(jié)點(diǎn),僅配置了 IPv6地址的節(jié)點(diǎn)以及配置了 IPv4/v6地址 的節(jié)點(diǎn)。節(jié)點(diǎn)和這些鄰居的交互過程中除了向他們請(qǐng)求視頻信息,還會(huì)和他們交換各自 擁有的鄰居信息。向IPv4鄰居請(qǐng)求他們的鄰居信息時(shí),這些鄰居節(jié)點(diǎn)會(huì)把自己的鄰居節(jié)點(diǎn)信息返 回給發(fā)起請(qǐng)求的節(jié)點(diǎn),發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)把他們放在自己的鄰居列表中。向IPv6鄰居請(qǐng)求他們的鄰居信息時(shí),這些鄰居節(jié)點(diǎn)會(huì)把自己的鄰居節(jié)點(diǎn)信息返 回給發(fā)起請(qǐng)求的節(jié)點(diǎn),發(fā)起請(qǐng)求的節(jié)點(diǎn)會(huì)把他們放在自己的鄰居列表中。IPv4/lPv6的節(jié)點(diǎn)會(huì)認(rèn)為是兩個(gè)不同的節(jié)點(diǎn),所以交互方法和以上兩種方式一 致。按照上述方式,本發(fā)明可實(shí)現(xiàn)不同地址配置類型的節(jié)點(diǎn)資源共享,如圖7(a)所 示,一個(gè)視頻數(shù)據(jù)A被發(fā)送到IPv4節(jié)點(diǎn)Pv4,那么A會(huì)被Pv4共享給一個(gè)IPV4/V6節(jié)點(diǎn) Pv46,然后數(shù)據(jù)A又被共享給一個(gè)IPv4節(jié)點(diǎn)Pv4,從而實(shí)現(xiàn)了數(shù)據(jù)A在IPv4,IPv6網(wǎng)絡(luò) 中的共享;視頻數(shù)據(jù)B被發(fā)給Pv46,然后就被共享到Pv4節(jié)點(diǎn)和Pv6節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)B 在兩個(gè)網(wǎng)絡(luò)中的共享。同理,如圖7(b)所示,一個(gè)視頻數(shù)據(jù)C被發(fā)送到IPv6節(jié)點(diǎn)Pv6,那么C會(huì)被 Pv6共享給一個(gè)IPv4/v6節(jié)點(diǎn)Pv46,然后數(shù)據(jù)C又被共享給一個(gè)IPv4節(jié)點(diǎn)Pv4,從而實(shí) 現(xiàn)了數(shù)據(jù)C在IPv4,IPv6網(wǎng)絡(luò)中的共享;數(shù)據(jù)D被發(fā)給Pv46,然后就被共享到Pv4節(jié)點(diǎn) 和Pv6節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)D在兩個(gè)網(wǎng)絡(luò)中的共享。同理,如圖7(c)所示,一個(gè)視頻數(shù)據(jù)E被發(fā)送到IPv4/v6節(jié)點(diǎn)Pv46,那么E會(huì)被Pv6共享給一個(gè)IPv4節(jié)點(diǎn)Pv4和一個(gè)IPv6節(jié)點(diǎn)Pv6 ; 一個(gè)視頻數(shù)據(jù)F被發(fā)送到IPv4/ v6節(jié)點(diǎn)Pv46,那么F會(huì)被Pv6共享給一個(gè)IPv4節(jié)點(diǎn)Pv4和一個(gè)IPv6節(jié)點(diǎn)Pv6,從而實(shí) 現(xiàn)了數(shù)據(jù)E,F(xiàn)在IPv4,IPv6網(wǎng)絡(luò)中的共享。使用以上的方法,IPv4節(jié)點(diǎn),IPv6節(jié)點(diǎn)以及IPV4/V6節(jié)點(diǎn)被有效組織在一個(gè)系 統(tǒng)中,節(jié)點(diǎn)之間可以彼此互相聯(lián)系和共享資源,同時(shí)使用IPv4和IPv6的帶寬資源,給用 戶提供更好的服務(wù)質(zhì)量。上述實(shí)施方式以視頻為源為例進(jìn)行了說明,應(yīng)用中不局限于視頻源,其它的資 源例如文件、圖片、音頻等均可采用本發(fā)明實(shí)現(xiàn)混合組網(wǎng)資源共享。
權(quán)利要求
1.UPV4/V6混合組網(wǎng)下P2P資源的共享方法,涉及節(jié)目源服務(wù)器、索引服務(wù)器、web 服務(wù)器和客戶端;索引服務(wù)器分為IPv4索引服務(wù)器和IPv6索引服務(wù)器;客戶端分為配置 IPv4地址的客戶端、配置IPv6地址的客戶端和同時(shí)配置IPv4/IPv6地址的客戶端;節(jié)目 源服務(wù)器實(shí)時(shí)向索引服務(wù)器發(fā)送節(jié)目源相關(guān)信息;IPv4地址客戶端首先通過web服務(wù)器向IPv4索引服務(wù)器發(fā)出加入請(qǐng)求,IPv4索引服 向IPv4地址客戶端反饋配置IPv4地址的鄰居節(jié)點(diǎn)信息及請(qǐng)求的節(jié)目源相關(guān)信息;IPv4地 址客戶端再依據(jù)請(qǐng)求得到的節(jié)目源相關(guān)信息向其鄰居節(jié)點(diǎn)發(fā)送資源請(qǐng)求,擁有資源的鄰 居節(jié)點(diǎn)反饋其請(qǐng)求的資源;IPv6地址客戶端首先通過web服務(wù)器向IPv6索引服務(wù)器發(fā)出加入請(qǐng)求,IPv6索引服 向IPv6地址客戶端反饋配置IPv6地址的鄰居節(jié)點(diǎn)信息和請(qǐng)求的節(jié)目源相關(guān)信息;IPv6地 址客戶端再依據(jù)請(qǐng)求得到的節(jié)目源相關(guān)信息向其鄰居節(jié)點(diǎn)發(fā)送資源請(qǐng)求,擁有資源的鄰 居節(jié)點(diǎn)反饋其請(qǐng)求的資源;IPv4/IPv6地址客戶端首先通過web服務(wù)器分別向IPv4和IPv6索引服務(wù)器發(fā)出加入 請(qǐng)求,兩類索引服務(wù)器均反饋相應(yīng)地址類型的鄰居節(jié)點(diǎn)信息和請(qǐng)求的節(jié)目源相關(guān)信息; IPv4/IPv6地址客戶端再依據(jù)請(qǐng)求得到的節(jié)目源相關(guān)信息向鄰居節(jié)點(diǎn)發(fā)送資源請(qǐng)求,擁有 資源的鄰居節(jié)點(diǎn)反饋請(qǐng)求的資源。
2.根據(jù)權(quán)利要求1所述的IPv4/V6混合組網(wǎng)下P2P資源的共享方法,其特征在于,所 述客戶端使用統(tǒng)一數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)鄰居節(jié)點(diǎn)信息。
3.根據(jù)權(quán)利要求1所述的IPv4/v6混合組網(wǎng)下P2P資源的共享方法,其特征在于,在 所述客戶端向索引服務(wù)器發(fā)出加入請(qǐng)求時(shí),索引服務(wù)器首先進(jìn)行安全認(rèn)證。
全文摘要
本發(fā)明公開了一種IPv4/v6混合組網(wǎng)下P2P資源的共享方法,該方法通過部署IPv4索引服務(wù)器和IPv6索引服務(wù)器,使用雙協(xié)議棧技術(shù),在IPv4和IPv6混合組網(wǎng)的情況下,構(gòu)建一個(gè)無結(jié)構(gòu)的P2P共享網(wǎng)絡(luò),覆蓋了IPv4節(jié)點(diǎn),IPv6節(jié)點(diǎn)以及IPv4/v6節(jié)點(diǎn)。該方法充分利用IPv6充裕的帶寬,同時(shí),也加入和安全認(rèn)證技術(shù),對(duì)加入的節(jié)點(diǎn)進(jìn)行安全認(rèn)證。
文檔編號(hào)H04L29/08GK102025777SQ201010558070
公開日2011年4月20日 申請(qǐng)日期2010年11月24日 優(yōu)先權(quán)日2010年11月24日
發(fā)明者劉蜀豫, 李芝棠, 涂浩, 王衛(wèi)東, 童振新, 郭東方, 郭正彪, 聞婷婷, 陳昊 申請(qǐng)人:華中科技大學(xué)