Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

P2P сети и методы обнаружения узлов
http://gplvote.andyhost.ru/forum/viewtopic.php?f=7&t=179
Страница 2 из 3

Автор:  evorios [ 18 ноя 2011, 19:46 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Полагаю, стоит ознакомиться со следующими системами:
I2P - децентрализованный анонимный изолированный Интернет, как и децентрализованная торрент-сеть, использует DHT Kademlia
Tor - система "лукового" анонимайзера в сети Интернет, для расширения кругозора

Автор:  Андрей [ 18 ноя 2011, 22:34 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Обе эти системы изучал. К сожалению, напрямую они для нас не очень применимы. А вот какие-то идеи из них вполне можно было взять. DHT - одна из таких идей. Поэтому и интересуюсь - понял-ли кто-то эту идею на таком уровне что-бы поконкретней ее разъяснить всем?

Автор:  Dim [ 19 ноя 2011, 00:15 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Андрей писал(а):
Поэтому и интересуюсь - понял-ли кто-то эту идею на таком уровне что-бы поконкретней ее разъяснить всем?
По ссылкам достаточно подробно описано. На уровне "библиотечки Квант", правда. Если кто не помнит, то к примеру токомак там описывается как большая тороидальная катушка электромагнита c сердечником из плазмы. :)
Конкретика не ясна, но c чего начинать понятно. По крайней мере маршрутизация по хешу понятна.

Автор:  Андрей [ 19 ноя 2011, 00:23 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Ну, меня, например, интересует способ практического применения системы "близких хэшей" для построения сети.

Автор:  Dim [ 19 ноя 2011, 01:43 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Андрей писал(а):
Ну, меня, например, интересует способ практического применения системы "близких хэшей" для построения сети.
Для построения оно не надо. Строить можно простым присоединением. К тому же соединять лучше по территориям/подсетям. В чистом виде DHT применённый в нашей системе на раз-два положит аппаратуру провайдеров тупым переполнением таблиц маршрутизации. Всё же не торент. Запросов на порядок-другой-третий больше будет.
Другое дело маршрутизация запросов. Тут метод близких хешей здорово всё упрощает. И широковещалка не нужна будет. Из имеющихся соседей запрос кидаем тому(тем) кто "ближе" к хешу. Запрос c парой хешей: адресата и известного узла. По мере движения к известному узлу может найтись тот кто знает узел ещё ближе к адресату. Тогда запрос пойдёт уже к тому узлу. Если же не найдётся, то у известного узла в таблице должен быть более близкий к адресату узел. В конечном итоге найдётся искомый узел.
Немного долго, но имхо, лучше широковещалки.

Автор:  Андрей [ 19 ноя 2011, 14:44 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

О! Вот это неплохой способ. Сильно облегчит адресную пересылку данных.

А каким образом для данного узла формируется такой хэш? На основе каких данных?

Автор:  Dim [ 20 ноя 2011, 13:02 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Андрей писал(а):
О! Вот это неплохой способ. Сильно облегчит адресную пересылку данных.
Это только для нахождения узлов. Когда узел найден, то проще (в большинстве случаев) установить прямое соединение.
Андрей писал(а):
А каким образом для данного узла формируется такой хэш? На основе каких данных?
А вот это уже интересный вопрос. Хеш формируется по тем данным, которые нужно найти.
Практическая же реализация пока туманна. Естественно, туманно не хеширование данных, а построение таблиц маршрутизации.
Навскидку можно предложить три варианта.
  • Все хеши в куче.
  • Для каждого варианта поиска своя таблица.
  • Раздельное хранение перманентных и временных хешей.
Можно ещё напихать хеши в кучу и построить индексы по тегам в хешах.

Автор:  evorios [ 20 ноя 2011, 19:45 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Маршрутизацию в DHT я понял так.
Клиент выдает пакеты с хешем-идентификатором, и этот узел(ip) становится по этим идентификаторам точкой маршрутизации. Взамен из сети приходят свои идентификаторы на пару с информацией об узле(ip). Если в объединенной таблице имеются близкие по значению идентификаторы, то такие идентификаторы становятся значимыми, - это означает, что при поиске вашей информации, связанные с вами узлы, которых нашли по их идентификаторам, близким к вашему, знают, куда послать ищущего эту информацию.

Написал смутно, но думаю, разобраться можно.

Автор:  yurial [ 21 ноя 2011, 13:16 ]
Заголовок сообщения:  Re: P2P сети и методы обнаружения узлов

Dim писал(а):
Хеш формируется по тем данным, которые нужно найти.

Для начала нам потребуется лишь искать пользователя с определенным ключом.

Автор:  Oleg [ 10 мар 2012, 18:46 ]
Заголовок сообщения:  P2P сети и методы обнаружения узлов

Народ, я аккумулирую всю инфу в вики, на чем останавливаемся в плане обнаружения узлов? Кто в теме опишите более развернуто алгоритм как ищем узлы при первичном запуске и как вобще поддерживаем список "соседних" узлов? Очень важно составить документ "Сценарии использования". Информацию из этой ветки вставлю в подраздел "Запуск".

Страница 2 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/