我正在深入探索网状网络:Meshtastic、MeshCore 和 Reticulum 比较
- #网状网络
- #LoRa
- #去中心化
- #开源
- #Reticulum
我热爱网络,非常热爱。以至于我从2024年开始运营自己的ISP,拥有自己的ASN、IPv4/6地址空间、光纤等。然而,这样做之后你会很快意识到你对中心化服务提供商的依赖仍然有多深。互联网是一个网状网络,但该网络上的真正参与者寥寥无几,而且很容易被胁迫进行审查和其他坏事。即使我自己升到了直接BGP对等互联的崇高领域,我对这些资源的访问也被ARIN的年费所限制。互联网“地产”——IP地址的所有权已不复存在。
现代计算的悲剧在于,我们在办公室、膝盖上或手掌中拥有的本地计算能力极其强大,但大型科技公司却积极拒绝利用这一事实。为什么你、我和我们的邻居在很大程度上只能从大公司那里消费访问权限,而我们的计算机本可以做得更多?
网状网络——通过许多直接互联的对等点而不是通过中心数据中心发送数据包——有望将我们从对中心化服务提供商的依赖中解放出来,这也是我最近非常兴奋的事情。
当然,当前互联网的设计有充分的理由。高带宽连接成本高昂,对于某些应用来说,尽可能降低延迟非常重要,这实际上需要跨越大陆和海洋的光纤,并且中间环节尽可能少。但这并不意味着我们需要把所有鸡蛋放在同一个篮子里。虽然像Netflix这样的带宽密集型服务或游戏这样的延迟敏感服务不太可能很快出现在网状网络上,但有大量应用完全适合网状网络:
消息传递、社交网络和信息分享是网状网络的非常实用的用途,在这些用途中,可访问性、抗审查性和韧性对世界上的许多人来说越来越重要。
对于这样的应用,我们不需要挖沟铺设光纤连接来让每个人都连接起来。在现代网状网络领域,大部分创新都发生在LoRa无线电领域。
LoRa无线电使用免许可的亚千兆赫无线电频段,这些频段在世界上几乎所有国家都可供公众使用。与Wi-Fi(也被许多其他技术使用)中常见的免许可2.4 GHz或5 GHz无线电相比,LoRa的功耗低得多,而且同时重要的是,传输距离远得多。
通过无线电波进行网状网络为我们的社会提供了一个非常独特的机会。我们可以构建一个与互联网共存的弹性对等网络,为目前服务不足的地区提供连接,并通过维护一个功能性的互联网备份来满足我们最关键的需求,从而增加我们在线上的个人主权。
能够仅仅依靠你和你的网络中的人完全拥有的设备向某人发送消息,而不是从你的本地ISP或埃隆·马斯克的Starlink租用这种能力,这种感觉也很解放。
Meshtastic
网状网络领域明显的领跑者是Meshtastic,主要是因为它们是消费级LoRa网状网络领域的先驱,或者至少是第一个做得相当不错的。很容易理解为什么Meshtastic相当受欢迎:它是一个真正的产品,针对特定的用例(主要是移动消息传递和设备跟踪),而不是一个试图构建网络并希望稍后出现用例的技术项目。这对大多数只想买来就能用的人非常有吸引力,就像沃尔玛的一套对讲机。不幸的是,就像那些廉价对讲机与更严肃的技术(如业余无线电)相比一样,Meshtastic的核心设计阻碍了该平台发挥其全部潜力。
Meshtastic的先发优势很难克服,尤其是当它对于像徒步旅行者或活动参与者这样的小型私人团体已经表现良好时。然而,对于非常大的公共网状网络,大多数人已经清楚Meshtastic的设计是一个相当站不住脚的解决方案。一些公共网状网络组通过牺牲一些范围来增加Meshtastic的可用带宽,但这是一种权宜之计,最终无法解决Meshtastic在此环境中的问题。
💡 坦率地说,这篇文章将略过许多Meshtastic和MeshCore的功能,因为我认为它们与Reticulum相比都不是严肃的解决方案,原因我将在本文后面解释。我几乎可以保证,我运行Meshtastic和MeshCore的时间比你长,基础设施也比你多,事实上我仍然在运行它们,尽管我并不真正相信它们的长期成功,所以……本文中的任何遗漏或“缺乏问题解决”都不是因为缺乏知识,而仅仅是因为详细描述它们的许多问题超出了本文的范围。
我认为大多数认真对待公共网状网络的人已经转向研究其他解决方案,或者很快就会这样做。
MeshCore
MeshCore是一些公共网状网络组开始切换的潜在解决方案之一。
虽然Meshtastic的原始设计基本上是向网络洪泛发送每条消息,希望它最终到达正确的目的地,但MeshCore有一个实际的路由系统,可以只通过网状网络上包含发送方和接收方的特定设备路径发送消息。
这导致了无线电传输的巨量减少,其优势不容低估。它使网络更少拥塞、更可靠,对于主要对消息传递感兴趣而不是分享传感器/位置数据(Meshtastic仍然适合)的人来说,许多较大的团体开始转向MeshCore也就不足为奇了。
不幸的是,MeshCore并不是公共网状网络爱好者可能希望的那种真正的网状网。从高层次来看,MeshCore中的设备分为两类:伴侣设备和中继器。伴侣设备是大多数人用来发送和接收消息的设备,而中继器是实际相互组网并扩展整个网络范围的设备。这意味着伴侣设备必须始终在中继器的范围内才能访问网络,伴侣设备永远不会代表其他伴侣设备在它们之间中继消息。
这种方法有优点。MeshCore允许消息传输多达64跳,这是一个巨大的实际规模,因为在理想条件下,LoRa中继器可以相距数英里。即使在最好的情况下,Meshtastic默认的3跳限制(尽管最多可配置为7跳)也对消息可以传播的距离施加了实际限制。
任何人都可以作为中继器参与MeshCore,因此构建自己的网状网络的所有工具都在那里。只是它需要一些额外的规划、协调和中心化,我认为这是不必要的。
我对MeshCore的更大问题是它的许多部分是专有的。虽然底层协议和一些无线电的固件是开源的,但所有官方的MeshCore客户端都是专有的,甚至有些功能需要付费。专有软件根本不适合灾难场景,对于依赖中心化支付处理器的软件来说更是如此。
我绝对不是那种需要100%使用开源软件的人(尽管那会很好),但我认为拥有一个离网网状网络的首要目的是完全的自由和控制,所以在这种特殊情况下,我根本无法支持闭源解决方案。
已经有人努力为MeshCore创建非官方的开源客户端。我不会否认这一点,但归根结底,MeshCore生态系统中的大多数人将处于官方专有生态系统中,而且我认为在网状网络发展的这个非常早期阶段,MeshCore没有足够的优势、用户或可靠性来值得采用。
作为爱好者,我们有一个独特的机会,在“网络效应”真正形成并将人们锁定在特定平台之前,采用我们能找到的最佳网状网络解决方案。我认为我们可以做得比Meshtastic和MeshCore更好。
问题
不幸的是,Meshtastic和MeshCore都非常有限,并且扩展性不好。Meshtastic在理想场景下几乎无法扩展到区域网状网络,而MeshCore虽然好一些,但仍然不太可能扩展到许多更大区域的规模,更不用说国家或行星了。
问题是,Meshtastic和MeshCore都更像是应用程序而不是协议。它们支持通过LoRa进行简单的即时消息通信,但除了其客户端应用官方支持的内容外,它们对网状网络应用没有太多考虑。它们面向与小型本地团体通信,而任何公共网状网络在这些网络上都是例外,而不是标准用例。
另一个问题是,Meshtastic和MeshCore几乎完全依赖LoRa。LoRa对于构建临时、低带宽的网状网络非常酷,而且我们很幸运在大多数国家都可以免许可使用它,无需业余无线电执照,并且可以使用业余无线电上大多禁止的现代数字技术(如加密)。然而,对于许多场景来说,它远非完美解决方案,而且速度相当慢。
在理想世界中,网状网络/路由软件将完全独立于连接所有这些设备的物理网络。例如,我希望能够在社区和其他区域中构建廉价的本地LoRa网络,并通过更强大的点对点微波连接甚至光纤或互联网将它们互联起来。
Meshtastic(以及我相信通过一些非官方“网关”的MeshCore)有一些通过MQTT互联不同网状网络的hacky方法,但体验很差,很明显这种类型的连接在网络上不是一等公民。特别是在Meshtastic上,通过MQTT桥接互联网可能会严重降低网络性能,以至于在超过几个人使用时就不太实际了。
应该可以构建一个网状路由解决方案,它能够智能地在节点之间通过多种不同类型的连接路由数据包,完全无缝,使得使用网格的体验不会因具体接口而改变。
幸运的是,这已经有人做到了!
Reticulum
Reticulum非常酷。
它是一个网络协议栈,能够在多种物理网络(包括LoRa)上智能地提供强加密路由。与MeshCore一样,它具有通过网络路径的自动路由,但与MeshCore不同的是,这些路径不仅可以通过LoRa,还可以通过任何支持的接口传输。
此外,与Meshtastic一样,Reticulum基本上可以在连接到同一本地网络的设备上即插即用。将两个设备连接到相同的LoRa频率,你立即就有了一个功能性的网状网络,无需高级网络技能或专用中继器。
这使得Reticulum既非常适合像Meshtastic这样的小型私有网络,也适合MeshCore倾向于处理的非常大的网络,并且可能超越MeshCore的能力,承诺达到行星级的可扩展性。
最好的部分是,你可以轻松地从Reticulum开始小规模使用,然后一切都可以扩展。
评论