1

我目前正在与一个在网络中有许多节点的朋友合作一个项目,并希望将其从 p2p 调整为网状网络。

申请的一些背景:

  • 我们没有做任何复杂的事情,我们只是从一个聊天客户端开始,向/从个人/组发送消息
  • 语言不可知论(我正在用 ruby​​ 编写我的“客户”,而我的朋友正在用 python 编写他的)
  • 目前,我们有一个监听套接字(它始终处于活动状态),并且只打开用于发送的套接字,因此我们的所有节点都没有“始终在线”连接(尽管从wiki看来,他们似乎更喜欢持续连接)
  • 我也在可扩展源路由上阅读过这篇文章,但它或多或少只是列出了“一种”算法,并不一定定义任何类型的通信协议。

所以,我的问题:

  • 寻找最短路径的最佳(或比较)网状网络协议是什么?(我知道有一对,由 IEEE 和其他人定义)
    • 假设您想向没有直接联系的人发送消息
      • 您是否有网络上所有节点的列表,并查找您的连接节点中的哪些节点到您的预期目标节点的路径最短?——这是否意味着每次网络发生变化时,您都必须更新每个节点的网络图?
      • 或者,一个节点是否只有一个列表,其中哪些连接的节点具有到所需目的地的最短路径?(这样最短路径的责任就落在了下一个节点上)?
  • 您如何决定与哪些附近的节点保持连接?

谢谢!

4

0 回答 0