以太网的帧长,MTU, IP报文长度,TCP报文长度,TCP MSS之间的关系

本文介绍了网络通信中的几个关键长度概念:以太帧的最小64字节和最大1518字节,MTU在以太网中的默认1500字节,IP报文的1480字节有效载荷,TCP报文的1460字节有效载荷,以及TCPMSS的计算方式,强调了它们在网络数据传输中的作用和限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文不考虑巨型帧(jumbo frames)的情况下,我们来理几个概念。在日常讨论中,这几个长度经常会容易被混淆起来。64字节,1518字节,1500字节,1460字节,我们接下来会来介绍一下这几个常见,易混淆的长度值的来源。

1、以太帧帧长:

数据帧的长度,代表二层以太帧长。如下图所示,IEEE802.3协议规定,以太帧帧长最小为64字节,最大为1518字节
在这里插入图片描述
这里还有另外一种算法,则要在上面图片显示的基础上加上7字节前导同步码 + 1字节帧开始定界符,变成7字节前导同步码 + 1字节帧开始定界符 + 6字节的目的MAC + 6字节的源MAC + 2字节的帧类型 + 1500 + 4字节的FCS,则总长度变成1518+7+1 = 1526字节;
而有人讨论这个时,不仅不考虑前导同步码和字节帧开始定界符,也不考虑FCS部分(因为这些部分在抓包软件里往看不到),那么就这成了1514字节。

2、MTU(Maximum Transmission Unit,最大传输单元):

MTU是指网络能够传输的最大数据包大小,以字节为单位。MTU是数据链路层的概念,在以太网中,是指以太帧承载的有效数据载荷(payload)部分的长度的最大值。不同链路介质类型的网络有不同的默认MTU值。如下图所示,我们通过以太帧帧长最小为64字节,最大为1518字节,可以知道以太帧有效数据部分最最小为64-6-6-2-4 = 46字节,最大为1518-6字节目标MAC地址-6字节源MAC地址-2字节数据帧类型-4字节校验 = 1500字节,这个最大值就称为MTU,所以通常是1500字节。
在这里插入图片描述

通过以下命令可以查看主机中所有接口的MTU的值

sudo netstat -i

3、IP报文长度:

一般来说,受限于MTU,我们认为IP报文是由20字节的IP头部+1480字节的IP有效数据载荷构成的。
在这里插入图片描述
所以IP有效数据载荷的长度通常为1480字节。

4、TCP报文长度:

受限于MTU(准确的说是受限于MSS,见下一章节)TCP报文长度由由20字节的TCP头部+1460字节的TCP有效数据载荷构成的。TCP有效数据载荷的长度是1460字节
在这里插入图片描述

5、TCP MSS(Maximum Segment Size):

TCP MSS是指TCP协议所允许的最大报文长度,即TCP数据包每次能够传输的最大的TCP最大有效数据载荷部分的长度,不包含TCP头部。MSS是指TCP的有效数据载荷部分的最大长度。一般来说,如果我们只考虑主机当前以太网的接口卡的MTU:TCP MSS = MTU - IP头部20字节 - TCP头部20字节 = 1460字节。在实际的网络中TCP MSS不仅仅受限于主机当前网络接口卡的MTU,还受限于网络中以及端主机的MTU的大小,具体可参见
TCP的MSS的计算与详解
TCP之路径MTU(PMTU)发现过程详解

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值