美文网首页
手机一切正常;电脑能上QQ,却不能访问网页的故障解决

手机一切正常;电脑能上QQ,却不能访问网页的故障解决

作者: 爱看时事的通信崔 | 来源:发表于2019-05-02 11:41 被阅读0次

    网络中会存在这种情况,手机和电脑连同一个Wifi,然而手机访问所有网站正常;电脑能够正登录常QQ,能访问大部分网站,但部分网站能Ping通,却访问不了,重启、重装电脑都不行。

    通过这些信息,我们可以排除以下三点故障:

    1. DNS正常,因为通Ping通域名,说明解析是正常的;
    2. 网站正常,既然手机能访问,那么网站不应该存在问题;
    3. 电脑正常,QQ和大部分网站都能成功访问。

    其实这个故障不难处理,在解决前,需要简单了解下什么是MTU。

    1.什么是MTU和MSS

    MTU全称是Maximun Transmit Unit(IP包最大传输单元),以太网缺省IP包的MTU值为1500字节(含IP头20字节)。

    • MTU = IP Header + IP Payload。实际传输中由源和目的主机协调后确定。

    为了适配实际网络中数据传输情况,很多设备修改了这个值。

    例如,一个IP包=1500,从源主机向目标主机的发送过程中到某一台路由器接口上,该接口MTU只有1000字节,那么IP包就需要开始分片。IP协议是由三层设备(一般是网络设备)处理的,分片和重组工作往往大量耗费网络资源,对传输性能的影响很大,所以网络专家们便考虑能否避免分片。

    2.什么是PMTU

    为解决分片导致的资源浪费方法就是PMTU,全称是Path Maximun Transmit Unit Discovery(传输路径最大传输单元发现协议),那么它是如何在避免分片的呢。

    还是上面的例子,一个IP包=1500,从源主机向目标主机的发送过程中到某一台路由器接口上,该接口MTU只有1000字节,那么IP包就需要开始分片。而我们在IP头中设置标志位DF=1,意思是IP包在传输的过程中不允许分片。IP包因为不能分片所以被该路由器丢弃了,路由器会发一个ICMP消息包,告诉源主机重新协商MTU值。

    这个ICMP包内容主要有:type = 3, code = 4, MTU = 1000(路由器接口的MTU值)。这样源主机收到数据后,源主机就会把MTU值修改为1000,继续发送,直到发现链路中最小的MTU值。

    3.PMTU会导致网络故障

    PMTU虽然美好,但是也存在一个问题,就是我们并不能确保ICMP错误包正常返回。

    • NAT协议,地址转换协议导致数据包真实的源IP被修改,这种由外向内的ICMP包并不能找到源主机;
    • 网络设备,部分路由器和防火墙设备做了安全设备,拒绝ICMP出错信息通过。

    于是应用了PMTU的源主机一直重传数据包,当到达极限次数后就关闭了连接,也就导致这部分网站无法访问。

    4.怎么解决故障

    既然已经知道原因,那么解决故障的方法也就呼之欲出了。

    1. 进一步修改为更小的MTU值;
    2. 关闭PMTU选项,网速慢总比访问不了强啊。

    相关文章

      网友评论

          本文标题:手机一切正常;电脑能上QQ,却不能访问网页的故障解决

          本文链接:https://www.haomeiwen.com/subject/ivhnnqtx.html