快速导航
网络性能吞吐建模

BDP 带宽延迟乘积计算

计算理论网络吞吐上限与最佳 TCP 窗口大小。解决高带宽、长距离链路(LFN)下的传输瓶颈问题。

输入数据
Mbps
MS
什么是 BDP? 代表在该链路上“飞行中”可以容纳的最大数据量。它是评估高延迟带宽网络(LFN)性能的核心指标。
输出结果
i
技术贴士: 如果系统的 TCP 缓冲区(Window Size)小于此值,无论物理带宽多大,单线程传输速度都将受限。

为什么 BDP 对网络性能至关重要?

在现代高速网络架构中,BDP(带宽延迟乘积)是衡量链路数据承载能力的核心尺度。当我们在长距离(如跨国、跨海)链路中遇到宽带未跑满的情况时,通常是由于 TCP 滑动窗口未能覆盖 BDP 值,导致发送端在等待 ACK 确认时链路处于空闲状态。

常用使用场景

  • 跨境服务器互联:评估跨太平洋或跨亚欧链路的理论传输上限,指导 BBR 算法调优。
  • 内网穿透调优:针对高延迟隧道(如 FRP/NPS)计算最佳缓冲区大小,提升大文件传输效率。
  • 存储系统备份:优化大规模存储系统的异地灾备传输流,确保数据同步能占满物理带宽。

服务端调优建议

1. 开启 TCP 窗口缩放 (Window Scaling);
2. 增大内核参数 net.core.rmem_max 和 wmem_max;
3. 在 Linux 生产环境建议切换 BBR 拥塞控制算法以对冲高延迟。

常见问题解答 (FAQ)

Q: 为什么我的计算结果比 64KB 大很多?

A: 在现代高速网络中,BDP 往往远超 64KB。旧版系统受限于 16 位 TCP 头部,必须开启“窗口缩放”才能支撑 MB 级的窗口。

Q: 延迟 (Latency) 和带宽哪个更影响吞吐?

A: 两者是乘积关系。在长途链路中,延迟受物理极限制约,只能通过增大缓冲区窗口来弥补高延迟导致的性能损失。

Q: 计算出的建议窗口需要手动配置吗?

A: 现代 Linux 内核会自动调整,但你必须确保内核配置的上限值(rmem/wmem)能够覆盖计算出的 BDP 值。

Q: 这个工具对 UDP 传输有用吗?

A: BDP 是物理链路属性,对所有协议有效。UDP 虽然没有窗口确认,但应用层发包速率仍需参考 BDP 以防中间路由丢包。