DNS 域名如何解析的?

DNS 域名如何解析的?

DNS 域名解析采用的是递归查询的方
先去找 DNS 缓存->缓存找不到就去找根域名服务器->根域名又会去找下一级,递归查找之后,找到了,
给我们的 web 浏览器。

  1. 浏览器首先搜索自身的DNS缓存,看缓存中是否有 www.abc.com 这个域名,有而且没有过期的
    话,解析结束。
  2. 如果浏览器自身的缓存中没有找到,则会搜索操作系统自身的DNS缓存,如果找到且没有过期则停
    止搜索,解析到此结束。
  3. 如果在操作系统的DNS缓存中也没有找到,那么尝试读取hosts文件,有则解析成功,解析到此结
    束。
  4. 如果在hosts文件中也没有找到,浏览器会发起一个
    DNS(Domain Name System:域名服务协议)系统调用,向本地配置的首选DNS服务器发起域
    名解析请求
    (递归请求)
  5. 运营商的DNS服务器首先查找自身的缓存,如果能找到且没有过期则解析成功。
  6. 如果没有找到,则运营商的 DNS 代我们的浏览器发起迭代DNS解析请求。
  7. 运营商DNS首先会查找根域DNS的IP地址(这个DNS服务器内置13台根DNS域服务器的IP地
    址),找到根域的 DNS 地址,就会向其发起请求((问一下 www.abc.com 这个域名的ip地址
    是多少啊?))。根域发现这是一个 com 域(*域)的域名,于是返回com域的IP地址,
    然后运营商的DNS就得到com域的IP地址。
  8. 运营商的DNS得到com域的IP地址之后又向com域的IP地址发起地址请求(问一下
    www.abc.com 这个域名的IP地址是多少啊?)。 com 域这台服务器告诉运营商的 DNS 我不知
    道 www.abc.com 这个域名的IP地址,但是我知道 abc.com 这个域名的DNS地址,你去找它
    吧。
  9. 运营商的 DNS 又向 abc.com 这个域名的DNS地址发起请求,(问一下 www.abc.com 这个域名
    的IP地址是多少?)
  10. 这个时候 abc.com 域的 DNS 服务器在本地查找。
  11. 把找到的结果发给运营商的 DNS 服务器,这个时候运营商的 DNS 服务器就拿到了
    www.abc.com 对应的IP地址,并返回给 Windows 系统内核,内核就把这个结果返回给浏览
    器,最终浏览器得到这个 IP 地址,进行下一步动作。
上一篇:从String s = new String(“abc“) 一共创建了几个对象简单认识JVM


下一篇:正则表达式