一直都用Win,今年才真正尝试Ubuntu。之前装14.04后就经常碰上一些网站打不开或者打开后点不进站内链接,然而在Win10下却完全没这个情况所以显然不是我的网络有问题(别和我说什么DNS,从114到阿里DNS我都试过没啥改善)。观察症状后考虑是MTU的问题,网上的所谓MTU优化的文章一般都建议人家设成1492之类的,其实这个建议值在各地未必通用,照搬的话很可能解决不了你遇到的问题反而使你误以为所遇故障与MTU无关。
开始测试合适的MTU值:
$ping -s 1XXX -c 10 www.baidu.com
这个1XXX通常在1400-1500之间所以可以通过数次取中值来更快找到合适的数值,所谓合适就是尽可能大而又保证不出现丢包。
我最后得到的最大值是这个:
$ ping -s 1448 -c 10 www.baidu.com
PING www.a.shifen.com (14.215.177.38) 1448(1476) bytes of data.
1456 bytes from 14.215.177.38: icmp_seq=1 ttl=55 time=23.4 ms
1456 bytes from 14.215.177.38: icmp_seq=2 ttl=55 time=21.9 ms
1456 bytes from 14.215.177.38: icmp_seq=3 ttl=55 time=23.5 ms
1456 bytes from 14.215.177.38: icmp_seq=4 ttl=55 time=23.1 ms
1456 bytes from 14.215.177.38: icmp_seq=5 ttl=55 time=23.4 ms
1456 bytes from 14.215.177.38: icmp_seq=6 ttl=55 time=22.0 ms
1456 bytes from 14.215.177.38: icmp_seq=7 ttl=55 time=21.7 ms
1456 bytes from 14.215.177.38: icmp_seq=8 ttl=55 time=22.1 ms
1456 bytes from 14.215.177.38: icmp_seq=9 ttl=55 time=21.9 ms
1456 bytes from 14.215.177.38: icmp_seq=10 ttl=55 time=22.8 ms
--- www.a.shifen.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9013ms
rtt min/avg/max/mdev = 21.729/22.618/23.502/0.715 ms
-s 1448是指定包大小,但实际的包还要加上8bytes的ICMP头和20bytes的IP包头所以是括号里提示的那个1476
编辑连接把MTU改成1476!世界清净了,上网的感觉终于和Win10没差,不用每天重启切换了。