В вычислениях ссылки eD2k ( ed2k: // ) - это гиперссылки, используемые для обозначения файлов, хранящихся на компьютерах, подключенных к сети обмена файлами eDonkey P2P .
Общий
Многие программы, такие как eMule , MLDonkey и оригинальный клиент eDonkey2000 от MetaMachine , который представил тип ссылки, а также другие программы, использующие протокол обмена файлами eDonkey, могут использоваться для управления файлами, хранящимися в сети обмена файлами.
Ссылки eD2k позволяют идентифицировать файл по ссылке в веб-браузере и после этого загружать его таким клиентом, как eMule, Shareaza или любым другим совместимым программным обеспечением. Эта функция связывания была одним из первых URI, которые были введены в одноранговый обмен файлами, и оказала огромное влияние на развитие сети eDonkey, поскольку позволяла сайтам внешних ссылок предоставлять проверенный контент в сети. В настоящее время так называемые магнитные ссылки на практике заменили ссылки eD2k. Они выполняют аналогичную роль, но не ограничиваются хешем eD2k и могут содержать другие хеши, такие как, например, SHA-1 или MD5 , что позволяет использовать эти ссылки для указания файлов в нескольких сетях (а также в BitTorrent ) сразу.
Ссылки eD2k включают хэши файлов, поскольку эти хэши могут использоваться в качестве уникального идентификатора для файлов в сети, поэтому даже если связанный файл имеет другое имя на двух компьютерах в сети, файл можно найти на обоих из них. , а фрагменты файлов можно получить из обоих источников. Это делается с помощью хеш-функции файла для вычисления его контрольной суммы, зависящей только от содержимого файла, а не от его имени.
Как и другие протоколы URI, веб-браузеры можно настроить для автоматической обработки URI ed2k. После установки клиента eD2k протокол eD2k дополнительно регистрируется, так что щелчок по нему в браузере автоматически запускает загрузку или спрашивает, хочет ли пользователь начать загрузку.
Формат ссылки на файл
Ссылки на файл предшествуют с «файл» знак, который указывает , что это ссылка на файл, в отличие от server
, serverlist
, nodelist
или friend
ссылку. Типичная ссылка на файл eD2k также включает имя и размер файла. Пример (ссылка на трейлер Purist Edit объемом 15 МБ) приведен ниже:
ed2k: // | файл | The_Two_Towers-The_Purist_Edit-Trailer.avi | 14997504 | 965c013e991ee246d63d45ea71954c4d | /
Ссылки eD2k могут также включать ссылку на IP-адрес и порт определенных клиентов, которые, как известно, совместно используют связанный файл. Это делается путем добавления списка источников после основной части ссылки, как показано в следующем примере:
ed2k: // | file | 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
AICH (Advanced Intelligent Corruption Handling) - это расширение эмуля . Он подразделяет блок размером 9500 КиБ на блоки по 180 КиБ и строит дерево Меркеля из хэшей SHA1 53 блоков, так что корневой хеш каждого блока называется хешем блока . Хэши блоков далее передаются в дерево Меркеля, корневой хеш которого является фактическим корневым хешем AICH. Меньший размер блока позволяет клиентам eMule более точно определять места повреждения. [3]
Ссылки на сервер
Ссылка на сервер - это ссылка на сервер eDonkey2000; щелчок по такой ссылке обычно добавляет ее в список серверов. Ссылки на сервер обозначаются server
токеном в начале ссылки и имеют следующий формат:
ed2k: // | сервер | IP | ПОРТ | /
- IP - IP-адрес сервера, к которому нужно подключиться.
- ПОРТ - порт, на котором сервер прослушивает входящие соединения eD2k.
Пример:
ed2k: // | сервер | 207.44.222.51 | 4242 | /
Смотрите также
Рекомендации
- ^ источник эмуля, метод
CKnownFile::CreateFromFile
. - ^ "Ed2k-hash - MLDonkey" . mldonkey.sourceforge.net . Проверено 23 апреля 2018 года .
- ^ «Борьба с коррупцией» . www.emule-project.net .
Внешние ссылки
- emule forum guides Как удалить ассоциацию протокола ссылки ed2k в windows.
- aMule wiki: ссылка ed2k .
- форматы ссылок проекта emule Ed2k, поддерживаемые клиентом emule.
- Инструменты ED2K - Инструмент ED2K_Hash для создания хэшей ED2K.
- Phantom P2P eD2k Links Provider