浅谈dns域名解析过程

安全咨询 0 305
  • 域名是什么


举个例子,baidu.com,这个其实并不是域名,其中 https 是指协议,去掉 https 后,www.baidu.com.(注意最后面有一个点号) 才是真正的域名。


每个域名的最后面都有一个点号 "." 表示根域名,为了方便在实际使用的时候被省略了。


根域名的下一级就是顶级域名了,.com 也就是顶级域名,常见的顶级域名后缀有 .com、.cn、.net、.org 等,这些都是固定的,用户不能自己修改,只能选择。


顶级域名的下一级又是权威域名,如 baidu.com 中的 .baidu ,这个权威域名就是我们自己可注册的域名。


顶级域名下就是主机名了,www 是指主机名,这个是我们可以自己定义的,通常在 http 服务器如 nginx 中可以修改。


  • DNS概念


dns 即是 domain name system 域名系统的缩写,将域名和 ip 的映射关系保存在一个分布式数据库中。


  • 域名解析过程分析


下面就还以 www.baidu,com 这个网址来分析一下 dns 的解析过程。


当浏览器拿到输入的 baidu.com 后,首先会去浏览器的 dns 缓存中去查询是否有对应记录,如果查询到记录就可以直接返回 ip 地址,完成解析。


如果浏览器没有缓存,那就再去查询操作系统的缓存,同样的,如果查询到记录就可以直接返回 ip 地址,完成解析。


如果操作系统也没有缓存,那就再去查看本地 host 文件,Windows 下 host 文件一般位于 "C:\Windows\System32\drivers\etc"。


近几年网上流传的通过修改本地 host 文件来避免双 11 女友剁手的段子,其实就是将淘宝的支付接口解析到错误的 ip 地址,从而导致支付不成功。


如果本地 host 文件也没有相应记录,那就需要求助于本地 dns 服务器了,所以应该要知道本地 dns 的 ip 地址。


本地 dns 服务器 ip 地址一般是由本地网络服务商如移动、电信提供,一般是通过 DHCP 自动分配,当然你也可以自己手动配置。目前用的比较多的是谷歌提供的公用 dns 8.8.8.8 和国内的公用 dns 114.114.114.114 。


你之前可能有遇到过电脑可以正常上 QQ 但是就是不能打开网页的怪现象,这种情况大多数可能就是 dns 域名解析出问题了,你可以尝试手动把 dns 设置为公用 dns

找到本地 dns 后,它也会先去查询一遍它自己的缓存,如果有记录就返回,如果没有记录,它将开始要去我们前面提到的根域名服务器查询了。注意由于根域名服务器 ip 地址一般都是固定的,所以本地 dns 服务器一般都内置了根域名服务器 ip 地址。


目前全球一共有 13 组根域名服务器(这里并不是指 13 台服务器,是指 13 个 ip 地址,按字母 a-m 编号),为了能更高效完成全球所有域名的解析请求,根域名服务器本身并不会直接去解析域名,而是会把不同的解析请求分配给下面的其他服务器去完成,下面是 dns 域名系统的树状结构图。

注意,dns 域名服务器一般分三种,分别是根域名服务器 (.)、顶级域名服务器 (.com)、权威域名服务器 (baidu.com) 。


当根域名接收到本地 dns 的解析请求后,发现是后缀是 .com,于是就把负责 .com 的顶级域名服务器 ip 地址返给本地 dns。


本地 dns 拿着返回的 ip 地址再去找到对应的顶级域名服务器,顶级域名又把负责该域名的权威服务器 ip 返回去。


本地 dns 又拿着 ip 去找对应的权威服务器,权威服务器最终把对应的主机 ip 返回给本地 dns,至此就完成了域名解析的全过程。


也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。