首页 > Web开发 > 详细

DNS解析原理(客户访问网站流程)

时间:2020-02-26 12:11:12      阅读:70      评论:0      收藏:0      [点我收藏+]
基本流程:
1.客户机通过浏览器访问网站:www.baidu.com
此过程需要将域名映射为IP地址,首先调用解析函数将待转换的域名放在DNS请求中,以UDP的报文方式发给本地域名服务器。
2.本地的域名服务器查到域名后,将对应的IP地址放在应答报文中返回。
3.同事域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发。
4.若域名服务器不能回答该请求,则此域名府二期就暂时成DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定 能找到下面的所有二级域名的域名服务器,依次类推,一直向下解析,知道查询到所请求的域名为止。

技术分享图片

以客户端浏览器访问 www.baidu.org 域名为例,首先,它会去检查当前浏览器缓存是否有对应IP,如果有,就直接响应,如果没有,就继续往下找

-> 接着,操作系统会去检查自己的host文件,如果从中没找到对应关系,会再到系统dns缓存中查,如果缓存中有,就直接返回该域名所对应的ip

-> 如果缓存中没有,则会向我们事先设置好的dns服务器 [ 一般有两个, 主 & 备 ] 去请求,即所谓的递归查询,dns服务器首先会到自身解析数据库中去查

-> 如果dns服务器在自己的解析库中也没找到,它就会自动帮我们向根服务器发送询问请求

-> 此时,根看到要请求的是com的后缀(.com),就会把com所在的dns服务器告诉我们的dns

-> 然后,我们的dns服务器就会去请求com所在的dns服务器

-> 当请求到达com dns服务器时,com一看域名是在baidu这个域下的,就会把baidu所在的dns服务器告诉我们的dns服务器

-> 再然后,我们的dns服务器就会去请求baidu这个域名的dns服务器

-> baidu这个域的dns服务器一看是要访问www就直接找到了www对应的A记录的ip,并把它丢给我们的dns,上面逐个询问的过程,即 迭代查询

-> 最后,我们的dns再把最终解析到的这个ip丢给我们的客户端,然后客户端就直接拿着去访问了

DNS解析原理(客户访问网站流程)

原文:https://blog.51cto.com/13233089/2473717

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!