DNS 进行域名解析的过程是怎么进行的?
回答·91
最热
最新
- 1. 浏览器先检查自身缓存中有没有被解析过的这个域名对应的 ip 地址,如果有,解析结束。同时域名被缓存的时间也可通过 TTL 属性来设置。 2. 如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在 windows 中可通过 c 盘里一个叫 hosts 的文件来设置,如果你在这里指定了一个域名对应的 ip 地址,那浏览器会首先使用这个 ip 地址。 但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的 hosts 文件里的内容把特定的域名解析到他指定的 ip 地址上,造成所谓的域名劫持。所以在 windows7 中将 hosts 文件设置成了 readonly,防止被恶意篡改。 3. 如果至此还没有命中域名,才会真正的请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约 80%的域名解析到这里就完成了。 4. 如果 LDNS 仍然没有命中,就直接跳到 Root Server 域名服务器请求解析 5. 根域名服务器返回给 LDNS 一个所查询域的主域名服务器(gTLD Server,国际顶尖域名服务器,如.com .cn .org 等)地址 6. 此时 LDNS 再发送请求给上一步返回的 gTLD 7. 接受请求的 gTLD 查找并返回这个域名对应的 Name Server 的地址,这个 Name Server 就是网站注册的域名服务器 8. Name Server 根据映射关系表找到目标 ip,返回给 LDNS 9. LDNS 缓存这个域名和对应的 ip 10. LDNS 把解析的结果返回给用户,用户根据 TTL 值缓存到本地系统缓存中,域名解析过程至此结束
- 有问题上百度,这种理论问题一搜一大片
- 首先对于域名解析,为什么要需要用域名解析,我们使用的网络通讯绝大部分都是基于TCP/IP协议的,而TCP/IP就是使用的IP地址(172.16.0.1),所以需要网络通讯时也是使用IP地址的,但由于都是点分十进制数字形式的,一般人也是记不下几个完整的IP地址的,所以为了简单好记就使用了域名(www.baidu.com) 简单的说域名解析就是当我们输入域名后DNS服务器自动将域名“翻译”成原IP地址. 域名解析过程: 1.在浏览器输入www.baidu.com,操作系统会先检查本地hosts文件是否有关联的网站映射关系,如果有就调用映射,完成解析 2.如果本地hosts没有这个域名映射,则会查本地DNS解析缓存,如果有缓存,完成映射,解析完成 3.如果hosts和本地DNS缓存都没有对应的映射关系,则会找本地连接里面的那个DNS服务器(因运营商地区而不同),通过DNS服务器查询到域名,然后把解析到的IP返回给主机,完成解析 4.如果遇到本地hosts本地DNSDNS服务器都不能解析则会转发到其它上层DNS服务器,其它的服务器收到后会查找这个域名归于哪个IP地址,如还不能解析,则会又转到一个负责域名的DNS服务器,当域服务器还是找不到相应的目标主机,则继续往上直到找到这个目标主机然后再返回给客户机
- 1、DNS客户端(DNS_Client)检查HOSTS文件及本地DNS缓存,没有找到对应的记录; 2、DNS_Client 联系本地的DNS服务器(DNS_Server),查询域名www.google.com; 3、DNS_Server 联系根提示中的某个根域服务器(Root_Server),查询域名www.google.com; 4、根域名服务器(Root_Server)也不知道www.google.com的对应值,于是向 DNS_Server 返回一个参考答复,告诉其.com顶级域的权威DNS服务器(.com_DNS_Server); 5、DNS_Server 联系 .com_DNS_Server ,查询域名 www.google.com; 6、.com_DNS_Server 也不知道www.google.com的对应值,于是就向 DNS_Server 返回一个参考答复,告诉它google.com域的权威DNS服务器(google.com_DNS_Server)地址; 7、DNS_Server 联系 google.com_DNS_Server,查询域名 www.google.com; 8、google.com_DNS_Server 知道对应IP地址(IP_Address),并将其返回给DNS_Server; 9、DNS_Server 向 DNS_Client 返回 www.google.com 的 IP_Address; 10、DNS_Client 向 IP_Address 的服务器发送数据传输请求,建立连接,解析完毕。
- 1.浏览器首先在自己缓存中查找是否有该域名解析过的IP地址,如果有则直接返回IP,解析过程结束。 2.浏览器向本机操作系统查找是否有缓存域名解析对应的IP地址,如果有则返回IP,解析过程结束。 3.浏览器向本地DNS服务器发送请求 4.本地DNS查找对应域名解析后的IP,若查找成功则返回给用户结果,否则向根服务器发送请求。 5.根服务器向本地服务器返回顶级域名服务器地址。 6.本地服务器向顶级域名服务器地址发送请求 7.顶级域名服务器返回Name Server服务器地址 8.本地服务器向Name Server发送请求 9.Name Server将解析结果返回给本地服务器 10.本地服务器将结果缓存并将结果返回给用户 11.用户获得结果并将结果缓存在浏览器和本机操作系
- 1) 浏览器缓存 当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在); 2) 系统缓存 当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP; 3) 路由器缓存 当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存; 4) ISP(互联网服务提供商)DNS缓存 当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络, 则会进入电信的DNS缓存服务器中进行查找; 5) 根域名服务器 当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。 根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器; 6) 顶级域名服务器 顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器; 7) 主域名服务器 主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录; 8)保存结果至缓存 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接
- 好好看,好好学,看图通俗易懂
- 简单来说顺序是 1.检查浏览器缓存,若成功访问过该域名会自动访问上一次的ip。 2.检查系统内host文件是否绑定过该域名的ip。 3.向本地域名系统LDNS服务器(自身缓存大量域名解析结果)请求解析域名。 4.本地域名系统LDNS向跟域名服务器发起解析请求。返回通用顶级域地址gTLD(如.com/.cn/.org等)。本地域名系统LDNS向gTLD发起解析请求并返回Name Server服务器,Name Server服务器将具体ip返回至本地服务器。 以上几点按顺序进行,若前一步已经解析出ip则跳过后续步骤。
- 第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器. 第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回. 第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址. 第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址. 第五步:重复第四步,直到找到正确的纪录. 第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机.
- 第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器.第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回.第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址.第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址.第五步:重复第四步,直到找到正确的纪录.第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机.