CHAIKA

Главная | Регистрация | Вход
Четверг, 28.03.2024, 22:05
Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Форум » Менеджеры загрузки » eDonkey2000
eDonkey2000
chaika2Дата: Вторник, 17.02.2009, 17:47 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 649
Репутация: 0
Статус: Offline
eDonkey2000, eDonkey, eD2k, мул — файлообменная сеть, построенная по принципу P2P на основе сетевого протокола прикладного уровня MFTP. Распространённые в Рунете неформальные названия: «ослик», «осёл»,[1] пользователи сети — «ословоды».
Сеть состоит из нескольких миллионов клиентов и нескольких десятков серверов, взаимодействующих между собой. Клиентами являются пользователи, загружающие файлы, и пользователи, имеющие полные версии файлов («полные источники»). Серверы позволяют находить опубликованные файлы и других пользователей, имеющих эти файлы (полностью или частично). Сами файлы через сервера не проходят.

Поиск
Каждый клиент связан с одним из серверов сети. Клиент сообщает серверу, какие файлы он предоставляет в общий доступ. Каждый сервер поддерживает список всех общих файлов клиентов, подключенных к нему. Когда клиент что-то ищет, он посылает поисковый запрос своему основному серверу. В ответ сервер проверяет все файлы, которые ему известны, и возвращает клиенту список файлов, удовлетворяющих его запросу.
Возможен поиск по нескольким серверам сразу. Такие запросы и их результаты передаются через протокол UDP, чтобы уменьшить загрузку канала и количество подключений к серверам. Эта функция особенно полезна, если поиск на сервере, к которому клиент подключен в настоящее время, даёт низкий результат.
Кроме того, ссылки на файлы публикуются на различных форумах в Интернете, в виде так называемых «релизов».

Загрузка
Когда клиент запрашивает загрузку файла, сервер сначала собирает список всех известных ему клиентов, имеющих запрашиваемый файл. После этого он опрашивает другие известные ему серверы, имеют ли этот файл клиенты, подключенные к ним. Как только обнаруживаются другие клиенты с файлом, сервер запрашивает у каждого различные его (файла) части. Процесс продолжается до тех пор, пока файл не будет собран целиком.

Принцип работы:
Client Z имеет все части Файла (символы строчных букв представляют части файла). Client W, X, и Y хотят загрузить Файл. Начиная с Client X и Client Y, оба имеют различные части Файла, они могут не только получить файл от Client Z, но и могут посылать файл друг другу. Это позволяет файлу быть распределённо распространённым намного быстрее без того, чтобы использовать большее количество ширины канала Client Z. Client W может запустить загрузку файла, даже если источник файла (Client Z) больше не имеет достаточной ширины канала для отсылки.

Межсерверные соединения
Периодически серверы связываются друг с другом на короткое время. Во время этого сеанса связи сервер, объявляя о своём существовании, посылает список всех других известных ему серверов. Таким образом, серверы поддерживают список других активных серверов. Когда клиент подключается к серверу, сервер может выдать ему список известных ему серверов.

 
chaika2Дата: Вторник, 17.02.2009, 17:48 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 649
Репутация: 0
Статус: Offline
Хеш-алгоритм ed2k
Файлы в сети eDonkey идентифицируются благодаря использованию корневой MD4-хеш суммы MD4-сумм кусочков файла. Это позволяет считать одинаковыми файлы с разными названиями, но одинаковым содержимым, и различать файлы с разным содержимым, но одинаковым названием.
Файлы делятся на равные кусочки по 9.728.000 байт (9500 КБ) и остаток.
Для каждого кусочка вычисляется 128-битная MD4-хеш сумма.
Если размер файла кратен 9.728.000 байтам, то есть размер остатка равен 0, всё равно рассчитывается сумма для этого пустого остатка.
Затем все рассчитанные суммы объединяются в один единый массив (хеш-список) и рассчитывается MD4-хеш сумма всего этого массива. Эта сумма является корневой MD4-суммой — и идентификатором в сети eDonkey.
Если размер файла меньше 9.728.000 байт, то хеш-список не составляется, а идентификатором файла служит MD4-хеш сумма всего файла.
К сожалению, существует второй вариант алгоритма вычисления контрольной суммы файлов, дающих другой результат для файлов, размер которых кратен размеру секции, то есть с размерами 9728000 байт, 19456000 байт и т.д. Оригинальный алгоритм (использовавшийся в edonkey2000 до версии v0.5.0) содержит ошибку особенность, благодаря которой, для файлов, кратных 9728000 байт добавляется контрольная сумма пустой секции. Эту особенность далеко не все программы учитывают в расчётах (например emule учитывает, а shareaza нет). В edonkey2000 с версии v0.5.0 до версии v1.4.3 эта особенность «исправлена».

Отличия от оригинального алгоритма в следующем:
Если размер файла меньше или равен 9728000 байт, то в качестве идентификатора используется MD4 сумма всего файла.
Если размер файла кратен 9728000 байт, то контрольная сумма «пустого» остатка не добавляется.
Различия алгоритмов столь минимально (и возникает только в конце расчёта суммы), что позволяет рассчитать обе суммы одновременно — практически без потери производительности. Вторая версия суммы для таких «особенных» файлов может быть указана, например, в комментариях (так делает программа avdump).
Вот, например, контрольные суммы для файлов, состоящих из одних нулевых кодов для разных «вариантов» алгоритма. Получить их можно, например, такой командой bash для unix систем:

Quote
for i in 1 2 3;do dd if=/dev/zero of=zero$i bs=9728000 count=$i;done

Доступно только для пользователей

 
Форум » Форум » Менеджеры загрузки » eDonkey2000
  • Страница 1 из 1
  • 1
Поиск:





 


счетчики посещений сайта
 
Хочешь помочь? Кликай, вводи код, а мы выплатим проекту бонус!
 
 
Copyright MyCorp © 2024 |