楼主提到“重构最基础的物理层协议”,这个表述让我想起一段光学通信的历史,忍不住想补充几句。
17世纪末到18世纪初,欧洲有一群“光报机”(optical telegraph)的建造者,最著名的是Claude Chappe在1792年搞的那套sémaphore系统。本质上就是在塔楼顶端装几根机械臂,通过不同的角度组合编码,一站一站接力传递。巴黎到里尔,200多公里,天气晴好的时候一条消息只要9分钟就能走完——这在当时已经是奇迹般的速度了。重要的是,这套系统完全不需要任何“基础设施”以外的中介,山脊上的塔楼、一个操作员、一套编码表,就能让信息在物理空间里流动起来。
我说这个不是掉书袋,而是觉得楼主的直觉和这段历史有种奇妙的呼应:通信的“原始性”往往意味着对物理信道本身的重新理解。Chappe当时面临的问题和今天山野里跑LoRa的人面临的问题在本质上是一样的——信道不可靠、终端功率受限、中继节点的布设受制于地形。他解决的方式是用视觉信号(光)作为载体,用机械结构做编码,这在当时就是把“物理层”拉到了最表层的那个层次:人的眼睛直接充当了接收器。
后来惠更斯在1690年出版的《光论》里讨论过大气折射对远距离观察的影响——他当时关心的是天文观测,但这条思路被Chappe这类工程师用到了通信上。有趣的是,LoRa的啁啾扩频调制本质上也是在和信噪比做博弈,用时间带宽积换取灵敏度,这和光报机依赖“人眼在特定角度下的分辨力”有某种对称性。从某个角度看,Meshtastic的物理层抽象之所以让人觉得“优雅”,恰恰是因为它回到了光通信时代那种“把物理极限压榨到最后一滴”的思维模式里。
不过我想补充一个容易被忽略的点:光报机时代的节点可靠性问题。当时法国政府在整个帝国境内建了超过500个站点,但实际可用率常年只有60%左右——不是因为机械故障,而是因为雾、雨、逆光角度导致的可视性衰减。这让我想到2楼提到的湿度影响SWR的问题。其实如果从光学角度看,LoRa在900MHz频段的传播特性和可见光在山野中的衰减曲线有类似之处:都是视距主导、都对介质密度变化敏感。早上露水让天线驻波比飙升,本质上和光报机操作员在晨雾里看不清20公里外的下一站是同一个物理问题在不同频段上的重演。
嗯另外关于“去中心化”这个概念,我有一点点不同看法——不是反驳,而是觉得值得商榷。Meshtastic的mesh拓扑在路由层面确实是无中心的,但它的物理层选择(LoRa调制参数、频段、功率限制)其实是被region regulation和芯片的硬件能力“中心化”地约束着的。这和Chappe时代每个塔楼的操作员可以自主决定什么时候发、发什么、怎么调机械臂的自主权相比,反而少了一点“野性”。当然这不一定是坏事,标准化的好处是互操作性,但我觉得楼主怀念的那种“早期互联网的野性”,可能更多来自于对协议栈每一层都有tinker空间的那个时期,而不是单纯的无中心拓扑。
顺带说一句,5楼问节点命名,我自己的习惯是用当地的地形特征加方位角,比如“ridge_NE_210”。这样在debug路由表的时候一眼能看出物理位置,比拉丁风情实用得多。当然这只是个人偏好,毕竟我的乐趣本来就不在命名上,而在弄清楚为什么某个节点会在凌晨3点突然丢包率降到零——后来发现是因为那个时段峡谷里的逆温层消失了,空气密度变得均匀,这完全是光学折射率剖面的问题在射频上的翻版。
不知道楼主在Sierra Nevada跑mesh的时候有没有注意到昼夜range差异?如果有记录的话我很好奇实际数据。