【网络】MTU理解、MTU对上层协议的影响
MTU
MTU:MTU链路层最大传输单元,不同的网络类型有不同的MTU,链路层的MTU(Data数据长度加TCP协议报头长度加IP协议报头长度),以太网帧限制数据长度范围是46到1500字节,ARP数据报不足46字节则在其后面进行补位,若大于1500字节(大于该拨号链路的MTU)则需要在网络层进行分片,将数据报分为若干片,每片都小于MTU。
对上层协议的影响
对网络层IP协议的影响
将较大的IP数据报进行分包时,需要对每个小包进行标记,每个小包中携带部分数据,IP报头的其他数据不变,只是用IP协议头中的3位标志字段和13位偏移量来描述该报文是否是分片,属于哪个分片。
3位标志字段包括1位保留、1位描述是否允许分片:允许分片则置0、1位结束标志:当前若是最后一个小包则置1,否则置0。
13位片偏移:描述当前分片在原始报文中的位置,以8字节为单位,描述其相对起始位置的偏移量。
数据到达对端后,将这些小包按顺序重组后返回给传输层,若传输过程中有小包丢失,接收端的重组就会失败,且IP层不会重传数据。
对应用层UDP协议的影响
若UDP携带数据超过1472(1500-20(IP首部)-8(DUP首部)),在网络层就会被划分为多个IP数据报,在传输过程中,只要有一个小数据报丢失,就会造成接收端网络层重组失败,且不会进行重传,所以若DUP数据超过1472就会在网络层被分片,大大增加数据丢失概率。
对应用层TCP协议的影响
单个TCP数据报的最大消息长度称为MSS,MSS的大小既取决于双方接收缓冲区的大小,也受制于数据链路层MTU的大小,最好的情况是MSS值正好在网络层不会被分片的最大长度。
TCP双方在三次握手建立联系,发送SYN请求时,会在头部写入自己支持的MSS值,双方协商,最后选择较小值作为最终MSS。
【网络】MTU理解、MTU对上层协议的影响相关推荐
- 关于网络编程中MTU、TCP、UDP优化配置的一些总结
首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层. 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在 ...
- 网络编程-TCP/IP协议栈-IP协议
协议 协议就是约定的一种规则,例如扑克游戏中约定好的各种规则,2<3<4<5<-等,以此作为游戏规则.当所有人都遵循这个规则,那么久可以不需要任何多余的交流就可以进行游戏,这个 ...
- 网络基础3-1(细谈IP协议头, 网络层,子网划分,路由选择,数据链路层,以太网帧格式,MAC地址,再谈ARP协议)
IP协议 IP协议头格式 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4 4位头部长度(header length): IP头部的长度是多少个.32bit, 也就是 ...
- 【网络】网络的基础知识--TCP/IP协议、IP分组、TCP传输
1.OSI参考模型: OSI(Open System Interconnect),即开放式系统互联.一般都称为OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型.该体系结构标 ...
- 【Linux网络编程】无连接和面向连接协议
00. 目录 文章目录 00. 目录 01. 概述 02. 附录 01. 概述 网络编程中最基本的概念就是面向连接(connection-oriented)和无连接(connectionless)协议 ...
- 理解面向连接和无连接协议之间的区别
理解面向连接和无连接协议之间的区别 网络编程中最基本的概念就是面向连接(connection-oriented)和无连接(connectionless)协议. 面向连接和无连接指 ...
- 网络编程-TCP/IP协议栈-TCP协议
TCP协议 TCP协议作用 TCP协议位于协议栈的传输层.当应用层向TCP层发送用于网间传输的,用8字节表示的数据流,TCP则吧数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受到改计算机连 ...
- donotage标记、MTU及MTU不匹配问题、OSPF邻居状态记录
目录 一. donotage标记 二.MTU详解 (1)-- MTU简介 (2)--图解 (3)--!!!邻居关系起不来原因: (4)-- 解决: 三.两种特殊的邻居关系: 四.OSPF邻居状态的记录 ...
- 《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——3.2 ZigBee...
本节书摘来自华章出版社<无线网络:理解和应对互联网环境下网络互连所带来的挑战>一书中的第3章,第3.2节,作者:(美)杰克L.伯班克(Jack L. Burbank)等著,更多章节内容可以 ...
- 网络基础(二)之TCP/UDP协议
目录 传输层 再谈端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) 两个问题 pidof netstat UDP协议 UDP协议端格式 对于16位UDP长度的理解 ...
最新文章
- Mac下web自动化环境部署
- switch安装linux教程,Freeswitch Linux安装教程 | 【韩涛博客】
- linux压缩和解压缩命令汇总
- sourceinsight安装记录
- 使用JWT保护你的Spring Boot应用 - Spring Security实战
- 51nod1113-----矩阵快速幂
- secureCRT下载地址,亲测有效
- 基础版专业版全屏海报图片轮播代码生成器(淘宝店铺特效装修工具软件)
- Django序列化django REST framework
- Win10下连接树莓派ZeroW(附win10虚拟网卡驱动下载)
- Makefile:94: recipe for target 'install-***-recurse' failed 解决方法
- TTTTTTZZZZZZ(系统编程---初识线程,查看线程调用栈的三种方法)10
- openstack项目进展
- 进程间通信----共享内存
- 梦断代码 ---阅读笔记02
- android源代码下载
- 珍藏多年的神网站都捐了,你需要的我都有,有了这些网站工作生活不用愁(二)
- AI厂工什么时候开始赛博搬砖?
- AFDX(ARINC664)的网络协议——MAC层
- 设计模式(个人理解)