Убедитесь, что вы понимаете, что такое «структурированные наложения».Структурированные p2p-сети на самом деле представляют собой распределенные хеш-таблицы, которые работают с парами KEY / VALUE (например, простая хеш-таблица).
Я попытаюсь сделать это намного проще, допустим, вы подключены к сети p2p, и вынравится, чтобы скачать новую песню.Сначала вы должны найти ресурсы, как вы это делаете?
В структурированных p2p-сетях (DHT) вам нужно взять имя файла и создать ключ, передав его через функцию хеширования / контрольной суммы - Теперь вы получилиключом, следующим шагом является поиск узла, который хранит этот ключ => сеть организована, процесс маршрутизации основан на ключе.
Вы видите проблему здесь?
Эти ключиуникальны, это означает, что вам нужен ключ EXACT для того, чтобы связаться с партнером, который хранит необходимую информацию.Например, это затрудняет поиск по ключевым словам.
"New_song.mp3" и "new_song.mp3" будут выдавать совершенно разные ключи.
Тогда, если кто-то в сети поделится файлом -«New_song.mp3», вы не найдете его, выполнив поиск «new_song.mp3».
В неструктурированном одноранговом узле просто заполняйте сеть поисковым запросом - это не основанная на ключах маршрутизация, которая делает ее намного прощеобрабатывать такие поисковые запросы.
Чтобы решить эту «проблему», мы можем опубликовать множество ключей вариаций имени файла.
(строчные, прописные, без пробелов / расширений и т. д.)
Вот как сеть Kademlia решает эту проблему.