最大报文段长度——MSS
1. 概念
MSS(Maximum Segment Size,最大报文长度),是TCP协议定义的一个选项,MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度
在以太网环境下,MSS=MTU-20字节TCP报头-20字节IP报头,MSS值一般就是1500-20-20=1460字节。
2. MSS的确定
MSS值只会出现在SYN报文中,即SYN=1时,才会有MSS字段值。
如图所示,服务器访问某网站时进行TCP的三次握手。
1)首先客户端会发送一个SYN请求报文,这个SYN报文的“选项”字段中会有MSS值(MSS = MUT - IP首部长度 - TCP首部长度)。该MSS值是为了告知对方最大的发送数据大小。
2)当服务器端收到SYN报文后,会向请求端返回SYN+ACK(同步确认报文)报文,其中的“选项”字段也会有MSS值。
3)通信双方选择SYN和SYN+ACK报文中最小的MSS最为此次TCP连接的MSS,从而达到通信双发协商MSS的效果。
结论: 在第二次握手后就可以确定TCP中最大传输报文(MSS)大小。
3. 确定MSS作用
在tcp交互之前避免分片的产生。
4. MTU
MTU 最大传输单元(Maximum Transmission Unit,MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。
利用ifconfig命令可以查看当前mtu的大小。
5. MTU和MSS的区分
最大报文段长度(MSS)与最大传输单元(Maximum Transmission Unit, MTU)均是协议用来定义最大长度的。
MTU应用于OSI模型的第二层数据链接层,并无具体针对的协议。MTU限制了数据链接层上可以传输的数据包的大小,也因此限制了上层(网络层)的数据包大小。例如,如果已知某局域网的MTU为1500字节,则在网络层的因特网协议(Internet Protocol, IP)里,最大的数据包大小为1500字节(包含IP协议头)。
MSS针对的是OSI模型里第四层传输层的TCP协议。因为MSS应用的协议在数据链接层的上层,MSS会受到MTU的限制。
6. PMTUD(路径MTU)
作用: 通过由中间设备修改经过其转发的TCP SYN报文中的MSS值,让中间设备参与进TCP 三次握手时SYN报文的MSS协商来避免分片。
一张参考图
部分参考:
https://zhuanlan.zhihu.com/p/139537936
最大报文段长度——MSS相关推荐
- TCP/IP协议:最大报文段长度(MSS)是如何确定的
TCP提供的是一种面向连接的,可靠的字节流服务,TCP提供可靠性的一种重要的方式就是MSS.通过MSS,应用数据被分割成TCP认为最适合发送的数据块,由TCP传递给IP的信息单位称为报文段或段(seg ...
- TCP/IP协议:最大报文段长度(MSS)是如何确定的(3)
一.实际使用中的问题 用户在使用路由器访问Internet时,经常会反馈不能访问网页(或部分网页)以及使用Outlook收发邮件(这些应用是基于TCP或UDP的),但进行Ping包时没有问题,这时候检 ...
- TCP/IP协议:最大报文段长度(MSS)是如何确定的(2)
一旦DF位置一,将不允许中间设备对该报文进行分片,那么在遇到IP报文长度超过中间设备转发接口的MTU值时,该IP报文将会被中间设备丢弃.在丢弃之后,中间设备会向发送方发送ICMP差错报文. 为了简单直 ...
- TCP协议MSS最大报文段长度概述
MSS,最大报文段长度(Maximum Segment Size ),是TCP协议的一个选项,用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度(不包括文段头). 在这之前, ...
- TCP协议的特点和TCP报文段格式
参考:https://www.bilibili.com/video/BV19E411D78Q?p=62 传送数据之前必须建立连接,数据传送结束后要释放连接.不提供广播或多播服务.由于TCP要提 供可靠 ...
- 【计算机网络】传输层 : TCP 协议 ( TCP 协议特点 | TCP 报文段首部格式 | TCP 报文段控制位 )
文章目录 一.TCP 协议 特点 二.TCP 报文段首部格式 三.TCP 报文段首部 666 控制位 一.TCP 协议 特点 TCP 协议 特点 : ① 面向连接 : TCP 协议的连接是 " ...
- TCP报文发送的那些事
今天我们来总结学习一下TCP发送报文的相关知识,主要包括发送报文的步骤,MSS,滑动窗口和Nagle算法. 发送报文 该节主要根据陶辉大神的系列文章总结而来.如下图所示,我们一起来看一下TCP发送 ...
- TCP和UDP报文头格式(转)
一.TCP 1.源端口和目的端口:各占2个字节. 2.序号:占4字节.序号范围是0~2^32-1.TCP是面向字节流的,TCP连接中传送的字节流中的每个字节都按顺序编号.整个要传送的字节流的起始 ...
- TCP报文发送的那些事 1
今天我们来总结学习一下TCP发送报文的相关知识,主要包括发送报文的步骤,MSS,滑动窗口和Nagle算法. 发送报文 该节主要根据陶辉大神的系列文章总结而来.如下图所示,我们一起来看一下TCP发送 ...
最新文章
- 科技边框_智能手机窄边框喷射点胶机欧力克斯
- 从成本角度看Java微服务
- 一个简单的配置管理器(SettingManager)
- 【机器学习基础】时间序列基本概念
- Cortex-M3-栏目-文章来源
- ios下划线变量:为什么变量前要加下划线才有用?
- C++学习笔记(三)
- 六十五年来,他的祖国向他道歉了三次
- 程序员面试金典——3.3集合栈
- c语言编程:有理数比较,有理数类的设计
- saltstack实战--远程执行之返回(returner)
- 快读与快输(读入优化与输出优化、QIO优化)
- 关于js中的类式继承
- 听觉能力类毕业论文文献有哪些?
- 移动硬盘制作随身系统
- Net start 命令详
- ArcGIS教程:ArcGIS中的图表是什么
- blood pressure android app,BP(Blood Pressure) Diary
- Cocos Creator性能优化---DrawCall
- 主流网络文学网站流量分析用户需求