目錄
1
簡介
1.1
目的和範圍
emule
是乙個在
edonkey
協議基礎上建立起來的檔案共享系統。這篇文件描述了
emule
的網路行為,對基本的術語進行了解釋,有助於大家理解協議。這篇文件也提供了
emule
網路協議的完整的規格書,在附錄中包含了所有訊息的格式。文件中的資訊**於開放源**的
emule
客戶端[2]
。以下介紹文件的目的是為讀者提供乙個整體的背景以便讀者閱讀和理解這篇文件。有關
emule
的更深入資訊可以在這裡找到
[3]。
1.2
概覽
emule
網路由上百個
emule
伺服器和數以百萬計的
emule
客戶端組成
[1]。客戶端為了得到網路服務必須連線到乙個伺服器,只要客戶端在系統內,它到伺服器的連線就一直開啟。伺服器提供乙個集中的目錄服務
(類似於
napster)
,並且伺服器不與其他伺服器通訊。
每個emule
客戶端都預先配置了一張伺服器列表,和乙個本地檔案系統上的共享檔案的列表。客戶端用一條
tcp連線連到
emule
伺服器,進行網路註冊,獲取請求的檔案和可用的客戶端的資訊。
emule
客戶端還會使用上百條
tcpemule
emule
拓展了edonkey
的能力,
emule
允許客戶端之間交換伺服器,其他客戶端和共享檔案的資訊。注意客戶端以及伺服器的通訊都是基於
tcp的。伺服器用乙個內部的資料庫儲存客戶端和共享檔案的資訊。
emule
伺服器不儲存任何檔案,它只充當乙個集中的索引來儲存檔案的位置。伺服器還有乙個附加的功能,橋接那些在防火牆之後不能接受連線的客戶端,不過這個功能正被逐漸地淘汰掉,因為橋接工給伺服器增加了相當多的負載。
emule
用udp
增強了客戶端對伺服器和其他客戶端的連線能力。客戶端傳送和接收
udp訊息的能力對它正確的完成日常操作並不是必需的,它應該能夠正確的工作即使防火牆阻止
udp訊息的傳送和接收。
1.2.1
客戶端到伺服器的連線
只要客戶端一啟動,就會和一台
emule
伺服器建立
tcp連線。伺服器為客戶端分配乙個客戶
id,
這個id
只在客戶端
-伺服器連線的生命週期中有效(注意:如果客戶端獲得的是高
id,那麼無論它連線到任何伺服器,都會獲得同樣的
id,除非它的
ip位址變化了)。連線建立以後,客戶端向伺服器傳送它的共享檔案列表。伺服器將列表存放的他的內部資料庫中,通常這個資料庫會儲存數以百萬計的可用檔案和客戶端資訊。
emule
emule
客戶端和伺服器間的
tcp訊息交換作了詳細的描述。
當連線建立以後,
emule」源
」)。從這裡開始,
emule
客戶端開始和其他客戶端建立連線,將會在
1.2.2
中介紹。
注意:在整個客戶端的會話中,客戶端與伺服器的
tcp連線一直保持開啟。在初始的握手以後,大部分事務是由使用者事件
(user activity)
發起:時不時地客戶端會傳送檔案查詢請求,然後接收到乙個查詢結果應答。一般來說在乙個查詢事務之後,會是乙個針對某個特定檔案 的
」源
」的查詢
, 應答是乙個源(
ip
udp是客戶端用來與伺服器通訊的,伺服器無需向正與它連線的客戶端
udp通訊。
udpkeep alive
)功能(確保客戶端的伺服器列表中的伺服器是有效的)。關於客戶端與伺服器的
udp訊息交換的詳細描述可以在第3章
找到。
1.2.2
客戶端到客戶端的連線
emule
客戶端連線到另乙個
emule
emule
2.4kbytes/sec
15emule
客戶端的佇列優先順序會提高,以阻止被擠掉。
趣談網路協議 P2P協議
ftp 採用兩個 tcp 連線來傳輸乙個檔案。無論是 http 的方式,還是 ftp 的方式,因為它們使用的都是傳統的客戶端伺服器的方式,難以解決單一伺服器的頻寬壓力 標識所需檔案的位置,例如.torrent 檔案。torrent 檔案由announce tracker url 和檔案資訊組成 檔案...
P2P協議與P4P協議
p2p協議 認證階段完成之後,ppp將呼叫在鏈路建立階段 階段1 選定的各種網路控制協議 ncp 選定的ncp解決ppp鏈路之上的高層協議問題,例如,在該階段ip控制協議 ipcp 可以向撥入使用者分配動態位址。這樣,經過三個階段以後,一條完整的ppp鏈路就建立起來了。三 認證方式 1 口令驗證協議...
2 一致性要求 WebSocket協議翻譯
在本規範中所有圖表 示例 和注釋是非規範的,以及所有章節明確地標記為非規範的。除此之外,在本規範中的一切是規範的。該文件中的關鍵字 必須 must 不能 must not 需要 required 應當 shall 不得 shall not 應該 should 不應該 should not 推薦 re...