dns从零学习(一)

44 阅读2分钟

DNS(Domain name system)

DNS:域名系统,相当于是互联网的电话薄,它可以将我们容易理解的域名解析为ip地址,使我们不需要直接记忆IP地址了。

DNS本质是一个分布式树状命名系统,像一个去中心化的分布式数据库,存储着从域名到IP地址的映射

dns查询解析的过程:

image.png

image.png

个过程:

  1. 本地客户端向DNS服务器发出解析www.baidu.com域名的请求
  2. DNS解析器首先向就近的root DNS server,请求顶级域名服务的地址
  3. 拿着顶级域名DNS服务com的地址之后会向顶级域名服务器请求负责baidu.com域名解析的命名服务
  4. 得到授权的DNS命名服务以后,就可以根据请求的具体主机记录直接向该服务请求域名对应IP地址

DNS客户端接收到IP地址以后,整个DNS解析过程就结束了,客户端会直接根据IP地址直接向服务器发送请求了。

对于DNS解析,DNS查询是迭代查询,每个DNS服务器并不会返回DNS信息,而是返回另一个DNS的服务器的地址,由客户端依次询问不同级别的DNS服务直到查询得到预期结果,由客户端依次询问不同级别的 DNS 服务直到查询得到了预期的结果;另一种查询方式叫做递归查询,也就是 DNS 服务器收到客户端的请求之后会直接返回准确的结果,如果当前服务器没有存储 DNS 信息,就会访问其他的服务器并将结果返回给客户端。

image.png

使用dig命令来追踪www.baidu.com是如何被解析的过程。

// 具体命令 dig -t A www.baidu.com +trace

image.png

image.png

DNS域名服务器大致可以分为三类:

  1. 根域名服务器
  2. 顶级域名服务
  3. 权威域名服务

image.png