gnutella

gnutella

Gnutella是簡單又方便的網路交換文件完全分散式的p2p通信協議,提供另外一種更簡單的交換文件方式給大家選擇。理論上,只要所有連接網路的人都把文件分享出來,那麼大家的需求就可以得到解決。不管你是想要圖形文件、音樂甚至是食譜,只要有人分享該文件,我們就應該可以透過Gnutella找到。

產生與發展


2000 年3月14 日,美國東部標準時間上午11:31,地下黑客站點Slashdot郵寄列表中發表一個消息,說AOL的nullsoft 部門已經發放一個開放源碼的Napster的克隆軟體,這個能尋找和下載任何種類計算機文件的軟體被命名為Gnutella。
在2000 年3月15 日,美國東部標準時間4:25,美國有線新聞報道Nullsoft已經關掉這個可能比Napster公司更有潛力的分享文件的軟體的下載,可能的原因是Gnutella 造成對唱片巨頭華納音樂和EMI 的潛在的威脅,當時AOL正在與華納進行合併的談判之中。但是,此時軟體已經被從Nullsoft 站點上下載了幾千份,而且各種第三方組織很快就開始對Gnutella進行克隆,開發自己的客戶版本。這些克隆的版本都與Nullsoft設計的Gnutella協議的相兼容,因此能彼此互相通訊並且和原先Nullsoft的客戶端通訊。當人開始運行這些克隆的未被授權的客戶端軟體后,一個互相兼容的Gnutella應用網路開始增長並且用Gnutella 協議約定的無中心的交流方式。這個網路,在過去的2001年顯著增長,開始被稱為Gnutella 網路。
所有利用Gnutella 協議運行的客戶端程序的計算機都被稱為在Gnutella 網路( Gnet) 上。在網際網路上,每台計算機只能同時連接另外一台計算機一次。比如:當一個用戶訪問時,她不在。兩個場所相互獨立。在Gnutella 網路上,一個用戶可以同時連接幾台其他計算機。信息同時可能從很多來源接收。
在Gnutella 網路上的每台計算機連接許多其他計算機( 點)。這些點中的每個連接其他幾台計算機。這個過程無限持續。如果一個用戶連接4台計算機,每台計算機又連接其他4 台計算機,用戶能與計算機的總數為4 + 4 * 4 = 20個用戶進行信息交流。這樣的話,消息只沿著 network傳遞2次,搜尋請求傳送的次數也被稱為生存時間或者叫TTL。這樣的話,用戶的TTL為2。如果我們擴展上面的例子,假定我們的用戶TTL 到3,並且在網路里的每台計算機連接4 台新計算機,那麼它能進行信息交流的計算機的總數4 + 4 * 4 + 4 * 4 * 4 = 84.因此,能與用戶交流的計算機的數量與它的搜尋請求的TTL值和隨TTL增長的計算機數目成指數增加的關係。Gnutella 網路,理論上至少,能通過連接到達在網際網路上的每台計算機。對一個Gnutella 網路怎樣操作的更詳細的解釋來說,要看一下具體Gnutella協議。
Gnutella 不是一個網站。不包含網站。在Gnutella 網路上可得到的內容不是來自網站或者Gnutella 兼容軟體的發行者,它來自其他用戶( 在他們自己的計算機上運行Gnutella 兼容軟體)。 Gnutella 是一份聯網協議,它定義了在一個完全分散的網路環境下計算機彼此交流的方式。
Gnutella是一套開放式、非集中化得個人對個人搜索系統,主要用於通過網際網路尋找和交換文件。Gnutella既不是公司,也不是一項特定的應用。它又不是網站。然而,有些網站提供關於Gnutella的新聞和信息。Gnutella是一種技術的名字,就像“電子郵件”和“Web”一樣。最早的Gnutella客戶端是由Nullsoft公司開發出來的。美國在線迅速關閉了該網站,但是在此之前已經有數千人下載了它。最早的版本是一個很好的起點,但有許多錯誤。經過很長一段時間,現在已經有許多不同的公司、個人和團體在開發基於不斷發展的Gnutella協議的軟體。Gnutella的特色 Gnutella是非集中化的。這意味著該網路的存在並不依賴於某家中央公司。如果一家公司倒閉了,Gnutella仍會繼續運作。Gnutella的客戶相互連接,而且沒有中央伺服器。要做到這一點,他們必須能找到其他用戶,這可以通過於朋友相連、連接到其他用戶的索引表,或者使用網際網路中繼聊天(IRC)來實現。Gnutella的優點 可以隨意共享任何文件。1.非集中化—— 完全分散式的搜索系統提供有用的搜索功能,而不需要集中的搜索資料庫。2.防火牆——當一個客戶端正處在防火牆后同樣可以進行友好的傳輸。3.以文檔形式記錄的協議。4.免費軟體,任何客戶端的代碼都是公開的。5.許多客戶端可以設定帶寬,限制總的和每個客戶端的上傳速率,從而防止你的線路飽和。6.非匿名性——可以看到其他人在網上搜索什麼東西。然而,對特定網址的查詢是匿名的。7.能夠改變埠 ——難以阻止/限制訪問。8.能夠定義你的內部網路,只留一個出口到網際網路的其餘部分。這使得別人難以阻止到Gnutella網路的訪問。 Gnutella的缺點 有些人將上述的一些優點視為缺點。例如:1.由於部分帶寬被用於維持到Gnutella網路的鏈接,所以速度可能會變慢,尤其是在撥號上網的情況下。這一問題正在被逐步解決。2.一些IT專家說使用Gnutella可能會給用戶帶來安全問題。3.缺少中央協調被認為會限制Gnutella網路的發展,但是依靠由軟體開發者組成的鬆散團體的工作,網路的技術限制正被逐漸克服。在2001年7月,Gnutella網路已經能一次負擔數萬名用戶,這比2000年12月的數字高20倍。4.該計劃可能會成為令版權所有者長期頭痛的問題。更新的Gnutella計劃正在建立一個規模巨大、不斷健全的網路。2001年6月,網站報告說在一星期內有近100萬人下載了Gnutella的最新一代程序 Bare-Share和LimeWire。一些人認為像Gnutella這樣的個人對個人系統除了交換音樂文件外還有其他一些用途,如搜索雅虎之類的網站上的信息。隨著Gnutella工作的繼續,LimeWire背後的公司在2001年夏季為關於Gnutella的最佳研究報告提供現金獎勵 Gnutella網路看起來將成為網際網路上一個永久的、標準化的軟體系統。Gnutella網路的興旺對於娛樂業是一個壞消息,後者曾認為它不用懼怕Gnutella,因為其技術問題將限制網路的規模。然而,2001年使用量的爆炸性增長導致對個別Gnutella用戶侵權行為的嘗試性起訴。但是,Gnutella的開發者不大會承擔法律責任,因為其程序可以被用於許多其他用途,而且與Napaster不同,他們不需要維護任何有版權材料的資料庫。