DNS域名解析---浅析

绝地灬酷狼 2022-07-13 00:17 340阅读 0赞

互联网是通过url来发布和请求资源的,而url中的域名需要解析成IP才能和远程主机建立socket连接,完成从域名到IP的解析任务的是DNS服务器。

1、 下图展示了域名到IP的解析过程图:

Center

1、 当一个用户在浏览器中输入一个域名url时,DNS解析会依次执行以下10个步骤:

1) 第一步,浏览器会检查浏览器的缓存中有没有这个域名对应的IP地址,

  1. i. 如果有,解析过程结束;
  2. ii. 如果没有,继续第二步。

2) 第二步,浏览器查找操作系统缓存中,是否有这个域名对应的DNS解析的IP地址,同时这个解析结果是可以配置的

  1. i. Windows中通过C:\\Windows\\System32\\drivers\\etc\\hosts文件来配置;
  2. ii. Linux通过\\etc\\hosts文件来配置;
  3. iii. 如果仍然没有获得IP地址,则进入真正的请求域名服务器阶段。

3) 第三步,操作系统将这个域名发送给本地的域名服务器(Local DNS Server),

  1. i. 这个服务器的地址就是我们在网络配置中心的DNS服务器地址,如果你是在小区接入的互联网,那么这个DNS服务器就是提供给你接入互联网的应用提供商,如电信或联通,通常这个服务器离你家不会太远;如果你是在学校接入的互联网,那么这个服务器一定在学校内。
  2. ii. 查看这个DNS服务器的地址有两中
  1. Windows平台:打开命令符界面(cmd),输入ipconfig查看;

  2. Linux平台:cat/etc/resolv.conf 查看。

    1. iii. 到这一步,一般(80%)都会获得缓存的IP地址,如果未获得,则继续

4) 第四步,直接到RootServer根域名服务器请求;

5) 第五步,获得主域名服务器地址gTLD地址;

  1. i. gTLD是国际顶级域名服务器,如.com, .cn , .org 等,全球一共只有13台左右。

6) 第六步,本地域名服务器向gTLD服务器发送请求;

7) 第七步,gTLD查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是你注册的域名服务器。例如你在某个域名服务提供商申请的域名,那么这个域名解析任务就由这个域名提供商的服务器来完成;

8) Name Server域名服务器会查询存储的域名和IP的对应关系表,在正常情况下,都根据域名得到目标IP的记录,连同一个TTL值返回给Name Server域名服务器。

  1. i. TL(Time-To-Live/生存时间),是一个域名解析记录在DNS服务器中的存留时间。

9) 第九步,返回该域名对应的IP和TTP值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL控制;

10) 第十步,把返回的结果返回给用户,用户根据TTL值缓存在本地系统中,域名解析过程结束。

总结:在实际的DNS解析中,可能还不止这10个步骤,如Name Server可能会有多个,或者有一个GTM来负载均衡控制。

发表评论

表情:
评论列表 (有 0 条评论,340人围观)

还没有评论,来说两句吧...

相关阅读

    相关 DNS域名解析过程。

    ![70][] 当一个用户在浏览器中输入网址时,DNS解析将会有近10个步骤,这个过程大体描述如下。 当用户在浏览器中输入域名并按下回车键后,第1步,浏览器会检查缓存中有没

    相关 DNS域名解析---浅析

    互联网是通过url来发布和请求资源的,而url中的域名需要解析成IP才能和远程主机建立socket连接,完成从域名到IP的解析任务的是DNS服务器。   1、  下图展示了

    相关 DNS域名解析过程

    前言 本文来自《深入分析Java Web技术内幕》一书,因为本人对DNS不是特别熟悉,这本书关于DNS的部分也已经讲得比较详细了,所以就直接把书里面的内容拿来用了。老规矩

    相关 DNS域名解析过程

    选自”深入分析JAVA web技术内幕” ![这里写图片描述][70] 输入域名并回车后,DNS解析流程 1. 浏览器检查缓存中是否存在域名对应的IP地址,有则结束,

    相关 DNS域名解析过程

    推荐一个自己的博客:[JS -- 手动实现数组原生方法][JS --]​​​​​​​ 当我们在浏览器中输入一个域名(eg: www.baidu.com)时,浏览器会显示域名所

    相关 DNS域名解析过程

    DNS域名解析过程 我们都知道在浏览器通过域名发起一个网络请求的时候,会有DNS服务器将域名解析成ip地址,以便向正确的ip地址发送请求,那么这一个过程具体是怎么处理的呢