✅✅✅
Протоколы для децентрализованных сетей.
DHT на примере ее реализации Kademlia
⬇️⬇️⬇️
https://t.me/CryptoBotan/754Файлообменная пиринговая сеть 1-го поколения - Napster.
⬇️⬇️⬇️
https://t.me/CryptoBotan/757Файлообменная сеть 2-го поколения eDonkey2000 (eDonkey, eD2k)
⬇️⬇️⬇️
В РуНете протокол можно просто назвать «ослик», «осёл», а пользователей сети eDonkey2000 - «ословодами».😄
eD2k - это файлообменная сеть, построенная по принципу P2P на основе сетевого протокола прикладного уровня MFTP.
В MFTP один и тот же файл запрашивается одновременно у нескольких источников, позволяя добиться более эффективного использования пропускной способности канала и снизить последствия пропадания источников.
Особенностью MFTP является идентификация файлов не по имени, а по содержимому, путём подсчитывания набора контрольных сумм на основе MD4.
Это позволяет считать одинаковыми файлы с разными названиями, но одинаковым содержимым, и различать файлы с разным содержимым, но одинаковым названием.
И так, еще раз, принцип ее работы состоит в использовании нескольких центральных серверов: то есть это нечто среднее между одноранговой технологией и клиент-серверной архитектурой.
Сеть состоит из нескольких миллионов клиентов и нескольких десятков серверов, взаимодействующих между собой. Клиентами являются пользователи, загружающие файлы, и пользователи, имеющие полные версии файлов.
Серверы позволяют находить опубликованные файлы и других пользователей, имеющих эти файлы. Сами файлы через серверы не проходят.
Серверы играют роль справочника ссылок для закачки, а сама закачка файлов производится по принципу пиринговой сети с одного компьютера на другой.
Каждый клиент связан с одним из серверов сети. Клиент сообщает серверу, какие файлы он предоставляет в общий доступ. Каждый сервер поддерживает список всех общих файлов клиентов, подключенных к нему. Когда клиент что-то ищет, он посылает поисковый запрос своему основному серверу. В ответ сервер проверяет все файлы, которые ему известны, и возвращает клиенту список файлов, удовлетворяющих его запросу.
В ослике возможен поиск по нескольким серверам сразу. Такие запросы и их результаты передаются через протокол UDP, чтобы уменьшить загрузку канала и количество подключений к серверам.
UDP – это транспортный протокол, передающий сообщения без необходимости установки соединения в IP-сети. Его можно считать оптимальным протоколом для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен
Функция поиска по серверам особенно полезна, если поиск на сервере, к которому клиент подключен в настоящее время, даёт низкий результат.
Еще одной интересной штукой является периодическая связь серверов друг с другом на короткое время. Во время этого сеанса, сервер, объявляя о своём существовании, посылает список всех других известных ему серверов. Таким образом, серверы поддерживают список других активных серверов. Когда клиент подключается к серверу, сервер может выдать ему список известных ему серверов.
Большинство серверов ed2k-сети работает на Lugdunum - серверное ПО сети eD2k. Он более масштабируем и эффективен, чем оригинальный MetaMachine eDonkey server.
Наиболее распространённым свободным клиентом сети eDonkey2000 для Windows является eMule. Также сеть поддерживают клиенты Shareaza, aMule, mlDonkey.
В сентябре 2006 года компания MetaMachine заключила соглашение, со звукозаписывающими и кинокомпаниями, по итогам которого заплатила правообладателям $30 млн в виде компенсации и прекратила распространять клиентское и серверное ПО.
В то время, борьба с сетью была ожесточенной и после прекращения работы, нападки не прекратились. Если интересно,
вот статейка 2006 года.
Но борьба с децентрализацией продолжается и сегодня...