DNS?本地填写的DNS有什么用?DNS怎么工作的?

一、DSN?

域名系统(英文:Domain Name System,缩写:DNS)

是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

以上来自 “百度百科”

文章目录

  • 一、DSN?
  • 二、DNS都干了什么?
  • 三、DNS怎么工作的?
  • 总结
      • 参考:


二、DNS都干了什么?

前面讲的 DNS 为了将域名和IP地址相互映射

仅仅是为了方便将名称和IP 对应管理,以至于我们能直接输入网址而不是IP地址来访问web服务器。

所以我们访问一个网站时候,主机先通过本机向dns服务器查找输入的域名对应的IP地址。如果找到了就返回这个IP地址,如果没找到,当前这个DNS服务器会返回下一个DNS服务器的IP地址,供我们继续查询。

其实总体有两种查询方式,所谓迭代和递归,这个可以不用了解,主要就是通过本地DNS来不停的找还是通过一个一个服务器接下去的查找。

其实大体逻辑是这样的,细节就小小的展开一下。(可以不看,总之就是一层一层找映射到的IP地址)

用户向本级配置的本地DNS服务器发出查询请求,如果本地DNS服务器有该域名的缓存记录,则返回给用户,否则进行第2步;
本地DNS服务器进行递归查询,最终会查询到域名服务商商处的授权DNS服务器,这里可能有多个步骤,图中只反映最后一步;
授权DNS服务器返回一条NS记录给本地DNS服务器。根据授权DNS服务器上的不同设置,这条NS记录可能是指向随机一个GSLB设备的接口地址或者是所有GSLB设备的接口地址;
本地DNS服务器向其中一个GSLB地址发出域名查询请求,如果请求超时会向其它地址发出查询;
GSLB设备选出最优解析结果,返回一条A记录给本地DNS服务器。根据全局负载均衡策略设定的不同可能返回一个或多个VIP地址;
本地服务器将查询结果通过一条A记录返回给用户,并将缓存这条记录。
通过DNS解析报文中的TTL(Time To Live)可以控制客户端缓存这条记录的时间,在缓存时间内客户端会使用旧的查询结果,当缓存时间超时后才可能重新发出查询,TTL值过大会导致故障发生时切换时间过长,TTL值太小会造成查询频繁,对设备和网络的压力增大。

以上来自 “DNS如何实现全局负载均衡?”

三、DNS怎么工作的?

下面就理论展开实践~

我将自己电脑上的DNS填成了阿里的DNS服务器。

( 一、)中有提 到DNS是通过UDP协议,且端口是53,我们直接监听这个端口即可。

于是我每次访问一个域名时,就能抓到访问本地DNS服务器的过程如下:
DNS?本地填写的DNS有什么用?DNS怎么工作的?_第1张图片

DNS?本地填写的DNS有什么用?DNS怎么工作的?_第2张图片

上面能看到,我输入bilibili 的网站时,我主机会向我填写的DNS服务器查询域名对应的IP地址,如果查到了就直接返回。我就可以用这个IP去冲浪了~

由于我试了好多次,也没发现本地DNS服务器找不到对应IP的情况,就此作罢。

我觉得是阿里的DNS服务器缓存了太多我需要的域名与IP的对应地址。

因为每个DNS服务器都有一块缓存,存着有主机查过的映射关系。(看来我访问的网站大部分人都访问过啊。)

总结

DNS 就是为了将访问的域名转换为对应IP,以供我们访问。

本地填写的DNS是为了自主选择延迟低的DNS服务器,更快的访问。

DNS 工作方式就是通过访问各种DNS服务器,直到查到对应的IP。

参考:

参考的地方上面都有列出来~

你可能感兴趣的:(计算机网络,网络,dns服务器,域名)