
P2P技術的發展,經過了很多個階段。從最初的集中目錄式結構,到采用分布式網絡的純P2P網絡模型,再到基于超級節點的混合式網絡模型,最后到采用分布式哈希表(DHT)技術的結構化網絡模型。其中的每一步,都跟技術的發展息息相關。目前的P2P技術還遠未成熟,需要更多的相關技術的發展來促進它。
什么是P2P技術?
P2P是互聯網整體架構的基礎。在TCP/IP協議層,網絡內的每個節點都是平等的,沒有客戶端和服務器的區分。P2P技術實際上是在應用層面展現了這種平等的關系,通過在節點之間直接交換來共享資源和服務。在P2P網絡結構中,每個節點都具有客戶端和服務器的雙重功能,可以同時作為服務使用者和服務提供者。P2P技術的核心就是分布式對象的定位機制,這也是提高網絡可擴展性,充分利用網絡閑置資源的關鍵所在。迄今為止,P2P網絡已經經歷了4種不同的網絡模型,各有優缺點。
集中目錄式結構,1999年開站的音樂分享網站Napster是其典型代表。其特點是只在服務器端存放用戶所擁有的文件信息,而實際的文件則存放在各個節點中。下載過程是直接在各個節點之間進行的,不需要通過服務器進行。這種網絡結構非常簡單,但是它顯示了P2P技術巨大的優勢和吸引力。不足之處在于,仍然具有中心化的特點,需要依賴服務器來對文件信息進行搜集和檢索。
純P2P模式的分布式網絡模型也被稱作廣播式的P2P模型。它取消了集中的中央服務器,每個用戶隨機接入網絡,并與自己相鄰的一組鄰居節點通過端到端連接構成一個邏輯覆蓋的網絡。對等節點之間的內容查詢和內容共享都是直接通過相鄰節點廣播接力傳遞,同時每個節點還會記錄搜索軌跡,以防止搜索環路的產生。2000年3月出現的Gnutella網絡就屬于這種模型。它解決了網絡結構中心化的問題,擴展性和容錯性較好,但是Gnutella網絡中的搜索算法是以泛洪的方式進行,控制信息的泛濫消耗了大量帶寬并很快造成網絡擁塞甚至網絡的不穩定。同時,局部性能較差的節點可能會導致Gnutella網絡被分片,從而導致整個網絡的可用性較差。
混合式網絡模型的典型代表是Kazaa模型,它在純P2P分布式模型基礎上引入了超級節點的概念,綜合了集中式P2P快速查找和純P2P去中心化的優勢。Kazaa模型將節點按能力不同(計算能力、內存大小、連接帶寬、網絡滯留時間等)區分為普通節點和搜索節點兩類(也有的進一步分為三類節點,其思想本質相同)。其中搜索節點與其臨近的若干普通節點之間構成一個自治的簇,簇內采用基于集中目錄式的P2P模式,而整個P2P網絡中各個不同的簇之間再通過純P2P的模式將搜索節點相連起來,甚至也可以在各個搜索節點之間再次選取性能最優的節點,或者另外引入一新的性能最優的節點作為索引節點來保存整個網絡中可以利用的搜索節點信息,并且負責維護整個網絡的結構。由于普通節點的文件搜索先在本地所屬的簇內進行,只有查詢結果不充分的時候,再通過搜索節點之間進行有限的泛洪。這樣就極為有效地消除純P2P結構中使用泛洪算法帶來的網絡擁塞、搜索遲緩等不利影響。同時,由于每個簇中的搜索節點監控著所有普通節點的行為,這也能確保一些惡意的攻擊行為能在網絡局部得到控制,并且超級節點的存在也能在一定程度上提高整個網絡的負載平衡。
結構化網絡模型,其與非結構化模型的根本區別在于每個節點所維護的鄰居是否能夠按照某種全局方式組織起來以利于快速查找。結構化P2P模式是一種采用純分布式的消息傳遞機制和根據關鍵字進行查找的定位服務,目前的主流方法是采用分布式哈希表(DHT)技術,這也是目前擴展性最好的P2P路由方式之一。由于DHT各節點并不需要維護整個網絡的信息,只在節點中存儲其臨近的后繼節點信息,因此較少的路由信息就可以有效地實現到達目標節點,同時又取消了泛洪算法。該模型有效地減少了節點信息的發送數量,從而增強了P2P網絡的擴展性。同時,出于冗余度以及延時的考慮,大部分DHT總是在節點的虛擬標識與關鍵字最接近的節點上復制備份冗余信息,這樣也避免了單一節點失效的問題。
新技術促進P2P的應用發展
P2P網絡因為其去中心化的特性以及泛洪廣播的技術機制,使得在實際的應用中存在一定的問題。隨著新技術的出現和新的網絡架構的實施,P2P應用所遇到的種種問題也在逐漸的得到改善和解決。
IPv6的應用將促進P2P的發展。IPv6把IP地址由32位增加到128位,從而能夠支持更大的地址空間,增加了P2P網絡可用的節點數。IPv6 地址的編碼采用類似于CIDR的分層分級結構,如同電話號碼。簡化了路由,加快了路由處理速度。自然也就加快了P2P網絡中每個節點之間的查詢和傳輸速度。使用IPv6的節點之間,不再需要NAT技術。在IPV4階段,為了解決IP地址資源不夠的問題,產生了NAT技術。借助于NAT技術,私有(保留)地址的\"內部\"網絡通過路由器發送數據包時,私有地址被轉換成合法的IP地址。這種IP地址轉換技術,使得很多的P2P網絡無法大規模應用。因為對于一個內網的節點來說,其他節點根本無法直接連接到它。隨著IPv6的應用普及,NAT技術將會逐漸被取代。此外,在 IPv6 中還加入了關于身份驗證、數據一致性和保密性的內容。這對解決P2P的安全問題有很大的幫助。
由于許多P2P應用程序同時運行客戶端和服務器端的應用程序,所以它對上行帶寬和下行帶寬都要占用,而且很多P2P應用使用了泛洪式的查詢技術,這就會導致大量的廣播消息充斥整個網絡,增加網絡流量。因此,P2P的應用都面臨著嚴重的帶寬占用問題。2月16日,中國電信在北京宣布全面啟動“寬帶中國·光網城市”工程,計劃在3-5年內使寬帶用戶的接入帶寬在目前2-4M的基礎上,躍升10倍以上。電信運營商的全面網絡升級,給需要大量帶寬的P2P應用帶來了無限的可能。
移動DSN架構的實施也將推進P2P的進程。移動互聯網讓人們生活變得更加便利的同時,也帶來了流量快速增長的難題。移動互聯網數據流量增速遠遠超過無線帶寬的增長速度,給移動網絡帶來了巨大的壓力。因此有必要引入基于P2P技術的分布式體系的新的移動互聯網架構。中國移動的DSN架構就是這樣一個體系架構。自2008年11月DSN技術白皮書發布以來,中國移動研究院將于今年4月再次發布DSN2.0技術白皮書,而在DSN2.0中,將進一步明晰分布式業務網絡的技術架構和具體實施規范。隨著DSN2.0技術白皮書的發布,分布式P2P技術構建移動互聯網架構的研究將進入一個新的階段。