linux运维笔记:DNS解析流程原理
1、客户端用户在浏览器输入www.baidu.com,系统首先会查找本地的DNS缓存与hosts文件,如果存在就获取IP,然后根据IP去访问对应的服务器,一般第一次请求时,DNS缓存是没有解析记录的,而hosts多为内部临时测试使用。
2、如果客户端本地的DNS缓存与hosts文件没有www.baidu.com域名对应的解析记录,系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器(LDNS,即local DNS)解析,如果LDNS服务器的本地缓存有对应的解析记录,就会直接返回IP给客户端,如没有,LDNS会继续请求其它的DNS服务器。
3、LDNS从DNS系统的(".")根开始请求对www.baidu.com域名的解析,根DNS服务器在全球一共有13台,根服务器下面是没有www.baidu.com域名解析记录,但是根下面有www.baidu.com对应的顶级域的.com的解析记录,因此,根会把.com对应的DNS服务器地址返回给LDNS。
4、LDNS获取到.com对应的DNS服务器地址后,就会去.com服务器请求www.baidu.com域名对应的解析记录,而.com服务器下面也没有www.baidu.com域名对应的解析记录,但是有baidu.com域名的解析记录,因此,.com服务器会把baidu.com对应的DNS服务器地址返回给LDNS。
5、同理,LDNS获取到baidu.com对应的DNS服务器地址后,就会去baidu.com服务器请求对www.baidu.com域名的解析,baidu.com域名对应的DNS服务器是该域名授权的DNS服务器,这个DNS服务器正是企业购买域名时用于管理解析的服务器,会有与www.baidu.com对应的IP解析记录,如没有,表示网站不存在或还没有架设好。
6、 baidu.com域名DNS服务器会把www.baidu.com对应的IP解析记录发给LDNS。
7、LDNS把来自授权DNS服务器的与www.baidu.com对应的IP解析记录发给客户端浏览器,并且LDNS会在本地把域名和IP对应的解析记录缓存起来,以备下次更快的访问。