通过一个网络错误简述DNS

某天下午,有同事说网络突然很慢,我随即点开百度,访问不了。试了其他网站也不行。浏览器提示错误是DNS_PROBE_FINISHED_BAD_CONFIG。我看了下网络连接图标

一切正常。并且微信也能正常发消息。我又试了试手机连接无线,发现一切正常,网页也可以访问。通过浏览器报错,容易想到可能是DNS服务器出问题了。但这一切现象该如何解释呢?

1、DNS简介

DNS-Domain Name System 直译就是域名系统,就是说这个系统会给你提供域名服务。这个世界,越是基础且重要的东西,我们越是容易忽略它的存在。因为它们让你很轻松地使用,以至于感受不到它们的存在。比如空气,比如这个DNS。

我们在浏览器输入www.xx.com的时候,计算机其实是无法理解的。网络通信是基于IP地址寻址的。因此,就需要有一张映射表,把我们输入的域名转换成对应的IP地址。DNS实际上就是在维护这样一个映射资源。

实际的DNS是一种多层、分布式的数据库。之所以这样设计,主要就是考虑其请求量大、请求用户分部广(全球各地)。为了高效、稳定地提供服务。其结构示意如下:

          

 基于IPV4的根域名服务器全球共13台,10台在美国(1台主根服务器,9台辅根)。后来IP不够用了,扩充到IPV6,有2台增加的根服务器在中国。层级越高的服务器其管理的数据越少,就像总经理只需要管几个部长。除了图中这些域名服务器,还有一个离我们更近的-本地域名服务器。

基于以上知识,我们可以这样描述一个网页请求。

 之所以能做到有值直接返回,是因为域名服务器会进行一定缓存。之前请求过的域名会被短期存储。

2、现象分析

现在,回到我们一开始提到的各种现象。

(1)无法访问网页

因DNS服务器宕机或其他原因,导致你无法正常使用域名解析服务,进而网页无法访问。就像你和翠花打电话,结果通讯录出问题,又不记得号码,那这个电话肯定打不出去的。这里我通过手动指定DNS地址解决了问题。其他情况请搜索相应文章解决。

                           

(2)微信、QQ等聊天工具可以正常通讯

这些即时通讯工具,都依靠一个中间服务器。这里用户的数量太大,状态变化大(同时在线的很多,下一时刻也可能不在线),所以,B用户不可能拥有一个固定IP让A用户去联系。所以DNS那一套用不着。而为了保证信息发送的准确性,应用必然需要维护一个自己的协议。

             

 或者说,微信、QQ在应用内自己维护了一个映射关系。能让你准确地给你的好友张三发送消息。微信名和QQ号不能重复也是协议能实现的基础,就像IP是唯一的一样。

(3)手机能访问网页

其实,不管你是PC还是手机或是平板,你要想访问网页,都是需要域名解析的。之所以这个场景下,手机能正常访问网页,一定是手机能正常使用域名解析服务。我将手机无线网络设置为静态,发现直接出现了两个域名服务器地址。我猜想,手机系统的DNS管理进程监测到自动获取DNS出错,会使用默认的固定DNS。因此,手机可以正常访问网页。

                             

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值