MTU 和分片

网络工程 以太网 协议理论 交换 层2
2021-07-02 16:18:59

考虑以下情况: 具有 10G 接口的 NAS 连接到交换机上的 10G 接口。客户端计算机通过千兆以太网连接到交换机。

  • 如果客户端 NIC 上的 MTU 大小没有从标准的 1500 字节增加,那么如果增加 NAS 上的 MTU 大小和连接 NAS 的交换机端口,性能是否会有所提高?

  • 这会导致碎片问题吗?

  • 设备如何“处理”交换网络中接口的 MTU 不匹配?

4个回答

如果每个人都使用更大的数据包,就不会有性能提升。巨型帧的重点是在相同的开销下打包更多的有效载荷。如果客户端也不能发送更大的数据包,那么 NAS 发送更大数据包的能力就毫无意义。

根本不会有“碎片化”。如果指示“需要分段”,则第 2 层(以太网)没有任何意义。这是在第 3 层 (IP) 上通过路由器在必须丢弃数据包时发送 ICMP 消息来解决的,因为它不适合下一跳接口。这不会发生在没有路由器的地方——在一个平坦的、交换的 LAN 上。从 NAS 发送的巨型数据包将作为超大帧被客户端丢弃——或者出于同样的原因被交换机丢弃。[1500B 接口不能发送 9k 数据包。]

问:如果客户端 NIC 上的 MTU 大小没有从标准的 1500 字节增加,那么如果增加 NAS 上的 MTU 大小和连接 NAS 的交换机端口,性能是否会有任何提升?

回答:否,因为客户端未使用增加的 MTU 大小。如果你想从 A 点运送 100 人到 B 点,你可以使用两辆公共汽车或 25 辆轿车。如果 A 和 B 之间的道路被修建成使公共汽车可以更容易地移动而没有延迟,而你仍然用轿车移动它们,你将一无所获。

问:这会导致碎片问题吗?

答:不,当您发送一个大数据包而路径不支持它并且需要将其切割成支持大小的数据包时,会在相反的情况下发生碎片。

问:设备如何“处理”交换网络中接口的 MTU 不匹配?

回答:如果数据包小于允许的数据包大小,则可以毫无问题地通过。如果数据包大于允许的大小,则将其丢弃。

tcp 会话的 MTU 是在初始 TCY SYN 连接上建立的。如果您在网络上的 MTU 不匹配,则对您的 tcp 应用程序无关紧要...第 2 层或第 3 层。UDP 没有相同的概念,所以是的,对于 UDP,您将开始对可能/可能不会影响性能的流量进行分段. 这完全取决于流量类型、大小、容量和您的硬件。

遗漏了一些东西...首先,没有 MTU 协商。其次,在讨论 TCP SYN 数据包时,它们很少会超过链路 MTU 帧大小。在该评论中,在讨论第 3 层以及 TCP MSS 时有 PMTU 响应,它们提供最大大小的有效载荷。我并不是说这里有人不正确,但由于这些功能,MTU 设置通常可能会被忽视。