DNS(Domain name system)
DNS:域名系统,相当于是互联网的电话薄,它可以将我们容易理解的域名解析为ip地址,使我们不需要直接记忆IP地址了。
DNS本质是一个分布式树状命名系统,像一个去中心化的分布式数据库,存储着从域名到IP地址的映射
dns查询解析的过程:
个过程:
- 本地客户端向DNS服务器发出解析www.baidu.com域名的请求
- DNS解析器首先向就近的root DNS server,请求顶级域名服务的地址
- 拿着顶级域名DNS服务com的地址之后会向顶级域名服务器请求负责baidu.com域名解析的命名服务
- 得到授权的DNS命名服务以后,就可以根据请求的具体主机记录直接向该服务请求域名对应IP地址
DNS客户端接收到IP地址以后,整个DNS解析过程就结束了,客户端会直接根据IP地址直接向服务器发送请求了。
对于DNS解析,DNS查询是迭代查询,每个DNS服务器并不会返回DNS信息,而是返回另一个DNS的服务器的地址,由客户端依次询问不同级别的DNS服务直到查询得到预期结果,由客户端依次询问不同级别的 DNS 服务直到查询得到了预期的结果;另一种查询方式叫做递归查询,也就是 DNS 服务器收到客户端的请求之后会直接返回准确的结果,如果当前服务器没有存储 DNS 信息,就会访问其他的服务器并将结果返回给客户端。
使用dig命令来追踪www.baidu.com是如何被解析的过程。
// 具体命令 dig -t A www.baidu.com +trace
DNS域名服务器大致可以分为三类:
- 根域名服务器
- 顶级域名服务
- 权威域名服务