
главная статьи скачать ссылки форум
|
Kademlia - это протокол виртуальной сети, созданный для функционирования полностью децентрализованных файлообменных сетей. Его основное отличие от других протоколов в том, что он независим от центральных серверов. В безсерверной сети каждый пользователь является узлом, через него проходят поисковые запросы и служебная информация. Kad по сути является заменой серверной сети eDonkey2000 (ed2k), но, в отличии от ed2k, Каду не требуется центральный сервер для связи. Все пользователи сети являются серверами и равны между собой по рангу (она и называется "одноранговая сеть"). Чтобы ответить на этот вопрос, условно разделим файлообменные р2р сети на поколения: 1-ое поколение (Napster) Файлообменная сеть, имеющая один центральный сервер, через который пользователи ищут нужные им файлы, и далее напрямую соединяются между собой. Минус такого подхода очевиден - при закрытии центрального сервера ликвидируется вся сеть. 2-ое поколение (eDonkey2000, BitTorrent, Direct Connect) Чтобы сеть не была уязвима, необходимо иметь несколько центральных серверов. В сетях второго поколения реализована частичная децентрализация, когда серверов много и подключиться можно к любому из них. Если закроют большинство центральных узлов, то сеть продолжит подпольное функционирование, юзеры будут пользоваться альтернативными серверами. Но чем больше будет закрыто центральных (координирующих) серверов, тем меньше становится сеть. 3-е поколение (Kademlia) Сеть не имеет центрального сервера, все пользователи являются серверами этой сети. Закрыть сеть практически невозможно, для этого надо отключить всех её пользователей.
Времена меняются, и теперь в роли "Империи зла" выступают звукозаписывающие компании США и киноиздатели Голливуда. Сеть Kad является той самой системой, против которой ещё не придумано оружие, ведь её главная задача - это работоспособность сети при любых атаках. Сеть Kad могла работать и раньше, но несколько лет назад популярность безсерверных сетей сдерживали две причины. Во-первых, Kad генерирует служебную информацию, поэтому для нормальной работы в сети вам желательно иметь соединение с Интернетом на скорости от 128 кбит/с. Во-вторых, работающая сеть нагружает центральный процессор, но на современных компьютерах это практически незаметно. Kad по сути является заменой серверной сети ed2k и выполняет те же самые функции, что и серверная сеть, ссылки на файлы имеют тот же вид ed2k:// как в сети eDonkey2000. Но в отличии от eDonkey ей не требуется сервер для связи. У каждого клиента Kad Network на компьютере сохраняется файл с данными о источниках и информация о файлах этого источника, которые вы скачиваете. Когда через ваш компьютер идёт поисковый запрос от другого человека, то программа проверяет файл с данными и ищет подходящие источники, если находит, то передаёт информацию тому, кто ищет. Если не находит, то отсылает запрос дальше. Т.е проще говоря, поисковая машина работает как вирус: проверяет наличие файла у вас, если его нет, то идёт по всем вашим контактам дальше и проверяет его у всех ваших знакомых, потом идёт по контактам знакомых и так далее в геометрической прогрессии. Чисто математически процедура поиска происходит довольно быстро. Сеть Kad поддерживается в программе eMule начиная с версии 0.40 и выше. В последней версии программы eMule 0.48a функционирует усовершенственная версия протокола Kad 2.0. Отдельного клиента для сети Kad Network пока не существует (программисты, ау! вы можете быть первыми) :) Вы наверное хотите спросить "А как же можно войти в сеть, не зная ни одного сервера, к чему подключаться?". Разумеется, вы не Гарри Поттер с волшебной палочкой, и не сможете войти в сеть, не зная ни одного стартового IP адреса. Для подключения к сети Kad вам нужен адрес хотя бы одного человека из этой сети. Т.е сперва вы подключаетесь к нему, а дальше уже собираете информацию о других людях через него. Но как найти этого первого человека? Для этого вам необходимо скачать файл nodes.dat (см. kad ноды) и положить его в папку eMule/config. В этом файле находятся адреса людей, через которые вы можете выйти в сеть. Файл nodes.dat необходим при первом запуске программы eMule, при последующих запусках вы будете иметь свой собственный nodes.dat. После входа в сеть вам генерируется сетевой адрес идентификатор (ID). Cеть Kad, в отличии от ed2k, работает только через сетевой протокол UDP. Ну и напоследок, хотелось бы сказать о значении слова Kademlia. Оно имеет турецкое происхождение (разработчик Када по национальности болгарин) и означает счастливого человека, приносящего счастье. И как мы теперь понимаем, Kademlia приносит счастье нам, простым файлообменщикам, и разорение всем организациям-правообладателям типа RIAA ;) |