100%无服务器(分散)对等点发现的可能解决方案?

时间:2014-01-29 13:47:58

标签: networking broadcast multicast

我一直在考虑一个真正的100%无服务器系统如何工作。具体而言,我对同行发现很感兴趣。看起来这是将当前分散系统实际分散的唯一部分。

据我所知,没有100%无服务器系统。例如,甚至种子也需要连接到跟踪器或DHT路由器(router.bittorrent.com)等集中式网络来发现其同行。

我首先想到的是互联网广播。简单地说,

  1. 客户端向世界广播其标识(例如IP地址)信标
  2. 另一位客户收到该信标
  3. 两个客户端相互连接。
  4. 如果有更多客户连接,则会形成紧张的网络。
  5. 但是,这可能非常inefficient(255 * 255 * 255 * 255 * 64字节= 270GB /信标)和not supported。就目前而言,这是我能想到的唯一解决方案。在搜索了几个小时后,唯一的解决方案是“只使用部分集中的服务器”。

    100%无服务器对等点发现是否有任何解决方案(甚至是理论上的)?

1 个答案:

答案 0 :(得分:2)

2008年,XMPP开发了一个支持无服务器对等服务发现的标准

http://www.xmpp.org/extensions/xep-0174.html

不幸的是,我只找到了一个实现此功能的实例。

https://igniterealtime.org/issues/browse/SMACK-262

它没有提交给代码库,因为它被依赖项阻止了。 已尝试使用较新版本重新编译它。 https://github.com/jadahl/smack-linklocal 这可能是一个,但无法验证它是否有效。

对等点发现的工作原理是使用mDNSDNS-SD

有关更多详细信息,请阅读XEP-0174有关其工作原理的规范。

相关问题