
爱加速传输协议从 2024 年开始自研,经历 11 个内部版本后正式替换第三方的通用隧道实现。新内核代号 AJ-Turbo,采用 1-RTT 握手、可变长头部与自适应拥塞控制,在保持加密强度的同时把协议开销压到 2.8%。
通用方案的麻烦在于“通用”本身:为了兼容各种网络环境,头部字段长、握手轮次多,弱网下重传策略偏保守。跨境链路的典型特征是丢包率波动大、RTT 跨度大,通用方案在这种环境里经常做出错误判断,把可用带宽估得过低。
自研内核的三个关键改动
第一是握手。AJ-Turbo 把密钥协商与身份认证合并到一次往返,配合服务端会话票据,二次连接可直接 0-RTT 恢复。实测首连握手时间从 186 毫秒降到 84 毫秒,二次连接从 92 毫秒降到 11 毫秒。
第二是拥塞控制。内核同时维护 BBR 与自研的 AJ-CC 两套算法,按链路特征自动切换:高带宽低丢包用 BBR 抢吞吐,高抖动链路用 AJ-CC 保稳定。技术总监高远说:“我们不假设链路是良性的。算法每 200 毫秒重新判断一次链路类型,切换过程不重置窗口。”
第三是头部压缩。可变长头部让常见的短报文只占 6 字节,比通用方案的 32 字节减少 81%。对游戏、语音这类小包密集的场景,头部开销的下降直接体现为有效载荷比例提升。
弱网测试:吞吐提升 2.4 倍
测试用 tc netem 模拟 4 种弱网环境,每种环境跑 30 分钟、3 轮取中位数,客户端与服务端均为正式版本,结果如下。
| 网络环境 | 通用方案吞吐 | AJ-Turbo 吞吐 | 首连握手 |
|---|---|---|---|
| 5% 丢包 / 120ms | 18.4Mbps | 44.6Mbps | 84ms |
| 10% 丢包 / 200ms | 7.2Mbps | 19.8Mbps | 91ms |
| 20% 丢包 / 260ms | 2.1Mbps | 5.9Mbps | 104ms |
| 正常网络 / 30ms | 312Mbps | 486Mbps | 78ms |
在 20% 丢包的极端环境下,吞吐从 2.1Mbps 提升到 5.9Mbps,提升 181%,仍未达到 2.4 倍的峰值,但已经能支撑 1080P 视频与语音通话。正常网络下的提升主要来自头部压缩与窗口扩大,峰值吞吐从 312Mbps 提高到 486Mbps。
安全与兼容性
加密采用 ChaCha20-Poly1305 与 AES-256-GCM 双套件,按 CPU 指令集自动选择;会话密钥每 10 分钟轮换一次,轮换过程不中断连接。协议层不记录用户访问目标,日志仅保留连接时间、流量体积与节点编号,用于计费与故障排查。
“自研协议最大的风险是自以为安全。我们请了外部团队做了两轮渗透测试,第一轮就找出 3 个内存越界问题,全部修复后才敢全量。”——爱加速技术总监 高远
AJ-Turbo 已随 4.7.6 版本全平台上线,覆盖 Windows、macOS、Android、iOS 与 Linux。老版本客户端仍可使用旧协议,但无法享受握手与弱网优化,建议前往下载页更新到最新版本。
用户评论
地铁上信号差的地方以前基本废,现在刷网页居然能开,弱网优化确实有效果。
关心的是隐私,看了说明只保留连接日志不记录访问内容,这点比较放心。
Linux 版也更新了,之前一直用旧协议,握手快了不少。
20% 丢包还能跑到 5.9Mbps,这个数据有点东西。