最大传输单元:MTU
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相关推荐
- 【Windows MTU】Windows上最大传输单元MTU值的查看和设置
Win11 22000.120 IPv6 MTU 值怎么是 1472,Win10 中却是 1500 ? 以管理员 cmd 输入: netsh interface ipv4 show subinterf ...
- 【网络】什么是最大传输单元 ( MTU)|MTU 优化
目录 最大传输单元MTU 最大传输单元 (MTU) IP 分段(IP Fragmentation) Path MTU Discovery 关于网络编程中MTU.TCP.UDP优化配置的一些总结 TCP ...
- TCP/IP协议:最大传输单元MTU 路径MTU
最大传输单元MTU 以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 0和1 4 9 2字节.链路层的这个特性称作M T U,最大传输单元.不同类型的网络大多数都有一个上 ...
- 数据链路层——封装成帧、透明传输、差错检测、最大传输单元MTU、以太网协议
OSI模型中的数据链路层与物理层,在TCP/IP协议中同属于网络接口层. 数据链路层为物理连接之间提供了可靠的数据传输.数据链路层主要解决3个问题:封装成帧.透明传输.差错检测. 封装成帧 " ...
- 网络通信-最大传输单元-MTU
本篇主要讲解:网络通信-最大传输单元-MTU 参考链接1 文章目录 MTU 引用 MTU 介绍 定义 MTU 与 VLAN Tag VLAN Tag 处理方式 IP分片 可靠传输 MTU 之 PMTU ...
- 最大传输单元(MTU)
最大传输单元 维基百科,自由的百科全书 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位).最大传输单元这个 ...
- 最大可传输单元 MTU 对 UDP/TCP 包的大小限制
目录 一.MTU 简述 - 分包后数据包最大长度 1.定义 2.网络中 MTU 值的由来: 1>.最大值: 2>.最佳值的推导: 3>.最佳值: 4>.最小值: 5>.碎 ...
- 最大传输单元MTU详解
MTU(Maximum Transmission Unit,最大传输单元) MTU由TCP/IP协议栈中的IP协议定义,网络层的IP将MTU设置为1500字节. 简单点理解就是:IP规定每一个单独的数 ...
- centos 设置mtu_Linux系统下修改最大传输单元MTU的方法
最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位).最大传输单元这个参数通常与通信接口有关(网络接口卡.串口 ...
- 【网络】什么是MTU|MTU 优化|最大传输单元
目录 最大传输单元MTU 最大传输单元 (MTU) IP 分段(IP Fragmentation) Path MTU Discovery 关于网络编程中MTU.TCP.UDP优化配置的一些总结 TCP ...
最新文章
- 培养积极状态的八个方法
- 你最喜欢的“程序员”卡通是什么?
- SQL Server 个人手册
- RTC时间在LCD上显示需注意的问题
- 剑指Offer #11 二进制中1的个数(想不到的骚操作)
- php如何按降序,PHP数组如何按键名实现降序排列
- C - And and Pair
- JavaScript算法(实例四)分解质因数 / 四舍五入 / 阶乘之和
- x3-02 java,Android Studio 3.2.1 - 新项目无法运行
- 战争学院服务器不稳定,英雄联盟服务器突然崩溃坑玩家!战争学院玩家全被强制下线...
- Spring Cloud(Greenwich版)-02-服务注册与服务发现-Eureka入门
- 那些令人喷饭的代码注释:仅以此代码献给...it's realy ?
- 软件测试【个人简历】展示模板
- easypr最新Linux,easyPR基本使用
- 贪吃蛇代码 (登录可全部复制)
- js获取浏览器高度和宽度值
- 了解局域网和广域网的概念差异
- 大数据平台的SQL查询引擎有哪些—SparkSQL
- VC 2014 QQ连连看外挂辅助(讲解,附带下载) CE QQ连连看基址
- 当女程序员遇到了问题......太真实了
热门文章
- 计算机应用专业毕业感言,大学毕业感言语句
- PS制作水印的简单教程
- 家庭版Windows10/Windows11不支持远程桌面
- WhatsApp Business 与 Google My Business:它们的运作方式和不同之处
- 2019年繁星屠龙1-8窍门_《倚天屠龙记》27年后,赵敏终于在元大都等到了41岁的林峰...
- vn.py2-行情记录的使用
- Python——类和对象、魔术方法(day07)
- 暴力解题之公务员行测资料分析技巧
- 专访 | 阿里前辈李智慧:聊聊我这20年的架构经!
- r星服务器无响应,gta5r星游戏服务器出现了未知错误 | 手游网游页游攻略大全