MTU的概念:

MTU相当于发快递时对包裹尺寸的限制.
这个限制是不同的数据链路对应的物理层, 产生的限制.

MTU 定义了物理网络对帧的数据字段最大字节数限制,由网络硬件决定。链路层具有最大传输单元MTU这个特性,
它限制了数据帧的最大长度,不同的网络类型都有一个上限值。
例如以太网的MTU是1500。
如果网络层有数据包要传,而且数据包的长度超过了MTU,
那么网络层就要对数据包进行分片操作,使每一片的长度都小于或等于MTU。
一个分片在到达接收主机的路径中,还可能被继续分片,
因此,分片的IP数据报可能会以不同的路径传输到接收主机,
接收主机通过一系列的重组,将其还原为一个完整的IP数据报,再提交给上层协议处理。


分片:

路径当中在每个中间节点传送的时候,
如果下一个链路的MTU小于这个链路的IP分组长度的时候,
就要进行分片。分片三个主要字段:Identification:标识字段标志位:DF、MFFragment offset:片偏移

MTU对IP协议的影响

由于数据链路层MTU的限制, 对于较大的IP数据包要进行分包.
将较大的IP包分成多个小包, 并给每个小包打上标签;
每个小包IP协议头的 16位标识(id) 都是相同的;每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片,
第3位来表示结束标记(当前是否是最后一个小包, 是的话置为1, 否则置为0);
到达对端时再将这些小包, 会按顺序重组, 拼装到一起返回给传输层;
一旦这些小包中任意一个小包丢失, 接收端的重组就会失败.
但是IP层不会负责重新传输数据;


IP协议的分片和重组

当提交给数据链路层进行传送时,一个IP分片或一个很小的无需分片的IP数据报称为分组。
数据链路层在分组前面加上它自己的首部,并发送得到的帧。

IP首部(5-8字节)包含了分片和重组所需的信息:

Identification:发送端发送的IP数据包标识字段都是一个唯一值,该值在分片时被复制到每个片中。标志:
R:保留未用。
DF:“不分片”位,如果将这一比特置1,IP层将不对数据报进行分片。
MF:“更多的片”,除了最后一片外,其他每个组成数据报的片都要把该比特置1。FragmentOffset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以8。

分片流程:

两个Flags和Fragment Offset结合使用,
进行分片时,DF比特设置为0,表示可以进行分片,
这时如果 MF的值为1,则表示当前IP报文是一个IP包的其中一段分片,
并且不是最后一个分片,这时结合Fragment Offset域继续判断;
如果MF为1而 Fragment Offset= 0,表示该IP报文为第一个分片,而且后续有分片;
如果MF为1而 Fragment Offset不是0,表示该IP报文为中间的一个分片;
如果MF为0而Fragment Offset不是0,表示该报文是最后一个分片。
另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。

分片实例:

一次分片:
网络1 的MTU值 > 网络2 的MTU值


网络1 的MTU值 > 网络2 的MTU值,
网络2 的MTU值 < 网络3 的MTU值.

二次分片:
网络1 的MTU值 > 网络2 的MTU值,
网络2 的MTU值 > 网络3 的MTU值.
例:
一次分片:

再次分片:

14,567:这些分片都是属于同一个报文分组进行分割而来的,所以在重组的时候,就可以根据这个值将这些报文分组进行重新的组合了。数据长度值不同:4020-->1420、1420、1220、1420-->820、620MF的值不同:MF的值说明它们所对应的分片是否是最后一个分片。MF=1,不是最后一个分片;MF=0,为最后一个分片。偏移值:不同的分片它们的偏移值是不同的,偏移值是根据它们所在的分片的位置除以 8 个字节,得到的一个值。

MTU对UDP协议的影响

UDP协议:
一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)),
那么就会在网络层分成多个IP数据报.
这多个IP数据报有任意一个丢失, 都会引起接收端网络层重组失败.
那么这就意味着, 如果UDP数据报在网络层被分片, 整个数据被丢失的概率就大大增加了.

MTU对于TCP协议的影响

TCP协议:
TCP的一个数据报也不能无限大, 还是受制于MTU.
TCP的单个数据报的最大消息长度, 称为MSS(Max Segment Size);
TCP在建立连接的过程中, 通信双方会进行MSS协商.
最理想的情况下, MSS的值正好是在IP不会被分片处理的最大长度(这个长度仍然是受制于数据链路层的 MTU).
双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值.
然后双方得知对方的MSS值之后, 选择较小的作为最终MSS. MSS的值就是在TCP首部的40字节变长选项中(kind=2);

MSS和MTU的关系:

最大传输单元:MTU相关推荐

  1. 【Windows MTU】Windows上最大传输单元MTU值的查看和设置

    Win11 22000.120 IPv6 MTU 值怎么是 1472,Win10 中却是 1500 ? 以管理员 cmd 输入: netsh interface ipv4 show subinterf ...

  2. 【网络】什么是最大传输单元 ( MTU)|MTU 优化

    目录 最大传输单元MTU 最大传输单元 (MTU) IP 分段(IP Fragmentation) Path MTU Discovery 关于网络编程中MTU.TCP.UDP优化配置的一些总结 TCP ...

  3. TCP/IP协议:最大传输单元MTU 路径MTU

    最大传输单元MTU 以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 0和1 4 9 2字节.链路层的这个特性称作M T U,最大传输单元.不同类型的网络大多数都有一个上 ...

  4. 数据链路层——封装成帧、透明传输、差错检测、最大传输单元MTU、以太网协议

    OSI模型中的数据链路层与物理层,在TCP/IP协议中同属于网络接口层. 数据链路层为物理连接之间提供了可靠的数据传输.数据链路层主要解决3个问题:封装成帧.透明传输.差错检测. 封装成帧 " ...

  5. 网络通信-最大传输单元-MTU

    本篇主要讲解:网络通信-最大传输单元-MTU 参考链接1 文章目录 MTU 引用 MTU 介绍 定义 MTU 与 VLAN Tag VLAN Tag 处理方式 IP分片 可靠传输 MTU 之 PMTU ...

  6. 最大传输单元(MTU)

    最大传输单元 维基百科,自由的百科全书 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位).最大传输单元这个 ...

  7. 最大可传输单元 MTU 对 UDP/TCP 包的大小限制

    目录 一.MTU 简述 - 分包后数据包最大长度 1.定义 2.网络中 MTU 值的由来: 1>.最大值: 2>.最佳值的推导: 3>.最佳值: 4>.最小值: 5>.碎 ...

  8. 最大传输单元MTU详解

    MTU(Maximum Transmission Unit,最大传输单元) MTU由TCP/IP协议栈中的IP协议定义,网络层的IP将MTU设置为1500字节. 简单点理解就是:IP规定每一个单独的数 ...

  9. centos 设置mtu_Linux系统下修改最大传输单元MTU的方法

    最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位).最大传输单元这个参数通常与通信接口有关(网络接口卡.串口 ...

  10. 【网络】什么是MTU|MTU 优化|最大传输单元

    目录 最大传输单元MTU 最大传输单元 (MTU) IP 分段(IP Fragmentation) Path MTU Discovery 关于网络编程中MTU.TCP.UDP优化配置的一些总结 TCP ...

最新文章

  1. 培养积极状态的八个方法
  2. 你最喜欢的“程序员”卡通是什么?
  3. SQL Server 个人手册
  4. RTC时间在LCD上显示需注意的问题
  5. 剑指Offer #11 二进制中1的个数(想不到的骚操作)
  6. php如何按降序,PHP数组如何按键名实现降序排列
  7. C - And and Pair
  8. JavaScript算法(实例四)分解质因数 / 四舍五入 / 阶乘之和
  9. x3-02 java,Android Studio 3.2.1 - 新项目无法运行
  10. 战争学院服务器不稳定,英雄联盟服务器突然崩溃坑玩家!战争学院玩家全被强制下线...
  11. Spring Cloud(Greenwich版)-02-服务注册与服务发现-Eureka入门
  12. 那些令人喷饭的代码注释:仅以此代码献给...it's realy ?
  13. 软件测试【个人简历】展示模板
  14. easypr最新Linux,easyPR基本使用
  15. 贪吃蛇代码 (登录可全部复制)
  16. js获取浏览器高度和宽度值
  17. 了解局域网和广域网的概念差异
  18. 大数据平台的SQL查询引擎有哪些—SparkSQL
  19. VC 2014 QQ连连看外挂辅助(讲解,附带下载) CE QQ连连看基址
  20. 当女程序员遇到了问题......太真实了

热门文章

  1. 计算机应用专业毕业感言,大学毕业感言语句
  2. PS制作水印的简单教程
  3. 家庭版Windows10/Windows11不支持远程桌面
  4. WhatsApp Business 与 Google My Business:它们的运作方式和不同之处
  5. 2019年繁星屠龙1-8窍门_《倚天屠龙记》27年后,赵敏终于在元大都等到了41岁的林峰...
  6. vn.py2-行情记录的使用
  7. Python——类和对象、魔术方法(day07)
  8. 暴力解题之公务员行测资料分析技巧
  9. 专访 | 阿里前辈李智慧:聊聊我这20年的架构经!
  10. r星服务器无响应,gta5r星游戏服务器出现了未知错误 | 手游网游页游攻略大全