Edonkey2018 (мережа) - це

Кожен клієнт пов'язаний з одним з серверів мережі. Клієнт повідомляє серверу, які файли він надає в загальний доступ. Кожен сервер підтримує список всіх загальних файлів клієнтів, підключених до нього. Коли клієнт щось шукає, він посилає запит своєму основного сервера. У відповідь сервер перевіряє всі файли, які йому відомі, і повертає клієнтові список файлів, що задовольняють його запиту.

Ви можете шукати по декількох серверах відразу. Такі запити і їх результати передаються через протокол UDP. щоб зменшити завантаження каналу і кількість підключень до серверів. Ця функція особливо корисна, якщо пошук на сервері, до якого клієнт підключений в даний час, дає низький результат.

Крім того, посилання на файли публікуються на різних форумах в Інтернеті. у вигляді так званих «релізів».

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

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

Межсерверние з'єднання

Періодично сервери зв'язуються один з одним на короткий час. Під час цього сеансу зв'язку сервер, оголошуючи про своє існування, посилає список всіх інших відомих йому серверів. Таким чином, сервери підтримують список інших активних серверів. Коли клієнт підключається до сервера, сервер може видати йому список відомих йому серверів.

Хеш-алгоритм ed2k

Файли в мережі eDonkey ідентифікуються завдяки використанню кореневої MD4 -хеш суми MD4-сум шматочків файлу. Це дозволяє вважати однаковими файли з різними назвами, але однаковим вмістом, і розрізняти файли з різним вмістом, але однаковою назвою.

  1. Файли діляться на рівні шматочки по 9.728.000 байт (9500 КБ) і залишок.
  2. Для кожного шматочка обчислюється 128-бітна MD4-хеш сума.
  3. Якщо розмір файлу кратний 9.728.000 байтам, тобто розмір залишку дорівнює 0, все одно розраховується сума для цього порожнього залишку.
  4. Потім все розраховані суми об'єднуються в один єдиний масив (хеш-список) і розраховується MD4-хеш сума всього цього масиву. Ця сума є кореневої MD4-сумою - і ідентифікатором в мережі eDonkey.
  5. Якщо розмір файлу менше 9.728.000 байт, то хеш-список не складається, а ідентифікатором файлу служить MD4-хеш сума всього файлу.

Відмінності від оригінального алгоритму в наступному:

  1. Якщо розмір файлу менше або дорівнює 9728000 байт, то в якості ідентифікатора використовується MD4 сума всього файлу.
  2. Якщо розмір файлу кратний 9728000 байт, то контрольна сума «порожнього» залишку не додається.

Ось, наприклад, контрольні суми для файлів, що складаються з одних нульовими кодами для різних «варіантів» алгоритму. Отримати їх можна, наприклад, такою командою bash для unix систем:

Розмір файлу (байт)

"Оригінальний" алгоритм ed2k

"Виправлений" алгоритм ed2k

Найчастіше зустрічається короткий вид.

  • Файл рекомендується URI кодувати.
  • Розмір файлу - точний розмір в байтах.

h - AICH (Advanced Intelligent Corruption Handler)

Додатковий хеш для ed2k посилання. Використовує дрібніші частини для отримання хешу. Це дозволяє більш детально дослідити файл для знаходження і усунення помилок, і зменшує кількість даних необхідних для відновлення файлу.

Рекомендується публікувати його в місці з посиланням, тоді він відразу стає довіряти хешем і відразу ж може використовуватися для відновлення файлу. Якщо ж його не публікувати разом з посиланням, то клієнту необхідно буде отримати один і той же AICH хеш з кількох джерел, перш ніж цей хеш буде визнаний достовірним.

Розрахунок AICH хешу

Для отримання хешу стандартний ed2k чанк (9728000 байт) ділиться на 53 частині (52x 180KB і 1x 140KB). Кожна частина пізніше обробляється алгоритмом sha1. Далі пари хешів знову походять через алгоритм sha1 до тих пір поки не виходить один єдиний хеш.

p - набір MD4 хешів

Дозволяє при відсутності ed2k джерел завантажити файл по URL посиланням. Зазвичай сервера доступні постійно на відміну від ed2k джерел якими в основному є персональні комп'ютери підключені до мережі інтернет. Завдяки цьому первинна завантаження відбувається з сервера а подальше поширення йде вже в мережі ed2k що розвантажує сервер і збільшує доступність файлу.

sources - джерела

Дозволяє вказати ed2k джерела, до яких можна звернутися для завантаження файлу. Це дає можливість почати завантаження файлу без підключення до ed2k сервера просто підключившись до перерахованих джерел безпосередньо.

Lugdunum server

Примітки

Файлообмінна мережу - Файлообмінна мережу збірна назва тимчасових комп'ютерних мереж для спільного використання файлів, заснованих на засадах рівноправності беруть участь в обміні файлами, тобто кожен учасник одночасно є і клієнтом, і ... ... Вікіпедія

Пірінгова мережу - Однорангові, децентралізовані або пірінгові (від англ. Peer to peer, P2P точка точка) мережі це комп'ютерні мережі, засновані на рівноправ'ї учасників. У таких мережах відсутні виділені сервери, а кожен вузол (peer) є як клієнтом, ... ... Вікіпедія

Тимчасова мережа - Запит «P2P» перенаправляється сюди; см. також інші значення. Тимчасова, децентралізована або пірінгова (від англ. Peer to peer, P2P рівний до рівного) мережу це оверлейная комп'ютерна мережа, заснована на рівноправ'ї учасників. У такій ... Вікіпедія

Файлообмінні мережі - Файлообмінна мережу - збірна назва мереж для спільного використання файлів. Часто в основі файлообмінних мереж лежать однорангові комп'ютерні мережі, засновані на рівноправ'ї беруть участь в обміні файлами, тобто кожен учасник ... Енциклопедія ньюсмейкерів