сеть eDonkey


Сеть eDonkey (также известная как сеть eDonkey2000 или eD2k ) — это децентрализованная , в основном серверная, одноранговая сеть для обмена файлами, созданная в 2000 году американскими разработчиками Джедом МакКалебом и Сэмом Яганом [1] [2] [3] . который лучше всего подходит для обмена большими файлами между пользователями и обеспечения долгосрочной доступности файлов. Как и большинство сетей обмена, он децентрализован, так как в сети нет центрального узла; кроме того, файлы не хранятся на центральном сервере, а обмениваются между пользователями напрямую по принципу одноранговой сети.

Серверная часть сети является проприетарным бесплатным программным обеспечением . Существует два семейства серверного программного обеспечения для сети eD2k: исходное от MetaMachine, написанное на C++ , с закрытым исходным кодом и проприетарное, которое больше не поддерживается; и eserver , написанный на C , также с закрытым исходным кодом и проприетарный, хотя доступен бесплатно и для нескольких операционных систем и компьютерных архитектур. Семейство eserver в настоящее время находится в активной разработке и поддержке, и почти все серверы eD2k по состоянию на 2008 год работают под управлением этого серверного программного обеспечения.

Существует множество программ, выполняющих роль клиентской части сети. В частности, eDonkey2000 , исходный клиент от MetaMachine, с закрытым исходным кодом, но бесплатное ПО, больше не поддерживаемое, но очень популярное в свое время; и eMule , бесплатная программа для Windows , написанная на Visual C++ и распространяемая под лицензией GNU GPL .

Первоначальный протокол eD2k был расширен последующими выпусками программ eserver и eMule, обычно работающих вместе, чтобы решить, какие новые функции должен поддерживать протокол eD2k. Однако протокол eD2k формально не задокументирован (особенно в его текущем расширенном состоянии), и можно сказать, что на практике протокол eD2k — это то, что eMule и eserver делают вместе при работе, а также то, как клиенты eMule взаимодействуют между собой. Поскольку eMule имеет открытый исходный код, его код находится в свободном доступе для экспертной оценки работы протокола. Примерами расширений протокола eD2k являются «одноранговый обмен между клиентами», «обфускация протокола» и поддержка файлов размером более 4 гигабайт.и т. д. Другие клиентские программы eD2k со временем обычно следуют этому примеру, принимая эти расширения протокола.

Клиентские программы eDonkey подключаются к сети для обмена файлами. Серверы eDonkey действуют как центры связи для клиентов, позволяя пользователям находить файлы в сети. Клиенты и серверы доступны для Windows , Mac OS X , Linux и других Unix-подобных операционных систем . Запустив серверную программу eDonkey на машине, подключенной к Интернету, любой пользователь может добавить сервер в сеть. Поскольку количество серверов и их адреса часто меняются, клиентские программы регулярно обновляют свои списки серверов .

Файлы в сети eDonkey однозначно идентифицируются с помощью корневого хэша MD4 списка хэшей MD4 файла. При этом файлы с одинаковым содержимым, но разными именами рассматриваются как одинаковые, а файлы с разным содержимым, но с одинаковым именем — как разные.