家里宽带升到300M后,测速软件跑满,可一打开几家银行网站就转圈。起初以为是DNS解析捣乱,把电脑和路由器都换成8.8.8.8,结果该打不开还是打不开。有一次用手机流量测试,同一网址秒开,这才确定问题出在路由器上。
排查到最后,真正原因是MTU值不对。MTU是网络传输中一个数据包能承载的最大字节数,默认路由通常是1500。宽带用PPPoE拨号时,数据包头会额外占用8个字节,如果MTU还是1500,实际能传的数据就只剩1492。部分网站回复的大包超过这个值,路由器只能丢包,表现就是网页卡住。
验证方法其实很简单。在电脑命令提示符输入「ping www.baidu.com -f -l 1472」:如果返回「需要拆分数据包」之类的提示,说明当前线路MTU上限达不到1500。我试了1472有提示,降到1464还是不行,最后1460才稳定,加上28字节包头,实际MTU就是1488。不过考虑到家庭PPPoE的兼容性,我直接在路由器里把MTU固定成1492。
修改步骤就三步。第一步:登录路由器后台,在「网络设置」或「WAN口设置」里找到MTU配置项。第二步:把默认的1500改成1492,保存。第三步:重启路由器,再打开之前打不开的网站,已经能正常显示了。
这次实测让我明白一件事:测速正常不代表线路标准,大包传输才是稳定上网的关键。那个MTU选项平时藏在高级设置里没人动,可一旦和运营商不匹配,轻则个别网页转圈,重则VPN拨号后完全没流量。遇到类似问题,可以先从MTU入手,改一次不亏。
问:怎么测试当前宽带的MTU值?
答:在电脑命令提示符输入ping www.baidu.com -f -l 测试包大小,从1472开始逐次减小,直到不再提示「需要拆分数据包」为止;把这个值加上28,就是当前线路的最大MTU。
问:路由器MTU改成多少最合适?
答:PPPoE拨号环境建议改成1492;如果局域网内有VPN或特殊业务,最好按实测结果设置,避免取巧导致大包被丢。
问:改了MTU会影响网速吗?
答:不会提升极限速率,但能减少大包丢包造成的网页卡顿;如果设得过大,反而会导致网页打不开或文件传输失败。

