王歡,閆東明,趙建平,陳占芳,劉丹,趙巍
(1.長春理工大學(xué)信息化中心,長春 130022;2.長春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長春 130022)
基于IPv6和P2P的網(wǎng)絡(luò)資源共享機(jī)制研究
王歡1,2,閆東明1,趙建平2,陳占芳2,劉丹2,趙巍1
(1.長春理工大學(xué)信息化中心,長春130022;2.長春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長春130022)
在Internet飛速發(fā)展的現(xiàn)狀下,人們對各類資源種類和訪問速度的要求越來越高,為此如何提供高質(zhì)量的網(wǎng)絡(luò)資源,滿足廣大人民的網(wǎng)絡(luò)文化需求成為當(dāng)今社會的熱點(diǎn)問題。針對網(wǎng)絡(luò)資源的共享問題,本文設(shè)計(jì)了一種基于IPv6和P2P的網(wǎng)絡(luò)資源共享模型。模型采用分簇網(wǎng)絡(luò)進(jìn)行節(jié)點(diǎn)間數(shù)據(jù)通信,減少因節(jié)點(diǎn)頻繁進(jìn)出的網(wǎng)絡(luò)抖動(dòng)發(fā)生。采用Kademlia算法對DHT分布式哈希優(yōu)化,提高節(jié)點(diǎn)的識別準(zhǔn)確率。利用TRCBC模型進(jìn)行系統(tǒng)數(shù)據(jù)的訪問控制,保證系統(tǒng)數(shù)據(jù)的完整性。模型已于2011年開始在長春理工大學(xué)的極光BT平臺上應(yīng)用,實(shí)踐證明是一種有效的資源共享模型。
P2P;IPv6;資源共享
隨著科技的發(fā)展Internet愈發(fā)普及。Peer-to-Peer(P2P)因其分布式信息或資源共享、協(xié)同工作、大規(guī)模并行計(jì)算等特點(diǎn)成為發(fā)展新熱點(diǎn)。這種技術(shù)的出現(xiàn)解決了單點(diǎn)失效問題,掙脫了傳統(tǒng)C/S網(wǎng)絡(luò)應(yīng)用模式下服務(wù)器性能方面的瓶頸,滿足了更多的分布式應(yīng)用的需求,使端系統(tǒng)資源得到了充分利用。
P2P是對等實(shí)體之間數(shù)據(jù)的雙向交換和傳輸,每一個(gè)對等實(shí)體擁有對等的義務(wù)、權(quán)利,同時(shí)也扮演著資源提供者和資源消費(fèi)者兩個(gè)角色。P2P技術(shù)因其可擴(kuò)展性、負(fù)載均衡、中心化、健壯性和內(nèi)容豐富等特點(diǎn)得到了廣泛的應(yīng)用。目前P2P系統(tǒng)為上千萬用戶提供VoIP、文件共享、視頻流等網(wǎng)絡(luò)應(yīng)用,加快推動(dòng)了P2P的發(fā)展[1]。
與IPv4相比,IPv6具有包頭簡化、自動(dòng)配置、靈活的選項(xiàng)、龐大的地址空間等特點(diǎn)。所以為P2P技術(shù)的應(yīng)用提供了基本條件,相對地P2P技術(shù)的發(fā)展也加快了IPv4到IPv6的轉(zhuǎn)型,二者共同發(fā)展。
1.1IPv6對P2P網(wǎng)絡(luò)技術(shù)的支持
(1)IPv6支持所有設(shè)備上網(wǎng)
由于IPv6的128位編制方式使得P2P網(wǎng)絡(luò)的每個(gè)用戶可獲得唯一的IP,實(shí)現(xiàn)每個(gè)用戶的對等性并可進(jìn)行節(jié)點(diǎn)到節(jié)點(diǎn)的對等通信。同時(shí)IPv6不存在網(wǎng)絡(luò)地址和死心地址之間的轉(zhuǎn)換限制,P2P可簡化網(wǎng)絡(luò)設(shè)計(jì)和網(wǎng)絡(luò)功能的邏輯結(jié)構(gòu),降低運(yùn)營成本。
(2)IPv6對服務(wù)質(zhì)量QoS的支持
P2P的重要特征就是實(shí)時(shí)媒體業(yè)務(wù)、文件共享、高質(zhì)量通信服務(wù)。在IPv6環(huán)境下通過提供報(bào)文分組和流標(biāo)簽機(jī)制來保證服務(wù)的質(zhì)量。
(3)IPv6的安全性
IPv6支持IPSec協(xié)議的加密和認(rèn)證這兩種安全機(jī)制。加密機(jī)制的原理是通過對待傳輸數(shù)據(jù)編碼來增強(qiáng)數(shù)據(jù)的機(jī)密性,減小數(shù)據(jù)在傳輸過程中被未授權(quán)用戶破解或竊取的威脅;認(rèn)證機(jī)制的原理是在數(shù)據(jù)達(dá)到傳輸目的地時(shí),接收方可確認(rèn)數(shù)據(jù)來源的身份的可靠性和數(shù)據(jù)在發(fā)出之后是否被篡改。
(4)IPv6增強(qiáng)組播技術(shù)及對流媒體的支持
IPv6較IPv4相比有著較為完善的地址管理方案,減小了組播和廣播的局限性。目前P2P組播技術(shù)廣泛應(yīng)用于應(yīng)用層,相信在在不就的將來可實(shí)現(xiàn)應(yīng)用于IP層[2,3]。
1.2基于IPv6的P2P網(wǎng)絡(luò)共享模型
目前P2P網(wǎng)絡(luò)模型有兩個(gè)缺點(diǎn):節(jié)點(diǎn)異構(gòu)性考慮不足、物理拓?fù)浜瓦壿嬐負(fù)溥m配。
而IPv6可通過自身特有的地理布局的層次化這一特點(diǎn),利用簇來減少因節(jié)點(diǎn)頻繁進(jìn)出的網(wǎng)絡(luò)抖動(dòng)問題。利用這種特性,本文提出的分簇網(wǎng)絡(luò)模型如圖1所示。網(wǎng)絡(luò)模型中存在兩種節(jié)點(diǎn):普通節(jié)點(diǎn)和超級節(jié)點(diǎn)。超級節(jié)點(diǎn)是性能較為優(yōu)異,承擔(dān)更多的任務(wù),參與主干網(wǎng)絡(luò)的交互,將前綴相同的節(jié)點(diǎn)聚成一簇;普通節(jié)點(diǎn)為性能一般的節(jié)點(diǎn),跟隨超級節(jié)點(diǎn)形成簇。
每個(gè)簇可以存在一個(gè)或多個(gè)超級節(jié)點(diǎn),各個(gè)簇的超級節(jié)點(diǎn)可以通過P2P的方式來交互。簇中的超級節(jié)點(diǎn)擔(dān)當(dāng)簇的管理員的角色,負(fù)責(zé)簇的路由和組織等工作,發(fā)現(xiàn)路由服務(wù)和資源等的控制和協(xié)調(diào),管理簇中各個(gè)普通節(jié)點(diǎn)的認(rèn)證、訪問控制、注冊和授權(quán)等,維護(hù)簇中普通節(jié)點(diǎn)的信息。一個(gè)簇的建立的標(biāo)志是一個(gè)超級節(jié)點(diǎn)的加入,當(dāng)還有其他超級節(jié)點(diǎn)加入后,它們之間要每隔一段時(shí)間交互一次信息以保證簇內(nèi)信息的一致性。而作為普通節(jié)點(diǎn)只需要從其中的一個(gè)超級節(jié)點(diǎn)知道相關(guān)信息即可。超級節(jié)點(diǎn)負(fù)責(zé)的普通節(jié)點(diǎn)的閾值為η,當(dāng)超過η時(shí)需要增加超級節(jié)點(diǎn)來分擔(dān)路由任務(wù)和查詢?nèi)蝿?wù)。當(dāng)然,η要根據(jù)P2P節(jié)點(diǎn)的性能的實(shí)際情況決定。
圖1 分簇網(wǎng)絡(luò)模型
候選超節(jié)點(diǎn)也是簇的重要組成部分,它們是超級節(jié)點(diǎn)的備用節(jié)點(diǎn),數(shù)量等于超級節(jié)點(diǎn)的數(shù)量,且關(guān)系一一對應(yīng)不可重復(fù)[4,5]。
1.3模型節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)
簇中的每一個(gè)普通節(jié)點(diǎn)都用自己擁有的資源表來統(tǒng)計(jì)可共享的資源。資源表結(jié)構(gòu)如表1所示。
表1節(jié)點(diǎn)資源表結(jié)構(gòu)字段Key Value含義共享資源的共享資源的值
與普通節(jié)點(diǎn)不同的是超級節(jié)點(diǎn)需要維持兩張資源表:內(nèi)部資源位置表、外部資源位置表。外部資源位置表將該節(jié)點(diǎn)近期查詢的不在同一子網(wǎng)中的所有目的節(jié)點(diǎn)的信息。內(nèi)部資源位置表則存放自己簇內(nèi)每個(gè)節(jié)點(diǎn)的資源的位置信息。資源表結(jié)構(gòu)如表2、3所示。
表2超級節(jié)點(diǎn)內(nèi)部資源位置表結(jié)構(gòu)字段Key Address含義本簇內(nèi)資源的資源所在的位置
表3超級節(jié)點(diǎn)外部資源位置表結(jié)構(gòu)字段Key Address含義簇外資源的資源所在的位置
為了提高查找效率、節(jié)省查找時(shí)間、減輕網(wǎng)絡(luò)負(fù)擔(dān),在設(shè)計(jì)方面只有超級節(jié)點(diǎn)負(fù)責(zé)路由功能。當(dāng)查找數(shù)次后,超級節(jié)點(diǎn)的外部資源位置表的資源信息基本固定,接下來的工作可直接在原節(jié)點(diǎn)或同簇內(nèi)相鄰超級節(jié)點(diǎn)內(nèi)進(jìn)行交互而不是始終如一地在網(wǎng)上遍歷查找。
對于某個(gè)要離開的節(jié)點(diǎn)P來講,若是超級節(jié)點(diǎn),則從候選超級節(jié)點(diǎn)中挑選一個(gè)來替換離開的超級節(jié)點(diǎn),同時(shí)從簇內(nèi)普通節(jié)點(diǎn)中挑選出一個(gè)標(biāo)記為候選超級節(jié)點(diǎn)。若此節(jié)點(diǎn)是普通節(jié)點(diǎn),則將其負(fù)責(zé)的資源回收并刪除與其相關(guān)的信息。
Kademlia原理是以異或算法作為度量單位而行程的DHT算法,較其他DHT算法而言能進(jìn)行較快的路由查找。
但是在IPv6環(huán)境中并沒有與Kademlia相匹配的協(xié)議,降低了基于Kademlia的P2P網(wǎng)絡(luò)結(jié)構(gòu)的性能,減少了可用節(jié)點(diǎn)的數(shù)量,某些情況甚至需要通過NAT設(shè)備將網(wǎng)絡(luò)地址轉(zhuǎn)換為適合的格式。目前肯多P2P系統(tǒng)都是通過直接改造IPv6的協(xié)議來解決地址轉(zhuǎn)換問題的[6]。
2.1Kademlia系統(tǒng)結(jié)構(gòu)
將DHT網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)id共160bit分成m位、n位兩部分,分別記為m_id、n_id。兩部分分別作為節(jié)點(diǎn)的組間標(biāo)識、組內(nèi)標(biāo)識。若干個(gè)節(jié)點(diǎn)組成若干個(gè)簇,在不同的簇之間再組成級別更高的DHT網(wǎng)絡(luò),這樣網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都有由m_id和n_id組成的唯一標(biāo)識。同樣,每個(gè)節(jié)點(diǎn)中的資源標(biāo)識符Key也由兩部分組成:Kh(m比特,高位)、Kl(n比特,低位)。系統(tǒng)結(jié)構(gòu)如圖2所示,大圈所組織的簇網(wǎng)絡(luò)是根據(jù)Kh和m_id交互的,小圈區(qū)域內(nèi)各節(jié)點(diǎn)是通過Kl和n_id聯(lián)系后組建的Kademlia簇。在這個(gè)系統(tǒng)結(jié)構(gòu)中,各個(gè)簇的物理網(wǎng)絡(luò)和分布情況不需要進(jìn)行嚴(yán)格的匹配,只需將簇內(nèi)的節(jié)點(diǎn)的覆蓋范圍控制在某個(gè)合理的物理網(wǎng)絡(luò)上即可,達(dá)到降低數(shù)據(jù)的平均延時(shí)。
Kademlia網(wǎng)絡(luò)的層次化網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。在Kademlia網(wǎng)絡(luò)中,插入資源信息的鍵值對(k,v)需要分為兩步:首先,找到該節(jié)點(diǎn)所屬的簇kl和該節(jié)點(diǎn)的標(biāo)識nl,然后插入。然后,找到kh路由控制的區(qū)域m,在m中找到該簇負(fù)責(zé)的kl的節(jié)點(diǎn),然后插入。每個(gè)鍵值對都需要分兩步存放到系統(tǒng)中,每次存放都將更改Kademlia的布局。
圖2 Kademlia網(wǎng)絡(luò)的層次化結(jié)構(gòu)
2.2節(jié)點(diǎn)查詢和請求
在簇內(nèi)和簇間查詢的原理為通過維護(hù)簇內(nèi)K桶和簇間K桶來在尋路。當(dāng)節(jié)點(diǎn)對資源查詢時(shí),首先在所屬的簇內(nèi)查找關(guān)聯(lián)Kl節(jié)點(diǎn),若滿足(K,V)則查詢結(jié)束,否則向負(fù)責(zé)Kh的簇的超級節(jié)點(diǎn)發(fā)送查詢報(bào)文,若滿足(K,V)則查詢結(jié)束,否則重復(fù)查詢超級節(jié)點(diǎn)。在此期間每查詢一個(gè)簇都必須向該簇的負(fù)責(zé)Kl的超級節(jié)點(diǎn)發(fā)送報(bào)文,并依次傳遞下去,或者傳遞到上一級負(fù)責(zé)Kh的簇中的超級節(jié)點(diǎn),知道最后取得需求的(K,V)。
3.1IPv6下TRCBC系統(tǒng)結(jié)構(gòu)及思路
基于IPv6下的P2P資源通過分簇來進(jìn)行訪問控制模型,如圖3所示。
圖3 TRCBC系統(tǒng)結(jié)構(gòu)圖
模型訪問控制的設(shè)計(jì)如下:
(1)超級節(jié)點(diǎn)作為TRCBC模塊對簇內(nèi)的所有節(jié)點(diǎn)進(jìn)行注冊,為需要保護(hù)的服務(wù)和資源配置統(tǒng)一的URI的注冊和描述,即抽象為URI??沙橄蟮馁Y源包括動(dòng)態(tài)頁面、靜態(tài)頁面、多媒體服務(wù)、多媒體數(shù)據(jù)等。
(2)統(tǒng)一使用基于XACML的訪問控制策略。所策略的管理和使用統(tǒng)一使用XACML標(biāo)準(zhǔn)進(jìn)行操作,以便于系統(tǒng)的統(tǒng)一性管理。
(3)簇內(nèi)的超級節(jié)點(diǎn)負(fù)責(zé)其他節(jié)點(diǎn)的訪問資源的驗(yàn)證。如果是簇外節(jié)點(diǎn)與簇內(nèi)節(jié)點(diǎn)之間的通信,需要通過兩個(gè)簇的超級節(jié)點(diǎn)的交互驗(yàn)證,驗(yàn)證成功后不同簇的節(jié)點(diǎn)通過建立P2P直接通信來實(shí)現(xiàn)對資源的訪問控制;如果是簇內(nèi)節(jié)點(diǎn)之間的訪問可在簇內(nèi)超級節(jié)點(diǎn)驗(yàn)證成功后建立簇內(nèi)節(jié)點(diǎn)之間的P2P直接通信。通信之前各個(gè)簇的超級節(jié)點(diǎn)之間已通過事先定義的基于角色、信任機(jī)制、上下文策略的規(guī)則相互協(xié)作來完成交互,建立最基本的訪問控制[7,8]。
3.2訪問控制流程
在請求資源時(shí)資源請求節(jié)點(diǎn)如何獲取傳遞授權(quán)策略、自身授權(quán)策略、訪問權(quán)限等,步驟如圖4所示。
TRCBC模型的處理過程:
(1)首先TRCBC模塊授予資源請求節(jié)點(diǎn)對應(yīng)的訪問權(quán)限,并把相關(guān)權(quán)限屬性證書發(fā)布在LDAP上。證書包含角色I(xiàn)D、信任值、節(jié)點(diǎn)身份信息、證書有效日期。
(2)資源請求節(jié)點(diǎn)將請求信息發(fā)送到認(rèn)證服務(wù),資源請求節(jié)點(diǎn)身份認(rèn)證通過后可進(jìn)行下一步訪問。
(3)PEP接收認(rèn)證服務(wù)發(fā)送的資源請求節(jié)點(diǎn)的證書信息。
(4)PEP將包括行為、資源、主題、環(huán)境的屬性的訪問請求轉(zhuǎn)發(fā)到上下文處理器進(jìn)行下一步驗(yàn)證。
(5)上下文處理器將訪問請求以XACML的格式發(fā)送給PDP。
(6)PDP在收到XACML請求要求進(jìn)一步認(rèn)證,要求上下文處理器提供角色標(biāo)識、上下文信息、資源、信任值、屬性證書等。
(7)上下文處理器收到后向PIP提出相同的屬性請求。
(8)PIP獲取對應(yīng)的屬性值。
(9)PIP將上下文處理器請求的屬性值傳回。
(10)上下文處理器再次處理傳回的屬性值并向PDP提出決策請求。
(11)PDP作出判斷并返回角色結(jié)果。
(12)上下文處理器將結(jié)果以PEP需求格式返回給PEP。
(13)PEP按決策結(jié)果做出響應(yīng)。
(14)兩個(gè)節(jié)點(diǎn)之間建立P2P直接通信,資源請求節(jié)點(diǎn)取得請求的資源。
(15)TRCBC模塊對交互情況進(jìn)行跟蹤和監(jiān)控并記錄交互結(jié)果。
圖4 TRCBC實(shí)施框架圖
本文設(shè)計(jì)和實(shí)現(xiàn)了一種基于IPv6和P2P的網(wǎng)絡(luò)資源共享模型。討論了IPv6網(wǎng)絡(luò)下的P2P網(wǎng)絡(luò)結(jié)構(gòu),利用分簇網(wǎng)絡(luò)進(jìn)行節(jié)點(diǎn)間數(shù)據(jù)通信,防止網(wǎng)絡(luò)抖動(dòng)發(fā)生;提出了基于Kademlia的DHT分布式哈希優(yōu)化算法,提高了節(jié)點(diǎn)識別準(zhǔn)確率;設(shè)計(jì)了TRCBC數(shù)據(jù)訪問控制模型。該成果已于2011年開始在長春理工大學(xué)的極光BT平臺上應(yīng)用,對網(wǎng)絡(luò)資源共享機(jī)制的研究與應(yīng)用具有一定的現(xiàn)實(shí)意義。
[1]Marcus Goncalves,Kitty Niles.IPv6 Networks[M].北京:人民郵電出版社,2004.
[2]Thanh V V,F(xiàn)ukuda K,Chan H N,et al.A study ofP2Ptrafficcharacteristicsevaluationinthe WIDE backbone[C].Proc.6th International ConferenceonInformationTechnologyandApplication(ICITA2009),Hanoi,Vietnam,November,2009.
[3]吳家皋,葉曉國,姜愛全.異構(gòu)環(huán)境下覆蓋組播網(wǎng)絡(luò)路由算法的研究[J].軟件學(xué)報(bào),2005,16(6):1112-1120.
[4]Kong J,Zerfos P,Luo H,et al.Providing robust and ubiquitous security support for mobile Ad Hoc networks[C]//International Conference on Network Protocols ICNP.Washington:IEEE Computer Society,2001:251-260
[5]曹慧,董健全.基于IPv6、簇和超節(jié)點(diǎn)的P2P路由模型研究[J].計(jì)算機(jī)工程,2008,34(20):115-117.
[6]張有為,李津生,洪佩琳,等.StratoNet:一種基于DHT的P2內(nèi)容定位系統(tǒng)[J].計(jì)算機(jī)工程,32(24),2005:53-56.
[7]鄭文曉.IPv6環(huán)境下基于DHT的P2P媒體共享系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2013.
[8]陳占芳,王歡,畢琳,等.基于OA系統(tǒng)的即時(shí)通訊平臺關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[J].長春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2012,5(4):125-129.
Research on Network Resource Sharing Mechanism Based on IPv6 and P2P
WANG Huan1,2,YAN Dongming2,ZHAO Jianping2,CHEN Zhanfang2,LIU Dan2,ZHAO Wei1
(1.Information Center,Changchun University of Science and Technology,Changchun 130022;
2.School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
Under the current situation of the rapid development of Internet,people are getting more and more requests for resources kinds and access speed.To this end,how to provide high quality network resources to meet the cultural needs of the broad masses of the people has become a hot issue in today’s society.For the sharing of network resources,this paper designs a network resource sharing model based on IPv6 and P2P.In the model,the data communication between nodes is adopted in the cluster network,and reduce the network jitter due to frequent access of nodes. The Kademlia algorithm is used to optimize the DHT distributed hash,which improves the recognition accuracy of the node,and using TRCBC model for system data access control,to ensure the integrity of the system data.The model has been applied to the Aurora BT platform of Changchun University of Science and Technology in 2011 and has been proved to be an effective model of resource sharing.
P2P;IPv6;resource sharing
TP399
A
1672-9870(2016)04-0125-05
2016-03-07
賽爾網(wǎng)絡(luò)下一代互聯(lián)網(wǎng)技術(shù)創(chuàng)新項(xiàng)目(NGII20150504)
王歡(1987-),男,碩士,工程師,E-mail:wanghuan@cust.edu.cn
趙建平(1964-),男,教授,博士生導(dǎo)師,E-mail:zhaojpin@aliyun.com