首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
會計從業(yè)資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質量工程師 | 物業(yè)管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監(jiān)理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 復習資料 > 其它資料 > 正文

軟考網(wǎng)絡技術:關于eMule協(xié)議地址問題的討論

來源:考試吧Exam8.com) 2010-7-19 11:00:09 考試吧:中國教育培訓第一門戶 模擬考場
軟考網(wǎng)絡技術:關于eMule協(xié)議地址問題的討論。

  eMule協(xié)議的有關內容我們講述了不少。這里我們主要講解一下它的ID的有關問題。我們知道,對于下載協(xié)議來說,這個地址問題是非常關鍵的。所以這里我們來詳細討論一下。

  客戶ID

  客戶ID是服務器在它們連接握手時提供的一個4字節(jié)標識符?蛻鬒D只在客戶-服務器TCP 連 接的生命期中有效,盡管萬一客戶端有一個高ID,所有的服務器都會分配它同樣的ID直到IP 地址改變。客戶端ID分為低ID和高ID。當一個客戶端不能接收一個輸入連接時,eMule服務器將特有地分配給客戶端一個低ID。擁有一個低ID會限制客戶端對eMule網(wǎng)絡的使用,和可 能導致服務器拒絕一個客戶端連接。高ID的計算是以客戶端IP地址為基礎的,如下所述。從eMule協(xié)議觀點描述了客戶ID的分配和重要性。允許其它客戶端自由地連接到其本機上的eMule的TCP端口(默認端口號是4662)的客戶端會分配給一個高ID。有高ID的客戶端沒限制使用eMule網(wǎng)絡。當服務器無法打開一個TCP連接到客戶端的eMule端口時,會分配一個 低ID給該客戶端。這主要發(fā)生在機器上裝有防火墻的客戶端,阻止了輸入連接。當出現(xiàn)下面情況時,客戶端也會接收到一個低ID:l當客戶端通過NAT或代理服務器連接,l當服務器繁忙(導致服務器重連接計時器超時)高ID用下面的方法計算:假設主機IP是X.Y.Z.W,ID就是X+2^8*Y+2^16*Z+2^24*W。低ID總是小于16777216 (0x1000000),關于它是怎樣計算的,我找不到任何線索,在不同的服務中得到不同的低ID。

  低ID客戶端沒有其他客戶端可以連接到的公網(wǎng)IP,這樣所有的交流必須通過eMule服務器完成。這增加了服務器計算能力的負擔,并且導致服務器勉強接收低ID客戶端。這也意味著低ID客戶端不能連接到不在同一個服務器上的其他低ID客戶端,因為eMule協(xié)議不支持在服務器間管道連接。為了支持低ID客戶端,引入了回調機制。使用這機制,高ID客戶端請求(通過eMule服務器 ) 低ID客戶端連接它來交換文件。

  用戶ID

  eMule支持信用系統(tǒng)來鼓勵用戶共享文件。用戶上傳越多的文件給其他客戶端,它接收的信用越多,它在它們的等待隊列中前進得越快。用戶ID是128位(16字節(jié))、連接隨機數(shù)字創(chuàng)建的GUID,第6和第15字節(jié)不是隨機產生的,它們的值分別是14和111。在整個客戶端和指定的服務器會話中,客戶ID是有效的,然而用戶 ID(也叫用戶哈希)是唯一的并且跨越會話時用來識別客戶端(用戶ID識別工作站)。用戶 ID在信用系統(tǒng)中扮演重要角色,這為“黑客”假冒其他用戶來獲得他們信用賦予的優(yōu)先權提供了動機。Emule提供加密方案設計來阻止欺騙和冒名頂替。這個實施是簡單的應答交換,依 靠RSA公有/私有鑰匙加密。

  文件ID

  文件ID用來惟一的標識網(wǎng)絡中的文件和文件損壞偵測和修復。注意,eMule協(xié)議不依靠文件名來 惟一標識和編目文件,通過哈希文件內容計算出的GUID標識文件。有兩種類型文件ID-一種 主要用來產生惟一的文件ID,另一種是用來損壞偵測和修復。

  文件哈希

  文件是用由客戶端和基于文件內容計算出來的128位GUID哈希來標識的。GUID是應用MD4 算法到文件數(shù)據(jù)中計算而來。當計算文件ID時,文件被分成每段9.28MB長的部分。每部分 單獨計算出一個GUID,然后所有的哈希組合成一個惟一的文件ID。當下載的客戶端完成一 個文件部分下載時,它計算這部分哈希,然后和發(fā)送過來的這部分哈希對比,如果這部分發(fā) 現(xiàn)損壞了,客戶端嘗試通過逐漸替換這部分中的位(每個180kb)來修復損壞部分,直到哈 希計算OK。

  根哈希

  用SHA1算法來為每部分計算根哈希,基于每塊180kb大小。它提供了更高等級的可靠性和可 修復性,更多信息可在eMule官方網(wǎng)站得到。

  eMule協(xié)議擴展

  盡管eMule完全兼容eDonkey,它還是實行了幾種擴展,允許eMule兩個客戶端為用戶提供另 外的功能。擴展只要集中在客戶端與客戶端的交流,特別是在安全和UDP使用領域上。在本 文檔中,所有信息流圖標明的信息,是eMule擴展部分的,用灰色表示。

  軟件和硬件限制

  在活動用戶數(shù)量的服務器配置中有兩種限制-軟件和硬件。硬件限制遠大于軟件限制。當活 動用戶的數(shù)量達到軟件限制時,服務器停止接收新的低ID客戶連接。當用戶數(shù)量達到硬件 限制時,服務器滿了,不再接收任何客戶端連接。

文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網(wǎng)所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網(wǎng)內容,請注明出處。