P2P技術應用現狀
由于能夠極大緩解傳統架構中服務器端的壓力過大、單一失效點等問題,又能充分利用終端的豐富資源,所以P2P技術被廣泛應用于計算機網絡的各個應用領域,如分布式科學計算、文件共享、流媒體直播與點播、語音通信及在線游戲支撐平臺等方面。
(1)分布式科學計算
我們知道,許多計算機的CPU資源并不是時刻保持峰值運轉的,甚至很多時候計算機處于“空閑”狀態,比如使用者暫時離開等情況。而P2P技術可以使得眾多終端的CPU資源聯合起來,服務于一個共同的計算。這種計算一般是計算量巨大、數據極多、耗時很長的科學計算。在每次計算過程中,任務(包括邏輯與數據等)被劃分成多個片,被分配到參與科學計算的P2P節點機器上。在不影響原有計算機使用的前提下,人們利用分散的CPU資源完成計算任務,并將結果返回給一個或多個服務器,將眾多結果進行整合,以得到最終結果。
世界最著名的P2P分布式科學計算系統非“SETI@home”項目莫屬。SETI@home項目(簡稱為S@H或SETI),由美國加利福尼亞大學伯克利分校在1999年發起,是至今最成功的分布式計算項目。SETI@home通過分析從射電望遠鏡傳來的數據來搜尋地外文明,這在不少科幻迷甚至是很多普通大眾眼里都是一個“很酷”的應用。SETI的早期版本截至2005年已經吸引了543萬用戶,分析了大量積壓數據。正如宇宙的浩瀚一般,需要計算的數據(即存在宇宙空間的無數無線電信號)也是海量的。可以說,這幾百萬臺終端組成了一個目前最快的高性能計算機都望塵莫及的“超級計算機”。
(2)文件共享
要問一百個網友目前中國最流行的文件下載方式,恐怕99個都會回答是“BT”。“BT”是BitTorrent[7]的簡稱,是一種依賴P2P方式將文件在大量互聯網用戶之間進行共享與傳輸的協議,對應的客戶端軟件有BitTorrent、BitComet和BitSpirit等。由于其實現簡單、使用方便,在中國用戶之間被廣泛使用。BitTorrent中的節點在共享一個文件時,首先將文件分片并將文件和分片信息保存在一個流(Torrent)類型文件中,這種節點被形象地稱作“種子”節點。其他用戶在下載該文件時根據Torrent文件的信息,將文件的部分分片下載下來,然后在其他下載該文件的節點之間共享自己已經下載的分片,互通有無,從而實現文件的快速分發。由于每個節點在下載文件的同時也在為其他用戶上傳該文件的分片,所以整體來看,不會隨著用戶數的增加而降低下載速度,反而下載的人越多,速度越快。
BitTorrent是一種無結構的網絡協議。除了BitTorrent之外,還有不少著名的無結構化的P2P文件共享協議,典型的有Gnutella[8]和KaZaA[6]。
Gnutella協議是一種最典型的完全分布式、無等級結構的P2P網絡模型。網絡中的節點隨機連接若干個其他節點,稱之為“鄰居”。這種結構能夠很好地適應P2P網絡中節點頻繁加入與離開的動態特性,因為任意一個節點都可以被新加入的節點作為“鄰居”而連接,任意一個“鄰居”也可以隨意地離開網絡。同時,這種加入節點和離開節點的選擇是節點間的獨立行為,隨機分布于網絡之中。所以說Gnutella的網絡具有健壯性、實時性、可靠性、負載平衡等優勢。
上一篇:TCP穿透主流商用NAT產品的主要技術研究
下一篇:語音技術