DNS域名解析---浅析
互联网是通过url来发布和请求资源的,而url中的域名需要解析成IP才能和远程主机建立socket连接,完成从域名到IP的解析任务的是DNS服务器。
1、 下图展示了域名到IP的解析过程图:
1、 当一个用户在浏览器中输入一个域名url时,DNS解析会依次执行以下10个步骤:
1) 第一步,浏览器会检查浏览器的缓存中有没有这个域名对应的IP地址,
i. 如果有,解析过程结束;
ii. 如果没有,继续第二步。
2) 第二步,浏览器查找操作系统缓存中,是否有这个域名对应的DNS解析的IP地址,同时这个解析结果是可以配置的
i. Windows中通过C:\\Windows\\System32\\drivers\\etc\\hosts文件来配置;
ii. Linux通过\\etc\\hosts文件来配置;
iii. 如果仍然没有获得IP地址,则进入真正的请求域名服务器阶段。
3) 第三步,操作系统将这个域名发送给本地的域名服务器(Local DNS Server),
i. 这个服务器的地址就是我们在网络配置中心的DNS服务器地址,如果你是在小区接入的互联网,那么这个DNS服务器就是提供给你接入互联网的应用提供商,如电信或联通,通常这个服务器离你家不会太远;如果你是在学校接入的互联网,那么这个服务器一定在学校内。
ii. 查看这个DNS服务器的地址有两中
Windows平台:打开命令符界面(cmd),输入ipconfig查看;
Linux平台:cat/etc/resolv.conf 查看。
iii. 到这一步,一般(80%)都会获得缓存的IP地址,如果未获得,则继续
4) 第四步,直接到RootServer根域名服务器请求;
5) 第五步,获得主域名服务器地址gTLD地址;
i. gTLD是国际顶级域名服务器,如.com, .cn , .org 等,全球一共只有13台左右。
6) 第六步,本地域名服务器向gTLD服务器发送请求;
7) 第七步,gTLD查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是你注册的域名服务器。例如你在某个域名服务提供商申请的域名,那么这个域名解析任务就由这个域名提供商的服务器来完成;
8) Name Server域名服务器会查询存储的域名和IP的对应关系表,在正常情况下,都根据域名得到目标IP的记录,连同一个TTL值返回给Name Server域名服务器。
i. TL(Time-To-Live/生存时间),是一个域名解析记录在DNS服务器中的存留时间。
9) 第九步,返回该域名对应的IP和TTP值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL控制;
10) 第十步,把返回的结果返回给用户,用户根据TTL值缓存在本地系统中,域名解析过程结束。
总结:在实际的DNS解析中,可能还不止这10个步骤,如Name Server可能会有多个,或者有一个GTM来负载均衡控制。
还没有评论,来说两句吧...