Kad Network — Википедия

Kad Network — децентрализованная бессерверная файлообменная сеть, которая использует протокол оверлейной сети Kademlia. Поддерживается в eMule (Kad 2.0), iMule, aMule и MLDonkey.

Использование

[править | править код]

Kad Network использует UDP для:

  • Поиска источников ed2k-хеша
  • Поиска ed2k-хэша на ключевые слова в названиях файла
  • Нахождения комментариев и оценки для файлов (хеша)
  • Оказания услуг узлам, находящимся за файерволом (Low ID)

Кад не используется для передачи файлов через Р2Р-сети. Когда начинается передача файлов, подключения клиентов происходят напрямую друг с другом (используя стандартные IP-сети). Как и во всех децентрализованных сетях, Кад не требует официальных или общих серверов. Она не может быть закрыта отключением ключевых узлов. Однако, поскольку узлы постоянно связываются друг с другом, сеть может нагружать отдельные машины по сравнению с централизированной сетью. Единственное, что нужно для соединения с этой сетью — IP-адрес и порт любого клиента, уже подключённого к сети. То есть требуется Bootstrap (самонастройка).

Как только происходит соединение с сетью, клиент опрашивает других клиентов, чтобы определить, можно ли с ними соединиться. Этот процесс похож на определение HighID/LowID на серверах. Если удастся свободно соединиться, узел получает высокий ID (HighID) и статус open. В противном случае присваивается статус firewalled (и, соответственно, LowID).

В сети Kad неважно, что вы ищете. Будь то файл, источник загрузки или другой пользователь.

В ней нет серверов, отслеживающих активность клиентов. В сущности, каждый клиент — маленький сервер, работающий в сети Kademlia как сервер для ключевых слов или источников. Хеш клиента определяет ключевые слова или источники. Таким образом, цель любого запроса — найти соответствующих этому запросу клиентов. Затем вычисляется «расстояние» к конечному клиенту путём опроса других клиентов о наикратчайшем маршруте к нему.

Kad Network поддерживает поиск файлов как по имени, так и по размеру, расширению, битрейту и так далее.