本文目录导读:

确定当前路径的MTU值
-
使用
ping命令探测:- Windows/Linux/macOS均支持
ping命令的-f(禁止分片)和-l(设置数据包大小)参数。 - 示例:
ping -f -l 1472 <目标IP>(1472是ICMP数据部分,加上28字节的IP/ICMP头部,总大小1500字节)。 - 从较大值(如1500)逐步减小,直到收到正常回复,此时的数据包大小+28即为路径MTU。
- Windows/Linux/macOS均支持
-
使用
traceroute/tracert命令:- Windows:
tracert <目标IP>。 - Linux/macOS:
traceroute --mtu <目标IP>(需root权限)。 - 可查看每个跃点的MTU值。
- Windows:
调整本地系统MTU
-
Windows:
- 使用管理员身份运行命令提示符。
- 查看当前MTU:
netsh interface ipv4 show subinterfaces。 - 设置新MTU(例如1450):
netsh interface ipv4 set subinterface "以太网" mtu=1450 store=persistent。 - 重启网络适配器或系统生效。
-
Linux/macOS:
- 临时设置(重启失效):
sudo ifconfig eth0 mtu 1450
- 永久设置(以Ubuntu为例,编辑
/etc/netplan/*.yaml或/etc/network/interfaces,添加mtu: 1450)。
- 临时设置(重启失效):
调整路由器/网关的MTU
- 登录路由器管理界面(通常为192.168.1.1或类似地址)。
- 找到WAN口设置或接口配置,修改MTU值(常见默认值1500)。
- 如果使用PPPoE拨号(如ADSL),MTU通常建议为1492(PPPoE头部占用8字节)。
- 某些路由器支持自动检测MTU(如“MTU侦测”功能)。
优化VPN/隧道场景
- VPN(如OpenVPN、WireGuard)会额外增加头部开销(通常40-60字节)。
- 建议将本地MTU设置为1500 - VPN头部大小。
例如OpenVPN默认头部50字节,则MTU设为1450。
- 在VPN客户端配置中直接设置MTU(如OpenVPN的
mtu参数)。
验证优化效果
- 再次使用
ping -f -l测试,确保无分片且延迟稳定。 - 检查网络应用(如视频流、下载)是否更流畅,丢包率是否降低。
注意事项
- 不要设置过小:过小的MTU会导致额外头部开销,降低有效吞吐量(建议不低于1400)。
- IPv6场景:IPv6最小MTU要求1280,通常建议设置为1500或更高。
- 专业场景:使用
pathmtu工具(如Linux的ip route get <目标IP>)可自动检测最优值。
常见场景推荐值
| 网络类型 | 推荐MTU |
|---|---|
| 以太网(默认) | 1500 |
| PPPoE(ADSL/VDSL) | 1492 |
| VPN(OpenVPN) | 1450 |
| 4G/5G移动网络 | 1420-1500(视运营商) |
| 蜂窝物联网(NB-IoT) | 1280 |
标签: 网络优化
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。