我们从问题描述的wan口配置可以看出,目前配置的TCP MSS(1460)是大于MTU - IP头部(20 Bytes) - TCP头部(20 Bytes)=1492-40=1452的,同时Vlan配置的TCP MSS(1280)比MTU(1120)大。
TCP MSS ≤ MTU - IP头部(20 Bytes) - TCP头部(20 Bytes)=MTU-40,比如MTU配置为1492,那么TCP MSS必须小于等于1492-40=1452。
若TCP MSS大于MTU-40或者直接大于MTU本身,则可能导致数据包分片或无法发送,在这种情况下,路由器会尝试对数据包进行分片。然而,如果启用了“不分片”标志(Don't Fragment, DF),则该数据包将被丢弃,从而导致大包丢失;同时数据包频繁分片会对设备性能造成较大负担,从而引起网络卡顿等问题。
因此配置MTU和TCP MSS的时候一定要按照TCP MSS ≤ MTU - IP头部(20 Bytes) - TCP头部(20 Bytes)=MTU-40的原则配置。
UR路由器的wan口和vlan接口默认的TCP MSS参数