搜索 K
Appearance
如果你只想知道"千兆宽带为什么跑不满",记住下面五条就够用了:
很多人默认"BGP 线路 = 优质线路",这是个典型误读。边界网关协议(BGP)的唯一职责是在自治系统(AS)之间交换可达性信息——它决定你的包走哪条路,不决定走得多快。
真正的选路逻辑由这几件事共同决定:
prepend 人为加长路径来操纵流量走向。所以,你看到的"延迟低",可能是机房跟你的运营商有直连对等(Peering);而"晚高峰掉速",往往是这条对等链路被打满了。
| 维度 | BGP 中转 | IEPL / IPLC 专线 |
|---|---|---|
| 承载层 | 公网骨干,共享 | 物理/逻辑专线,独占或半独占 |
| 晚高峰表现 | 波动 30%-60% | 波动 < 5% |
| 成本量级 | 1x | 3x - 8x |
| 扩容弹性 | 高,随时加带宽 | 低,需提前签容量 |
| 适用场景 | 大流量下载、日常出海 | 直播、实时交易、企业内网互通 |
关键认知:专线贵的不是"更快",是"更稳"。 IEPL 的峰值带宽可能还不如一条优质 BGP 大管道,但它的 P99 延迟和抖动控制在一个数量级之内。
机房买的是 10 Gbps 物理端口,卖给 500 个用户各 1 Gbps,超售比就是 50:1。白天没人在线时你能跑到 800 Mbps,晚上八点所有人同时开下载,你分到 20 Mbps。
这不是骗人,这是行业普遍的商业模型。问题在于——很少有商家主动公示超售比。判断方法在第六节的排障手册里给出。
传统 CUBIC 基于丢包判断拥塞。跨境链路一旦丢包率超过 1%,CUBIC 会把窗口砍半再砍半,吞吐断崖式下跌。
Google 的 BBR 系列换了个思路:用带宽和 RTT 的实时估计来建模,而不是等丢包。BBRv3(2023 年后逐步落地)在高丢包长肥管道(Long Fat Network)上的表现明显优于 BBRv2 和 CUBIC——在 5% 丢包、200 ms RTT 的条件下,仍能维持 70%-80% 的理论吞吐。
这意味着:服务端 / 中转节点是否启用 BBRv3,对跨境大文件下载的体验影响,可能比带宽本身还大。
带宽时延积(Bandwidth-Delay Product)= 带宽 × RTT。
想跑满 1 Gbps、RTT 200 ms 的链路,接收窗口至少要 1 Gbps × 0.2 s ÷ 8 = 25 MB。
而 Linux 默认 tcp_rmem 最大自动调优值通常在 6 MB 左右,Windows 更保守。结果就是:你不调参数,单线程永远跑不满千兆,跟你买多贵的线路无关。
Reality 类协议通过借用真实站点的 TLS 指纹来规避主动探测,握手成本比 TLS 1.3 略高,但只体现在连接建立阶段。数据传输阶段使用 AEAD 加密(ChaCha20-Poly1305 或 AES-GCM),在有 AES-NI 指令集的现代 CPU 上,单核吞吐可以到 1.2-1.8 Gbps。
所以:加密不是大带宽下载的瓶颈,CPU 单核性能和协议实现质量才是。
下表基于 AirPick 实验室 2026 年 Q1 的实测数据归纳,区间反映不同地区、不同运营商的离散度。
| 量化指标 | A 档(低价大流量) | B 档(均衡主力) | C 档(专线旗舰) |
|---|---|---|---|
| 单线程峰值下行 | 5-15 MB/s | 25-45 MB/s | 50-95 MB/s |
| 8 线程聚合峰值 | 100-200 Mbps | 350-600 Mbps | 800-950 Mbps |
| 晚高峰(20:00-23:00)保持率 | 30%-55% | 65%-85% | 90%-98% |
| 年付折算月费 | 4-9 元 | 10-25 元 | 40-100 元 |
| 月流量额度 | 100-500 GB | 1-3 TB | 不限或 5 TB+ |
| 估测超售比 | 50:1 以上 | 15:1 - 30:1 | 3:1 - 8:1 |
| 入口链路类型 | 单线 BGP 中转 | 多线 BGP 中转 | IEPL / IPLC 专线 |
| 至东京平均 RTT | 60-120 ms | 40-70 ms | 25-45 ms |
| 至洛杉矶平均 RTT | 180-260 ms | 140-190 ms | 110-160 ms |
| 流媒体与 AI 服务解锁 | 部分可用 | 多数可用 | 全面可用 |
| 建议同时在线设备 | 3-5 台 | 5-10 台 | 10 台以上 |
读表要点:
aria2、IDM、Motrix 这类多线程工具才是主力,第 2 行比第 1 行更重要。目标:git clone 大仓库、pip install、拉 Docker 镜像、下载 Release 附件。
优先级:多线程峰值 > 延迟 > 流量额度。
GitHub 的 CDN(objects.githubusercontent.com)在国内访问经常被调度到新加坡或日本节点,RTT 70-150 ms。走一条东京/大阪 BGP 中转,可以把 RTT 压到 40-60 ms,Clone 速度从 800 KB/s 提升到 20-50 MB/s。
推荐档位:B 档。 对绝大多数开发者来说,B 档的多线程 400 Mbps 已经完全够用,没必要为 C 档多付 3 倍钱。
目标:HuggingFace 模型、阿里云盘/夸克网盘分享文件、PT 站资源。
这里有个必须说清楚的坑: 国内网盘(百度、阿里、夸克)的限速是服务端账号级策略,跟你走什么线路完全无关。你换十家机场,百度网盘不开会员还是 100 KB/s。
真正能被线路优化的场景是:
推荐档位:B 档起步,PT 站用户直接上 C 档。 PT 站讲究分享率,上传跑不动就是白搭。
目标:偶尔看 YouTube、刷 X、查资料,一天流量不超过 5 GB。
推荐档位:A 档或年付平价混合方案。 这个群体的核心诉求是"低月费 + 够用即可",为专线付溢价属于浪费。
飞猫云这类 BGP 中转 + IEPL 混合架构,年付折合约 7 元/月,落在这个场景的甜点上——用 BGP 大管道承载日常流量压低成本,用少量专线资源保底延迟。对于"平时看视频、偶尔下个几百 MB 文件"的用户,体验已经足够。
目标:低抖动、低 P99 延迟、链路可预测。
推荐档位:C 档专线。 这里没有任何省钱空间。一次直播卡顿带来的损失,够你买好几年专线。
IDM 配置要点:
aria2 关键参数:
aria2c -x16 -s16 -k1M --min-split-size=1M --max-connection-per-server=16 \
--file-allocation=none --disk-cache=64M \
--user-agent="Mozilla/5.0" -o output.bin "https://example.com/big.iso"-x16 单服务器最大连接数,-s16 分片数,两者要匹配。--file-allocation=none 避免预分配大文件时卡 IO。--continue 配合 -x 之外的多线程写盘模式,容易产生碎片化写入。windows 侧还要调一个东西:
netsh int tcp set global autotuninglevel=normal
netsh int tcp set supplemental template=internet congestionprovider=default接收窗口自动调优默认就是 normal,但某些"优化软件"会把它改成 disabled,导致单线程下载上不去。
查看并临时调整接收窗口:
sysctl net.ipv4.tcp_rmem
# 输出示例:4096 131072 6291456
# 第三个值是自动调优上限,6 MB 对千兆长肥管道远远不够
sudo sysctl -w net.ipv4.tcp_rmem="4096 262144 33554432"
sudo sysctl -w net.ipv4.tcp_wmem="4096 262144 33554432"启用 BBR(如果节点侧没开,本机开了也有帮助):
sudo modprobe tcp_bbr
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sysctl net.ipv4.tcp_congestion_control # 确认已生效用 Clash / sing-box 做旁路由时,最容易踩的坑是 CPU 成为瓶颈。
避坑建议:大带宽刷流场景,直接在终端设备上跑客户端,不要过软路由。软路由适合多设备统一管理,不适合极限吞吐。
iOS 上 Shadowrocket / Stash 的吞吐受单核性能和内存限制,一般 100-300 Mbps 封顶。安卓端 Clash Meta for Android 表现更好,但同样不建议在手机上做大文件下载——发热降频之后速度会腰斩。
以下命令按"从外到内"的顺序执行,每一层定位一个变量。
# 100 个包,报告模式,显示 AS 号和自治系统信息
mtr -rwzbc 100 1.1.1.1判定标准:
| 现象 | 大概率原因 | 处理方向 |
|---|---|---|
| 前 3 跳就有 20%+ 丢包 | 本地 ISP 或光猫问题 | 检查光猫、换网线、重启 |
| 中间某跳丢包但末跳正常 | 该跳 ICMP 限速,非真实丢包 | 忽略,看末跳 |
| 从某跳开始持续丢包到末跳 | 跨境骨干拥塞 | 更换落地,或换时间段测试 |
| 全程延迟高但无丢包 | 绕路,AS Path 不优 | 检查入口机房的对等质量 |
# 需要先安装 tcping
tcping -t 10 -c 20 你的节点IP 443关注三个值:最小延迟、平均延迟、丢包率。平均延迟比最小值更重要——最小值好看但平均抖动大,说明链路不稳定。
curl -o /dev/null -s -w \
"DNS: %{time_namelookup}s | TCP: %{time_connect}s | TLS: %{time_appconnect}s | TTFB: %{time_starttransfer}s | 总计: %{time_total}s | 速度: %{speed_download} B/s\n" \
"https://speed.cloudflare.com/__down?bytes=104857600"关键解读:
time_namelookup 超过 0.5s → DNS 污染或解析器慢,换 DoH/DoT。time_appconnect - time_connect 超过 1s → TLS 握手慢,可能是节点 CPU 吃紧。TTFB 高但 speed_download 正常 → 只是首包慢,不影响刷流。speed_download 低 → 真正的问题在上游带宽或拥塞控制。# 需要节点侧也跑 iperf3 -s
iperf3 -c 节点IP -p 5201 -P 8 -t 30 -R-P 8 开 8 条并发流,-R 反向(测下行)。如果单线程只有 30 Mbps 而 8 线程能到 400 Mbps,说明瓶颈在单流拥塞窗口,不在总带宽——这是正常现象,不用折腾。
如果 8 线程也上不去,那就是真的带宽不够或者被限速了。
# 另开一个窗口,一边跑下载一边执行
ss -tin dst 目标IP输出里的 cwnd 字段就是当前拥塞窗口(单位是 MSS)。如果 cwnd 长期停在几十,说明链路在持续丢包或 RTT 估算异常。如果 cwnd 能涨到几百甚至上千,说明 BBR 工作正常。
# 连续跑三次 100MB 下载,看速度是否稳定在某个"整数阈值"附近
for i in 1 2 3; do
curl -o /dev/null -s -w "第 $i 次: %{speed_download} B/s\n" \
"https://speed.cloudflare.com/__down?bytes=104857600"
done如果三次速度高度一致地卡在 12.5 MB/s(100 Mbps)或 25 MB/s(200 Mbps)这类整数档位,基本可以确认是机房侧的令牌桶限速。 真实拥塞不会这么整齐。
| 宣传话术 | 真实情况 | 验证方法 |
|---|---|---|
| "千兆大带宽,不限速" | 端口 1 Gbps,超售比 100:1 | 晚高峰 21:00 跑多线程测速,看是否跌破标称 20% |
| "IPLC 专线" | 实为 BGP 中转包装 | 用 |