TCP 流分析82 条

TCP 窗口字段换算

抓包中的窗口值受缩放因子影响:显示值可能已还原(Wireshark 默认),而原始 16 位字段值需乘 2^wscale;核对吞吐上限时务必用还原后的实际窗口。

用途正确读取接收窗口
公式实际窗口 = 原始值 × 2^shift(若未还原)

核对方法

核对方法
1) 找握手里的 wscale 值
2) 看窗口字段显示位置(计算值/原始值)
3) 用 ss -ti 的 rwnd 交叉验证
窗口为 0 的判断不受缩放影响(0 乘任何数为 0)。

易错点

  • 混用不同工具的窗口口径会得出矛盾结论,先统一单位与还原方式
  • 窗口值骤降伴随重传:先查丢包再谈窗口调整

数据来源与参考

  • RFC 7323(窗口缩放)
  • Wireshark User's Guide
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌