схема URI ed2k

В вычислительной технике ссылки eD2k ( ed2k:// ) представляют собой гиперссылки, используемые для обозначения файлов, хранящихся на компьютерах, подключенных к P2P-сети обмена файлами eDonkey .

Общий

Многие программы, такие как eMule , MLDonkey и оригинальный клиент eDonkey2000 от MetaMachine , который ввел тип ссылки, а также другие, использующие протокол обмена файлами eDonkey, можно использовать для управления файлами, хранящимися в файлообменной сети.

Ссылки eD2k позволяют идентифицировать файл по ссылке в веб-браузере и затем загружать его клиентом, таким как eMule, Shareaza или любым другим совместимым программным обеспечением. Эта функция ссылок была одним из первых URI , введенных в одноранговый обмен файлами, и оказала огромное влияние на развитие сети eDonkey, поскольку она позволила внешним сайтам ссылок предоставлять проверенный контент в сети. В настоящее время так называемые Magnet-ссылки на практике заменили ссылки eD2k. Они выполняют аналогичную роль, но не ограничиваются хешем eD2k и могут содержать другие хеши, такие как SHA-1 или MD5 , например, что позволяет использовать эти ссылки для указания на файлы в нескольких сетях (а также в BitTorrent) одновременно.

Ссылки eD2k включают хэши файлов, поскольку эти хэши могут использоваться в качестве уникального идентификатора для файлов в сети, поэтому даже если файл, на который ссылается, имеет разное имя на двух компьютерах в сети, файл может быть найден на обоих компьютерах, и фрагменты файла могут быть получены из обоих источников. Это делается с помощью использования хэш-функции для файла для вычисления его контрольной суммы, зависящей только от содержимого файла, а не от его имени.

Как и другие протоколы URI, веб-браузеры можно настроить на автоматическую обработку URI ed2k. После установки клиента eD2k протокол eD2k может быть дополнительно зарегистрирован, так что нажатие на него в браузере автоматически запускает загрузку или спрашивает, хочет ли пользователь начать загрузку.

Ссылки на файлы предваряются маркером "file", который указывает, что это ссылка на файл, в отличие от ссылки server, serverlist, nodelistили friend. Типичная ссылка на файл eD2k также включает имя файла и размер файла. Пример (ссылка на трейлер Purist Edit объемом 15 МБ) приведен ниже:

ed2k://|файл|The_Two_Towers-The_Purist_Edit-Trailer.avi|14997504|965c013e991ee246d63d45ea71954c4d|/

Ссылки eD2k также могут включать ссылку на IP-адрес и порт определенных клиентов, которые, как известно, делятся связанным файлом. Это делается путем добавления списка источников после основной части ссылки, как показано в следующем примере:

ed2k://|файл|The_Two_Towers-The_Purist_Edit-Trailer.avi|14997504|965c013e991ee246d63d45ea71954c4d|/|источники,202.89.123.6:4662|/

В eMule ссылка часто также содержит верхний хэш AICH |h=H52BRVWPBBTAED5NXQDH2RJDDAKRUWST|, который помогает восстановить файл в случае его повреждения во время передачи.

алгоритм хэширования eD2k

Хэш-функция eD2k — это корневой хеш списка хэшей MD4 . Она дает другой результат, чем простое использование алгоритма MD4.

Данные файла делятся на полные куски по 9500 КиБ (9728000 байт) плюс остаточный кусок, и для каждого вычисляется отдельная 128-битная контрольная сумма MD4. Если файл больше 9500 КиБ (что означает, что есть более одного куска), хэш eD2k вычисляется путем объединения контрольных сумм MD4 кусков по порядку и повторного хэширования результата с использованием MD4. В противном случае хэш MD4 единственного куска файла используется без дальнейших изменений. [1]

Этот метод хеширования позволяет получателю проверить, соответствует ли список хешей исходному хешу файла eD2k, без необходимости фактического наличия файла на диске.

В прошлом существовала некоторая неоднозначность для файлов, размер которых был кратен размеру фрагмента (9500 КиБ). Старые версии некоторых хэш-инструментов eD2k вычисляли хэши файлов с дополнительным 0-байтовым фрагментом в конце. Это связано с неоднозначностью термина « остаточный фрагмент» , который можно интерпретировать как последний фрагмент или как неполный фрагмент в конце . Следуя последней интерпретации, некоторые реализации добавляли нулевой байтовый фрагмент в случае, если последний фрагмент файла был полным. Однако эта практика не приветствуется, и в настоящее время в качестве стандарта используется первая интерпретация, чтобы предотвратить появление у некоторых файлов разных хэшей в зависимости от реализации алгоритма, используемого для вычисления их хэша. [2]

АИКХ

AICH (Advanced Intelligent Corruption Handling) — это расширение eMule. Оно подразделяет фрагмент размером 9500 КиБ на блоки по 180 КиБ и строит дерево Меркла из хэшей SHA1 53 блоков, так что корневой хэш каждого блока называется хешем блока . Хэши блоков далее поступают в дерево Меркла, корневой хэш которого является фактическим корневым хешем AICH. Меньший размер блока позволяет клиентам eMule точнее определять места повреждения. [3]

Ссылка на сервер — это ссылка на сервер eDonkey2000; нажатие на такую ​​ссылку обычно добавляет ее в список серверов. Ссылки на сервер обозначаются токеном serverв начале ссылки и имеют следующий формат:

ed2k://|сервер|IP|ПОРТ|/
  • IP – IP сервера, к которому необходимо подключиться.
  • ПОРТ – порт, на котором сервер прослушивает входящие соединения eD2k.

Пример:

ed2k://|сервер|207.44.222.51|4242|/

Смотрите также

Ссылки

  1. ^ исходный код эмуля, метод CKnownFile::CreateFromFile.
  2. ^ "Ed2k-hash - MLDonkey". mldonkey.sourceforge.net . Получено 23 апреля 2018 г. .
  3. ^ «Борьба с коррупцией». www.emule-project.net .
  • Руководства форума emule Как удалить ассоциацию протокола связи ed2k в Windows.
  • aMule wiki: ссылка ed2k.
  • Форматы ссылок проекта emule Ed2k, поддерживаемые клиентом emule.
  • Инструменты ED2K - ED2K_Hash Инструмент для создания хэшей ED2K.
  • Поставщик ссылок Phantom P2P eD2k
Получено с "https://en.wikipedia.org/w/index.php?title=Ed2k_URI_scheme&oldid=1190031840"