一个自己运营 ISP 的人------独立 ASN、自有 IPv4/IPv6 地址段、光纤基础设施、直接和上游做 BGP 对等互联------写了一篇文章,标题是《I'm Getting Into Mesh Networks》。他叫 Jonah Aragon。
这件事的看点在于:他已经站到了网络工程的很高处,但恰恰是站得够高之后,他看清了一个大多数人看不见的事实------你就算做到 BGP 对等互联,对网络资源的访问权仍然被少数中心化服务商锁死。IP 地址你从来不"拥有",只是在向 ARIN 交年费租用。
于是他问了那个问题:
我们手里的设备算力已经极其强大,为什么我们仍然只能充当大厂的"消费者",而不是彼此直连的"对等节点"?
这篇文章我不想写成读后感。我想借他的框架,把"自组网到底该选哪条技术路线"这件事算清楚------因为三条主流路线(Meshtastic / MeshCore / Reticulum)的差异,本质上是三个可以用数字和拓扑说清的工程决策,不是口味问题。
结论先行
如果你只想知道该选哪条,四条:
- 小圈子(3~7 人徒步 / 活动协调)→ Meshtastic。 开箱即用,但它用的是洪泛,大规模公共 Mesh 从设计上就不成立。
- 本地社区固定部署 → MeshCore。 它有了真路由、支持 64 跳,但 Companion/Repeater 二分架构让"Mesh"退化成星形-树形混合拓扑,且客户端闭源 + 付费功能------对"离网备用"这个用途是硬伤。
- 想要一张能生长、能互通、能抗审查的网络 → Reticulum。 它不是应用,是网络栈:把"物理介质"从协议里拿掉,LoRa / Wi-Fi / 以太网 / 互联网隧道可以混在同一条路由里。
- Reticulum 现在最大的短板是部署门槛------没有独立嵌入式固件,中继节点要额外挂一台树莓派。这一条我在下面用功耗和成本算给你看,它为什么对山顶节点是决定性的。
一、先算清楚:LoRa 凭什么能当自组网的物理层
选物理层不能靠感觉,得算。LoRa 和 Wi-Fi 的参数差异是数量级的:
| 特性 | LoRa (Sub-GHz) | Wi-Fi (2.4/5 GHz) |
|---|---|---|
| 频段 | 免许可 Sub-GHz(各国不同) | 免许可 2.4/5 GHz |
| 功耗 | 极低(收发 mA 级) | 较高 |
| 传输距离 | 数公里(视距可达 10km+) | 数十到数百米 |
| 带宽 | 极低(kbps 级) | 高(Mbps~Gbps) |
| 穿透力 | 强(Sub-GHz 特性) | 弱 |
关键认知:LoRa 不是为了替代 Wi-Fi 或 5G,而是承载那些"不需要高带宽、但需要高可靠 + 远距离 + 抗审查"的场景------消息、位置、广播、应急。
这里必须把"带宽极低"这个描述量化,否则后面对比没有尺度。LoRa 的空中速率取决于扩频因子(SF)和带宽(BW),常见组合的标称速率大致在这个量级:
SF7 / BW125kHz → ~5.5 kbps
SF9 / BW125kHz → ~1.8 kbps
SF12 / BW125kHz → ~0.3 kbps
扩展因子越高 → 传得越远、速率越低。最低档 0.3 kbps,大约相当于 300 比特每秒。 记住这个数字,后面讲"为什么高频消息在这张网上不成立"会用到。
物理层的取舍也解释了它为什么抗穿透:Sub-GHz 的波长更长,绕射能力更好,穿过建筑和植被的衰减比 2.4GHz 小得多------代价就是天线尺寸和带宽。
二、Meshtastic:洪泛策略的规模天花板(可算)
Meshtastic 是消费级 LoRa Mesh 的先行者,优点很实在:刷固件到 Heltec V3 就能组网、场景聚焦(移动消息 + 位置)、社区活跃。
但它的消息传递方式是洪泛:
css
节点A 发送消息 → 节点B 收到 → 节点B 广播给 C, D, E
→ 节点C 广播给 B, D, F
→ 节点D 广播给 B, C, E
→ ...无限扩散直到 TTL 耗尽
洪泛在 3~7 人徒步队里完全没问题------节点少,冗余转发反而是可靠性优势。但把它放到大规模公共 Mesh,会撞上一堵物理墙:每次发送,信道被全网节点重复占用。
信道拥塞是"节点数 × 跳数"的函数。节点一多、跳数一深,空中时间(airtime)被转发吃光,有效吞吐断崖式下跌。这不是软件优化能绕过去的,是 LoRa 极低带宽这个前提决定的。
再看覆盖半径。假设城市环境节点间距 2 km(LoRa 典型值),Meshtastic 默认 3 跳、可配置到 7 跳:
3 跳 → 直径 ≈ 6 km (勉强覆盖一个区)
7 跳 → 直径 ≈ 14 km (远不足以覆盖一个中型城市)
Jonah 的结论很直接:
对于非常大型的公共 Mesh,Meshtastic 从设计上就是一个站不住脚的方案。
我的判断:这不是 Meshtastic "做得不好",而是它压根没想解决这个问题------它的设计目标是"小团体开箱即用"。错的是把它当成城市级基础设施来期待。
三、MeshCore:路由对了,拓扑退了一步
MeshCore 解决了 Meshtastic 最核心的问题------有了真正的路由,不再洪泛:
css
节点A → 节点C → 节点F → 节点Z
↑ ↑ ↑
中继节点 中继节点 目标节点
消息只沿特定路径传递,不被全网广播
两个直接收益:信道利用率大幅提升 (不再每条消息炸全频道);支持最多 64 跳(对比 Meshtastic 的 3~7 跳,覆盖半径是数量级差异)。
但 MeshCore 引入了两个新问题。
问题一:Companion / Repeater 二分架构
Companion(伴侣节点)→ 普通用户持有,发消息用
↓ 必须在 Repeater 覆盖范围内
Repeater(中继节点) → 承担网络骨干,真正做 Mesh 路由
关键在:Companion 之间不会互相中继。 这意味着 MeshCore 的"Mesh"在拓扑上更接近星形-树形混合 ,而不是真正的对等网。代价是需要预先规划和部署中继节点------组织成本和中心化倾向同时上升。
这一点很反直觉:MeshCore 在协议层 比 Meshtastic 先进,却在拓扑自由度上退了一步。对"随手组网、自动成 mesh"这个期待来说,它是退步的。
问题二:闭源客户端 + 付费功能
Jonah 对此非常尖锐:
专有软件不是灾难就绪的。依赖中心化支付处理器的软件更是如此。对于离网 Mesh 网络来说,唯一存在的意义就是完全的自由和掌控------在这种场景下,我根本不可能支持闭源方案。
我认为他说到了本质。自组网的存在理由就是去中心化 + 抗审查;如果在客户端层引入中心化商业实体,等于在应用层重建了你试图在物理层摆脱的控制结构。
他给了个很朴素的判断标准,我觉得可以直接拿来当检验题:
如果某天支付处理器宕机了、官方服务器被关闭了,你的 Mesh 还能工作吗?
一个为"离网通信"而生的系统,关键组件却依赖在线支付验证------这从设计目标上就已经背离了。
四、Reticulum:把"介质"从协议里拿掉
这是三条路线里唯一的网络栈,不是应用:
arduino
Meshtastic / MeshCore → "应用"(带网络功能的消息 App)
Reticulum → "网络栈"(可以跑任意应用的网络层)
类比到互联网的分层:
| 层次 | 传统互联网 | Reticulum 生态 |
|---|---|---|
| 应用层 | Chrome, WeChat, Email | NomadNet, Sideband, MeshChat |
| 协议层 | HTTP, SMTP, XMPP | LXMF, LXST, RRC |
| 网络层 | IP + BGP | Reticulum Stack |
| 链路层 | Ethernet, Wi-Fi, 4G/5G | LoRa, Wi-Fi, Ethernet, I2P, Tor, Packet Radio... |
Reticulum 的核心洞察 :物理传输介质不应该是协议的一部分。一张理想的自组网应该在 LoRa、Wi-Fi、微波、光纤、甚至互联网隧道之间无缝切换和混合路由。
scss
[你的手机]
|
Reticulum Stack
/ | \
LoRa Wi-Fi 互联网隧道
(本地) (局域网) (连接远程Mesh)
\ | /
同一张网络 → 同一套路由 → 同一个地址空间
它文档里有句话把这个设计哲学说得很准:
在传统网络中,混合不同传输介质通常需要网关、转换层和精细配置。Wi-Fi 网络不能原生地与分组无线电网络互通。Reticulum 将异构性视为核心前提。
异构连接:三个能落地的场景
- 本地 Mesh 互联:明尼阿波利斯的 LoRa Mesh 可以通过互联网隧道与芝加哥的 LoRa Mesh 互通。将来若有人架了城市间微波直连,路由会自动切到更优路径。
- 跨国频率桥接 :中国 LoRa 用 470--510 MHz、美国 915 MHz、欧洲 868 MHz------Reticulum 只需在边界放一个双频节点(同时接两张不同频率的子网),两个网络就能互通,不需要中心化桥接服务器。
- 渐进式建设 :不用一步到位。先用两台 Heltec V3 在 470MHz 组一个两人的 Mesh;某天朋友在隔壁小区也组了一个,两个网络检测到彼此时自动合并。
全局地址空间:不需要 ARIN 的身份证
Reticulum 每个节点有一个由加密算法保证唯一性的全球地址,不需要 IANA/ARIN 这类中心机构分配。含义是:不同网络绝不会地址冲突,合并时也不用重新编号。
css
传统 IP 网络合并:
网络 A (192.168.1.0/24) + 网络 B (192.168.1.0/24)
→ 地址冲突!需要 NAT 或重新规划
Reticulum 网络合并:
网络 A + 网络 B → 自动发现 → 交换路由表 → 无冲突 → 即时互通
这一点呼应了开头 Jonah 关于"IP 地址只是租用"的判断:地址空间的权威性,从机构手里转移到了密码学手里。
五、Reticulum 的阿喀琉斯之踵(用功耗算给你看)
Jonah 很诚实地指出了 Reticulum 当前最大的短板:没有独立的嵌入式固件。
scss
Meshtastic 节点部署:
Heltec V3 + Meshtastic 固件 → 独立运作,太阳能供电,丢在山上就行
Reticulum 节点部署:
Heltec V3 (RNode 固件,纯 Modem) + 树莓派 (运行 Reticulum)
→ 需要额外计算平台
这不是"多带个小板子"那么轻。对一个完全靠太阳能的远程山顶中继节点,功耗是决定性变量。把 Jonah 给的数字列出来:
| 项 | Meshtastic 方案 | Reticulum 方案 |
|---|---|---|
| 主控 | Heltec V3(含 LoRa) | Heltec V3(RNode 纯 Modem) |
| 额外计算平台 | 不需要 | 树莓派 Zero 2W 或同级 |
| 硬件成本 | ~35 元(模组) | ~35 + ~150 元 |
| 运行功耗 | ~0.5 W | 3~5 W |
| 太阳能板面积 | 基准 | 需相应放大数倍 |
功耗从 0.5 W 跳到 3~5 W,是六到十倍。太阳能供电的节点,电池和板子面积是按功耗线性放大的------十倍的功耗意味着十倍的采光面积和储能。对山顶节点,这直接决定"能不能部署得起来"。
好消息是 microReticulum (ESP32 移植版)在持续开发。一旦成熟,现有 Meshtastic 硬件可以直接刷固件迁移,零成本------这条路走通了,Reticulum 最大的门槛就消失了。
六、三条路线对照
把上面的分析收成一张表:
| 维度 | Meshtastic | MeshCore | Reticulum |
|---|---|---|---|
| 定位 | 消息应用 | 消息应用 | 网络栈 |
| 转发方式 | 洪泛 | 路由寻址 | 路由寻址 |
| 跳数上限 | 3(可配 7) | 64 | 依介质 |
| 拓扑自由度 | 高(但规模上不去) | 中(需预部署中继) | 高 |
| 异构介质 | 需桥接 | 需桥接 | 原生支持 |
| 地址分配 | --- | --- | 密码学全局地址 |
| 开源程度 | 开源 | 客户端闭源 + 付费 | 开源 |
| 中继硬件 | 单板即可 | 单板即可 | 需加计算平台 |
| 中继功耗 | ~0.5 W | ~0.5 W | 3~5 W |
| 最佳场景 | 徒步 / 活动协调 | 本地社区固定部署 | 长期基础设施 |
七、为什么"协议设计"比"功能堆砌"重要一百倍
这是读完最大的启发,我觉得值得单独说。
Meshtastic 的问题不是"功能不够多",而是在设计之初就把 "LoRa 消息应用"和"网络协议"耦合在了一起。一旦你要接 Wi-Fi 链路或互联网隧道,就必须"桥接";Reticulum 不需要桥接,因为它从一开始就不假设底层是某种特定介质。
这就是架构决策的复利效应:早期抽象层次的选择,会在规模扩大十倍时,变成几十倍的复杂度差异。
三条可迁移的:
- 抽象层次选早了是债,选对了是资产。 "介质不应该属于协议"这个决定,让 Reticulum 天然支持异构;反过来,耦合了介质的系统每加一种链路都要补一层桥。
- 用"灾难就绪"当检验题。 一个为离网而生的系统,如果关键组件依赖在线服务,就从设计目标上背离了。这条检验对任何基础设施都适用。
- 把约束量化再讨论。 "LoRa 带宽低"是废话,"0.3 kbps"才能支撑决策;"Reticulum 门槛高"是感觉,"0.5 W → 3~5 W"才是取舍依据。
八、我的结论
Jonah 在结尾说了句我很认同的话:
我们作为爱好者,在网络效应真正锁定人们到某个平台之前 ,有一个独特的机会去采纳最好的方案。
三条路线不是"谁更好"的关系,是三个不同层级的答案:
- Meshtastic ------ 小团体徒步、活动协调,开箱即用,作为理解 LoRa 物理层的入门工具很合适;
- MeshCore ------ 本地社区消息传递有优势,但闭源是硬伤;
- Reticulum ------ 面向未来的全球自组网基础设施,代价是当前部署门槛高。
如果你的野心不只是"和三个朋友爬山时发消息",那该关注的是 Reticulum。
最后回到那个问题:为什么我们的设备算力这么强,却只能当消费者?因为在基础设施的层面,"能力"不等于"主权" 。你有再强的终端,只要网络层是租来的,你对它的控制就是租来的。Mesh 网络把这个问题推到了最底层:
如果明天你所在地区的互联网被切断,你还能和身边的人通信吗?
这不是杞人忧天。自然灾害、政治动荡、网络攻击------历史上每一种都导致过区域性断网。自组网提供的不是"更好的体验",而是最后的冗余。