Skyline Speeder 正式开源 🚀

Skyline Speeder 是一套只在 TCP 发送端部署的加速方案,客户端继续用标准 TCP,不装软件、不打补丁、不用做任何配置。

适用场景:带宽充足、存在非拥塞性随机丢包的单向长流,典型条件是丢包 10–20%、RTT 100–300ms。

设计思路
Skyline Speeder 默认认为丢包不携带拥塞信息,不会因为丢包降窗。它只认两种真实拥塞信号:排队时延增长和 ECN 标记。

组成
- `skyline_cc`:eBPF struct_ops 拥塞控制,负责自适应 cwnd、丢包率补偿和 pacing
- `skyline_policy`:cgroup sockops,负责早期丢包感知和动态 RTO 上下限
- `skyline_tc`:TC egress,负责重传包的 DSCP 标记和统计
- skyline-speederd / `ssctl`:Rust 常驻控制面和命令行

其中四个加速模块默认全开,也可以单独开关:
- adaptive-cwnd:自动调节一次能发多少,加速主要靠它
- loss-classifier:判断丢包是噪声还是真拥塞,是噪声就不减速
- pacing:把数据均匀发出去,而不是一次全挤出去
- early-loss:更早发现丢包

另外有 16 个运行时参数可以在线调整,每条连接在 RTT 边界平滑切换,不需要重启。

实测(100M 链路)
- RTT 100ms / 丢包 20%:BBR 3.54M → Skyline 94.92M
- RTT 300ms / 丢包 20%:BBR 3.48M → Skyline 79.92M

对比原生 BBR
闭环探测带宽,但高丢包下会间接受丢包影响,速度明显下降。

对比 tcp-brutal
开环,需要你自己指定发送速率,不感知拥塞,也没有自保护。

Skyline Speeder
闭环自动估计带宽,不受丢包影响,并且有排队时延和 ECN 护栏做拥塞保护。基于 eBPF CO-RE 实现,加载前经过内核验证器检查。

如果出口带宽是已知且固定的,内核版本又比较旧,tcp-brutal 更简单。如果带宽未知或经常变化,需要可观测性和拥塞保护,并且能用 6.12 以上内核,选 Skyline Speeder。两者都不适合真正拥塞的瓶颈链路。

使用须知
- 内核需要 6.12 LTS 及以上,6.1 和 6.6 分支不支持
- 如果丢包来自设备排队溢出,而不是随机丢包,使用后效果会变差
- 安装脚本不会安装任何代理,也不监听任何端口

一键安装

curl -fsSL https://raw.githubusercontent.com/CYBERVERSE-Research/skyline-speeder/main/scripts/bootstrap.sh | sudo bash


项目地址:https://github.com/CYBERVERSE-Research/skyline-speeder

GPL-2.0 开源 · 由 Skyline Connect 独家冠名

欢迎大家提供使用反馈,Star 或提 PR

📩 联系方式

👉 官方交流群
https://t.me/skylineconnect_216211

👉 官方公告板
https://t.me/skylineconnect_announcement

👉 IPT / 服务器租用 / 托管咨询
https://t.me/Nothing_here_pm91j GitHub - CYBERVERSE-Research/skyline-speeder: Sender-side TCP acceleration: eBPF struct_ops congestion control with a Rust control…
 
 
Back to Top