Могут ли приложения сосуществовать в одном и том же DHT?

Если вы создаете новое приложение, использующее распределенную хеш-таблицу (DHT), вам необходимо выполнить начальную загрузку сети p2p. У меня была идея, что вы можете присоединиться к существующему DHT (например, Bittorrent DHT).

Это осуществимо? Конечно, мы предполагаем ту же технологию. Объединение Chord с Kademlia, очевидно, невозможно.

Если да, будет ли это считаться паразитическим или симбиотическим? Паразитический означает, что он каким-то образом конфликтует с первоначальным использованием. Симбиотический, если он хорош для обоих приложений, поскольку они поддерживают друг друга.


person qznc    schedule 11.11.2014    source источник


Ответы (1)


В целом: Kademlia и Chord — это просто абстрактные проекты, а реализации предоставляют разную функциональность. Если его набор функций слишком узок, вы не сможете сопоставить с ним логику своего приложения. Если он слишком широк для ваших нужд, повторная реализация может оказаться сложной задачей, если нет доступной библиотеки с открытым исходным кодом.

Для BitTorrent: BitTorrent DHT предоставляет 20-байтовый ключ -> поиск по списку [IP, порт] в качестве своей основной функции, где IP-адрес определяется IP-адресом отправителя и, следовательно, не может использоваться для хранения произвольных данных. Есть некоторые второстепенные функции, такие как статистика фильтра Блума по этим спискам, но они, вероятно, еще менее полезны для других приложений.

Он не обеспечивает общее хранилище ключей и значений, по крайней мере, не как часть базовой спецификации. Для этого есть предложение по расширению

Хотя реализации обеспечивают некоторую базовую прямую совместимость для неизвестных типов сообщений, рассматривая их как запросы поиска узлов, а не просто игнорируя их, это имеет ограниченную полезность, если ваше приложение предоставляет небольшую часть узлов, поскольку вы вряд ли столкнетесь с другими узлами. реализация этой функциональности во время поиска.

Если да, будет ли это считаться паразитическим или симбиотическим?

Это во многом зависит от того, являетесь ли вы «хорошим гражданином» в сети.

  • Соответствует ли ваша реализация спецификации, включая часто используемые расширения?
  • Остается ли ваш общий вариант использования на порядок выше по сравнению с другими узлами, когда речь идет о трафике, который он вызывает?
  • Является ли жизненный цикл приложения достаточно продолжительным, чтобы не выйти за рамки ожидаемых показателей оттока целевого DHT?
person the8472    schedule 20.11.2014