6年後(2006年9月)に、RIAA弁護士は裁判所を通じてeDonkey2000の製造業者にプログラムの配信を停止させ(さらに、そのWebサイトをファイル共有違法に関する不吉な警告に置き換えました)、ハイパーリンク形式
ファイルのハッシュ。 URI ファイル共有。 これら3つのアイデアはすべて、
3つのソース、3つのコンポーネント...
ファイルのハッシュは、各ファイルを長い(マルチビット)であるがハッシュと呼ばれる小さな数に一致させることができる数学的プロセスです。 さらに、ファイル内の小さな変更でさえ、この数(ハッシュ)の大きな変更につながるため、原則として、異なるハッシュは異なるファイルに対応します。 もちろん、ハッシュの数は非常に大きい
URI (リソースを識別する統一された形式)の考えは、1994年にURL(リソースをアドレス指定する統一された形式)、つまりファイル(またはファイルではなく、別のリソース)のアドレスを記録する方法で1994年に生まれましたリソースの場所を理解できました。 その後(1994年6月にRFC 1630を作成)、
eDonkey2000 の作成者であるJed McCalebは、 ハッシュ (ファイルのコンテンツの一意の識別子)がそのファイルのURIを記述するための完璧なベースであることに気付きました。 ファイルの入手先の問題については、答えはp2pファイル共有です。これは、1999年6月にNapsterの登場によりShawn Fanningによって最初に実装された、グローバルネットワークのユーザー間での自動検索とそれに続くデータの直接転送です。 ハッシュを使用すると、eDonkey2000は一度に2つの方法でNapsterを超えることができました。
ファイルリンク
Adobe Reader Xの配布例を使用して、ファイルを指す典型的な
ed2k://|file|AdbeRdr1001_en_US.exe|48536984|249634B84340FEB5778EC09A2A9C2B87|/
この例では、形式が次のようになっていることがわかります。
ed2k://|file||||=|/
MediaWikiテンプレート(Wikipediaなど)と同様に、
URIに常にあるように、ファイル名には、必須の16進バイトエンコーディングの対象となる補助文字を含めることができます。 たとえば、スペースは
ed2kハッシュは、MD4アルゴリズムを使用して、複数のファイル共有参加者からのファイルの異なる断片の前述の受信を可能にする方法で計算されます。
ウィキペディアによれば、この目的のために、大きなファイルはそれぞれ9,500キロバイト(9,728,000バイト)の等しいチャンクと小さなサイズの最後のチャンクに分割され、その後各チャンクに対してファイル共有プロトコルは、クライアント128ビットの MD4ハッシュが計算されます。 (ファイルサイズが9500キロバイトの倍数である場合、最後のチャンクは空と見なされますが、それからのMD4ハッシュは計算されます。)その後、受信したMD4ハッシュはエンドツーエンドで結合され、独自のMD4ハッシュがed2k ファイルハッシュに なります。 ファイル全体のサイズが9500キロバイトより小さい場合、そのMD4ハッシュは ファイルのed2kハッシュになり ます。
オプションのパラメーター
オプション(名前付き)パラメーターは次のとおりです。
- sパラメーターは、ファイルのソースを指定します。これは、ファイル共有の代替手段です。 現在、これは通常
HTTPサーバーです が、2006年の規格では、オーバーネットネットワークからファイルを受信する可能性が規定されています。 例:ed2k://|file|AdbeRdr1001_en_US.exe|48536984|249634B84340FEB5778EC09A2A9C2B87|s=http://ardownload.adobe.com/pub/adobe/reader/win/10.x/10.0.1/en_US/AdbeRdr1001_en_US.exe|/
ed2kハイパーリンクに このようなパラメーターがいくつか存在する場合があります 。
- 「p」パラメータには、ファイルチャンクの
MD4ハッシュの 完全なセットが含まれており、一般的なed2kハッシュ よりも信頼性が高く、完全性の完全な検証が可能です。 「s」パラメーターから URLから ファイルがダウンロードされ、他のed2kクライアントとの通信(チャンクのハッシュを取得する)が実行されなかった場合、このセットにより、ファイルとハッシュが一致しないことを確認するだけでなく、1つ以上の破損したチャンクを識別できます。 例:ed2k://|file|AdbeRdr1001_en_US.exe|48536984|249634B84340FEB5778EC09A2A9C2B87| p=F9FB4A4E8EC04320AC49D0F796807795: 9159AD7B29693322F8455258F6D02B3C: A51E847EB4E2D67BD04F1AF95D0479EB: A489A6E25ADF20366E8C4BCD69DD0DA9: 3315A3CDAE777B7AE8E734161DAEFFE3|/
- 「h」パラメーターを使用すると、ファイルの整合性をさらに制御するために、一部の最新の
ed2kクライアント (eMuleなど)で使用されるAICHハッシュを指定できます。 (各180キロバイトのファイルの小さな断片に対してSHA-1 アルゴリズムを使用して計算され、その後、ハッシュからのハッシュは一種のツリー構造内に配置されます。パラメーター「h」はツリーの最上部で取得されたハッシュを示します。)このパラメーターの存在は衝突を引き起こします。また、送信中にファイルの整合性に違反した場合のエラー修正を簡素化し、どのチャンクが破損しているかをすばやく見つけることができます(ファイル共有のチャンク全体を再ポンプする代わりに、このチャンクの1つを復元します)。 例:ed2k://|file|AdbeRdr1001_en_US.exe|48536984|249634B84340FEB5778EC09A2A9C2B87| h=5XYGXYHANLAEAL3Y67HVF32OOJ2HXCCP|/
- 「f」パラメーターを使用すると、より完全な
ed2kハイパーリンク を含むテキストファイルの場所を指定できます。2038 文字の長さを超える場合は、一部の標準およびブラウザーでURIのサイズの制限になります。 例:ed2k://|file|AdbeRdr1001_en_US.exe|48536984|249634B84340FEB5778EC09A2A9C2B87|f=http://example.org/long.ed2k|/
- 「sources」パラメーターには特別な形式があります。常にリンクの最後に書き込まれ、
スラッシュ(「/」)で 構成されるパラメーターが先行します。 したがって、「sources」パラメーターを理解していない(同時に、スラッシュをed2kハイパーリンクの 終わりの兆候と見なす)クライアントは、それを自由に無視できます。 「sources」キーワード、コンマ、ed2kクライアント のアドレス(またはドメイン名)およびポートが続きます。 例:ed2k://|file|AdbeRdr1001_en_US.exe|48536984|249634B84340FEB5778EC09A2A9C2B87|/|sources,ed2k.example.net:6789,ed2k.example.org:12345|/
このようなアドレスは長期的なものでなければならないことは明らかです。これは、永続的なIPアドレスを 予約するか、ドメイン名を動的DNSにバインドすることによって実現されます。
ed2kファイルハイパーリンクの作成
ファイルサイズ(バイト単位)および1(ed2k)または2(ed2kおよびAICH)ハッシュを含む
(続きます...)