夏 招
(重慶郵電大學未來網(wǎng)絡研究中心 中國 重慶 400065)
P2P技術又稱對等技術,是通過P2P系統(tǒng)直接交換來共享計算機資源的一種應用模式。該網(wǎng)絡新技術打破了傳統(tǒng)的客戶機/服務器模式,充分利用網(wǎng)絡帶寬資源,為用戶提供快捷、迅速的資源共享服務[1]。
近年來,P2P技術迅猛發(fā)展,從早期的Napster,到隨后的Gnutella,再到現(xiàn)在流行的BitTorrent等不同類型的軟件都是P2P技術成功應用的實例。目前,對于在移動環(huán)境中如何實現(xiàn)P2P應用已經(jīng)引起了人們廣泛的關注。在現(xiàn)有的GSM/GPRS系統(tǒng)中,還不能實現(xiàn)真正的P2P,這是因為網(wǎng)絡并不允許終端成為一個具有固定IP地址的獨立終端。在3G網(wǎng)絡中,由于提供了移動終端之間的基于IP的通信,從而移動終端可以隨時隨地使用屬于自己的唯一的IP地址進行通信。
針對在移動環(huán)境中實現(xiàn)P2P應用,不同的研究者從各自研究的領域出發(fā),提出了不同的解決方案。其中主要包括擴展eDonkey體系、移動代理、移動Ad hoc網(wǎng)絡等。第一種在移動環(huán)境下使用P2P網(wǎng)絡的可行方案是JXME,該方法的思想是維持JXTA[3]的目標,因此根據(jù)移動網(wǎng)絡的特點對其進行一定的修改以滿足要求。然而這種方法只考慮蜂窩網(wǎng)絡,不解決虛擬覆蓋網(wǎng)適應到物理網(wǎng)絡的問題,因此在MANET場景下不可行。文獻[2]提出了一種用于開發(fā)協(xié)同移動游戲的“FRAGame2004”的架構,該架構使用傳統(tǒng)P2P體系結構伸縮性來實現(xiàn)移動P2P的一些特征,從一定程度上解決了移動P2P開發(fā)帶來的問題。還有些提出一種適合移動P2P網(wǎng)絡進行通信的平臺,并且提到,移動節(jié)點不會是完全的運行客戶軟件,而是需要一個代理節(jié)點幫助協(xié)調(diào)運作。還指出了一點,目前的混合型P2P網(wǎng)絡最適合移動環(huán)境。這對本文模型的提出具有一定的啟發(fā)作用。
P2P是當前互聯(lián)網(wǎng)的熱點技術之一,已經(jīng)獲得了爆炸性的應用和發(fā)展。然而移動終端的移動性、通信信號的不穩(wěn)定性、終端處理能力的不足等條件都將會成為P2P技術應用于移動網(wǎng)絡的絆腳石。所以必須選擇一種能夠受控的網(wǎng)絡模型來開發(fā)P2P應用。同時由于3G網(wǎng)絡是一種層次型網(wǎng)絡,目前認為集中式網(wǎng)絡結構以及混合式網(wǎng)絡結構是移動P2P網(wǎng)絡模型的最佳選擇。本文針對移動網(wǎng)絡運營管理以及移動設備資源有限等特點,提出一種適合移動通信的P2P網(wǎng)絡解決方案,從而有助于解決P2P網(wǎng)絡中的計費、用戶數(shù)據(jù)管理、QoS等問題,將P2P網(wǎng)絡變?yōu)榭蛇\營可管理的多媒體網(wǎng)絡。
圖1 移動P2P網(wǎng)絡模型
圖1提出了移動P2P的整體架構。從圖1可以看出,移動P2P網(wǎng)絡由移動終端、無線接入網(wǎng)、小區(qū)間P2P覆蓋網(wǎng)三者組成。超級用戶負責管理小區(qū)內(nèi)所有移動P2P節(jié)點的加入、注冊、離開。本地目錄由資源列表和鄰居節(jié)點表兩部分組成。每個超級節(jié)點管理區(qū)域內(nèi)的所有資源組成一張資源列表(包括資源ID和所有節(jié)點IP地址),鄰居表保存該超級節(jié)點的所有鄰居超級節(jié)點的地址信息??紤]到超級用戶的處理能力及緩存限制,本論文將本地資源目錄托管于基站管理器中。如果普通移動節(jié)點想要加入移動P2P網(wǎng)絡,則需要通過無線鏈路①向超級用戶發(fā)起加入請求,此時超級用戶需更新本地資源目錄。并把更新的本地目錄資源列表、鄰居列表、當前移動終端的實時活躍狀態(tài)、終端的信號強弱、電池的電量使用情況以及終端的可用帶寬等信息向系統(tǒng)實實時監(jiān)控服務器報告。另外,系統(tǒng)實時監(jiān)控服務器對超級用戶實時監(jiān)控,監(jiān)測不同的移動終端擁有哪個資源片段、并對較流行的資源設置較高的資源流行度,從而獲得每個終端用戶的整體狀態(tài)信息。
索引服務器的一個作用是搜索其他小區(qū)的資源,并將其歸類整合,為其創(chuàng)建資源鏈表,以備移動終端下載。索引服務器同時也具有歷史記錄和路由表。歷史記錄中保存了所有管理的節(jié)點歷史查詢資源定位表,超級節(jié)點管理范圍內(nèi)的普通節(jié)點在一段時間內(nèi)(即緩存更新周期內(nèi))可能會請求同一種資源ID,這時可以直接在歷史查詢信息中定位資源。
本文基于移動P2P網(wǎng)絡的共享服務模型采用數(shù)據(jù)分片策略來實現(xiàn)用戶的下載/上傳服務,具體資源共享過程如圖2所示。移動終端A加入P2P網(wǎng)絡后,首先向超級用戶發(fā)送上線消息。超級用戶接收到節(jié)點A的上線消息后,更新本地數(shù)據(jù)庫信息列表,并根據(jù)具體情況返回給移動終端A是否同意加入P2P網(wǎng)絡的信息,如果同意加入,則相應的返回一個已經(jīng)更新的資源列表,包含資源ID、資源名稱、對應狀態(tài)服務器的IP地址和端口號等信息。假設移動節(jié)點A選擇下載一個圖片M,則它通過網(wǎng)關向索引服務器發(fā)送對資源M的請求,索引服務器優(yōu)先在緩存服務器中查找,如果沒有找到,進一步在數(shù)據(jù)服務器中查找,通過查找,找到資源M所在的位置,將其對應的狀態(tài)返回給A,緊接著移動終端A向資源M對應的狀態(tài)服務器發(fā)送初始連接請求,建立連接。同時發(fā)送節(jié)點A所在位置(IP地址)、端口號、要下載的資源M的ID、承載能力和當前資源片段狀態(tài)等信息。狀態(tài)服務器接收到節(jié)點A的消息后,判斷節(jié)點A是否為初始連接資源M從而做出相應的處理。
圖2 移動互聯(lián)網(wǎng)P2P模型通信流程
①地目錄資源放在基站管理器中,減輕了超級節(jié)點的負擔,并且基站管理器可以利用本地目錄資源列表周期性地向外發(fā)布已有的資源信息。
②服務器只負責向移動網(wǎng)絡中的上線用戶發(fā)提供索引信息,因而網(wǎng)絡負載相對較小,可位于無線通信網(wǎng)絡中;狀態(tài)服務器和數(shù)據(jù)服務器的處理工作需要大量的網(wǎng)絡流量,因此只能位于有線網(wǎng)絡中。
③服務器在接收到移動終端發(fā)出的請求信息后會建立并維護兩張表:移動節(jié)點狀態(tài)信息表和對應的資源片狀態(tài)表,同時將資源以片段的形式進行組織并指導其他移動終端用戶進行下載。
移動通信的發(fā)展培養(yǎng)了大批量的移動客戶。隨著3G/LTE等技術的大規(guī)模應用,在移動網(wǎng)絡中搭建P2P平臺給移動終端帶來更多的應用。基于移動互聯(lián)網(wǎng)的多種業(yè)務將迅速展開,源于互聯(lián)網(wǎng)的P2P技術,就其分布式、自組織、健壯性、低成本和可擴性等特點得到了廣泛的應用。從這點上來說,基于3G移動平臺的P2P方案潛力巨大,擁有廣闊的發(fā)展前景。
[1]歐中洪,宋美娜,戰(zhàn)曉蘇,等.移動對等網(wǎng)絡關鍵技術[J].軟件學報,2008,19(2):404-418.
[2]Heiko Wolf,Mengqiu Wang.A Frame work with a Peer Fostering Mechanism for Mobile P2P Game Development,2005[J].
[3]Duigou M.JXTA v2.0 Protocols Specifica tion[J].IETF Internet Draft,2003.