DNS域名解析过程,域名的认识
DNS域名解析过程
参考知乎:https://www.zhihu.com/question/23042131
当你通过浏览器输入url访问资源时,会请求DNS解析域名成对应的IP地址,由IP地址在去与远程服务器建立socket连接获取资源
1.浏览器缓存
输入url之后,浏览器会检查缓存中是否有该域名解析过的IP,若有,则解析结束。
浏览器缓存域名也是有时间和大小限制的,可以通过TTL属性来设置.这个时间太长或太短都不好,当域名对应解析的IP地址变化时,会导致部分用户访问不到网站
2.操作系统缓存
在C:\Windows\System32\drivers\etc\hosts文件来设置,比如打开github的速度太慢,我就在其hosts文件下加入了github的ip地址
3.路由器缓存
以上三步都为客户机DNS缓存
4.当地互联网提供商缓存
当前三种都无法解析时,则进入当地互联网提供商(LDNS,Location DNS)缓存中查找。比如你是在学校接入互联网,那么你的LDNS服务器则在学校,如果你在小区接入互联网则你的LDNS服务器可能在联通,电信,移动。80%的域名解析到此就结束了
查看本地DNS服务器信息可以通过ipconfig或者ipconfig\all
5.根域名服务器
以上均为完成时,进入根服务器查询,根域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内的顶级域名(如.com)服务器IP告诉LDNS
6.顶级域名服务器
顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;
7.主域名服务器
8.保存结果至缓存
将解析结果返还给用户,用户根据TTL值缓存到本地系统,域名解析过程结束
关于根域名,顶级域名
参考这篇文章,顺便了解下ICANN公司与Verisign公司:http://www.ruanyifeng.com/blog/2018/05/root-domain.html
如果一个.com
或.net
域名售价10美元,ICANN 和 Verisign 合计拿走8.03美元,我发现百度第二次续费域名要96元一年,那百度它也赚了有一半
关于解析记录:A记录,CNAME
A记录:A代表Adress,A记录可以将多个域名解析到一个IP地址,但是不能将一个域名解析到多个IP地址
CNAME:即别名解析。即可以为一个域名设置一个或多个别名
顶级域名,一级域名,二级域名,等
顶级域名即是一级域名,如.com,.net,.cn等等
二级域名即是baidu.com,zengcongcong.cn等
三级域名即是www.baidu.com等