我见过大多数TCP流都设置了DF位。因此,像VXLAN这样的额外开销可能会导致TCP数据包被丢弃(因为df位设置)?如何动态调整TCP MSS (在没有PMTUD的情况下)?因为PTMU的发现在野外已经不常见了。换句话说,如果将网络MTU设置为1500,并且在服务器/客户端中派生的MSS将为1460,则将丢弃分组。(考虑到我们有额外的开销- VXLAN)
塔,
发布于 2022-09-10 14:42:08
如何动态调整TCP MSS (在没有PMTU的情况下)?
当连接打开时设置MSS;它不是动态的。连接的每一端都可能不同。A发送它能接收的最大段大小(A的MSS)到B,B发送它能接收的最大段(B的MSS)到A,这发生在三方握手中,如果有的话。在握手中不发送MSS选项意味着可以接收到任何段的有效负载大小。
RFC 793,传输控制协议解释了MSS:
最大段大小选项数据:如果存在此选项,则该选项将在发送此段的TCP上通信最大接收段大小。该字段只能在初始连接请求中发送(即,在设置SYN控制位的段中发送)。如果不使用此选项,则允许任何区段大小。
RFC 1191,路径MTU发现将其明确如下:
PMTU发现不影响在TCP MSS选项中发送的值,因为该值由连接的另一端使用,该连接可能使用的是不相关的PMTU值。
https://networkengineering.stackexchange.com/questions/79913
复制相似问题