Linux下查看与修改mtu值

🏛️ 365游戏厅网页登录 ⏳ 2026-02-16 13:31:06 👤 admin 👁️ 5854 💎 336
Linux下查看与修改mtu值

MTU:通信术语最大传输单元(Maximum Transmission Unit)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。我们在使用互联网时进行的各种网络操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在我们常用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输 。MTU的设置不是一个值天下通用,所以需要我们合理设置特殊场景的MTU 。

首先确认什么是不合理的 :1.本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间 。2.本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥 。这样我们就知道:所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。

检测需要设置的合理的值:

大部分网络设备都是1500。如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包

Linux OS:# ping -s 1472 -M do 172.21.0.118含义:发送大小包大小是1472(+28)字节,禁止路由器拆分数据包。 【 1472 + 8(ICMP回显示请求和回显应答报文格式长度) + 20(IP首部) = 1500 】回复结果:1.如果正常回复,说明网络允许最大MTU就是1500字节,与系统默认相同,只需将自己的路由的MTU也设置为1500即可。2.如果没正常回复,说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。

MTU设置与查看:

1、设置本机的mtu,即时生效,重启后失效# ifconfig eth0 mtu 1472

2、永久生效的修改方法,缺点是需要重启网卡

# vim /etc/sysconfig/network-scripts/ifcfg-eth0 增加如下内容

MTU="9000"

# service network restart

查看设置后的结果# netstat -i 或使用ifconfig也可以查看得到

--------------------------------------------------------------------

MSS: Maxitum Segment Size 最大分段大小

MSS最大传输大小的缩写,是TCP协议里面的一个概念。MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes), 通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。

而一般以太网MTU都为1500, 所以在以太网中, 往往TCP MSS为1460。

相关掠夺

365游戏厅网页登录
孟子的成就有哪些 孟子的思想主张是什么

孟子的成就有哪些 孟子的思想主张是什么

🗓️ 09-19 👁️ 7511
best365官网登陆
国内知名设计网站你知道哪些

国内知名设计网站你知道哪些

🗓️ 06-30 👁️ 215
best365官网登陆
千姿百态的螭纹装饰

千姿百态的螭纹装饰

🗓️ 09-26 👁️ 974