我想我可能在窗口缩放 (RFC 1323) 方面遇到问题,希望有人能告诉我发生了什么事。
- 服务器: FreeBSD 9,apache22,提供一个 100MB 的静态 zip 文件。192.168.18.30
- 客户端: Mac OS X 10.6、Firefox 192.168.17.47
- 网络:它们之间只有一个开关——子网是 192.168.16/22(在这个测试中,我也有 dummynet 过滤模拟所有 IP 流量的 80ms ping 时间。我已经看到几乎相同的痕迹与“真实”设置,也有真实的互联网流量/延迟)
问题:
- 这看起来正常吗?
- 数据包 #2 是否指定了 65535 的窗口大小和 512 的比例?
- 数据包 #5 是否正在缩小窗口大小,以便它可以使用 512 比例并仍然保持总体计算窗口大小接近 64K?
- 为什么窗口比例这么高?
这是来自 wireshark 的前 6 个数据包。对于数据包 5 和 6,我包含了显示用于数据传输的窗口大小和比例因子的详细信息。
No. Time Source Destination Protocol Length Info
108 6.699922 192.168.17.47 192.168.18.30 TCP 78 49190 > http [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=8 TSval=945617489 TSecr=0 SACK_PERM=1
115 6.781971 192.168.18.30 192.168.17.47 TCP 74 http > 49190 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=512 SACK_PERM=1 TSval=2617517338 TSecr=945617489
116 6.782218 192.168.17.47 192.168.18.30 TCP 66 49190 > http [ACK] Seq=1 Ack=1 Win=524280 Len=0 TSval=945617490 TSecr=2617517338
117 6.782220 192.168.17.47 192.168.18.30 HTTP 490 GET /utils/speedtest/large.file.zip HTTP/1.1
118 6.867070 192.168.18.30 192.168.17.47 TCP 375 [TCP segment of a reassembled PDU]
细节:
Transmission Control Protocol, Src Port: http (80), Dst Port: 49190 (49190), Seq: 1, Ack: 425, Len: 309
Source port: http (80)
Destination port: 49190 (49190)
[Stream index: 4]
Sequence number: 1 (relative sequence number)
[Next sequence number: 310 (relative sequence number)]
Acknowledgement number: 425 (relative ack number)
Header length: 32 bytes
Flags: 0x018 (PSH, ACK)
Window size value: 130
[Calculated window size: 66560]
[Window size scaling factor: 512]
Checksum: 0xd182 [validation disabled]
Options: (12 bytes)
No-Operation (NOP)
No-Operation (NOP)
Timestamps: TSval 2617517423, TSecr 945617490
[SEQ/ACK analysis]
TCP segment data (309 bytes)