域名解析(DNS)回顾

85 阅读2分钟

域名解析系统(Domain Name System),负责将域名解析到对应的IP地址上,从而使请求能够正确发送到对应的服务器上。但为什么需要域名?因为单纯的数字人类的大脑是不善于理解与记忆的,而有特征的字、词、符号是可以被很容易记住的。所以,域名就是给一串IP数字起个名字,例如www.taobao.com、www.baidu.com等。那为了使这个域名能在互联网上被发现并且正确解析,自然需要维护一套域名与IP的映射关系,域名服务器就是维护这套关系的服务器。

1、用例及详解

以用户在浏览器中输入某个域名为例,当用户在浏览器地址栏输入域名并敲击回车键的时刻,域名解析过程开始: (如果某一步可以返回结果,那么就没有后续步骤了)

  1. 在浏览器缓存中查找是否存在该域名,有则直接返回。
  2. 在计算机本机的hosts文件(位于c:\windows\system32\drivers\etc)中查找是否存在该域名,有则直接返回。此hosts文件是只读文件,防止黑客篡改,比如将某个常用网址映射到他指定的IP从而发生一些不忍言之事,即所说的域名劫持。
  3. 请求本地区域名服务器(例如,在家就是为小区提供网络的供应商(如中国电信)的的域名服务器,在学校就是学校的域名服务器),查找到则直接返回。
  4. 本地域名服务器中没有,那么本地域名服务器会向根域名服务器发起查找。
  5. 根域名服务器会返回一个顶级域名服务器地址给本地域名服务器。
  6. 本地域名服务器向顶级域名服务器发起查找。
  7. 顶级域名服务器会向本地域名服务器返回域名服务提供商的域名服务器地址,一般来讲,在哪个域名服务提供商申请的域名,就由哪个提供商的服务器解析。
  8. 本地域名服务器向域名服务提供商的域名服务器发起查找
  9. 域名服务提供商的域名服务器向本地域名服务器返回域名的IP
  10. 本地域名服务器缓存域名与IP的映射关系并向用户返回IP

2、图解

image.png