版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-eD2k鏈接

科學百科
原創(chuàng)
科學百科為用戶提供權威科普內(nèi)容,打造知識科普陣地
收藏

eD2k鏈接是一種超鏈接,用于指示在eDonkey網(wǎng)絡上存儲的文件。

簡介包括eDonkey2000、eMule、MLDonkey、aMule等在內(nèi)的許多使用了eDonkey文件共享協(xié)議的客戶端軟件,都可以用eD2k鏈接來管理網(wǎng)絡上的文件。

瀏覽器可以識別eD2k鏈接,并遞交到eMule、eDonkey2000或其他的eD2k軟件中進行傳輸。eD2k鏈接是最早被引入P2P文件網(wǎng)絡的鏈接之一。Magnet鏈接現(xiàn)在也與eD2k鏈接類似,但Magnet鏈接不僅限于eD2k Hash,而是可以使用其他的Hash,諸如SHA或MD5等。

這些Hash碼,主要用于確保相同的文件在網(wǎng)絡上具有的相同的唯一標識,即使這些文件儲存在不同的地方或擁有不同的名字。它通過使用該文件的Hash函數(shù)(散列函數(shù))來計算其校驗和。

eD2k鏈接和很多URI協(xié)議一樣,可以被網(wǎng)絡瀏覽器配置為自動關聯(lián)處理。安裝某些eD2k軟件時,“ed2k://”協(xié)議可能被自動注冊。于是在瀏覽器中點擊文件的eD2k鏈接時,就能自動打開eD2k軟件并進行此文件的下載。1

鏈接格式D2k鏈接的大致格式形如:

ed2k://|||/

使用“|”分隔開各個區(qū)域。

注釋:

ed2k://:協(xié)議處理方法。指明該協(xié)議是eD2k協(xié)議。

:鏈接類型。有三種:file(文件)、server(服務器)、serverlist(服務器列表)。

:具體的其他信息。1

文件鏈接典型的、基礎的eD2k文件鏈接只包含必要的三樣信息:文件名、文件大小、文件的eD2k Hash。形如:

ed2k://|file||||/

以下是大小為2868871字節(jié)(約2.7MB)的官方eMule v0.49c zip壓縮包的eD2k鏈接的例子:

ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|/

eD2k鏈接也可以包含一個或多個來源的IP地址與端口,形如:

ed2k://|file||||/|sources,|/

例如:

ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|/|sources,202.89.123.6:4662|/

在eMule中,eD2k鏈接也可以包含根Hash(Root Hash)值。根Hash提供了一個可靠的值用于AICH(高級智能損壞處理),在傳輸?shù)奈募袚p壞或錯誤時進行糾正恢復。包含根Hash的eD2k鏈接形如:

ed2k://|file||||h=|/

例如:

ed2k://|file|eMule0.49c.zip|2868871|0F88EEFA9D8AD3F43DABAC9982D2450C|h=SQ7LUTYUSMDBP2TVE2M7T6VUBLU324KF|/

完整的Hashset可以確保文件的正確,也可幫助發(fā)布新的與罕見的文件。包含Hashset的eD2k鏈接形如:

ed2k://|file||||p=|/

帶主機的eD2k鏈接形如:

ed2k://|file||||/|sources,|/

eMule也可兼容帶HTTP來源的eD2k鏈接,形如:

ed2k://|file||||s=|/1

服務器鏈接eDonkey服務器的eD2k鏈接和文件的eD2k鏈接類似,它可以指示一個eDonkey服務器地址,格式形如:

ed2k://|server|||/

例如:

ed2k://|server|207.44.222.51|4242|/1

服務器列表鏈接服務器列表鏈接,用于從一個固定的HTTP地址添加server.met服務器列表文件。格式形如:

ed2k://|serverlist||/

:server.met文件的HTTP地址。1

Kad節(jié)點列表鏈接Kad節(jié)點列表鏈接,用于從一個固定的HTTP地址添加nodes.dat Kad節(jié)點文件。格式形如:

ed2k://|nodeslist||/

:nodes.dat文件的HTTP地址。1

好友鏈接好友鏈接,根據(jù)用戶Hash來添加好友。格式形如:

ed2k://|friend|||/

官方eMule不支持eD2k好友鏈接添加好友功能,僅Xtreme及Xtreme的Mods(如ScarAngel、Mephisto等)、CN Mod等部分eMule Mods支持此功能。1

eD2k HasheD2k Hash 算法是一種MD4算法的變體。其函數(shù)是一個MD4 Hash列表(MD4 Hash List)的MD4根Hash,但與MD4 Hash的結果不同:

文件數(shù)據(jù)被分區(qū)成多個9500KB的chunks塊(9728000字節(jié)或大約9.28MB)和剩余的一個chunk。每個chunk都要計算128-bit MD4校驗和。如果文件長度正好是9500KB的整倍數(shù),剩余的大小為0的chunk依然存在于Hash列表的末尾。將這些chunk的MD4校驗和按順序聯(lián)合起來,并使用MD4計算Hash,可得到eD2k Hash。對于僅由一個chunk組成的文件(即文件大小小于9500KB),MD4和eD2k Hash是完全相同的。

這種方法可以直接將Hash列表與原eD2k Hash進行驗證,而無需使用文件塊來驗證。1

本詞條內(nèi)容貢獻者為:

王沛 - 副教授、副研究員 - 中國科學院工程熱物理研究所