Q
无线节点发现
5
A
回答
3
在这个(和类似的)问题上已经做了很多工作。你可能想通过查看几个地方,如开始:
MIT Grid Ad Hoc Networking Project
Wireless Grids Corporation
Berkeley
一些谷歌搜索的东西,如“无线网发现”可能应该更多露面。
1
如果一个节点在其范围内发现一个新节点,它将向该范围内的每个其他节点广播一条消息,告知该新节点的存在。
如果一个节点收到这些消息之一,如果它以前没有看到过该消息,它会将它自己的标识符附加到消息中,然后将新消息广播给它的范围内的所有其他节点就好像它在说“如果你需要告诉这个人,请先告诉我,因为我觉得我比他更接近他”)。它还必须存储它接收消息的节点的ID,以便它可以由新人的节点ID检索。
如果节点需要发送消息到另一个节点,它会使用收件人的节点ID在其本地列表中查找邻居id。然后它将消息发送给最好的邻居。该邻居节点现在负责使用它自己的本地列表将消息发送给收件人。如果以这种方式找不到任何邻居,它会将消息发送给其范围内的每个节点,并希望获得最佳效果。
每个节点保存的本地列表指示向给定收件人发送消息的良好“第一步”。第一步是好的,因为它们来自节点邻居的第一个,听说过某个新手。该列表不会包含许多不好的第一步,因为如果节点之前已经看到了该消息,节点就不会重新传播“新人”的消息,而且只有当消息通过更快的路由到达时才会发生。
希望一切都合理,我想用Python编写代码,但我没有时间。请注意,该系统可能需要一些引导程序。
相关问题
- 1. 发现节点
- 2. Xbee节点发现响应
- 3. 节点GYP 0.12.0未发现
- 4. 发现Zeroconf/Bonjour节点?
- 5. 刀零现有节点发现
- 6. elasticsearch:EC2发现:主节点工作数据节点失败
- 7. Omnet ++简单的无线节点
- 8. 节点,快递 - 无法获取路线
- 9. 服务器节点无法在Apache Ignite中发现彼此
- 10. AWS elasticsearch EC2发现,无法找到其他节点
- 11. 的XmlSlurper从未发现节点
- 12. prolog递归发现最大节点
- 13. 芹菜如何发现新的节点?
- 14. SpriteKit childNodeWithName无法找到现有节点
- 15. Firebase线性节点
- 16. 无法在节点中发布表单
- 17. 呈现Drupal节点
- 18. 现有节点添加到另一个节点的子节点
- 19. 扫描仪无线路发现异常
- 20. 节点,但节点无法在Ubuntu VPS
- 21. 删除无子节点的父节点
- 22. 发现从字节
- 23. 发现,jQuery对象确实包含现有节点
- 24. 端点发现无头服务于Kubernetes
- 25. 节点JS I/O线程
- 26. B +树节点实现
- 27. 节点没有出现
- 28. 无法设置标头发送后,他们发送节点j
- 29. 现场无线电
- 30. 如何将节点作为子节点添加到现有节点XElement?