Files
NetFusion/README.md
T
2026-10-15 13:09:30 +08:00

823 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NetFusion
> **多链路智能网络操作系统 / Multi-Link Intelligent Network Platform**
NetFusion 是一个面向便携式路由器、移动办公和复杂网络环境的多链路网络平台。
它将 **RJ45、USB、4×蜂窝网络、Wi-Fi** 等多种网络接入统一管理,并通过 **Smart Route、Network Bonding、Global Proxy、Tailscale、Communication Gateway** 等能力,实现自动选路、链路聚合、全球互联网访问和远程内网访问。
---
## 1. 项目愿景
NetFusion 的核心目标:
> **让用户不需要关心“应该走哪张 SIM、哪条 WAN、是否需要代理”,系统自动选择最合适的网络路径。**
典型场景:
- 国内网站 → 国内运营商链路直连
- 海外网站 → 优先使用海外 SIM
- 国内 SIM 无法直接访问海外目标 → 自动切换到全球代理
- 没有海外 SIM → 通过海外 VPS 建立代理隧道
- 大文件上传/下载 → 多条 WAN 聚合
- 远程办公 → Tailscale 访问家庭/公司内网
- 多张 SIM 收到短信 → 通过互联网转发到 App/Web
- 蜂窝语音 → 在 Modem/运营商支持 VoLTE 的前提下扩展 IP 语音网关
---
## 2. 整体架构
![NetFusion 整体架构](assets/netfusion-architecture.png)
上图展示了 NetFusion 的完整系统架构,包括:
- 4× 独立蜂窝 Modem / SIM
- RJ45 WAN
- RJ45 LAN 1~4
- USB / USB-C
- Wi-Fi 6/7
- Smart Route
- Network Bonding
- Global Proxy
- Tailscale
- SMS / Voice Gateway
- Cloud VPS / Bond Server
---
## 3. 核心架构
```text
┌──────────────────────┐
│ Internet │
└──────────┬───────────┘
│
┌────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
国内网站 海外网站 海外服务
│ │ │
└────────────────┼────────────────┘
│
┌───────▼───────┐
│ Smart Route │
│ 智能选路 │
└───────┬───────┘
│
┌───────────────────────┼────────────────────────┐
│ │ │
▼ ▼ ▼
DIRECT FOREIGN-WAN PROXY
国内直连 海外 SIM D 海外 VPS
│ │ │
SIM A/B/C SIM D A/B/C → VPS
│ │ │
└───────────────────────┼────────────────────────┘
│
▼
┌───────────────┐
│ NetFusion OS │
└───────┬───────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
Tailscale Bond Gateway
│ │ │
内网访问 多链路聚合 SMS/Voice
```
---
# 4. 网络接入
NetFusion 将不同类型的网络统一抽象为 WAN Interface。
```text
WAN-A ← SIM A / Modem A
WAN-B ← SIM B / Modem B
WAN-C ← SIM C / Modem C
WAN-D ← SIM D / Modem D
WAN-E ← RJ45
WAN-F ← USB Network / Modem
```
## 4.1 四张 SIM
建议采用:
```text
SIM A → 独立 Modem A → WAN A
SIM B → 独立 Modem B → WAN B
SIM C → 独立 Modem C → WAN C
SIM D → 独立 Modem D → WAN D
```
而不是一个 Modem 在四张 SIM 之间切换。
原因是 NetFusion 的目标是:
> **四条蜂窝链路同时在线。**
这样才能进行 Multi-WAN、故障切换和真正的多链路聚合。
---
# 5. Smart Route 智能选路
Smart Route 是 NetFusion 的核心。
它不是简单的:
```text
国内 → SIM A
国外 → SIM D
```
而是根据:
- 目标域名
- 目标 IP
- 国家/地区
- 链路可达性
- RTT
- 丢包率
- 实时带宽
- 当前负载
- 用户策略
- 网络成本
综合决定出口。
## 5.1 用户定义的核心策略
### 情况 A:国内卡 + 海外卡
```text
访问国内网站
↓
Smart Route
↓
SIM A / B / C
↓
国内互联网
```
海外网站:
```text
访问海外网站
↓
Smart Route
↓
SIM D 是否可用?
│
┌─┴─┐
YES NO
│ │
▼ ▼
SIM D PROXY
```
### 情况 B:只有国内卡
```text
海外网站
↓
Smart Route
↓
没有可用海外 WAN
↓
Global Proxy
↓
加密隧道
↓
海外 VPS
↓
Internet
```
因此:
> **即使四张卡全部是国内运营商,也可以通过全球代理访问互联网。**
---
# 6. 四种主要出口模式
| 模式 | 典型用途 | 出口 |
|---|---|---|
| `DIRECT` | 国内网站、可直连目标 | SIM A/B/C/RJ45 |
| `FOREIGN-WAN` | 海外目标 | SIM D |
| `PROXY` | 国内链路无法直接访问的目标 | 海外 VPS |
| `BOND` | 大文件、视频、上传下载 | 多条 WAN |
---
# 7. 网络聚合 Bonding
普通 Multi-WAN:
```text
连接 1 → SIM A
连接 2 → SIM B
连接 3 → SIM C
连接 4 → SIM D
```
它主要解决多连接负载均衡。
NetFusion 的 Bonding 则进一步建立:
```text
┌──────────────┐
SIM A ──────────────────►│ │
SIM B ──────────────────►│ Bond Client │
SIM C ──────────────────►│ │
SIM D ──────────────────►│ │
RJ45 ───────────────────►│ │
USB ────────────────────►│ │
└──────┬───────┘
│
Multi-Path Tunnel
│
▼
┌──────────────┐
│ Bond Server │
│ VPS │
└──────┬───────┘
│
▼
Internet
```
Bond Engine 需要处理:
- Path Scheduling
- Packet Sequencing
- Packet Reordering
- Loss Recovery
- Congestion Control
- Path Health
- Dynamic Weight
- Connection Persistence
可评估的底层技术方向:
- QUIC
- Multipath QUIC
- MPTCP
- 自定义 UDP/QUIC Transport
---
# 8. Global Proxy
代理应该是 NetFusion 的系统级出口,而不是要求每个终端单独安装软件。
```text
手机
电脑
平板
游戏机
IoT
│
│ Wi-Fi / LAN
▼
NetFusion
│
▼
Smart Route
│
▼
Global Proxy
│
▼
Encrypted Tunnel
│
▼
海外 VPS
│
▼
Internet
```
## 两种模式
### Router Transparent Proxy
终端无需安装代理软件。
```text
Client
↓
NetFusion
↓
Transparent Proxy
↓
VPS
↓
Internet
```
### Client Proxy
NetFusion 提供代理入口:
```text
HTTP Proxy
SOCKS5
Mixed
TUN
```
终端可以自行选择代理模式。
---
# 9. Tailscale
NetFusion 可以作为 Tailscale 节点。
主要提供:
### Subnet Router
```text
远程手机
│
Tailscale
│
NetFusion
│
└── LAN
├── NAS
├── PC
├── 摄像头
└── IoT
```
### Exit Node
```text
手机
│
Tailscale
│
NetFusion
│
Smart Route
│
Internet
```
因此 Tailscale 与 Smart Route 可以协同工作。
---
# 10. SMS / Voice Gateway
## 10.1 SMS
目标不是:
```text
收到 SMS
↓
再发送一条 SMS
```
而是:
```text
SIM
↓
Modem
↓
NetFusion SMS Service
↓
JSON / WebSocket / HTTPS
↓
Cloud
↓
App / Web
```
例如:
```json
{
"sim": 1,
"from": "+86xxxxxxxxxxx",
"time": "2026-10-15T12:00:00",
"text": "验证码 123456"
}
```
这样短信实际上是:
> **蜂窝网络接收 + IP 数据转发**
而不是重新占用短信通道发送。
---
## 10.2 Voice
电话能力比 SMS 复杂。
目标架构:
```text
来电
↓
蜂窝 Modem
↓
VoLTE / Voice
↓
NetFusion Voice Gateway
↓
SIP / IP
↓
Internet
↓
手机 / App / VoIP Client
```
该功能需要在硬件选型阶段确认:
- Modem 是否支持 VoLTE
- Linux/OpenWrt 驱动能力
- 运营商语音能力
- IMS/VoLTE 配置
- 音频接口
- SIP/IP 语音实现
因此 Voice Gateway 建议作为后续版本开发。
---
# 11. 软件系统架构
```text
┌───────────────────────────────────────────────┐
│ NetFusion Web UI │
│ REST / WebSocket API │
└───────────────────────┬───────────────────────┘
│
Controller / API
│
┌───────────────┼────────────────┐
│ │ │
▼ ▼ ▼
WAN Manager Smart Route Service Manager
│ │ │
▼ ▼ ┌───────┼────────┐
Modem nftables │ │ │
netifd ip rule Proxy Tailscale Gateway
│ │ │ │
└───────────────────────────┴───────┴────────┘
│
▼
OpenWrt / Linux
│
┌───────────────┼────────────────┐
▼ ▼ ▼
SIM A-D RJ45 / USB Wi-Fi
```
---
# 12. 推荐硬件架构
第一版原型建议优先采用 x86_64 平台,例如:
- Intel N100 / N305 级别 CPU
- 4 × 独立 4G/5G Modem
- 4 × Nano-SIM
- 1 × 2.5GbE WAN
- 4 × RJ45 LAN
- USB 3.x
- USB-C
- Wi-Fi 6/7
- 多天线系统
- 12V 输入电源
重点关注:
1. PCIe / USB 总带宽
2. 4 个 Modem 同时工作的峰值功耗
3. 供电峰值电流
4. 蜂窝 Modem 散热
5. 5G 射频之间的隔离
6. Wi-Fi 与蜂窝天线之间的干扰
7. Modem 驱动与 OpenWrt 兼容性
8. VoLTE / SMS 能力
---
# 13. 推荐外部接口
```text
┌────────────────────────────────────────────────────────┐
│ NetFusion Router │
│ │
│ [USB-C] [USB-A] [LAN1] [LAN2] [LAN3] [LAN4] │
│ [WAN 2.5G] [DC] │
│ │
│ [SIM1] [SIM2] [SIM3] [SIM4] │
│ │
│ Wi-Fi 6 / Wi-Fi 7 │
└────────────────────────────────────────────────────────┘
```
其中:
- `WAN`:外部有线网络
- `LAN1~LAN4`:本地有线设备
- `USB-A`:Modem / 存储 / 扩展
- `USB-C`:供电、调试或扩展
- `SIM1~SIM4`:四个独立蜂窝网络
- `Wi-Fi`:移动终端接入
---
# 14. 典型工作流程
## 场景 1:国内网站
```text
设备
↓
NetFusion
↓
Smart Route
↓
国内目标
↓
SIM A/B/C
↓
Internet
```
## 场景 2:海外网站 + D 卡正常
```text
设备
↓
NetFusion
↓
Smart Route
↓
海外目标
↓
SIM D
↓
Internet
```
## 场景 3:海外网站 + 只有国内卡
```text
设备
↓
NetFusion
↓
Smart Route
↓
无海外 WAN
↓
Global Proxy
↓
海外 VPS
↓
Internet
```
## 场景 4:大流量下载
```text
设备
↓
NetFusion
↓
Bond Engine
├── SIM A
├── SIM B
├── SIM C
├── SIM D
├── RJ45
└── USB
↓
Bond Server
↓
Internet
```
## 场景 5:远程访问家庭内网
```text
远程设备
↓
Tailscale
↓
NetFusion
↓
LAN
├── NAS
├── PC
└── Camera
```
---
# 15. 开发路线
## V1 — 基础路由
- OpenWrt
- Wi-Fi
- 2.5G WAN
- 4 × LAN
- USB
- 2 × 蜂窝 Modem
- Multi-WAN
- Tailscale
- Global Proxy
## V2 — 四链路
- 4 × 独立蜂窝 Modem
- 四 WAN 同时在线
- WAN Health Monitor
- Smart Route
- 自动故障切换
## V3 — Bonding
- Bond Client
- Bond Server
- 多路径调度
- 上传/下载聚合
- 链路故障恢复
## V4 — SMS Gateway
- 多 SIM 短信接收
- SMS API
- Web Dashboard
- Cloud Relay
- App/Web 推送
## V5 — Voice Gateway
- VoLTE
- Voice Gateway
- SIP/IP 语音
- 来电转发
## V6 — 产品化
- 完整 Web UI
- 移动端管理
- 远程升级
- 配置备份
- 日志与监控
- 功耗优化
- 散热优化
- 量产测试
---
# 16. 项目目录建议
```text
NetFusion/
├── README.md
├── docs/
│ ├── architecture.md
│ ├── smart-route.md
│ ├── bonding.md
│ ├── proxy.md
│ ├── tailscale.md
│ └── gateway.md
├── assets/
│ └── netfusion-architecture.png
├── firmware/
├── netfusion-controller/
├── netfusion-bond/
├── netfusion-route/
├── netfusion-gateway/
├── web-ui/
└── server/
├── bond-server/
└── relay-server/
```
---
# 17. 核心设计原则
### Principle 1 — 网络抽象
所有网络首先统一为 WAN Interface。
### Principle 2 — 策略与链路解耦
Smart Route 决定“应该走哪里”,WAN Manager 决定“哪些链路可用”。
### Principle 3 — Bond 与 Proxy 解耦
Proxy 负责出口,Bond 负责多路径传输。
### Principle 4 — Tailscale 与业务解耦
Tailscale 负责安全组网,不直接承担所有代理/聚合逻辑。
### Principle 5 — 自动化优先
用户不应该手动选择 SIM。
```text
目标
↓
探测
↓
策略
↓
评分
↓
自动选择
↓
自动切换
```
---
# 18. 最终产品定义
**NetFusion**
> **一台路由器 · 多种网络 · 智能选路 · 网络聚合 · 全球互联**
NetFusion 最终不是简单的“4 SIM 随身 Wi-Fi”,而是一个以 Linux/OpenWrt 为基础的 **Multi-Link Network OS**。
核心模块:
```text
NetFusion
│
├── Connectivity Manager
│ ├── 4× Cellular
│ ├── RJ45
│ ├── USB
│ └── Wi-Fi
│
├── Smart Route
│
├── Bond Engine
│
├── Global Proxy
│
├── Tailscale
│
└── Communication Gateway
├── SMS
└── Voice
```
---
## License
项目早期可暂不确定许可证。正式开源前建议根据以下内容选择:
- 是否开放核心 Bond Engine
- 是否开放 Web UI
- 是否开放硬件设计
- 是否允许商业闭源衍生
- 是否需要区分 Open Source 与商业版组件
---
## Status
**Project: NetFusion**
**Stage: Architecture / Prototype Planning**
当前重点:
- [ ] 硬件原型
- [ ] 4× Modem 同时在线
- [ ] Smart Route
- [ ] Multi-WAN
- [ ] Bond Client / Server
- [ ] Global Proxy
- [ ] Tailscale
- [ ] SMS Gateway
- [ ] Voice Gateway
- [ ] Web UI