Emule - пирингові мережі

На основі eMule розроблений ряд модифікацій - так званих «модів»; крім того, є його крос-платформенне відгалуження aMule. Оскільки eMule поставляється з відкритими початковими кодами, знаходиться чимало охочих нечесно використовувати p2p мережу (тобто не «ділитися» файлами, а тільки «отримувати» їх), в якій працює цей клієнт. Для цього сьогодні розроблено чимало «нечесних» клієнтів, що працюють в цій же мережі. Щоб захиститися від «нахлібників», в eMule було розроблено безліч перевірок, які ускладнюють нерівноцінний обмін інформацією і блокують «нечесні» моди.

Деякі провайдери модифікують eMule для перевірки аутентифікації на сервері, а обмін в мережі Kademlia просто відключається.

Починаючи з версії 42.1 eMule підтримує 2 різних типи мереж: класичну серверну eD2k і нову безсерверную Kademlia.Обе мережі мають приблизно однаковою функціональністю. Вони дозволяють знаходити користувачів або файли для скачування.

Кожному файлу відповідає свій хеш. Хеш - це комбінація цифр і букв для однозначної ідентифікації файлу. Хеш не залежить від імені файлу, тільки від його вмісту. Це дозволяє знаходити джерела файлу незалежно від того, яке ім'я той чи інший користувач дав файлу.Кроме того, файли поділяються на частини розміром 9.28 Мб. Для кожної частини також обчислюється хеш. Наприклад, 600-Мб файл буде містити 65 частин. Загальний хеш, тобто хеш файлу, обчислюється на основі хеш частин.

Ідентифікація інших клієнтів

Аналогічно файлів кожен користувач мережі отримує постійний унікальний користувальницький хеш. Процес ідентифікації користувачів захищений від зловмисників за допомогою технології відкритих / закритих ключів.

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

Класична серверна eD2k мережу

Підключення до мережі

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

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

Знаходження джерел файлів

Файли для закачування можуть бути додані за допомогою пошуку або спеціальних посилань ed2k: //, які розміщують багато web-сервера.После додати файл до списку Прийому eMule запитує джерела до нього спочатку у локального (підключеного) сервера, потім у всіх інших серверів мережі. Сервер виробляє в своїй базі даних пошук по хешу файлу і повертає всіх відомих йому клієнтів, що мають цей файл для обмена.Істочнікі - це інші клієнти, які мають хоча б однією частиною (9.28 Мб) файлу.

Безсерверная мережу Kademlia

Підключення до мережі

Пошук в мережі Kademlia

У цій мережі немає різниці, що ви шукаєте: імена файлів, джерела, інших користувачів - процес виконується приблизно одінаково.Здесь немає серверів для зберігання даних користувачів і списків їх відкритих файлів, ця робота виконується кожним підключеним до мережі клієнтом. Інакше кажучи, кожен клієнт є також міні-сервером.Іспользуя принцип унікальності користувацького хеша, в Kademlia за кожним користувачем закріплюється певна "відповідальність". Клієнт в мережі Kademlia працює як сервер для визначених його хешем набору ключових слів або істочніков.Такім чином, мета будь-якого пошуку - знайти клієнтів, відповідальних за шукані дані. Це здійснюється за допомогою складного алгоритму обчислення найкоротшої дистанції до потрібного клієнта шляхом опитування інших клієнтів.

Обидві мережі використовують абсолютно різні концепції для досягнення однакової мети: пошук файлів і знаходження джерел. Основна ідея Kademlia - незалежність від серверів і масштабованість. Сервера можуть обслуговувати обмежене число клієнтів, і в разі відмови великого сервера мережу може серйозно пострадать.Kademlia ж самоорганізована мережу і автоматично перебудовується для досягнення оптимальної роботи в залежності від кількості користувачів і якості їх з'єднань. Отже, вона менш критична до великих збоїв.

Схожі статті