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对上层协议的影响相关推荐

  1. 关于网络编程中MTU、TCP、UDP优化配置的一些总结

    首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层.  其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在 ...

  2. 网络编程-TCP/IP协议栈-IP协议

    协议 协议就是约定的一种规则,例如扑克游戏中约定好的各种规则,2<3<4<5<-等,以此作为游戏规则.当所有人都遵循这个规则,那么久可以不需要任何多余的交流就可以进行游戏,这个 ...

  3. 网络基础3-1(细谈IP协议头, 网络层,子网划分,路由选择,数据链路层,以太网帧格式,MAC地址,再谈ARP协议)

    IP协议 IP协议头格式 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4 4位头部长度(header length): IP头部的长度是多少个.32bit, 也就是 ...

  4. 【网络】网络的基础知识--TCP/IP协议、IP分组、TCP传输

    1.OSI参考模型: OSI(Open System Interconnect),即开放式系统互联.一般都称为OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型.该体系结构标 ...

  5. 【Linux网络编程】无连接和面向连接协议

    00. 目录 文章目录 00. 目录 01. 概述 02. 附录 01. 概述 网络编程中最基本的概念就是面向连接(connection-oriented)和无连接(connectionless)协议 ...

  6. 理解面向连接和无连接协议之间的区别

               理解面向连接和无连接协议之间的区别 网络编程中最基本的概念就是面向连接(connection-oriented)和无连接(connectionless)协议. 面向连接和无连接指 ...

  7. 网络编程-TCP/IP协议栈-TCP协议

    TCP协议 TCP协议作用 TCP协议位于协议栈的传输层.当应用层向TCP层发送用于网间传输的,用8字节表示的数据流,TCP则吧数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受到改计算机连 ...

  8. donotage标记、MTU及MTU不匹配问题、OSPF邻居状态记录

    目录 一. donotage标记 二.MTU详解 (1)-- MTU简介 (2)--图解 (3)--!!!邻居关系起不来原因: (4)-- 解决: 三.两种特殊的邻居关系: 四.OSPF邻居状态的记录 ...

  9. 《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——3.2 ZigBee...

    本节书摘来自华章出版社<无线网络:理解和应对互联网环境下网络互连所带来的挑战>一书中的第3章,第3.2节,作者:(美)杰克L.伯班克(Jack L. Burbank)等著,更多章节内容可以 ...

  10. 网络基础(二)之TCP/UDP协议

    目录 传输层 再谈端口号 端口号范围划分 认识知名端口号(Well-Know Port Number) 两个问题 pidof netstat UDP协议 UDP协议端格式 对于16位UDP长度的理解 ...

最新文章

  1. Mac下web自动化环境部署
  2. switch安装linux教程,Freeswitch Linux安装教程 | 【韩涛博客】
  3. linux压缩和解压缩命令汇总
  4. sourceinsight安装记录
  5. 使用JWT保护你的Spring Boot应用 - Spring Security实战
  6. 51nod1113-----矩阵快速幂
  7. secureCRT下载地址,亲测有效
  8. 基础版专业版全屏海报图片轮播代码生成器(淘宝店铺特效装修工具软件)
  9. Django序列化django REST framework
  10. Win10下连接树莓派ZeroW(附win10虚拟网卡驱动下载)
  11. Makefile:94: recipe for target 'install-***-recurse' failed 解决方法
  12. TTTTTTZZZZZZ(系统编程---初识线程,查看线程调用栈的三种方法)10
  13. openstack项目进展
  14. 进程间通信----共享内存
  15. 梦断代码 ---阅读笔记02
  16. android源代码下载
  17. 珍藏多年的神网站都捐了,你需要的我都有,有了这些网站工作生活不用愁(二)
  18. AI厂工什么时候开始赛博搬砖?
  19. AFDX(ARINC664)的网络协议——MAC层
  20. 设计模式(个人理解)

热门文章

  1. python弹球游戏添加一个球_Python实现的弹球小游戏示例
  2. STC12C5A60S2定时器配置
  3. 会话管理:Cookie和Session
  4. 【三色N95pro显示器驱动板烧录-维修小记】
  5. 专访李智慧:架构是最高层次的规划和难以改变的决定
  6. 华为云服务之弹性云服务器ECS的深度使用和云端实践
  7. 专题·快速沃尔什变换(FWT)【including FWT,洛谷P4717【模板】快速沃尔什变换
  8. Java_实现身份证信息提取个人信息
  9. linux 关闭桌面休眠,Linux关闭休眠和屏保模式
  10. 目标跟踪VOT2016的配置