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详解 - 知乎

相关推荐
数通工程师3 小时前
企业级硬件防火墙基础配置实战:从初始化到规则上线全流程
运维·网络·网络协议·tcp/ip·华为
那就回到过去4 小时前
PIM-DM断言机制和剪枝否决机制
网络·tcp/ip·智能路由器·ensp
橘颂TA5 小时前
【Linux 网络】TCP 拥塞控制与异常处理:从原理到实践的深度剖析
linux·运维·网络·tcp/ip·算法·职场和发展·结构与算法
郝学胜-神的一滴10 小时前
深入理解TCP协议:数据格式与核心机制解析
linux·服务器·网络·c++·网络协议·tcp/ip
Serendipity-Solitude11 小时前
TCP/IP协议栈深度解析技术文章大纲
网络·网络协议·tcp/ip
小π军11 小时前
TCP协议:拥塞控制与流量控制的区别
网络·网络协议·tcp/ip
那就回到过去11 小时前
IP组播技术(2)
网络·网络协议·tcp/ip·智能路由器·ensp
橘颂TA13 小时前
【Linux 网络】从理论到实践:IP 协议的报头分析与分段技术详解
linux·运维·服务器·网络·tcp/ip
迎仔14 小时前
计算机网络分层模型通俗指南 (OSI vs TCP/IP)
网络协议·tcp/ip·计算机网络
煤炭里de黑猫15 小时前
# TCP/IP 协议栈深度解析:从体系架构到现代应用优化
网络协议·tcp/ip·架构