TCP/IP:MSS MSL MTU

【TCP/UDP】MSS和MTU、UDP报文、TCP报文、如何实现TCP的长连接、TCP的粘包问题如何解决等重点知识汇总 这时,接收方的程序如果不知道发送方发送的消息的长度,也就是不知道消息的边界时,是无法读出一个有效的用户消息的,因为用户消息被拆分成多个 TCP 报文后,并不能像 UDP 那样,一个 UDP 报文就能代表一个完整的用户消息。数据分段:首先,数据报文被分割成多个16位的字(或者称为16位字,即两个字节),如果数据长度不是16位的整数倍,最后一个字节将被扩展为16位。求和:将这些16位字依次相加,形成一个32位的中间和,如果中间和的高16位不为0,将其加到低16位上,得到最终的16位和。 阅读详情

一 MSL(最大报文长度:Maximum Segment Size):在TCP报文首部的选项中设置(可以通过getsockopt和setsockopt获取和设置TCP套接字选项TCP_MAXSEG)。

(1)概述:

MSS是每一个TCP报文段中的数据字段部分的最大长度:

MSS=TCP报文段长度-TCP首部长度

(2)MSS的取值:

*当双方在都在一个本地以太网上时规定MSS为1460(1460+20(TCP首部)+20(IP首部));如果是非局域网时则默认值是536.

*MSS与接收窗口没有关系,并不是考虑接收方的接受缓存可能放不下TCP报文段中的数据。

*MSS过小,网络利用率低;MSS过大,在IP层传输时有可能要分解成多个短数据报片,开销比较大。MSS应该尽可能大,只要在IP层传输时不需要再分片就可以。

*最佳MSS很难确定,两个传送方向可以有不同的MSS值。在连接建立的过程中,双方都把自己能够支持的MSS写入TCP首部的选项字段中的MSS字段,以后就按这个数值传送数据。如果主机未填写,默认为536字节长。


二 MSL(最长报文段寿命:Maximum Segment Lifetime)

(1)RFC793建议设为2分钟。TCP对于不同的实现可根据具体情况使用更小的MSL的值。

(2)用处:

*TCP连接释放时,主动请求释放的主机必须经过等待计时器设置的时间2MSL后,才能进入CLOSED状态。


三 MTU(Maximum Transfer Unit:最大传送单元)

(1)概述:

在IP层下面的每一种数据链路层都有自己的帧格式,其中帧格式中的数据字段的最大长度称为最大传送单元MTU。

当一个IP数据报封装成链路层的帧时,数据报的长度一定不能超过下面的数据链路层的MTU值。


(2)MTU的长度:

以太网规定MTU的长度为1500字节。

(3)路径MTU:

两台通信主机路径中的最小MTU,称为路径MTU.


从三次握手到十万并发:TCP/IP 栈与调优的全景地图 把 TCP/IP 跑快,常常不是“某个神奇参数”,而是四件事的平衡:带宽、时延、丢包、队列。CUBIC 和 BBR 是两种世界观;MSS/MTU 是物理边界;窗口与缓冲是容量;conntrack 是账本。把它们用数据串在一起,才能得到稳态下的高吞吐与低时延。你在生产里经常踩到的网络坑是什么?欢迎在评论区分享你的链路特性、参数组合与观测截图,一起把“玄学调参”变成“可复现工程”。 阅读详情

相关推荐

TCP/IP——TCP连接的建立与终止、TCP超时、TCP状态变迁、TCP复位

一、概述 TCP是一个面向连接的协议。无论哪一方想另一方发送数据之前,都必须现在双方之间建立一条连接。这种两端间连接的建立与无连接协议如UDP不同。一端使用UDP想另一端发送数据报时,无需任何预先的握手。 二、TCP连接的建立和终止的时间 发起连接(报文段1)的一方是主动打开,接受连接(报文段2)的一方是被动打开。 其中,双方的序号(ack)的初始值(ISN)都是根据自身主机的时钟随机生成的,这...

weixin_44233369的博客 3281

TCP的MSS的计算与详解

TCP,MSS,TCP分片,PMTU,路径MTU,MSS协商

meihualing的专栏 3万+

嵌入式TCP/IP协议栈调优实战:内存管理与参数配置指南

TCP/IP协议栈是网络通信的核心基础,它定义了数据如何在网络中封装、寻址、传输和接收。其工作原理基于分层模型,通过协议头封装和滑动窗口等机制,在不可靠的物理链路上实现可靠的数据传输。对于嵌入式系统而言,协议栈的技术价值在于以有限的资源实现稳定高效的网络连接,是设备联网的关键。在工业控制、智能仪表等应用场景中,开发者常面临内存紧张与性能优化的挑战。本文聚焦于嵌入式TCP/IP协议栈的深度调优,特别是针对**缓冲区管理**和**TCP参数**的配置艺术。通过剖析缓冲区大小与数量的权衡、TCP_MSS与TCPT

weixin_30527423的博客 327

TCP选项之MSS

1. 概述 MSS(Maximum Segment Size,最大报文段大小)的概念是指TCP层所能够接收的最大段大小,该值只包括TCP段的数据部分,不包括选项部分。 另外,在TCP首部有一个MSS选项,在三次握手过程中,TCP发送端使用该选项告诉对方自己所能接受的最大段大小。 MSS选项虽然作为一个选项存在,原则上讲是可有可无的,但是目前绝大多数的TCP通信过程中都会携带该选项,所以可以说它是T...

九天小哥的专栏 3万+

TCP 最大段大小(Max Segment Size,MSS) 最大段大小

TCP 最大段大小(Max Segment Size,MSS) TCP 为了避免被发送方分片,会主动把数据分割成小段再交给网络层,最大的分段大小称之为 MSS(Max Segment Size)。 MSS = MTU - IP header头大小 - TCP 头大小 这样一个 MSS 的数据恰好能装进一个 MTU 而不用分片。 在以太网中 TCP 的 MSS = 1500(MTU) - 20...

zhaoyangjian724的专栏 5608

网络MTU和MSS

1. MTU MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层(IP层)最大一次传输数据的大小;以普遍使用的以太网接口为例,缺省MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有<=1500 byte 需要发送,只需要一个IP包就可以完成发送任务;如果IP层有> 1500 byte 数据需要发送,需要分片才能完成发送,这些分片有一个共同点,即IP Header ID相同。 2. MSS MS...

ARM-Linux 1196

计算机网络中常见缩略词翻译及简明释要

局域网中的数据传输不是通过网络层的 IP 地址进行路由和转发的,然而 IP 地址一般都是发送数据主机知道的唯一信息,想要在局域网中发送数据,还是需要知道它们的 MAC 地址。IP 协议的 MTU 是物理设备上的限制,它限制了路径能够发送数据包的上限,而 TCP 协议的 MSS 是操作系统内核层面的限制,通信双方会在三次握手时确定这次连接的 MSS。MTU 的值不是越大越好,更大的 MTU 意味着更低的额外开销,更小的 MTU 意味着更低的网络延迟。

techdashen的博客 2104

C#安装OpenCv及打开笔记本默认摄像头方法

C#安装OpenCv及打开笔记本默认摄像头方法

cg1135217680的博客 2572

网络术语MSL/TTL/RTT

MSL(Maximum Segment Lifetime)最大报文生存时间 每个TCP实现必须选择一个MSL。它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL时间。RFC 793指出MSL为2分钟,现实中常用30秒或1分钟。 2MSL 当TCP执行主动关闭,并发出最

Sunshine的专栏 1万+

一觉醒后ChatGPT 被淘汰了

近日,AI 界貌似出现了一种新的趋势:自主人工智能。这不是空穴来风,最近一个名为 AutoGPT 的研究开始走进大众视野。特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy 也为其大力宣传,并在推特赞扬:「AutoGPT 是 prompt 工程的下一个前沿。」

Rocky006的博客 13万+

数据库行转列的sql语句

 问题描述假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82现在 想写  sql 语句     查询后结果 为    姓名 语文 数学 物理张三 80 90 85李四 85 92 82       该怎么实现 ?研究意义        这是个并不复杂的问题,但却是数

jb303的专栏 2247

TCP/IP术语汇总

网络相关术语 因特网(Internet),它是指当前全球最大的、开放的、有众多网络互相连接而成的特定的计算机网络,它采用 TCP/IP 协议族作为通信的规则,其前身是美国的 ARPNET。 链路层相关术语 以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最...

游戏猫的博客 871

ArduSub程序学习(1)——ardupilot框架整理

AP_HAL层(硬件抽象层)是我们制作 ArduPilot 的方式可移植到许多不同的平台。有一个顶级AP_HAL libraries/AP_HAL,用于定义代码其余部分的接口 有针对具体的板子特性,然后就有了AP_HAL_XXX 子目录,例如,AP_HAL_AVR 用于基于 AVR 的 开发板,AP_HAL_PX4用于 Pixhawk 开发板和 AP_HAL_Linux 基于 Linux 开发板。工具目录tools directories工具目录是杂项支持目录。

weixin_49839886的博客 2811

TCP/IP-UDP详解草稿

1 2 阻塞 非阻塞 返回值 read/recv recv会阻塞着接收数据 while 循环读. read result <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况 下认为连接是正常的,继续接收 都是 <0:出错,=0:连接关闭,>0接收到数据大小 write/send send会阻塞着发送数据 ......

fdsafwagdagadg6576的专栏 867

华为网络实战:5分钟搞定OSPF+VRRP+MSTP多协议联动配置(附完整命令集)

本文深入解析了在企业网络中如何高效协同部署OSPF、VRRP和MSTP三大协议。通过一个典型的双核心网络案例,详细阐述了从规划、配置到验证的完整流程,重点强调了确保MSTP根桥与VRRP主设备一致的设计原则,以实现最优的二层与三层流量转发路径,并提供了完整的命令集和故障排查思路。

weixin_29251337的博客 153

短视频团队架构&工作流程---2025.3.30

1、负责短视频日常内容分发上线,包括视频头图、标题、简介、推荐位及部分内容元数据的日常导入、审核、上线、下线,并提供各品类短视频的内容上线计划表。(20)运营:视频推送后,实时跟进视频数据,定期统计分析数据报表,根据数据表现 找到问题,并发送给各个小组的负责人,对下一期视频内容进行调整。(4)运营:收到成片,设计视频头图、标题、简介、推荐位等,分发到各个平台,统计分析视频的数据,对各个平台的视频进行管理、用户互动等。1、负责影视、戏剧、广告、专题片等的策划、组稿选题、材料收集、内容策划。

超越神明 2145

TCP/IP协议—TCP

以太网为例,缺省MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有<=1500 Byte需要发送,只需要一个IP包就可以完成发送任务,如果IP层有>=1500 Byte数据需要发送,需要分片才能完成发送,这些分片有一个共同点,即IP Header ID相同。:keepalive timer,在连接长时间空闲时启动,在空闲2小时后会超时并且发送探测报文,判断对端是否存在,超时后会重启并取值75秒,如果超过8次后仍未得到确认,则连接被终止。报文中的seq和ack在前面数据交互的基础上+1。

起风的博客 1327

Ubuntu下Vim创建属于自己的头部注释和代码模板

痛点 每次打开vim想写个C或者C++的程序都要把固定的模板敲一遍,是不是感觉非常的繁琐,能不能把Vim弄得像IDE那样新建一个文件直接生成对应的头部注释和代码模板,减少这些重复工作呢?下面我尽量详细的介绍实现的方法: 先看看新建文件后的效果 C语言格式效果 C++语言效果 方法: 使用命令 vi /etc/vim/vimrc 打开vimrc这个文件,然后复制以下代码至文件末尾的空白处即可! 修改vimrc文件里面的内容必须要用root管理员身份才能进行修改,修改时先切换至root身份即可。 "新建.

weixin_42137584的博客 1559

TCP/IP杂记

本文所总结的也是书上的一些小问题,有可能有错,仅供参考: 1.TCP/IP四层模型:应用层(Telnet、ftp、snmp和smtp等)、传输层(TCP/UDP)、网络层(IP、ICMP和IGMP)和链路层(设备驱动程序和网络接口卡)。(P1)   2.在TCP/IP协议族中,网络层IP提供的是一种不可靠、无连接的数据报传送服务。也就是说,它只是尽可能快地把分组从源节点送到目的节点,但是并不

继续微笑lsj 1555

青少年C/C++软件编程(四级)等级考试真题及答案解析目录

3. 带通配符的字符串匹配。1. 怪盗基德的滑翔翼。3.最长公共子上升序列。4.宠物小精灵之收服。

长春高老师编程 3027

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

那年那夏那些不太明白的TCP1

What 可曾听说过TCP/IP协议? 嗯?那是相当的厉害啊。 结构 几个概念要清楚 MTU : Maximum Transmission Unit, 最大传输单元。物理接口(数据链路层)提供给其上层最大一次传输数据的大小。[ xf: 这里会发生 IP切片 ,产生IP分片与重组] MSS: Maximum Segment Size, 最大TCP分段大小。不包含TCP头部,指的是T...

xiangfeihuanjue的博客 307

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[TCP] TCP/IP 基础知识词典(2)

TCP协议的知识整理

zlllc的博客 1535

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

tcp/IP

TCP/IP详解 第11章 UDP 16位源端口号 16位目的端口号   16位UDP长度  16位UDP检验和 数据 8+n字节 Ethernet II 6(目的mac)+6(源mac)+2(ip版本) TCP/IP详解 第17章 TCP:传输控制协议 17.2 tcp服务 1、TCP提供一种面向连接的、可靠的字节流服务。 2、应用数据会被切割成tcp认为最适合发送的数据块。udp传输时数据...

weixin_38825407的博客 171

TCP/IP协议栈补充

本文系统介绍了TCP/IP协议栈的分层工作原理:物理层通过中继器和高质量网线解决信号传输问题;数据链路层借助交换机的MAC地址表实现智能转发;网络层通过IP地址和路由器实现跨网络通信;传输层由TCP协议通过三次握手、确认重传等机制确保可靠传输。各层协同工作,构建了现代计算机网络的基础架构,理解其原理对网络设计、故障排查至关重要。

l511808420的博客 963

TCP随记

目录 一些常识 状态机 ack 滑动窗口 慢启动 快速恢复和快速重传 SACK 一些常识 MAC头14字节 IP首部:20字节+option TCP头:20字节+option(klv格式,toa,mss,win,sack等) UDP头:8字节 MTU:网络层最大传输单元 MSS:最大分段长度(TCP的syn包中传递,防止底层分片) 状态机 三次握手 ...

我从废墟中走来 386
上一篇: 并行计算概述
下一篇: 管道与重定向
first_wolf
博客等级 码龄14年 43粉丝 472原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值