无线节点发现的最佳算法是什么。假设您拥有大型无线或蓝牙网络,每个节点都有自己的发现范围。
什么是使任何节点发现完整图形拓扑的最佳算法,即任何节点都会知道图中所有其他节点?
答案 0 :(得分:3)
在这个(和类似的)问题上做了很多工作。您可能希望从以下几个地方开始:
MIT Grid Ad Hoc Networking Project
Wireless Grids Corporation
Berkeley
“无线网格发现”之类的一些谷歌搜索可能会出现更多。
答案 1 :(得分:1)
如果某个节点在其范围内发现了一个新节点,它会向该节目范围内的每个其他节点广播一条消息,告知该新节点的存在。
如果节点收到其中一条消息,如果之前没有看到该消息,它会将自己的标识符附加到消息中,然后将新消息广播到其范围内的所有其他节点(如如果它说“如果你需要告诉这个人一些事情,请先告诉我,因为我觉得我比他更接近你”)。它还必须存储从其接收消息的节点的id,以便可以通过新手的节点id检索它。
如果节点需要向另一个节点发送消息,它会使用接收方的节点ID在其本地列表中查找邻居ID。然后它将消息发送给最佳邻居。该邻居节点现在负责使用它自己的本地列表将消息发送给它的收件人。如果它不能以这种方式找到任何邻居,它会将消息发送到其范围内的每个节点,并希望最好。
每个节点保留的本地列表表示向给定收件人发送消息的良好“第一步”。第一步很好,因为他们来自节点的第一个邻居,听说过一个特定的新人。该列表不会包含许多错误的第一步,因为如果之前已经看到过该消息,节点不会重新广播“newcomer”消息,并且只有当消息通过更快的路径到达时才会发生这种情况。
希望所有这些都有意义,我想用Python编写代码,但我没有时间。请注意,此系统可能需要一些引导。