深入DNS

什么是DNS?

我说前面说过http如何发送请求。这里的第一步就是将域名变为ip地址

如何将域名变为ip地址我们就得用到域名解析(DNS)。

如何进行域名解析的?

第一步:在浏览器的url里输入域名,然后浏览器会去自身缓存中检查有有没有这个域名对应的ip地址。如果有就获得了Ip地址。还有域名和ip都是可以变化的,所以缓存中的这个存放的时间无需太长和太短。

第二步:如果用户的浏览器缓存中没有,浏览器会找操作系统是否有对应的ip。

第三步:如果还有没找到,就会真正的请求域名服务器来解析域名

第四步:先去找本地的域名解析服务器(LDNS)

第五步:如果本地没有就去root      DNS server(根域名服务器)

第六步:根域名服务器返回LDNS一个查询域的主域名服务器(gTLD server)地址、这个gTLD是国际*域名服务器。(gTLD)在全球只有13个左右。

第七步:这样LDNS就可以向gTLD服务器发请求。

第八步:gTLD服务器会解析这域名得到Ip地址和一个TTL值。

第九步:然后把这一结果一次保存在他们下级的服务器中。

第十步:解析的结果反给用户,本地还保留。

所以通过上面的过程我们应该明白一点。这是一个逐级提交请求的过程。而且只要第一次解析成功了,以后就不用这么麻烦了。可以直接从本地获取解析的Ip。当然要保证ip地址和缓存中没有过期。而且为了防止ip地址改变,所以我们定期会对缓存进行清理。

这就是我理解的DNS。