何时以及为什么我们降低MSS而不是MTU。
在我们可以配置的路由器中,可以分别配置它们。
假设我将MSS保留为1260。我未对MTU进行任何更改。现在,如果TCP和IP标头没有任何选项,则它们将使用40个字节(20 TCP + 20 IP)。
所以这意味着在这种情况下的MTU为1300。 br />
现在是第二种情况。
我将MTU降低到1300。我没有对MSS进行任何更改。同样,TCP和IP选项中没有任何选项。
这是否意味着本例中的MSS为1260。
如果两种方案的结果相同,请帮助我理解以下内容。
在哪种情况下我们应该降低MTU并保持MSS不变?
在哪种情况下,我们应该减少MSS并保持MTU不变?谢谢
#1 楼
MTU通常是对直接连接接口的物理介质的引用。通常,您要将此设置保留为介质可以处理的最大数量。有时由于覆盖网络或奇特的封装方案而需要启用巨型帧或调整MTU。MSS通常是对端到端路径的引用。这通常不是手动设置的,而是留给诸如Path MTU发现之类的功能来逐个连接地动态设置。最常见的情况是TCP,如果它完全控制正在发送的段,则可以更好地“调整”连接以实现最佳的端到端带宽使用,而不是使段沿路径不知不觉地被分段。 />
另一种看待它的方法...
MTU应该仅根据物理介质和/或边缘封装或巨型框架的需要进行设置。 MTU会影响从接口发出的每个帧。
MSS是基于集合路径MTU(通常基于逐个连接)动态设置的。可以为每个连接调整MSS的动态调整,但不会影响其他连接或其他“非面向连接的”通信。
#2 楼
要添加到前面的注释中,需要在网络本身中设置两个MTU设置。在交换机上设置了以太网MTU。同样,将其设置为最大允许值。然后在路由器上设置了IP MTU。通常,如果未设置任何选项(例如DF位),则这仅表示路由器将在数据包超出此大小时分段。如果设置了DF位(不分段),则路由器将丢弃超出其允许的IP MTU的数据包。
出现您的问题-IP MTU无关紧要,因为您使用任何选项位都不会,它只会按照设置的大小分段。但是以太网MTU必须大于您的MSS。换句话说,MSS应该小于以太网MTU的大小。通常,您不会手动设置此MSS,而是使用path-mtu发现,它会发现两个端点之间的MTU最小,并将MSS调整为低于该值。
评论
为了澄清由于MTU大小造成的碎片:这仅适用于IPv4; IPv6必须由发送方预先分段,因为路径中的路由器不会分段IPv6数据包。
–罗恩·莫潘♦
15年9月29日在18:01
那就对了。 ipV6对它的处理方式有所不同。
–ajaysdesk
2015年9月29日在18:11
@ajaysdesk如果路由器接口上的以太网MTU小于IP MTU,则IP数据包将被分段。对?示例:1000字节的以太网MTU,1514字节的IP MTU和1514字节的数据包。然后,该1514 IP数据包将被破坏。正确?
–艾哈迈德·瓦斯(AhmedWas)
18年11月21日在8:45
评论
有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以发布并接受自己的答案。