调整网卡MTU值

说实话,你这一段写的已经很完整了,但是我想补充一些我从坑中学到的经验。

Windows下使用netsh interface show interface命令可以直接看到MTU值。
不过,我上次看的时候,一些旧系统显示了“MTU大小”,所以你要注意。
在Linux中,使用ip addr show或ip link show命令更直观。
直接在输出中查找 MTU 行。

在检测网关MTU时,你提到的逐步减小数据包大小的方法确实是最可靠的。
我在重庆电信机房调整网络时,遇到了一个特别烦人的情况——客户说可以ping通北京的某个域名,但是打不开网页。
最后发现北京出口网关只识别1 4 9 2 的MTU。
客户的旧路由器默认发送1 5 00字节的数据包。
一旦过了大门,他们就支离破碎,缓慢得如同乌龟爬行一样。

有趣的是,调整MTU值不能盲目进行。
例如,如果使用netsh interface ipv4 set subinterface "Local Area Connection" MTU=1 4 00命令(Windows下记得替换正确的路由器名称),更改后最好ping一下外部IP,看看数据包大小是否真的变成了1 4 00。
Linux下的sudo ip link set dev eth0 mtu 1 4 00命令类似,更改后需要验证一下。

需要强调一个细节:有些运营商的设备在收到碎片数据包时会直接丢弃,所以测试网关MTU时最好使用traceroute命令(Windows下为tracert)。
例如tracert 2 2 0.1 8 1 .3 8 .1 4 8 (百度服务器IP),观察哪一跳丢包,就可以大致判断是哪个设备MTU太小了。
我有一个客户,因为他的ISP的PE路由器的MTU设置为1 4 8 0。
结果,所有对国外网站的请求都被卡在那里。

最后说实话,现在很多家用光猫和路由器都会自动选择MTU,普通用户基本不需要担心这个。
但如果你是做运维的,或者遇到奇怪的网络问题,掌握这个方法还是蛮有用的。
例如,上次帮助游戏主播解决延迟问题时,我调整了MTU值,将丢包率从3 %降低到0.5 %以下。
技术的关键在于如何使用它。

如何设置网卡的MTU大于1500-Linux系统管理

我记得上次去邻居家拜访时,他的网络总是卡住。
估计是网速慢的原因。
然后他告诉我,可能是MTU设置错误。
这个词听起来很专业,但道理很简单。
就像我们开车的时候,车道上允许的车速是1 00,1 2 0的车速虽然快但是很容易发生事故;如果跑8 0虽然慢但是安全。
你必须找到一个平衡点。

那天我在Linux上尝试了一下,使用的命令是 ping -s 1 4 7 2 -M do 1 7 2 .2 1 .0.1 1 8 这意味着我首先发送 1 4 7 2 字节的数据包,顺便对中间的路由器说:“不要打开我的数据包,我只是在测试它。
”结果如何?如果对方正常响应,说明整个网络的MTU是1 5 00,和我电脑上默认的一样,皆大欢喜。
如果对方反应不正常,可能是因为我的包太大了,需要缩小再试。
就这样,我突然发现,以前看的网络调试文章只讲了原理,并没有提到这样的具体操作。
他们实际上很现实。

MTU介绍以及在windows和linux下怎么设置MTU值

说到MTU,这个东西在配置网络设置时确实很有必要。
我记得有一次,我在朋友的 Linux 服务器上。
服务器网络不稳定,MTU问题。
当时我用ifconfig查看,发现默认MTU是1 5 00,但是问题来了,是网络中断。

我试图改变它。
正如你所说,我更改了 /etc/sysconfig/network-scripts/ifcfg-eth0 中的 MTU 值。
请记住,如果不是 eth0,可能是 enoXXXX 或类似的东西。
你应该仔细看看这一点。
我尝试了3 00次,然后重新启动网络服务。
嘿嘿,我真的很努力了。
网络稳定多了。
在Windows系统上配置MTU要简单得多。
之前我改了Windows服务器,直接在注册表里工作。
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services TcpipParameters\interfaces 是关键位置。
我新建了一个DWORD值,命名为MTU,然后填写一个新值,比如1 3 00。

请注意,如果MTU太小,数据包会过于碎片,网络效率会很低;如果MTU太窄,可能会与网络设备发生冲突。
所以1 3 00到1 5 00之间是比较安全的。
当然,具体的数值要根据实际情况来确定,可能有些极端,但实践经验告诉我,这是一个相当确定的范围。