孫韓林,劉建華
(1.西安郵電大學(xué)計(jì)算機(jī)學(xué)院 西安 710121;2.西安郵電大學(xué)信息中心 西安 710121)
隨著信息網(wǎng)絡(luò)技術(shù)的發(fā)展,人們使用的信息服務(wù)越來越多,這需要用戶記憶大量的認(rèn)證信息(如賬號、密碼等),給用戶帶來極大的不便。統(tǒng)一身份認(rèn)證 (unified identifier authentication)可實(shí)現(xiàn)“一次登錄,多處訪問”,消除了用戶記憶大量認(rèn)證信息的負(fù)擔(dān)。標(biāo)準(zhǔn)化組織,如ITU-T(International Telecommunications Union TelecommunicationStandardization Sector,國際電信聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組織)、自由聯(lián)盟、OASIS(Organization for the Advancement of Structured Information Standards,結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織)、IETF(Internet Engineering Task Force,互聯(lián)網(wǎng)工程任務(wù)組)、ETSI(European Telecommunications Standards Institute,歐洲電信標(biāo)準(zhǔn)化協(xié)會)等,都在進(jìn)行統(tǒng)一身份認(rèn)證研究。美國、韓國和日本等信息技術(shù)發(fā)達(dá)國家紛紛提出各自的身份認(rèn)證戰(zhàn)略。我國也成立了全國信息安全標(biāo)準(zhǔn)化技術(shù)委員會鑒別與授權(quán)工作組,推動(dòng)身份識別和授權(quán)技術(shù)的研究和發(fā)展。
ITU-T將統(tǒng)一身份認(rèn)證定義為 “是對一實(shí)體聲稱的標(biāo)識為真提供證明,并實(shí)現(xiàn)單點(diǎn)登錄”,“實(shí)體可以為真人、動(dòng)物、法律人、組織、主動(dòng)或被動(dòng)之物、設(shè)備、軟件應(yīng)用、服務(wù)等或上述個(gè)體的組合”[1]。ITU-T全球兼容身份管理的功能需求包括:身份信息的管理、身份信息的關(guān)聯(lián)、身份信息的認(rèn)證、身份信息的發(fā)現(xiàn)與橋接、身份信息的傳輸、身份信息的審計(jì)與追蹤和身份信息的擴(kuò)展[2]。其中,“身份信息的發(fā)現(xiàn)與橋接”是實(shí)現(xiàn)可互操作的分布式身份管理的關(guān)鍵,它指在一個(gè)擁有大量游牧用戶和身份提供商的分布式公共網(wǎng)絡(luò)中發(fā)現(xiàn)并使用新的身份服務(wù)。參考文獻(xiàn)[3]提出了一種基于行政區(qū)劃的層次式統(tǒng)一身份認(rèn)證服務(wù)網(wǎng)絡(luò)模型。該模型中,若某個(gè)服務(wù)節(jié)點(diǎn)發(fā)生故障,則整個(gè)身份服務(wù)網(wǎng)絡(luò)將會被分裂,導(dǎo)致部分服務(wù)不可用。其次,層次式網(wǎng)絡(luò)的身份服務(wù)發(fā)現(xiàn)過程也較繁瑣。
對等網(wǎng)絡(luò)(peer-to-peer,P2P)是一種構(gòu)建在IP網(wǎng)絡(luò)之上的應(yīng)用層覆蓋網(wǎng)絡(luò),具有良好的可擴(kuò)展性、頑健性、自組織、部署和維護(hù)成本低等特點(diǎn),常用于文件共享?;赑2P搜索機(jī)制,也可實(shí)現(xiàn)分布式信息的發(fā)現(xiàn)。參考文獻(xiàn)[4]用P2P網(wǎng)絡(luò)實(shí)現(xiàn)Web服務(wù)的發(fā)布與發(fā)現(xiàn)。參考文獻(xiàn)[5]提出一種雙層P2P結(jié)構(gòu)的物聯(lián)網(wǎng) ONS(object name service,對象名字服務(wù))網(wǎng)絡(luò)模型,ONS也是一種信息發(fā)現(xiàn)服務(wù)。統(tǒng)一身份服務(wù)網(wǎng)絡(luò)也可用P2P模型進(jìn)行組織,利用P2P搜索機(jī)制實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn)與定位。
基本的P2P網(wǎng)絡(luò)結(jié)構(gòu)分為無結(jié)構(gòu)網(wǎng)絡(luò)和結(jié)構(gòu)化網(wǎng)絡(luò)。無結(jié)構(gòu)網(wǎng)絡(luò)通常采用泛洪法進(jìn)行搜索,代價(jià)大,適用于小規(guī)模網(wǎng)絡(luò)組織;結(jié)構(gòu)化網(wǎng)絡(luò)則可利用網(wǎng)絡(luò)拓?fù)湫畔⑦M(jìn)行快速搜索且代價(jià)小,其缺點(diǎn)是拓?fù)浣Y(jié)構(gòu)維護(hù)的開銷較大。結(jié)構(gòu)化網(wǎng)絡(luò)的主流技術(shù)是分布式散列表 (distributed hash table,DHT),Chord協(xié)議是DHT技術(shù)的典型代表。本文基于結(jié)構(gòu)化Chord網(wǎng)絡(luò)提出一種統(tǒng)一身份服務(wù)網(wǎng)絡(luò)模型。
DHT的基本思想是通過一致性散列函數(shù)把系統(tǒng)中的節(jié)點(diǎn)(node)和數(shù)據(jù)(data)都映射到ID空間的一個(gè)唯一標(biāo)識,即 NodeID=Hash(Node),DataID=Hash(Data)。所有節(jié)點(diǎn)將ID空間分割成若干子空間,每個(gè)節(jié)點(diǎn)負(fù)責(zé)一個(gè)子空間,數(shù)據(jù)存儲在負(fù)責(zé)DataID所在子空間的節(jié)點(diǎn)上。Chord網(wǎng)絡(luò)中所有節(jié)點(diǎn)按其NodeID大小順時(shí)針排列成一個(gè)環(huán),每個(gè)節(jié)點(diǎn)負(fù)責(zé)存儲DataID小于自身NodeID但大于自身前驅(qū)節(jié)點(diǎn)NodeID的數(shù)據(jù)對象。每個(gè)節(jié)點(diǎn)維護(hù)有一張含有m項(xiàng)(m是ID的位數(shù))信息的路由表,節(jié)點(diǎn)M的路由表的第i項(xiàng)表示順時(shí)針方向與節(jié)點(diǎn)M的距離至少為2i-1的第一個(gè)節(jié)點(diǎn),即每個(gè)表項(xiàng)指向的節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的距離是指數(shù)遞增的,每一步路由能將當(dāng)前查詢節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)間的距離縮短至少一半。在一個(gè)有N個(gè)節(jié)點(diǎn)的Chord網(wǎng)絡(luò)中,查詢請求的平均跳數(shù)為O(lb N),但同時(shí),當(dāng)有節(jié)點(diǎn)加入或離開時(shí),環(huán)中需要更新路由信息的節(jié)點(diǎn)數(shù)也為O(lb N)[6]。
按角色可將統(tǒng)一身份服務(wù)網(wǎng)絡(luò)的參與者分為身份服務(wù)提供商(identification service provider,ISP)、應(yīng)用服務(wù)提供商(application service provider,ASP)和普通用戶(client)。身份服務(wù)提供商實(shí)現(xiàn)身份管理的各種功能需求,如身份注冊、關(guān)聯(lián)、認(rèn)證、審計(jì)和追蹤等。應(yīng)用服務(wù)提供商提供某種類型的應(yīng)用服務(wù),支持普通用戶以自己的統(tǒng)一身份訪問,它需要訪問某個(gè)ISP,對訪問用戶的統(tǒng)一身份進(jìn)行認(rèn)證。普通用戶需要發(fā)現(xiàn)所需的某種應(yīng)用服務(wù),并以自己的統(tǒng)一身份訪問該服務(wù)。因此,身份服務(wù)網(wǎng)絡(luò)所要實(shí)現(xiàn)的關(guān)鍵功能之一就是服務(wù)(身份服務(wù)或應(yīng)用服務(wù))的發(fā)現(xiàn)與定位。
身份服務(wù)網(wǎng)絡(luò)的所有參與者都具有一個(gè)唯一的統(tǒng)一身份,使服務(wù)的發(fā)現(xiàn)處理一致。統(tǒng)一身份從身份管理機(jī)構(gòu)獲得,身份管理機(jī)構(gòu)保證統(tǒng)一身份標(biāo)識的唯一性。身份服務(wù)網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)具體描述如下。
(1)身份認(rèn)證時(shí),應(yīng)用服務(wù)提供商根據(jù)訪問用戶的統(tǒng)一身份查找該身份的注冊身份服務(wù)提供商。
(2)應(yīng)用服務(wù)查詢時(shí),普通用戶根據(jù)服務(wù)關(guān)鍵詞(service keyword)查找所需的服務(wù)。一個(gè)服務(wù)往往有多個(gè)關(guān)鍵詞,為了減小信息冗余,將服務(wù)關(guān)鍵詞與服務(wù)統(tǒng)一身份綁定,將服務(wù)統(tǒng)一身份與服務(wù)相關(guān)信息綁定,服務(wù)查詢分兩步完成,即先根據(jù)服務(wù)關(guān)鍵詞查詢服務(wù)統(tǒng)一身份,再根據(jù)統(tǒng)一身份查詢服務(wù)信息。
(3)身份服務(wù)是一種特殊的服務(wù),普通用戶或應(yīng)用服務(wù)注冊統(tǒng)一身份時(shí)也需要先根據(jù)服務(wù)關(guān)鍵詞查詢身份服務(wù)。因而,基于P2P的統(tǒng)一身份服務(wù)網(wǎng)絡(luò)可分為兩個(gè)邏輯獨(dú)立的P2P網(wǎng)絡(luò)——“服務(wù)查詢網(wǎng)絡(luò)”(service querying network,SQN)“身份查詢網(wǎng)絡(luò) ”(identifier querying network,IQN),如圖 1所示。SQN實(shí)現(xiàn)服務(wù)關(guān)鍵詞到服務(wù)統(tǒng)一身份的映射,IQN實(shí)現(xiàn)統(tǒng)一身份到身份相關(guān)信息的映射。
節(jié)點(diǎn)的頻繁加入和退出會造成DHT網(wǎng)絡(luò)不穩(wěn)定,極大地增加維護(hù)代價(jià)。用戶(普通用戶和應(yīng)用服務(wù)提供商)只有在需要服務(wù)發(fā)現(xiàn)或認(rèn)證時(shí)短暫地訪問身份服務(wù)網(wǎng)絡(luò)。身份服務(wù)發(fā)現(xiàn)應(yīng)視為身份服務(wù)提供商應(yīng)該提供的一種功能,而且由于服務(wù)的性質(zhì),ISP會一直處于在線工作狀態(tài)(故障除外)。為了避免網(wǎng)絡(luò)的波動(dòng),減小網(wǎng)絡(luò)拓?fù)渚S護(hù)開銷,限定只有身份服務(wù)提供商參與組成結(jié)構(gòu)化的P2P身份服務(wù)網(wǎng)絡(luò)。SQN和IQN都是由身份服務(wù)提供商組成的Chord環(huán)。身份服務(wù)提供商提供代理服務(wù),作為用戶接入身份服務(wù)網(wǎng)絡(luò)的入口,應(yīng)用服務(wù)提供商或普通用戶可以選擇某個(gè)身份服務(wù)提供商作為自己的接入代理。
服務(wù)查詢網(wǎng)絡(luò)存儲有服務(wù)關(guān)鍵詞與服務(wù)提供商統(tǒng)一身份的綁定關(guān)系,用戶可根據(jù)服務(wù)關(guān)鍵詞從這個(gè)網(wǎng)絡(luò)中查詢支持統(tǒng)一身份訪問的服務(wù)的統(tǒng)一身份。DHT只支持精確的關(guān)鍵詞匹配查詢,而用戶在查詢時(shí)往往根據(jù)自己的需求用若干個(gè)關(guān)鍵詞對服務(wù)進(jìn)行模糊描述。例如,用戶可能要查找離自己最近的某種服務(wù)或某個(gè)特定位置的某種服務(wù)或具有其他某種屬性的服務(wù)。因此,服務(wù)商在服務(wù)查詢網(wǎng)絡(luò)中發(fā)布自己的服務(wù)時(shí),需要根據(jù)服務(wù)屬性抽象出多個(gè)服務(wù)關(guān)鍵詞。服務(wù)查詢網(wǎng)絡(luò)中DataID根據(jù)服務(wù)關(guān)鍵詞進(jìn)行計(jì)算,這些關(guān)鍵詞可能存儲在不同的節(jié)點(diǎn)上。另一方面,相同類型的服務(wù)(由不同提供商提供)若恰巧選擇了相同的關(guān)鍵詞進(jìn)行發(fā)布,它們將存儲在同一個(gè)節(jié)點(diǎn)上,查詢網(wǎng)絡(luò)要能進(jìn)行區(qū)分,使這些服務(wù)都能存儲,也都能被用戶檢索。用戶查詢關(guān)鍵詞和服務(wù)發(fā)布關(guān)鍵詞由用戶和服務(wù)提供商獨(dú)立擬訂,并不完全匹配,代理在為用戶進(jìn)行服務(wù)查詢時(shí),可對用戶提供的服務(wù)關(guān)鍵詞進(jìn)行智能化處理,實(shí)現(xiàn)有效查詢。
身份查詢網(wǎng)絡(luò)存儲所有統(tǒng)一身份和與身份相關(guān)聯(lián)的信息,對普通用戶而言是用戶屬性信息(如注冊ISP地址),對服務(wù)(包括應(yīng)用服務(wù)和身份服務(wù))而言是服務(wù)屬性信息(如服務(wù)地址、服務(wù)描述、服務(wù)質(zhì)量、注冊ISP地址等)。查詢根據(jù)統(tǒng)一身份進(jìn)行,DataID根據(jù)統(tǒng)一身份計(jì)算。用統(tǒng)一身份進(jìn)行查詢是精確的,不需要特殊處理。
不同于傳統(tǒng)的數(shù)據(jù)存儲P2P網(wǎng)絡(luò),身份服務(wù)網(wǎng)絡(luò)(尤其是身份查詢網(wǎng)絡(luò))中存儲的信息是動(dòng)態(tài)的。例如,統(tǒng)一身份的部分屬性信息可能需要更新或增加屬性信息。身份服務(wù)網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)能支持根據(jù)DataID進(jìn)行數(shù)據(jù)讀、寫(增加)、刪除和更新等操作。
身份服務(wù)提供商和應(yīng)用服務(wù)提供商注冊統(tǒng)一身份,并在身份服務(wù)網(wǎng)絡(luò)中發(fā)布統(tǒng)一身份和服務(wù)信息后才能支持用戶訪問;普通用戶要以統(tǒng)一身份訪問應(yīng)用服務(wù),也必須在ISP進(jìn)行注冊,并在身份查詢網(wǎng)絡(luò)中發(fā)布統(tǒng)一身份信息。普通用戶的統(tǒng)一身份注冊及發(fā)布過程(如圖2所示)描述如下。
圖1 基于P2P的統(tǒng)一身份服務(wù)網(wǎng)絡(luò)模型
(1)普通用戶根據(jù)自己的注冊需求提煉出身份服務(wù)關(guān)鍵詞(可能有若干個(gè)),將這些關(guān)鍵詞發(fā)送給自己的服務(wù)查詢接入代理,代理在服務(wù)查詢網(wǎng)絡(luò)中查找身份服務(wù)提供商。若有多個(gè)關(guān)鍵詞,用戶可將它們同時(shí)發(fā)送給代理進(jìn)行并行查找,加快搜索速度。
(2)服務(wù)查詢網(wǎng)絡(luò)根據(jù)P2P路由查詢符合條件的身份服務(wù)提供商,以列表形式返回給用戶(通過服務(wù)查詢代理)。
(3)用戶根據(jù)返回的統(tǒng)一身份在身份查詢網(wǎng)絡(luò)中查找相應(yīng)身份服務(wù)提供商的詳細(xì)信息(通過身份查詢網(wǎng)絡(luò)代理)。
(4)用戶依據(jù)某種策略選擇其中一個(gè)身份服務(wù)提供商,根據(jù)它的地址訪問服務(wù)進(jìn)行統(tǒng)一身份注冊。
(5)注冊成功后,用戶還要在身份查詢網(wǎng)絡(luò)中發(fā)布自己的統(tǒng)一身份信息,主要包括統(tǒng)一身份和提供該身份管理的ISP的綁定關(guān)系等。
應(yīng)用服務(wù)提供商的統(tǒng)一身份注冊過程同上。此外,為了讓用戶能找到自己的服務(wù),應(yīng)用服務(wù)提供商還要在服務(wù)查詢網(wǎng)絡(luò)中發(fā)布自己的服務(wù)信息,后續(xù)步驟(如圖2所示)如下。
圖2 統(tǒng)一身份注冊流程
(6)應(yīng)用服務(wù)提供商擬訂若干服務(wù)關(guān)鍵詞,并與自己的統(tǒng)一身份進(jìn)行綁定。
(7)應(yīng)用服務(wù)提供商將每一對綁定關(guān)系都通過代理發(fā)布到服務(wù)查詢網(wǎng)絡(luò)中。
與應(yīng)用服務(wù)提供商不同,身份服務(wù)提供商自己進(jìn)行統(tǒng)一身份注冊,然后在身份查詢網(wǎng)絡(luò)中發(fā)布自己的統(tǒng)一身份信息,在服務(wù)查詢網(wǎng)絡(luò)中發(fā)布自己的身份服務(wù)信息。
所有參與者注冊并發(fā)布自己的統(tǒng)一身份信息(服務(wù)還要發(fā)布服務(wù)信息)后,身份服務(wù)網(wǎng)絡(luò)支持普通用戶以自己的統(tǒng)一身份訪問在網(wǎng)絡(luò)中注冊的所有應(yīng)用服務(wù)。一次完整的普通用戶以其統(tǒng)一身份訪問某應(yīng)用服務(wù)的過程(如圖3所示)如下。
(1)普通用戶根據(jù)所需的服務(wù)擬定一個(gè)或多個(gè)應(yīng)用服務(wù)關(guān)鍵詞,用這些關(guān)鍵詞在服務(wù)查詢網(wǎng)絡(luò)中查找支持統(tǒng)一身份訪問的應(yīng)用服務(wù)的統(tǒng)一身份(通過服務(wù)查詢網(wǎng)絡(luò)代理)。
圖3 用統(tǒng)一身份訪問應(yīng)用服務(wù)流程
(2)服務(wù)查詢網(wǎng)絡(luò)可能查找到若干匹配的應(yīng)用服務(wù),向用戶返回這些服務(wù)提供商的統(tǒng)一身份列表(通過代理)。
(3)用戶根據(jù)這些統(tǒng)一身份在身份查詢網(wǎng)絡(luò)中查找它們的詳細(xì)信息(通過代理),然后根據(jù)某種策略選擇其中的一個(gè)應(yīng)用服務(wù)進(jìn)行訪問。
(4)用戶根據(jù)該服務(wù)提供商的地址訪問應(yīng)用服務(wù)。服務(wù)要求認(rèn)證時(shí),用戶把自己的統(tǒng)一身份發(fā)送給該服務(wù)。
(5)應(yīng)用服務(wù)接收到用戶的統(tǒng)一身份后,根據(jù)該身份在身份查詢網(wǎng)絡(luò)中查找該身份的注冊身份服務(wù)提供商的地址。
(6)應(yīng)用服務(wù)將用戶統(tǒng)一身份發(fā)送給該身份服務(wù)提供商請求認(rèn)證。
(7)身份服務(wù)返回認(rèn)證結(jié)果給應(yīng)用服務(wù)。
(8)若認(rèn)證通過,應(yīng)用服務(wù)允許用戶訪問自己的服務(wù)。
P2P網(wǎng)絡(luò)具有良好的自組織性、可擴(kuò)展性和頑健性。新的身份服務(wù)提供商加入身份服務(wù)網(wǎng)絡(luò)時(shí),只需要知道已參加服務(wù)網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)即可,網(wǎng)絡(luò)協(xié)議可自動(dòng)完成節(jié)點(diǎn)路由信息的更新。當(dāng)某個(gè)節(jié)點(diǎn)退出身份服務(wù)網(wǎng)絡(luò)時(shí),該節(jié)點(diǎn)會把自己存儲的統(tǒng)一身份和服務(wù)信息轉(zhuǎn)交給其他節(jié)點(diǎn),只有在該ISP注冊的用戶或服務(wù)受影響。當(dāng)某個(gè)節(jié)點(diǎn)由于異常退出服務(wù)網(wǎng)絡(luò)時(shí),P2P協(xié)議保證網(wǎng)絡(luò)可自愈,只有存儲在該節(jié)點(diǎn)上的服務(wù)信息或身份信息不可查詢 (在該ISP注冊的用戶或服務(wù)也受影響)。
基于P2P的身份服務(wù)網(wǎng)絡(luò)的查詢時(shí)延可能較大。P2P是應(yīng)用層的覆蓋網(wǎng)絡(luò),它的邏輯拓?fù)浜臀锢硗負(fù)湎喾蛛x,查詢物理路徑可能很長。通過設(shè)計(jì)合理的ID空間(如包含地理位置信息),使在Chord環(huán)上鄰近的節(jié)點(diǎn)在物理位置上也鄰近,或在代理上對常用的身份和服務(wù)信息進(jìn)行緩存,都可加快查詢速度。
應(yīng)用服務(wù)提供商可能需要使用自己的認(rèn)證系統(tǒng)(即整合已有的認(rèn)證基礎(chǔ)設(shè)施)。這要求用戶在該服務(wù)提供商注冊自己的服務(wù)用戶身份。若服務(wù)提供用戶以統(tǒng)一身份進(jìn)行訪問,需要對用戶的統(tǒng)一身份和服務(wù)身份進(jìn)行綁定。這些綁定關(guān)系可由用戶或服務(wù)提供商管理,例如由用戶或應(yīng)用服務(wù)提供商在身份查詢網(wǎng)絡(luò)中作為自己身份的屬性進(jìn)行保存。當(dāng)用戶以統(tǒng)一身份訪問該服務(wù)時(shí),ASP從身份管理網(wǎng)絡(luò)獲得相應(yīng)的用戶服務(wù)身份再進(jìn)行認(rèn)證。
服務(wù)發(fā)現(xiàn)與定位是統(tǒng)一身份服務(wù)中的關(guān)鍵問題之一。本文基于結(jié)構(gòu)化的P2PChord網(wǎng)絡(luò)提出了一種新的統(tǒng)一身份服務(wù)網(wǎng)絡(luò)模型。該模型中,ISP提供身份管理需求的各種功能,并組成服務(wù)查詢和身份查詢P2P網(wǎng)絡(luò),利用P2P的搜索機(jī)制實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn)與定位,具有良好的可擴(kuò)展性和頑健性。本文也討論了該模型網(wǎng)絡(luò)的體系結(jié)構(gòu)、統(tǒng)一身份信息的注冊和發(fā)布、服務(wù)信息的發(fā)布,給出了普通用戶用統(tǒng)一身份訪問應(yīng)用服務(wù)的流程。設(shè)計(jì)并實(shí)現(xiàn)一個(gè)實(shí)用的基于P2P的身份服務(wù)網(wǎng)絡(luò)是進(jìn)一步的研究工作。
1 ITU-T X.1250.Baseline Capabilities for Enhanced Global Identity Management and Interoperability,2009
2 ITU-T.Report on Requirements for Global Interoperable Identity Management,2007
3 孫韓林,劉建華.公眾網(wǎng)絡(luò)統(tǒng)一身份認(rèn)證服務(wù)及標(biāo)準(zhǔn)研究.電信科學(xué),2013,29(2):84~88
4 孫尚,吳卿,周必水.基于P2P的語義Web服務(wù)發(fā)現(xiàn)機(jī)制.計(jì)算機(jī)工程,2009,35(11):38~40
5 羅衛(wèi)敏,熊江,應(yīng)宏等.物聯(lián)網(wǎng)中基于兩層P2P結(jié)構(gòu)的ONS模型.計(jì)算機(jī)工程,2012,38(12):80~83
6 張春紅,裘曉峰,弭偉等.P2P技術(shù)全面解析.北京:人民郵電出版社,2010