以下内容翻译自 Meshtastic 官方博客文章《Why Meshtastic Uses Managed Flood Routing》。有兴趣的读者可以阅读 原文。
设计一个低带宽的无线网状(mesh)网络,同时运行在低功耗、内存有限的微处理器上,是一个相当具有挑战性的任务。最简单的网状(mesh)路由协议可以说是洪泛路由:每当一个节点接收到一个数据包时,它会将数据包再次广播,直到达到预设的跳数限制。
虽然 Meshtastic 是基于这种策略设计的,但它进行了几项微妙但非常重要的改进。最重要的是,在节点重新广播前,它会稍作等待并监听其他节点是否已经在重新广播。如果是,则不会重复广播。因此,「管理型洪泛路由」更能准确描述这一策略。有关这些改进的更多细节,请参考我们的官方文档。
由于洪泛路由效率不高,我们明白这种方法并非完美。固件中加入了多项措施来限制网络流量,从而避免网状(mesh)网络被数据淹没。但是,与所有基于射频的协议一样,网络容量始终存在一定限制。为了提高效率,我们曾尝试过「更智能」的路由协议,但在 Meshtastic 的使用场景中,这些协议并未表现出一致的优势。下面我们将探讨为何「管理型洪泛路由」仍然是 Meshtastic 的最佳选择。
Meshtastic 管理型洪泛路由的主要优势
- 消除路由发现的开销
- 出色适应动态网络拓扑
- 优化适配 Meshtastic 常见的广播流量模式
- 在低带宽环境中展现出卓越的可扩展性
- 最大限度降低对受限物联网设备的资源消耗
- 通过大量网络仿真验证了其实用性
避免路由发现的开销
首先,「管理型洪泛路由」完全避免了路由发现或集中式控制的需求。
在传统路由算法中,设备依赖预定义的或动态生成的路由来转发消息。然而,使用管理型洪泛路由,设备开机后即可开始发送消息。
此外,路由发现和维护会产生额外的开销,而这种开销在 LoRa 这样低带宽的协议中尤为明显。要维护路由,可能需要发送额外的控制数据包,或将元数据附加到正常流量中,无论哪种方式,都会占用宝贵的空中时间。
在静态场景中,这种开销问题并不严重,但如果网络拓扑频繁变化(比如下文讨论的场景),这种开销很快会超过「智能路由」协议带来的收益。
无缝适应网络拓扑变化
「管理型洪泛路由」的另一大优势是其应对网络拓扑变化的能力。
在网状(mesh)网络中,设备可能随时加入或离开网络。而在 Meshtastic 中,节点通常是移动的,这使得网络拓扑频繁变化。
此外,环境因素(如天气或时间变化)也可能影响路由。传统路由算法很难适应这些变化,常导致消息丢失或延迟。
然而,管理型洪泛路由在这种场景中表现出色。每个设备在需要时参与路由,使网络能迅速适应变化,确保消息即使在频繁变化的网络中也能成功传递。
限制效率损失
路由协议的目标是在目的地高效地传递数据包。对于单一目标的消息,选择最优路径的确可以显著提升效率。
然而,对于广播消息而言,这种提升有限,因为广播的目的是让网络中所有节点都接收到消息。而 Meshtastic 的大部分数据包是广播消息而非定向消息,这使得「更智能」的路由协议带来的收益有限。
即便在无线介质中,某些节点可能不需要接收消息,但由于其接收灵敏度较高(这是 LoRa 的典型特性),它们依然会接收到广播包,这意味着即使使用「完美」的路由协议,广播包的局限性依然存在。
在低带宽的 LoRa 通信中实现可扩展性
管理型洪泛路由在可扩展性方面表现突出,尤其是在较大的网状(mesh)网络中,不必要的节点会自动避免参与路由。
在包含数百个设备的大型网状(mesh)网络中,可扩展性是关键,而尽量减少空中时间的占用是核心问题。
传统路由算法在面对节点数量增加和动态网络拓扑时,往往难以处理频繁的路由更新,导致大量额外的控制消息。
而使用管理型洪泛路由,新设备加入网络无需复杂的初始化流程,直接参与路由,这增强了整个网络的弹性和消息传递效率。
支持资源受限的设备运行
最后,管理型洪泛路由最大程度地减少了对低功耗物联网设备资源的占用。
传统路由算法通常需要设备维护大型路由表或执行复杂计算,这会占用额外的 RAM、闪存和宝贵的计算资源。
而管理型洪泛路由因其简单且分布式的特性,显著降低了资源消耗。设备仅需转发接收到的消息,无需进行复杂计算,从而将更多资源用于其他功能,并提升设备的运行续航。
许多决策基于 Meshtasticator 的仿真数据
局限性与未来方向
尽管管理型洪泛路由在 Meshtastic 中效果显著,我们仍然认识到其局限性:
- 并非适用于所有网络配置
- 在特定的单播场景中存在改进空间
- 我们正在研究未来可能采用的混合路由方案
当前的管理型洪泛路由虽然不完美,但经过适当的流量控制,已证明在超过 100 个节点的大型网络中依然高效。
任何路由协议都需要权衡取舍,而采用「更智能」的协议不可避免地会带来额外开销,从而削弱其优势。
本文作者: Hays Chan | 陈希
本文链接: https://meshcn.net/why-meshtastic-uses-managed-flood-routing/