它解决什么问题
1.0.0 只做一件事:局域网游戏联机 —— 让不在一处的朋友,能用只支持局域网的游戏模式一起玩。 下面讲的是它底层要解决的问题:两台设备隔着网络怎么直接连上。
两台设备想直接说上话,为什么这么难
把两台在不同网络里的设备连起来,听上去应该是件简单的事。实际上要依次跨过这些坎:
- 它们不知道对方在哪。 家宽的公网 IP 会变,手机在基站之间漂移,没有一个稳定的地址可言。
- 它们都躲在 NAT 后面。 双方都只能主动往外连,谁都无法被动接受连接。运营商级 NAT(CGNAT)让情况更糟 —— 你连自己的公网 IP 都没有。
- 就算连上了,也不知道对方是谁。 IP 不是身份。
- 有时候根本连不上。 对称型 NAT 撞上对称型 NAT,打洞成功率会显著下降,必须有中继兜底。
- 网络还会变。 从 Wi-Fi 切到蜂窝网,刚建好的连接就断了,得重来一遍。
现有的解决办法基本分两类,各有各的代价:
| 办法 | 代价 |
|---|---|
| 端口转发 / DDNS | 要有公网 IP,要会配路由器,CGNAT 下直接失效 |
| 内网穿透(frp 等) | 所有流量绕服务器,延迟和带宽成本都由你承担 |
| 传统 VPN | 星型拓扑,两台设备通信也要先绕一圈中心节点 |
Meshora 的取法
把上面那串步骤全部自动化,收进一条固定的流水线:
设备接入时只需要证明"我是谁"(公钥即身份),剩下的交给系统。 能直连就直连,直连不了就走中继,网络变了就重新选路 —— 这些都不需要你知道。
对联机来说,"连上"还不够
两台电脑互相 ping 得通,游戏里也未必能联机。局域网游戏找房间靠的是广播和组播, 而大多数只转发单播的虚拟网络会把它们丢掉 —— 结果就是连上了、房间列表里却看不见对方。
所以 1.0.0 在"连上"之上还要多做两件事:把游戏的广播和组播真正送到朋友那边, 以及选路时优先保证延迟稳定。详见局域网联机:1.0.0 做什么。
更长远的方向 —— 网络出口、按应用分流、通用组网 —— 都排在 1.0 之后。
它不适合什么
把话说在前面,免得你花时间读完才发现不对路:
- 不是匿名网络。 Meshora 的目标是连通性和可控性,不是隐藏你是谁。它不提供 Tor 那样的匿名性。
- 不是加速器。 它不优化你到官方游戏服务器的线路,只连你和朋友的电脑。
- 不是翻墙工具。 1.0.0 根本没有网络出口;以后的 Gateway 设计目的也只是给自己的设备提供一个可选出口,比如出差时回家上网。
- 1.0.0 不是通用组网工具。 访问家里的 NAS、多地办公组网这些场景,1.0.0 不做针对性支持。
- 不打算做无服务器的纯 P2P。 节点发现和穿透协调需要一个协调点。控制面可以自建,但它存在。
下一步:核心概念 会把 Node、能力、路径这三个词说清楚。