eMule. Полное описание


           

Подробности. - часть 5


ed2k://|file|name|size|fh|/

С установленным Мулом браузер может обрабатывать такие ссылки так же как и обыкновенные. Здесь file - ключевое слово, обозначающее то, что это именно файл, а не что-то другое (аналогичные ссылки бывают для серверов, источников, списков серверов и пр.), name - имя файла как есть, size - размер файла в байтах, fh - хэш файла. Сам хэш файла официально (в оригинале) называется "File Hash", хэши для конкретных блоков "Part Hashes". Эти самые Part Hashes можно добавлять в ed2k ссылку:

ed2k://|file|name|size|fh|p=ph_1:ph_2:...:ph_n|/

Part Hashes отделяются друг от друга двоеточиями. Полный набор Part Hashes называется Hashset (в ссылках можно указывать только полный Hashset, указание только отдельных Part Hashes не допускается).

В то время как File Hash является идентификатором файла, по которому происходит поиск, Part Hashes необходим за контролем над ошибками. Этот механизм называется ICH (Intelligent Corruption Handling - Интеллектуальная Обработка Ошибок). После полного скачивания каждого блока, eMule вычисляет его Part Hash и сопоставляет с оригиналом. Если они сходятся - всё скачано правильно. В противном случае произошла ошибка, и скачивание блока начинается заново. Алгоритм ICH заключается в том, что скачивается не весь блок, а последовательные маленькие кусочки по 180 Кб. После каждого такого куска Part Hash проверяется заново и, если ошибка произошла при передаче начального фрагмента блока, то в случае совпадения хэшей дальнейшее скачивание не требуется. Если ошибка произошла в конце блока, то ICH мало чем поможет. Таким образом, ICH в среднем ускоряет повторную закачку повреждённых блоков на 50%.

Начиная с версии eMule v.44a вводится ещё один механизм - AICH (Advanced ICH). Это придумка разработчиков eMule, но постепенно этот алгоритм начинают поддерживать и все остальные клиенты. Идея полностью аналогична обычному хэшу, но только есть два отличия: используется не MD4, а SHA-1 и вычисляется функция не сразу от целых блоков, а от маленьких кусков по 180 Кб. При скачивании файла его целостность (отсутствие повреждений) дополнительно проверяется с помощью AICH.




Содержание  Назад  Вперед