Перейти до вмісту

Kad Network

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Kad network)

Kad Network (Kad) — це оверлейна файлообмінна P2P мережа нового покоління, реалізація протоколу однорангового зв'язку Kademlia (Кадемлія). Різновид розподіленої геш-таблиці (DHT) на основі протоколу UDP, «Kademlia» є природним продовженням та розвитком мережі ED2K.[1] Його відмінною особливістю є використання XOR у якості метрики.[2]

Огляд

[ред. | ред. код]

Мережа Kad — повністю децентралізована (незалежна від центральних серверів) файлообмінна мережа, в якій кожен клієнт користувача також є вузлом, через який проходять пошукові запити та службова інформація. Усі клієнти користувачів у мережі також є серверами і мають однаковий ранг (звідси значення «однорангової мережі»).

Принципи функціонування

[ред. | ред. код]

Мережа Kad складається з декількох взаємодіючих вузлів, які взаємодіють один з одним і зберігають інформацію один для одного. Кожен вузол має NodeID, квазіунікальний двійковий номер, який ідентифікує його в мережі. Важливо, щоб ідентифікатори вузлів були рівномірно розподілені; на це спирається дизайн мережі. Хоча протокол цього не вимагає, є можливі переваги в тому, що вузол використовує один і той же NodeID щоразу, коли він підключається до мережі, замість того, щоб генерувати новий, залежний від сеансу NodeID.[3]

Пошук

[ред. | ред. код]

Кожен вузол відповідає за зберігання різних типів даних. По-перше, кожен вузол зберігає вихідну карту, тобто інформацію про учасників мережі, які готові поділитися певним файлом. Карта являє собою хеш файлу в якості ключа і список джерел в якості значення. Вихідна карта вузла містить контактну інформацію про хеші всіх файлів, хеш яких відповідає ідентифікатору вузла або близький до нього (з використанням метрики XOR). Наприклад, за допомогою хешу файлу можна знайти вузли з ID, близькими до хешу файлу і запросити у них список джерел для завантаження файлу. По-друге, якщо немає хешу файлу, можна шукати його за ключовими словами. Для цього ім'я опублікованого файлу розбивається на кілька послідовних слів, і кожне слово хешується окремо. Для пошуку за цими ключовими словами у кожного вузла є друга карта, яка містить хеші слів, близьких до ID вузла в якості ключів і хеші файлів та їх імена в якості значень.[4]

Уразливості

[ред. | ред. код]

Мережа Kad вразлива до атаки Сивілли[5][6] та зараження руткітом TDSS, який створює ботнети.[7]

Відгалуження

[ред. | ред. код]

Існує багато відгалужень мережі Кадемлія. eDonkey і eMule, зокрема, користуються величезним успіхом у користувачів. Однак їх реалізації досить сильно відрізняються від оригінального протоколу.[8]

Існує також відгалуження мережі Кадемлія наступного покоління під назвою NeoKad[9], метою якого є розвиток гнучкості та анонімності. Мережа загального призначення NeoKad може обробляти довільні корисні навантаження, це досягається за рахунок запуску скриптового движка на кожному вузлі і надання скриптам можливості обробляти корисне навантаження, при необхідності сценарії відправляються разом із запитом на пошук. Маршрутизація в NeoKad реалізована таким чином, щоб забезпечити анонімність і правдоподібне заперечення будь-якого конкретного вузла.[10] Як і, наприклад, у випадку з IPv4 та IPv6, коли мережа розділена на 3 групи вузлів: ті, що мають лише IPv4, ті, що мають IPv4 та IPv6, і ті, що мають лише IPv6, конструкція рекурсивного пошуку дозволяє будь-якому вузлу спілкуватися з будь-яким іншим вузлом, навіть якщо пряме з'єднання неможливо встановити. Очевидним розширенням було додавання можливостей маршрутизації пакетів, щоб за допомогою NeoKad ви могли не тільки публікувати дані в мережі, а потім отримувати їх, але й створювати надійні потокові тунелі між двома анонімними об'єктами. Звичайно, всі дані шифруються за допомогою надійного наскрізного шифрування, і на додаток до цього існує також рівень затуманення, який запобігає фільтруванню на рівні інтернет-провайдера.[11][12]

Використання у програмному забезпеченні

[ред. | ред. код]

Код протоколу Kademlia використовується в наступному програмному забезпеченні:

Див. також

[ред. | ред. код]

Зноски

[ред. | ред. код]
  1. FAQ eD2k-Kademlia-ru - AMule Project FAQ. web.archive.org. 23 квітня 2012. Процитовано 19 березня 2025.
  2. Kademlia. xlattice.sourceforge.net. Процитовано 19 березня 2025.
  3. Kademlia: A Design Specification. xlattice.sourceforge.net. Процитовано 18 березня 2025.
  4. Як працює пошук у Kad Network. Хабр (рос.). 22 липня 2013. Процитовано 19 березня 2025.
  5. Peng Wang, James Tyra, Eric Chan-Tin, Tyson Malchow, Denis Foo Kune, Nicholas Hopper, Yongdae Kim (22 вересня 2008). Attacking the Kad network (PDF) (вид. Proceedings of the 4th international conference on Security and privacy in communication netowrks). New York, NY, USA: Association for Computing Machinery. с. 1–10. doi:10.1145/1460877.1460907. ISBN 978-1-60558-241-2. Архів оригіналу за 11 березня 2014.
  6. Evaluation of Sybil Attacks Protection Schemes in KAD. ResearchGate GmbH. 2009. Архів оригіналу за 20 марта 2025.
  7. TDL4 – Top Bot. securelist.com (амер.). 27 червня 2011. Процитовано 20 березня 2025.
  8. Kademlia. xlattice.sourceforge.net. Процитовано 19 березня 2025.
  9. NeoLoader, NeoLoader - Next Feneration P2P File Sharing, 18 березня 2025, процитовано 21 березня 2025
  10. NeoLoader — Full Feature List. neoloader.com. Процитовано 21 березня 2025.
  11. NeoLoader — NeoKad Network. neoloader.com. Процитовано 21 березня 2025.
  12. NeoLoader. neoloader.com. Процитовано 21 березня 2025.
  13. bep_0005.rst_post. www.bittorrent.org. Процитовано 19 березня 2025.
  14. RevConnect. web.archive.org. 9 грудня 2015. Процитовано 19 березня 2025.

Посилання

[ред. | ред. код]