美文网首页
理解 MTU 和 MSS

理解 MTU 和 MSS

作者: 鲸息_Leon | 来源:发表于2018-05-24 09:55 被阅读0次

转自:http://blog.smallmuou.xyz/%E7%BD%91%E7%BB%9C/2017/08/17/%E7%90%86%E8%A7%A3MTU%E5%92%8CMSS.html

1. 问题


遇到个奇怪的问题「无法上传文件至七牛服务器」,依次排除了七牛服务、本地网络,最终定位到只要数据发送超过 1440 Byte,连路就断了,实际测了下是对方电信出口的限制,具体原因不得而知,解决方法,就是把路由的 MTU 设小,使得数据小于 1440 Byte。籍此,对 MTU 进行了深入学习。

2. 概念


MTU(Maximum Transmission Unit) - 一种通信协议的某一层上面所能通过的最大数据包大小.

以太网为 1500,这也是为何路由器或 PC 上默认都是 1500,因此数据包一旦超过此大小,就会进行分包,这也就有了 IP 分片的过程,这里就引入了一个问题,IP 包是不可靠的,如果 IP 分片,如何保证 TCP 可靠?

于是这里引入了 MSS,

MSS(Maximum Segment Size) - 传输控制协议的一个参数,以字节数定义一个计算机或通信设备所能接受的分段的最大数据量。注意这是不包含 IP 头及 TCP 或 UDP 头的,例如,对于
TCP,MSS = 1500 - 20(IP 头)- 20(TCP 头)

TCP 通过 MSS 提前进行分段,从而保证数据不会超过 MTU,来保证 IP 不需要再进行分片。

3. 获取网络 MTU


如何检测网络各个节点 MTU 值呢?答案是我们可以通过 ping 的不分片发送进行检测。注意,1500 是去除了以太网头以后的包大小!对于 ping,传递的是 ICMP 包,由以太网头 + IP 头+ ICMP 头 + 数据组成,只要 IP 头 + ICMP 头 + 数据不超过 1500 即可。也就是说,MTU = 1500 - 20(IP 头)- 8(ICMP 头)= 1472。下面是基于 1472 进行实际测试。

Windows

ping -f -l 1472 baidu.com

Linux

ping -M do -c 2 -s 1472 baidu.com

Mac

sudo ping -D -s 1472 baidu.com


image.png

4 其它


在 PPPOE 下,最大 MTU 是 1492,因为外加 PPPOE 头部(6 字节)+ PPP头部(2 字节)

可以 ping 各个路由来查看相应 MTU,当然如果越近路由 MTU 较小,则无法检测远端路由.

相关文章

  • 理解 MTU 和 MSS

    转自:http://blog.smallmuou.xyz/%E7%BD%91%E7%BB%9C/2017/08/1...

  • MTU MSS

    一、基本概念 由于以太网EthernetII最大的数据帧是1518Bytes,刨去以太网帧的帧头(DMAC目的地址...

  • MTU size (Maximum Transmission

    Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with...

  • 【tcp】MTU、IP MTU 和 MSS

    1. 概述 本文主要分析网络通信中MTU,IP MTU和MSS的概念以及它们之间的关系。 这三个概念对于网络通信来...

  • MTU 和 MSS 区别

    MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层(通常是I...

  • 【网络】MTU和MSS

    MTU是一个老概念了,是属于以太网数据链路层的概念,而MSS是新的概念,由于MTU和MSS概念都十分重要,且容易混...

  • 【网络】MTU相关网络丢包问题分析处理

    一、 MTU MSS 概念 什么是MTU? MTU是数据链路层的概念,限制的是数据链路层payload的大小,即...

  • MTU & MSS

    MTU: Maxitum Transmission Unit 最大传输单元MSS: Maxitum Segment...

  • 【icmp】用wireshark分析 ICMP协议报文

    MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segmen...

  • MTU与MSS

    MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层(通常是I...

网友评论

      本文标题:理解 MTU 和 MSS

      本文链接:https://www.haomeiwen.com/subject/icmjjftx.html