MTU和碎片


13

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

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

  • 这会导致碎片问题吗?

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


您使用哪种协议进行SAN通信?
Mike Pennington

1
实际上,我认为这些天主机上的路径MTU发现(PMTUD)相当普遍,因此客户端很可能会发送包含其MTU的ICMP碎片所需消息(类型3,代码4),这将导致主机减小其数据包大小。

Answers:


20

如果没有所有人都使用较大的数据包,就不会有性能提升。巨型帧的目的是在相同的开销下打包更多的有效负载。如果客户端不这样做,NAS发送更大数据包的能力也就毫无意义。

完全没有“碎片”。如果指示“需要分段”,则第2层(以太网)没有任何意义。路由器在发送第3层(IP)消息时必须丢弃该数据包,因为它不适合下一跳接口,因此发送ICMP消息可以解决此问题。在没有路由器的情况下-在平坦的交换式LAN上不会发生这种情况。从NAS发送的巨型数据包将由客户端作为超大帧丢弃-或出于相同原因由交换机丢弃。[无法在1500B接口上发送9k数据包。]


因此,这几乎只会导致无休止的问题,客户端或交换机将丢弃来自SAN的大量流量?
2013年

@Ricky-重复丢弃超大数据包将如何体现?接收接口是否可以“告诉”只能接收X尺寸帧的发送方?或者发件人是否看到诸如TCP之类的上层协议从未收到过该帧?
sardean

1
数据包被丢弃,到此为止。(嗯,一个计数器在滴答作响,但是a)没有人检查它,并且b)您不知道是什么原因造成的。)当传输开始时TCP连接停止,iSCSI链接失败,等
Ricky Beam

5

问:如果未从客户端NIC上的标准1500字节增加MTU的大小,如果增加NAS和与NAS连接的交换机端口的MTU的大小,性能会有所提高吗?

答:否,因为增加的MTU大小未被客户端使用。如果您想将100人从A点运送到B点,则可以使用两辆公共汽车或25辆轿车。如果在A和B之间建立一条道路,以便公交车可以更轻松地无延迟地行驶,而您仍然以轿车的方式行驶,那么您将一无所获。

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

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

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

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


1
这不是真的。在第2层上不会发生碎片。无法在以太网段上协商MTU。如果所有设置都不相同,则某些NIC(MTU较小)将丢弃超大帧。
Ricky Beam

看看supportforums.cisco.com/thread/20490,它解释了我的意思。
AdnanG

我明白了,谢谢你指出这一点。我正在从答案中删除该部分。
AdnanG

1

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


0

遗漏了一些东西...首先,没有MTU谈判。其次,在讨论TCP SYN数据包时,它们很少会超过链路MTU帧大小。在这种情况下,讨论第3层时会有PMTU响应,而TCP MSS会提供最大大小的有效负载。我不是在说任何人都不正确,但是由于这些功能,经常可能会忽略MTU设置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.