当前位置: 首页 > news >正文

MTU TCP-MSS(转载)

MTU

MTU 最大传输单元(Maximum Transmission Unit,MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。

是包或帧的最大长度,一般以字节记。如果MTU过大,在碰到路由器时会被拒绝转发,因为它不能处理过大的包。如果太小,因为协议一定要在包(或帧)上加上包头,那实际传送的数据量就会过小,这样也划不来。大部分操作系统会提供给用户一个默认值,该值一般对用户是比较合适的。

IP协议除了具有路由寻址功能外,另一个重要的功能就是IP数据报的分片处理。每个数据链路层能够确定发送的一个帧的最大长度称为最大传输单元。在Ethernet中,MTU为1500字节;在FDDI中,MTU为4352字节;在 IP over AMT中,MTU为9180字节。

TCP MSS

MSS(Maximum Segment Size,最大报文长度),是TCP协议定义的一个选项,MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度。

TCP在三次握手建立连接过程中,会在SYN报文中使用MSS(Maximum Segment Size)选项功能,协商交互双方能够接收的最大段长MSS值。

MSS是传输层TCP协议范畴内的概念,顾名思义,其标识TCP能够承载的最大的应用数据段长度,因此,MSS=MTU-20字节TCP报头-20字节IP报头,那么在以太网环境下,MSS值一般就是1500-20-20=1460字节。

客户端与服务器端分别根据自己发包接口的MTU值计算出相应MSS值,并通过SYN报文告知对方,我们还是通过一个实际环境中捕获的数据报文来看一下MSS协商的过程:

通过在TCP连接之初,协商MSS值巧妙的解决了避免端系统分片的问题,但是在复杂的实际网络环境下,影响到IP报文分片的并不仅仅是发送方和接收方,还有路由器、防火墙等中间系统。

参考:

MTU TCP-MSS详解 - 知乎

http://www.lryc.cn/news/259120.html

相关文章:

  • 【ARM Trace32(劳特巴赫) 高级篇 20 -- SNOOPer 使用介绍】
  • MySQL笔记-第11章_数据处理之增删改
  • ANSYS常见error解答(转)
  • 【Let‘s Encrypt SSL】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书
  • XML学习及应用
  • Docker部署Nacos集群并用nginx反向代理负载均衡
  • C++STL的stack和queue(超详解)
  • 【C语言实现windows环境下Socket编程TCP/IP协议】
  • CGAL的3D简单网格数据结构
  • 正则表达式(9):扩展正则表达式
  • 静态SOCKS5:了解基本概念和协议
  • 用23种设计模式打造一个cocos creator的游戏框架----(十二)状态模式
  • js 转换为数组并返回(Array.of())
  • git上传文件夹后打不开,有@.....
  • 31、应急响应——Windows
  • QT linux下使用Qt Creator调试附加进程,加快调试
  • IDEA Maven项目如何引用本地jar包,并打包发布
  • Unity中Batching优化的GPU实例化(3)
  • Web应用JSON数据保护(密码算法、密钥、数字签名和数据加密)
  • 【软件安装】VMware安装Centos7虚拟机并且设置静态IP,实现Windows和Centos7网络互相访问
  • 203. 移除链表元素
  • 最新鸿蒙HarmonyOS4.0开发登陆的界面1
  • 【模型训练】目标跟踪
  • zabbix——实现高效网络监控
  • LeetCode力扣每日一题(Java):58、最后一个单词的长度
  • 一、python requests爬虫[基础、上传文件、会话维持、代理设置]
  • ActiveMQ使用指南
  • 动态SQL学习及使用场景(简略)
  • 【算法每日一练]-动态规划(保姆级教程 篇13)POJ2686马车旅行 #POJ3254 玉米田 #POJ1185:炮兵阵地
  • 工业固体废物智能化综合管控平台