通过dig命令理解DNS迭代解析

最近给Github Pages弄域名和CDN加速,为了查看DNS的解析过程,稍微学习了DNS迭代解析.

迭代解析是以DNS客户端为中心进行查询,如图所示:


DNS迭代解析流程

下面以Linux系统下的dig +trace blog.dreamscape.ink为例:

  • 获取本地DNS记录的全球根域名服务器地址


  • 最先回复的根域名服务器将ink顶级域名服务器列表返回给客户端

根域名服务器199.9.14.201:53(b.root-servers.net)返回ink顶级域名服务器列表.


  • .ink顶级域名服务器返回二级域名dreamscape.ink的NS服务器列表

.ink顶级域名服务器212.18.248.41:53(c.nic.ink)查询得到dreamscape.ink是由cloudflare管理的,返回cloudflare的NS地址.


  • cloudflareDNS服务器返回最终的结果.

cloudflareDNS服务器108.162.195.191:53(tate.ns.cloudflare.com)将查询到blog.dreamscape.ink的A记录信息返回给客户端.

blog.dreamscape.ink是经过cloudflare的CDN加速域名,返回了3条A记录,这三条A记录就是最终查询结果.