有一天晚上我正赶一份报告,打开百度却一直转圈,过一会儿提示“无法访问此网站”。奇怪的是微信能正常收发消息,视频APP也能刷,唯独浏览器打不开几个常用网页。重启路由器、清空DNS缓存都没用,问题依旧。
我怀疑是MTU(最大传输单元)设置不对。MTU值决定了数据包一次能传多大,如果路由器设得太大,经过某些运营商的网络时会被拆分或丢弃,导致网页加载一半就卡住。打开路由器管理页面,在WAN口设置里找到了MTU选项,默认是1500。我试着改成1480并保存重启,再开网页秒开,百度、淘宝都正常了。
为什么是1480?因为很多运营商(尤其PPPoE拨号场景)实际可用MTU在1492以下,我直接降20个字节避开了一部分分片问题。如果你也遇到部分网页打不开、但QQ微信正常的状况,可以像我一样从1500逐步往下调(每次减10),直到问题消失。稳定后可以把值固定下来,不会影响下载速度。
问:MTU值改多少合适?
答:默认通常是1500,但PPPoE拨号环境下建议先试1492或1480。如果你不确定,可以在电脑命令行ping 8.8.8.8 -f -l 1472,如果返回“需要拆分数据包”就继续减小值,直到能连续收到回复,再把这个值加上28(IP头+ICMP头)就是合适的MTU。
问:改MTU会影响游戏或视频吗?
答:一般不会。MTU只影响数据包大小的上限,调低一点反而能减少分片、降低延迟。我改完后玩《英雄联盟》延迟反而稳定了,视频加载也没变慢。
问:为什么只改WAN口MTU,不改LAN口?
答:LAN口MTU通常保持默认1500即可,因为内网设备之间不会经过运营商网络。只有路由器对外拨号时需要匹配运营商支持的大小。如果你改了LAN口MTU,反而可能导致内网文件传输效率下降。











