网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

如何找到适合网络的合适MTU大小?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

最大传输单元(Maximum Transmission Unit, MTU)指的是在网络中传输数据包或帧时,所能达到的最大尺寸。这个尺寸是使得数据包或帧不会被分割成更小的碎片而仍能被顺利传输的最大数值。 它们以八位字节的形式被表示出来,这些八位字节可以在基于帧/数据包的网络中传输。 如果某个数据包的大小超过了指定的MTU值,那么该数据包会被分割成多个较小的子数据包。 现在,如果这些数据包的数量较少的话,那问题并不大。但是,当碎片化的数据包数量过多时,网络上的数据传输速度就会显著下降。

使用错误的MTU大小可能会导致各种问题。例如,在使用某些浏览器时可能会出现问题;在网络上传输或接收文件时也可能出现故障;此外,VoIP通信也会面临一些困难。 为了解决这些问题,需要检查MTU值,并将其设置为最优的MTU大小。 如果MTU的大小是最优的,那么就可以显著提升网络的整体性能。当数据流中每个数据包的长度等于MTU值时,就能实现更高的传输速度。

在各种网络设备中,可以选择性地为某个接口设置MTU值。不过,最合适的MTU值应该根据实际情况来设定。TCP协议会利用MTU值来限制每个数据包的最大大小。通常情况下,以太网协议的MTU值上限为1500字节。

MTU大小:

要找到最佳的最大传输单元大小,可以打开命令提示符,然后在搜索框中输入“”。命令提示符”.

请输入以下命令,其中URL和数据包大小可以根据需要进行调整。

ping www.xyz.com -f -l 1460

在发送ping命令后,会得到一些输出结果。这些输出结果的样子可能像下面这样。

C:\Users\mkbt>ping www.xyz.com -f -l 1460
Pinging www.xyz.com [143.238.92.7] with 1460 bytes of data:
Reply from 143.238.92.7: bytes=68 (sent 1460) time=55ms TTL=60
Reply from 143.238.92.7: bytes=68 (sent 1460) time=42ms TTL=60
Reply from 143.238.92.7: bytes=68 (sent 1460) time=40ms TTL=60
Reply from 143.238.92.7: bytes=68 (sent 1460) time=41ms TTL=60
Ping statistics for 143.238.92.7:
  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
  Minimum = 40ms, Maximum = 55ms, Average = 45ms

如上所述,这些数据包并没有被分割。因此,我们继续尝试增加数据包的大小来解决问题。

C:\Users\mkbt>ping www.xyz.com -f -l 1472
Pinging www.xyz.com [143.238.92.7] with 1472 bytes of data:
Reply from 143.238.92.7: bytes=68 (sent 1472) time=55ms TTL=60
Reply from 143.238.92.7: bytes=68 (sent 1472) time=42ms TTL=60
Reply from 143.238.92.7: bytes=68 (sent 1472) time=40ms TTL=60
Reply from 143.238.92.7: bytes=68 (sent 1462) time=41ms TTL=60
Ping statistics for 143.238.92.7:
  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
  Minimum = 40ms, Maximum = 55ms, Average = 45ms

同样,我们仍然没有看到任何碎片化现象,因此我们将再次增加数据包的大小。

C:\Users\mkbt>ping www.xyz.com -f -l 1473
Pinging www.xyz.com [143.238.92.7] with 1473 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Ping statistics for 143.238.92.7:
  Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
 

结论:

我们发现,当数据包的大小达到1473字节时,该数据包会被分割成多个小数据包。这意味着,该数据包的最大可能大小应该是1472字节。不过,这并非MTU值。要得到真正的MTU值,还需要加上IP头部和ICMP头部的长度,即28字节。因此,MTU的值为1472 + 28 = 1500字节,这就是最优的MTU值。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料