我有一个 OpenVPN VPN 网络连接,MSS 大小 60 由于某种原因被发送出去(还不知道为什么)。 编辑:原因:OpenVPN mssfix 被错误地设置为 1
36 92.064383 10.102.0.43 10.1.151.50 TCP 52 49991 ? 63760 [SYN] Seq=0 Win=65535 Len=0 MSS=60 WS=128 SACK_PERM=1
37 92.064763 10.1.151.50 10.102.0.43 TCP 52 63760 ? 49991 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460 WS=256 SACK_PERM=1
Run Code Online (Sandbox Code Playgroud)
此网络上有两个设备,它们的行为不同。
PC 将 MSS 大小设置为 536,但 PLC 按照要求将其设置为 60。
41 92.171676 10.1.151.50 10.102.0.43 FTP-DATA 576 FTP Data: 536 bytes (PASV) (RETR TCData.br)
67 17.385576 10.1.151.1 10.102.0.43 FTP-DATA 100 FTP Data: 60 bytes (PASV) (RETR TCData.br)
Run Code Online (Sandbox Code Playgroud)
双方都以正确的方式实施了吗?
我知道默认的 TCP MSS 是 536,但是是否有最小尺寸要求?
小智 0
最小MSS由576字节的最小IP数据报MTU控制。由于 TCP 使用 40 字节的开销,因此最小 MSS 为 536 字节。如果使用更多字节(例如时间戳),那么 MSS 会更小
这可以在 IP RFC 791 第 3.1 节中找到。互联网标头格式 -> 总长度。
总长度是数据报的长度,以八位字节为单位,包括互联网标头和数据。该字段允许数据报的长度最大为 65,535 个八位位组。如此长的数据报对于大多数主机和网络来说是不切实际的。所有主机必须准备好接受最多 576 个八位位组的数据报(无论它们是完整到达还是以片段形式到达)。建议主机仅发送大于 576 个八位位组的数据报,前提是主机确信目标已准备好接受更大的数据报。
The number 576 is selected to allow a reasonable sized data block to
be transmitted in addition to the required header information. For
example, this size allows a data block of 512 octets plus 64 header
octets to fit in a datagram. The maximal internet header is 60
octets, and a typical internet header is 20 octets, allowing a
margin for headers of higher level protocols.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1095 次 |
最近记录: |