以下是从 MTU 为 1526 字节开始的 IPv4 MSS 计算示例 。 减去帧中包含的各种标头所消耗的字节数, 即可得到 MSS 大小:
1526 MTU size -14 Ethernet header size -20 IPv4 protocol header size -20 TCP protocol header size -12 TCP options bytes ---- 1460 MSS size
以下是从 MTU 为 1526 字节开始的 IPv6 MSS 计算示例。减去帧中包含的各种标头所消耗的字节数, 即可得到 MSS 大小:
1526 MTU size -14 Ethernet header size -40 IPv6 protocol header size -${var} IPv6 extension header size(optional) -20 TCP protocol header size -12 TCP options bytes ---- 1440-${var} MSS size
在上述实例中,计算出的 1460 字节的 MSS 值适用于 局域网 (LAN),但此值可能太大,无法在 Internet 上使用。 在 Internet 上,MSS 应限制为 1400 字节,以实现最大可靠性。 因此, 如果远程节点的 IP 地址位于本地网络之外 (详见网络掩码), 则 FreeRTOS-Plus-TCP 会自动将 MSS 设置为 1400 与 配置的 ipconfigTCP_MSS 值中的较小值。