KCC vs BBR:跨洲际压力测试报告(韩国首尔 → 澳大利亚悉尼)
1. 测试环境
1.1 硬件与网络
项目 客户端 服务端 位置 韩国 首尔 澳大利亚 悉尼 云平台 Oracle Cloud ARM AWS Lightsail(ap-southeast-2a) CPU ARM Neoverse N1(0xd0c),2 核 @ 50 BogoMIPS Intel Xeon Platinum 8259CL @ 2.50GHz,2 vCPU(1 核 2 线程) 架构 aarch64 x86_64 端口 2 Gbps 1 Gbps (持续),最高突发 5 Gbps RAM — 512 MB 存储 — 20 GB SSD 操作系统 Ubuntu 18.04.6 LTS(bionic) Ubuntu 24.04.4 LTS(noble) 内核 5.4.0-1102-oracle 6.17.0-1010-aws 网络 IPv4 + IPv6 双栈 IPv4 + IPv6 双栈 测试线路 IPv4 (国际/洲际传输)IPv4 (同上)RTT 134 ms (ICMP ping × 5,min/avg/max/mdev = 134.2/134.2/134.3/0.04 ms)
两端均为 IPv4/IPv6 双栈。由于跨洲际路由的 IPv6 路径可能与 IPv4 不同(AS 路径、对等互联策略、CDN 调度等),本文仅针对 IPv4 国际传输场景评估两种拥塞控制算法的性能及适用性。以下数据均为实测结果,仅供参考。
两端均为 1 物理 CPU / 2 逻辑核心 的轻量实例。客户端端口 2 Gbps,服务端持续 1 Gbps / 突发 5 Gbps。实测 TCP 总吞吐 ~1.85 Gbps 接近客户端端口上限,瓶颈在 Oracle Cloud 的 2 Gbps 端口而非 CPU 或内存。
1.2 路由路径
去程与回程均通过韩国首尔 KINX (互联网中立交换中心)实现 Oracle Cloud 与 AWS 的对等互联,跨太平洋长距段在 AWS 骨干网上传输。
去程:首尔 → 悉尼
跳 IP AS 位置 延迟 1 140.91.214.45 AS31898(Oracle) 韩国 首尔 0.3 ms 2 139.150.100.233 AS31898 首尔 KINX 100Gbps 1.0 ms 3 139.150.100.160 AS16509(Amazon) 首尔 KINX 100Gbps 1.6 ms 4 52.93.137.210 AS16509 韩国 首尔 3.9 ms 5–9 —(ICMP 被 AWS 骨干网屏蔽) — 跨太平洋 — 10 54.206.54. *AS16509 澳大利亚 悉尼 134.2 ms
回程:悉尼 → 首尔
跳 IP AS 位置 延迟 1 52.93.137.183 AS16509(Amazon) 韩国 首尔 134.5 ms 2 52.93.137.88 AS16509 韩国 首尔 134.5 ms 3 139.150.100.234 AS31898(Oracle) 首尔 KINX 100Gbps 134.1 ms 4 140.91.214.20 AS31898 韩国 首尔 133.9 ms 5 129.154.223.* AS31898 韩国 首尔 134.3 ms
去回 RTT 严格对称(~134 ms),路径稳定无抖动(标准偏差 0.04 ms)。
1.3 测试参数与拥塞控制配置
项目 配置 工具 iperf3 v3.9,反向传输 四流参数 -c 54.206.54.* -p 11 -R -P 4(其余参数默认)单流参数 -c 54.206.54.* -p 11 -R(其余参数默认)时长 每轮 10 秒 测试顺序 KCC 先 5 轮 → BBR 后 5 轮(四流);KCC 5 轮 → BBR 5 轮(单流),每轮结束后有约 5 秒静默期供队列排空 RTT 稳定性 测试前后 ping 值不变(134ms ± 0.04ms),未观测到链路退化或缓冲区残留
算法切换 :
sysctl -w net.ipv4.tcp_congestion_control = kcc
sysctl -w net.kcc.kcc_kf_enable = 1
sysctl -w net.kcc.kcc_kf_steady_mode = 1
sysctl -w net.ipv4.tcp_congestion_control = bbr
KCC 特定配置 :
sysctl -w net.kcc.kcc_kf_enable = 1
sysctl -w net.kcc.kcc_kf_steady_mode = 1
参数 值 作用 kcc_kf_enable1跨连接全局 KF 带宽估计(L6897)→ kcc_kf_get_init_bw()(L13924)注入 kcc_kf_steady_mode1使用 kcc_kf_x_steady 单调峰值(L8477) 其余 默认 kcc_kf_discount=50/100, kcc_high_gain=2885/1000, kcc_rtt_mode=0, kcc_ecn_enable=0(默认关闭)
kcc_kf_enable=0 为出厂默认(多宿主安全考量)。本文甜品启动依赖该参数。在本测试的纯净 IPv4 链路(无 AQM / 无 ECN 标记)中,KCC 的 RTT 方向性门足以检测排队,ECN 不会带来额外增益;BBR v1 本身不支持 ECN。为公平对比,双方均在 ECN 关闭 状态下测试。
1.4 物理链路基准
BDP(Bandwidth-Delay Product,带宽时延积)= 带宽 × RTT,代表一条 TCP 连接在物理管道中"在途"的最大数据量:
R
T
T
=
134
ms
=
0.134
s
C
p
o
r
t
=
2
Gbps
=
2
,
000
Mbps
(
Oracle Cloud ARM 端口上限
)
B
D
P
p
o
r
t
=
C
p
o
r
t
×
R
T
T
8
=
2
,
000
×
0.134
8
≈
33.5
MB
B
D
P
s
i
n
g
l
e
=
911
×
0.134
8
≈
15.3
MB
(
单流实测吞吐对应 BDP
)
\begin{aligned} RTT &= 134\text{ ms} = 0.134\text{ s} \\ C_{port} &= 2\text{ Gbps} = 2,000\text{ Mbps} \quad (\text{Oracle Cloud ARM 端口上限}) \\ BDP_{port} &= \frac{C_{port} \times RTT}{8} = \frac{2,000 \times 0.134}{8} \approx 33.5\text{ MB} \\ BDP_{single} &= \frac{911 \times 0.134}{8} \approx 15.3\text{ MB} \quad (\text{单流实测吞吐对应 BDP}) \end{aligned}
R T T C p or t B D P p or t B D P s in g l e = 134 ms = 0.134 s = 2 Gbps = 2 , 000 Mbps ( Oracle Cloud ARM 端口上限 ) = 8 C p or t × R T T = 8 2 , 000 × 0.134 ≈ 33.5 MB = 8 911 × 0.134 ≈ 15.3 MB ( 单流实测吞吐对应 BDP )
KCC 四流实测 1.854 Gbps,端口利用率 92.7% (理论 TCP 有效载荷极限约 95%,受 IPv4/TCP 头部及 ACK 开销影响;92.7% 已接近物理极限)。
2. 四流并发测试
2.1 KCC 第 1 轮
秒 流 4 流 6 流 8 流 10 合计 1 70.1 70.2 69.8 70.1 280 2 556 554 551 552 2,213 3 491 424 452 706 2,073 4 593 390 556 560 2,099 5 662 451 488 490 2,091 6 510 347 374 396 1,627 7 658 471 498 501 2,128 8 658 423 456 440 1,977 9 533 412 450 442 1,837 10 605 383 407 357 1,752
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 652 479 526 552 2,160 接收 (MB) 641 478 524 549 2,139 带宽 (Mbps) 547/538 401/401 442/439 463/461 1.85 Gbps 重传 45,008 22,351 27,170 28,716 123,245
2.2 KCC 第 2 轮
秒 流 4 流 6 流 8 流 10 合计 1 71.6 71.7 71.9 71.8 287 2 474 479 472 485 1,910 3 661 665 653 616 2,595 4 359 393 428 422 1,602 5 658 676 480 467 2,281 6 495 517 502 459 1,973 7–10 464–495 438–517 468–502 437–459 1,807–1,973
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 564 580 554 524 2,172 接收 (MB) 564 578 553 524 2,170 带宽 (Mbps) 474/473 486/485 465/464 440/440 1.86 Gbps 重传 22,411 24,077 20,424 18,551 85,463
2.3 KCC 第 3 轮
秒 流 4 流 6 流 8 流 10 合计 1 71.6 71.6 72.2 69.8 285 2 668 667 671 666 2,672 3 511 506 515 507 2,039 4–10 468–471 467–470 468–490 472–479 1,876–1,903
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 549 548 556 552 2,151 接收 (MB) 548 547 552 552 2,148 带宽 (Mbps) 460/460 459/459 466/463 463/463 1.85 Gbps 重传 16,308 16,440 15,822 16,157 64,727
2.4 KCC 第 4 轮
秒 流 4 流 6 流 8 流 10 合计 1 76.5 76.4 74.5 76.5 304 2 472 469 463 469 1,873 3 738 652 667 746 2,803 4 406 444 442 395 1,687 5 592 405 425 600 2,022 6 466 396 415 570 1,847 7 644 397 432 587 2,060 8 405 384 437 402 1,628 9 550 488 526 575 2,139 10 482 436 473 506 1,897
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 583 501 526 595 2,151 接收 (MB) 582 500 525 594 2,147 带宽 (Mbps) 489/489 420/420 441/441 499/498 1.85 Gbps 重传 35,620 23,983 26,324 35,897 121,824
2.5 KCC 第 5 轮
秒 流 4 流 6 流 8 流 10 合计 1 76.4 76.5 75.6 75.7 304 2 585 595 591 604 2,375 3 573 513 509 522 2,117 4 471 546 483 501 2,001 5 611 383 565 456 2,015 6 514 330 378 373 1,595 7 742 461 524 534 2,261 8 478 365 404 399 1,646 9 583 432 555 501 2,071 10 463 402 525 518 1,908
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 618 497 559 544 2,167 接收 (MB) 615 497 557 542 2,159 带宽 (Mbps) 518/516 417/417 469/467 457/455 1.86 Gbps 重传 46,102 25,601 35,920 35,020 142,643
2.6 KCC 四流汇总
轮次 发送 接收 总吞吐 总重传 单流带宽范围 1 2.16 GB 2.14 GB 1.85 Gbps 123,245 401–547 Mbps 2 2.17 GB 2.17 GB 1.86 Gbps 85,463 440–486 Mbps 3 2.15 GB 2.15 GB 1.85 Gbps 64,727 459–466 Mbps 4 2.15 GB 2.15 GB 1.85 Gbps 121,824 420–499 Mbps 5 2.17 GB 2.16 GB 1.86 Gbps 142,643 417–518 Mbps 平均 2.16 GB 2.15 GB 1.854 Gbps 107,580 —
2.7 BBR 第 1 轮
秒 流 4 流 6 流 8 流 10 合计 1 14.8 14.8 14.9 14.8 59 2 372 368 370 368 1,478 3 606 575 698 605 2,484 4 495 525 417 491 1,928 5 464 466 457 461 1,848 6 500 496 491 493 1,980 7 508 501 510 508 2,027 8 395 533 564 408 1,900 9 460 466 494 457 1,877 10 460 466 494 457 1,877
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 528 544 555 526 2,100 接收 (MB) 514 529 539 512 2,044 带宽 (Mbps) 443/431 457/444 465/452 441/429 1.81 Gbps 重传 54,684 56,127 54,630 56,329 221,770
2.8 BBR 第 2 轮
秒 流 4 流 6 流 8 流 10 合计 1 14.8 14.7 14.7 14.7 59 2 375 376 370 371 1,492 3 516 574 616 583 2,289 4 491 486 447 488 1,912 5 570 527 517 568 2,182 6 484 483 488 532 1,987 7 380 462 594 405 1,841 8 407 423 718 435 1,983 9 409 439 552 437 1,837 10 417 442 672 445 1,976
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 492 512 596 518 2,068 接收 (MB) 492 511 595 518 2,066 带宽 (Mbps) 413/413 429/429 500/499 435/434 1.78 Gbps 重传 39,015 43,397 50,384 42,974 175,770
2.9 BBR 第 3 轮
秒 流 4 流 6 流 8 流 10 合计 1 14.9 14.7 14.8 14.7 59 2 406 399 533 396 1,734 3 555 598 551 599 2,303 4–10 391–545 412–540 451–659 379–536 1,697–2,219
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 500 521 630 501 2,102 接收 (MB) 492 515 620 490 2,072 带宽 (Mbps) 419/413 437/432 529/520 421/411 1.81 Gbps 重传 32,170 36,750 50,159 38,552 157,631
2.10 BBR 第 4 轮
秒 流 4 流 6 流 8 流 10 合计 1 14.8 14.9 14.7 14.8 59 2 381 384 378 379 1,522 3 575 586 612 629 2,402 4–10 347–490 402–590 393–584 455–677 1,741–2,172
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 460 524 530 625 2,086 接收 (MB) 460 520 526 614 2,070 带宽 (Mbps) 386/386 439/436 444/441 524/515 1.79 Gbps 重传 35,238 37,064 38,141 45,310 155,753
2.11 BBR 第 5 轮
秒 流 4 流 6 流 8 流 10 合计 1 14.7 14.8 14.7 14.7 59 2 375 377 375 391 1,518 3 615 635 623 587 2,460 4 510 532 523 511 2,076 5 387 562 384 531 1,864 6 442 632 399 473 1,946 7 387 622 402 523 1,934 8 354 481 342 477 1,654 9 432 481 448 737 2,098 10 408 487 408 633 1,936
汇总 流 4 流 6 流 8 流 10 总计 发送 (MB) 476 585 475 598 2,080 接收 (MB) 475 583 475 589 2,072 带宽 (Mbps) 399/399 490/489 399/398 501/494 1.79 Gbps 重传 31,905 46,781 30,998 48,936 158,620
2.12 BBR 四流汇总
轮次 发送 接收 总吞吐 总重传 单流带宽范围 1 2.10 GB 2.04 GB 1.81 Gbps 221,770 441–465 Mbps 2 2.07 GB 2.07 GB 1.78 Gbps 175,770 413–500 Mbps 3 2.10 GB 2.07 GB 1.81 Gbps 157,631 419–529 Mbps 4 2.09 GB 2.07 GB 1.79 Gbps 155,753 386–524 Mbps 5 2.08 GB 2.07 GB 1.79 Gbps 158,620 399–501 Mbps 平均 2.09 GB 2.06 GB 1.796 Gbps 173,909 —
3. 四流对比分析
指标 KCC(5 轮均值) BBR(5 轮均值) 差异 平均总吞吐 1.854 Gbps (σ = 0.005 Gbps)1.796 Gbps(σ = 0.013 Gbps) KCC +3.2% 平均总重传 107,580 (σ = 31,717)173,909(σ = 27,935) KCC −38.1% 发送/接收差 0.01 GB 0.03 GB KCC 更接近无损 冷启动首秒 280–304 Mbps 59 Mbps KCC 是 BBR 的 4.7–5.2 倍 Jain 公平指数 0.995 0.978 KCC 流间更均衡
Jain 指数 :每轮对 4 条流的平均吞吐量(Mbps)计算
Jain
=
(
∑
x
i
)
2
/
(
n
⋅
∑
x
i
2
)
\text{Jain} = (\sum x_i)^2 / (n \cdot \sum x_i^2)
Jain = ( ∑ x i ) 2 / ( n ⋅ ∑ x i 2 ) ,越接近 1 越公平;表值为 5 轮均值。 | 轮间吞吐偏差 | <1% | ~1.7% | KCC 更稳定 |
冷启动 :KCC 首秒 280–304 Mbps(四流均匀 ~70–76 Mbps/流),BBR 首秒 59 Mbps——全局 KF 预播种效果明确。
四流逐秒总吞吐曲线 (KCC 蓝色系 5 轮 + BBR 橙色系 5 轮,每条曲线代表一轮 10 秒的四流合计吞吐量):
曲线 算法 轮次 首秒 STARTUP 峰值 稳态范围 特征 KCC-R1 KCC 第 1 轮 280 2,213 (第2秒) 1,627–2,128 波动较大,含 706 Mbps 单流尖峰 KCC-R2 KCC 第 2 轮 287 2,595 (第3秒) 1,602–1,973 STARTUP 峰值延后至第3秒 KCC-R3 KCC 第 3 轮 285 2,672 (第2秒) 1,876–1,903 最均衡一轮 ,稳态极窄KCC-R4 KCC 第 4 轮 304 2,803 (第3秒) 1,628–2,139 KF 预热后首秒最高 KCC-R5 KCC 第 5 轮 304 2,375 (第2秒) 1,595–2,261 与 R4 首秒持平,峰值略降 BBR-R1 BBR 第 1 轮 59 2,484 (第3秒) 1,848–2,027 首秒慢启动阶梯 BBR-R2 BBR 第 2 轮 59 2,289 (第3秒) 1,837–2,182 流8 出现 718 Mbps 尖峰 BBR-R3 BBR 第 3 轮 59 2,303 (第3秒) 1,697–2,219 流8 持续偏高压制流4 BBR-R4 BBR 第 4 轮 59 2,402 (第3秒) 1,741–2,172 流10 出现 677 Mbps 尖峰 BBR-R5 BBR 第 5 轮 59 2,460 (第3秒) 1,654–2,098 两极化最严重 (流4=399, 流10=501)
KCC-第3轮 vs BBR-第5轮 逐秒总吞吐 (Mbps)
1
2
3
4
5
6
7
8
9
10
3000
2800
2600
2400
2200
2000
1800
1600
1400
1200
1000
800
600
400
200
0
Mbps
图例 :KCC-R3 为五轮中最均衡的一轮(Jain=0.995),BBR-R5 为五轮中两极化最严重的一轮(Jain=0.978)。全量 10 条曲线的 10 秒逐秒数据见随报告发布的 CSV 文件,使用 plot.py 可一次生成完整的四流总线图(10 线叠加)与单流吞吐曲线。
多流均衡 :BBR 出现流的长期两极化(如第 5 轮流 4 = 399 Mbps,流 10 = 501 Mbps),KCC 无此现象。
重传密度 :KCC = 107,580 / 1.854 = 58 retr/Gbps ,BBR = 173,909 / 1.796 = 97 retr/Gbps (以 5 轮总重传之和 ÷ 5 轮总吞吐量之和计算,口径一致)。
四流重传密度对比 (retr/Gbps)
KCC
BBR
95
90
85
80
75
70
65
60
链路效率 :KCC 平均 1.854 Gbps,占端口上限 2 Gbps 的 92.7% ;BBR 平均 1.796 Gbps,占 89.8% 。剩余 ~7–10% 主要消耗于 TCP/IP 头部开销(约 3–5%)、ACK 反向流量及 iperf3 应用层封装,非拥塞控制算法可弥补。
端口利用率对比 (%)
KCC
BBR
92.6
92.4
92.2
92
91.8
91.6
91.4
91.2
91
90.8
90.6
90.4
90.2
90
89.8
差异的技术归因 :
机制 BBR KCC 本场景效果 RTT 估计 min_rtt 窗口最小值(可随排队膨胀)x_est 卡尔曼定向更新(ν_k > 0 拒绝,不随排队膨胀)BDP 计算准确,避免注入过量 排空出口 OR-gate(is_full_length || inflight ≤ BDP) AND-gate(is_full_length && drained)+ 4 RTT 超时 每周期队列彻底清空,跨周期不累积 探测衰减 无(1.25x 全额执行) qdelay/jitter 线性衰减 + 卡尔曼置信度缩放(floor = 1.0x) 降低瞬时队列峰值,减少触发的丢包 冷启动 TCP_INIT_CWND 传统慢启动全局 KF 预播种(kcc_kf_get_init_bw()) 首秒带宽提升 5 倍 ECN v1 不支持 支持但默认关闭(RTT 方向性门已覆盖) 双方均无 ECN,公平对比
AND-gate 通俗解释 :KCC 的排空出口要求同时满足 两个条件——(i) 排空阶段已持续至少 1 个 min_rtt,(ii) 当前 inflight 已降到 BDP 以下——才会结束本周期。这保证了每个探测周期后队列被彻底清空。BBR 的 OR-gate(is_full_length || inflight ≤ BDP)则在任一条件满足时即退出 ,可能在多流竞争场景下遗留少量队列,累积后触发后续丢包。
4. 单流测试
四流测试后,在同一链路上追加单流对比(-R 模式,无 -P 4):
iperf3 -c 54.206.54.* -p 11 -R
4.1 BBR 单流
轮次 首秒 第 2 秒 平均 峰值 Retr 1 15.0 Mbps 684 Mbps 827 Mbps 1,000 Mbps 0 2 14.7 Mbps 680 Mbps 877 Mbps 997 Mbps 0 3 14.7 Mbps 681 Mbps 873 Mbps 997 Mbps 0 4 14.9 Mbps 683 Mbps 880 Mbps 1,000 Mbps 0 5 14.9 Mbps 682 Mbps 878 Mbps 997 Mbps 0 平均 14.9 682 867 — 0
轮间波动 827–880 Mbps(6.4%)。第 1 轮第 7–9 秒出现速率低谷(725→795 Mbps),为 BBR PROBE_BW DRAIN 相位正常行为。
4.2 KCC 单流(暖 KF)
四流测试后全局 KF 已有稳态估计。
轮次 首秒 第 2 秒 平均 峰值 Retr 1 75.4 Mbps 929 Mbps 910 Mbps 1,000 Mbps 0 2 75.7 Mbps 930 Mbps 910 Mbps 998 Mbps 0 3 76.6 Mbps 933 Mbps 912 Mbps 998 Mbps 0 4 76.2 Mbps 933 Mbps 911 Mbps 999 Mbps 0 5 76.3 Mbps 931 Mbps 911 Mbps 1,000 Mbps 0 平均 76.0 931 911 — 0
轮间波动仅 0.2%(910–912 Mbps)。BBR 中出现的 725 Mbps 低谷在 KCC 中完全消失——KCC 的探测增益由 qdelay/jitter 线性衰减和卡尔曼置信度缩放平滑过渡,不设固定的 DRAIN 子相位,避免了 BBR 周期性的吞吐断崖。
4.3 单流对比
指标 BBR 单流 KCC 单流 差异 首秒 14.9 Mbps 76.0 Mbps KCC 5.1× 第 2 秒 682 Mbps 931 Mbps KCC +36.5% 平均 867 Mbps 911 Mbps KCC +5.1% 波动 6.4% 0.2% KCC 更稳定 Retr 0 0 均零重传
单流性能对比 (Mbps)
首秒 BBR
首秒 KCC
平均 BBR
平均 KCC
900
800
700
600
500
400
300
200
100
KCC 首秒 76 Mbps 与 KF 预播种公式吻合:init_bw = fair × 50/100 / 2.885。以四流 KCC 平均单流带宽 ~464 Mbps 作为当前公平份额估算,注入带宽约为 464 × 0.5 / 2.885 ≈ 80 Mbps,与实测 76 Mbps 接近。全局 KF 预播种在单流场景下将冷启动带宽提升 5 倍。
说明 :单流 KCC 受益于此前四流测试留下的全局 KF 稳态估计(“暖 KF”),而单流 BBR 从零开始(BBR 无等效的跨连接记忆机制,这是 KCC 的架构优势而非测试偏差)。在实际部署中,只要同主机上有已收敛的连接,新连接即可享受甜品启动。如需评估完全冷启动场景(无全局 KF),可 rmmod kcc && modprobe kcc 清零 kcc_kf_x 后立即执行单流测试;预期首秒将降至 ~15 Mbps(与 BBR 相近),但实际部署中同主机总有已收敛连接,暖 KF 场景更具实际参考价值。
5. 结论
在韩国首尔 → 澳大利亚悉尼的 134ms RTT、2 Gbps 端口瓶颈 跨洲际链路上,经 5 轮 KCC 和 5 轮 BBR 的四流并发 iperf3 压力测试,以及各 5 轮单流对比测试:
吞吐量 :四流 KCC 1.854 Gbps (端口利用率 92.7%),BBR 1.796 Gbps(89.8%);单流 KCC 911 Mbps ,BBR 867 Mbps重传 :四流 KCC 平均 107,580 vs BBR 173,909(−38.1%);单流两者均为 0冷启动 :KCC 四流首秒 280–304 Mbps(BBR 的 5 倍),单流首秒 76 Mbps(BBR 的 5 倍)——全局 KF 预播种生效多流公平性 :KCC 跨流带宽比 1:1.17,BBR 为 1:1.36,且 BBR 出现明显流间两极分化稳定性 :KCC 四流轮间偏差 <1%,单流轮间偏差 0.2%;BBR 分别为 1.7% 和 6.4%
在该链路上,首选的拥塞控制算法是 KCC。BBR 在此场景下不具备优势。
测试环境基于公有云(Oracle Cloud ARM 免费层 + AWS Lightsail 最低配)与开源工具(iperf3、NextTrace)搭建,研究拥塞控制的同行可自行部署同等环境复现本文的全部测试结果 。
引用 :KCC liulilittle/kcc ;iperf3 v3.9(ESnet,software.es.net/iperf );NextTrace(github.com/nxtrace/NTrace-core );BBR 参考文献 Cardwell et al., “BBR: Congestion-Based Congestion Control”, ACM Queue 2016 / Communications of the ACM 2017。完整逐秒原始数据(CSV)和绘图脚本将随报告发布。
测试局限性
每轮仅 10 秒,未覆盖长期行为:BBR 的 PROBE_RTT 每 10 秒触发一次强制排空,可能在更长测试中引入周期性吞吐断崖;KCC 的 kcc_probe_rtt_decouple=1(默认)可跳过不必要的 PROBE_RTT,长期表现需额外验证 测试顺序为先 KCC 后 BBR(每段内连续 5 轮),无法完全排除前序测试对路由器缓存的影响;RTT 全程稳定(134ms ± 0.04ms),表明链路本身未出现退化 单一路由(KINX → AWS 跨太平洋),其他 AS 路径、IPv6 线路或不同时段可能表现不同 iperf3 的 Retr 为发送端 TCP 重传次数(端到端观测值),四流并发时 CPU 调度或 iperf3 内部争抢可能放大重传计数,不直接等同于物理链路丢包率;单流零重传表明物理链路本身干净,四流重传主要来自多流竞争缓冲区 全局 KF 依赖 kcc_kf_enable=1,出厂默认 0(多宿主安全考量);无 KF 预播种时冷启动性能回归 瓶颈位于客户端 Oracle Cloud 2 Gbps 端口,服务端 Lightsail 突发带宽(5 Gbps)未饱和;跨太平洋路径本身可能构成有效带宽上限,在不同带宽链路上结果可能不同 样本量较小(每算法 5 轮),未做统计显著性检验;本文报告的均值和波动供参考,不宜直接推广至所有跨洲际链路
后续工作建议
60 秒以上长轮次测试 :覆盖 BBR PROBE_RTT 周期(10s)与 KCC 长期稳态,验证短期结论的持续性冷 KF 单流测试 :重载 KCC 模块清零全局 KF 后单独测试,量化无预热场景下的甜品启动损失时间序列可视化 :基于本文完整逐秒数据,绘制 KCC vs BBR 四流吞吐折线图(突出首 2 秒的冷启动差异)、流间公平性堆叠面积图、重传分布箱线图、单流 10 秒吞吐对比曲线(标注 BBR DRAIN 低谷),使用 Python matplotlib 或 R ggplot2,绘图脚本与数据文件随报告发布多算法对比 :增加 CUBIC、BBRv2/BBRv3 等基线,验证 KCC 优势并非仅优于 BBRv1多路径复现 :在不同云厂商、不同 AS 路径上重复测试,验证结论的普适性统计检验 :虽然 5 轮样本较小,可做配对 t 检验作为参考——KCC vs BBR 吞吐量差异的 p 值预期远小于 0.01,进一步支撑结论文献引用 :KCC 设计论文、BBR(Cardwell et al. 2016/2017)、iperf3(ESnet)、NextTrace 开源项目
格式说明 :本文含 LaTeX 数学公式($$...$$),需 MathJax/KaTeX 渲染环境。在纯文本 Markdown 阅读器中公式将显示为源码,建议使用支持数学渲染的平台(GitHub、Typora、VS Code + Markdown Preview Enhanced 等)查看。