六、配置管理
6.1 配置结构层次
AppConfiguration
全局配置
网络配置
安全配置
模式配置
concurrent: 并发数
cdn: CDN端口
vmem: 虚拟内存
TCP配置
UDP配置
MUX配置
WebSocket配置
listen.port: 20000
turbo: 加速
fast-open: 快速打开
cwnd/rwnd: 窗口大小
listen.port: 20000
static: 静态隧道
dns: DNS配置
aggligator: 聚合器
keep-alived: 保活
congestions: 拥塞控制
timeout: 超时
host: 域名
path: 路径
ssl: SSL证书
key: 加密配置
protocol: 协议加密
transport: 传输加密
masked: 流量混淆
plaintext: 明文传输
client: 客户端
server: 服务器
guid: 唯一标识
server: 服务器地址
mappings: 端口映射
routes: 路由规则
proxy: 代理配置
node: 节点ID
subnet: 子网支持
mapping: 映射支持
backend: 管理后端
6.2 配置加载流程
应用实例 验证器 JSON解析器 配置加载器 命令行解析 主程序 应用实例 验证器 JSON解析器 配置加载器 命令行解析 主程序 alt [验证成功] [验证失败] 解析命令行参数 提取配置文件路径 LoadConfiguration() 读取 appsettings.json 解析 JSON 结构 返回 JSON 对象 验证配置项 检查必填项 验证数值范围 验证加密算法 验证结果 创建配置对象 初始化组件 返回错误 打印错误信息 退出程序
七、并发与线程模型
7.1 线程
协程池
工作线程
IO 线程池
主线程
主事件循环
定时器 Tick
UI更新
IO Thread 1
IO Thread 2
IO Thread N
Boost.Asio Context 1
Boost.Asio Context 2
Boost.Asio Context N
加密处理线程
数据包处理线程
DNS查询线程
协程 1
协程 2
协程 N
BufferswapAllocator
缓冲区分配器
7.2 SSMT 超线程优化模式
线程数配置
SSMT 同步超线程IO
st
mq
优化模式
单连接大流量模式
多连接高并发模式
优化大文件传输
减少线程切换
提升单连接吞吐
优化并发连接
负载均衡
多队列处理
1 线程: 单核优化
CPU核心数: 多核优化
八、网络协议
8.1 传输协议栈
链路层
网络层
加密层
传输层协议
应用层协议
HTTP/HTTPS
WebSocket
WebSocket SSL
PPP Native
TCP
UDP
MUX 协议
协议层加密
传输层加密
TLS/SSL
IPv4
IPv6
ICMP
TUN/TAP 设备
Ethernet
8.2 双协议栈
TAP 设备
CTCP 协议栈
LWIP 协议栈
协议栈选择
用户数据
Windows: 默认LWIP
Linux/macOS: 默认CTCP
网络数据包
协议栈类型
LWIP 初始化
LWIP TCP
LWIP UDP
LWIP IP层
LWIP 以太网
内核协议栈
系统 TCP
系统 UDP
系统 IP
系统以太网
虚拟网卡
九、高级功能
9.1 MUX 多路复用
服务器 物理连接 通道 N 通道 2 通道 1 MUX 层 应用程序 服务器 物理连接 通道 N 通道 2 通道 1 MUX 层 应用程序 par [并行传输] 单个物理连接 多个虚拟通道 提升并发性能 建立连接 创建物理连接 连接服务器 创建虚拟通道 1 创建虚拟通道 2 创建虚拟通道 N 数据流 1 分配到通道 1 发送 传输 数据流 2 分配到通道 2 发送 传输 数据流 N 分配到通道 N 发送 传输
9.2 UDP 静态隧道与聚合器
特性对比
静态隧道模式
聚合器模式
模式选择
客户端
> 0 <= 0
VNP 客户端
aggligator 值
聚合器模式
静态隧道模式
Aggligator 客户端
通道 1
通道 2
通道 N
聚合服务器 1
聚合服务器 2
聚合服务器 N
VNP 服务器
静态隧道客户端
转发服务器 1
转发服务器 2
VNP 服务器
聚合器特性:
-
带宽聚合
-
多线路并行
-
负载均衡
静态隧道特性: -
固定转发
-
简单可靠
-
低延迟
9.3 智能路由分流 (VBGP)
是
否
匹配 Bypass
不匹配
是
否
CMCC
CUCC
CTCC
其他
网络数据包
DNS 规则匹配?
应用 DNS 规则
IP 地址匹配?
直连
旁路路由
启用 VBGP?
选择物理网卡
直连网关
智能路由选择
VNP 隧道
路由表查询
运营商匹配?
移动网卡
联通网卡
电信网卡
直连
加密隧道
VNP 服务器
数据发送
十、加密算法
SIMD 优化
支持的加密算法
算法类型
加密层次
密钥管理
Key Configuration
kf: 密钥因子
kx: 交叉因子
protocol-key
transport-key
协议层加密
传输层加密
协议算法
传输算法
aes-128-cfb
aes-256-cfb
aes-128-gcm
aes-256-gcm
rc4-md5
none 明文
aes-128-cfb
aes-256-cfb
aes-128-gcm
aes-256-gcm
AES-NI 硬件加速
simd-aes-128-cfb
simd-aes-256-cfb
simd-aes-128-gcm
simd-aes-256-gcm