首页/网络/网络排障速查/带宽时延积与单连接吞吐上限
本包目录(235 条)

带宽时延积与单连接吞吐上限

长肥管道(高带宽高时延)上单条 TCP 打不满带宽:窗口必须 ≥ 带宽×RTT;学会算 BDP 能立刻判断『慢』是窗口受限还是路径丢包。

网络排障速查网络更新于 2026-10-12

计算与验证

计算与验证
# BDP = 带宽 × RTT
# 1 Gbps × 20 ms = 20 Mbit = 2.5 MB 窗口需求
# 例:64KB 窗口 + 20ms RTT → 64KB/0.02s ≈ 3.2MB/s ≈ 26Mbps 上限
ping -c 5 10.0.0.5 | tail -1                     # 拿 RTT
ss -tni state established '( dport = :443 )' | head   # 看 wscale/cwnd/rtt
sysctl net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_window_scaling
判据1ss -i 里 cwnd 小且 retrans 增长 → 丢包压制吞吐
判据2wscale 小/接收窗口小 → 窗口不足,带宽×时延打不满
处置开启窗口缩放(默认开)、调大 tcp_rmem/tcp_wmem、增加并发连接数
注意单连接提速受限时,多连接(HTTP/2 多路复用或并行流)常是更快的现实解法
BDP 是『在途数据量』:跨洋 200ms 链路 1Gbps 需要 25MB 在途窗口,靠单 TCP 连接几乎不可能,这就是 CDN/多连接存在的意义。

易错点

  • 用『带宽足够』解释吞吐低:忽略时延乘窗口的乘积约束
  • 只盯单连接速率,不评估多连接/多路复用的可行性

数据来源与参考

  • RFC 7323:TCP 窗口缩放选项
  • Linux 内核文档:tcp_rmem / tcp_wmem

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌