在阅读本书的过程中,会碰到一些知识点是自己不太熟悉但又不在书籍所涵盖的范畴当中的,因此需要把这部分知识点单独的整理出来。在网站的伸缩性架构有关应用服务器负载均衡的章节中,其中一种负载均衡的方式为”DNS域名解析负载均衡“,这里就涉及到DNS域名解析过程,因此本篇文章主要梳理了这部分知识点。
一、定义
当我们访问一个url地址的时候,浏览器首先需要找到域名所对应的服务器ip地址才能和远程的服务器建立连接并通信,这个根据域名寻找ip地址的过程就称之为DNS域名解析过程。
二、过程
DNS域名解析过程可以总结为下面的一张图:
1、浏览器检查自身的缓存中,有没有域名对应的解析过的ip地址,如果有,解析过程结束
2、如果在浏览器缓存中没有找到,浏览器会检查操作系统的缓存,如果有,解析过程结束(我们常说的hosts文件,就是操作系统缓存的域名和ip的映射关系)
3、如果在操作系统缓存中没有找到,操作系统会把域名发送给本地区的域名解析服务器(local dns server),该服务器通常由提供给你互联网接入的服务提供商提供,可以在我们的网络设置中进行设置
4、如果在ldns中没有找到,ldns就会请求根域名服务器(root dns server),root dns server会返回一个对应所查询域名的主域名服务器(gTLD Server);gTLD是国际顶级域名服务器,如.com、.cn、.org等
5、ldns向gTLD Server发送请求,gTLD Server会返回域名对应的Name Server域名服务器地址;Name Server域名服务器由域名服务提供商来提供
6、ldns向Name Server域名服务器发送请求,Name Server域名服务器返回域名所对应的ip地址
7、ldns缓存域名和ip的映射关系,并把解析结果返回给本地,本地也会缓存域名和ip的映射关系,域名解析过程结束