首页/网络/协议速查/滑动窗口与流量控制
TCP 与 UDP54 条

滑动窗口与流量控制

接收窗口 rwnd 告诉发送方「我还能收多少字节」,实现端到端流控;窗口为 0 时发送方停发并定期探测(Zero Window Probe)。

协议速查网络更新于 2026-10-12

查看窗口与缓冲

查看窗口与缓冲
ss -ti | head -30        # rwnd/cwnd 等内核指标
sysctl net.ipv4.tcp_rmem net.ipv4.tcp_wmem
rwnd接收窗口,由接收方内存与读取速度决定
cwnd拥塞窗口,由网络拥塞控制决定;实际发送 = min(rwnd, cwnd)
零窗口接收应用不读数据 → 缓冲满 → 发送方探测等待
接收方应用读得慢,会直接压制发送速率;大带宽高延迟链路上需要足够大的接收缓冲(tcp_rmem)。

易错点

  • 窗口不是越大越好:缓冲区过大会增加内存占用与缓冲膨胀(bufferbloat)延迟

数据来源与参考

  • RFC 9293 §3.4(流控)
  • RFC 7323(窗口缩放)

相关工具

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