Edonkey2018 (мережа), наука, fandom powered by wikia

Пошук Правити

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

Ви можете шукати по декількох серверах відразу. Такі запити і їх результати передаються через протокол 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. Якщо розмір файлу менше або дорівнює 9,728,000 байт, то в якості ідентифікатора використовується MD4 сума всього файлу.
  2. Якщо розмір файлу кратний 9,728,000 байт, то контрольна сума «порожнього» залишку не додається.

Ось, наприклад, контрольні суми для файлів, що складаються з одних нульовими кодами для різних «варіантів» алгоритму. Отримати їх можна, наприклад, такою командою 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 Правити

Див. Також Правити

посилання Правити

Примітки Правити

Виявлено використання розширення AdBlock.