简析DNS解析过程
以前对于DNS的流程,以前也只停留在域名->IP的简单理解上,今天想看下cdn的原理,于是发现DNS貌似没那么简单,于是在网上收集了点资料,自己做了点理解,顺便做个简单的笔记。
首先,以gocode.cc做个例子,这个是我另外一个博客,从最开始来梳理下解析到IP地址的过程,当然,HOST文件、DNS缓存什么都不考虑,只考虑从头至尾的大概流程。
1.一般是请求ISP的DNS服务器,DNS服务器一般配置这13台(组)根服务器,于是DNS获得了13台(组)根域名服务器
2.向其中一台请求解析gocode.cc,于是根域名服务器会返回.cc的若干台权威域名服务器
3.向其中一台请求解析gocode.cc,于是权威域名服务器会返回对应的若干台域名服务器,在这儿gocode.cc是在万网申请的域名,所以使用的万网的DNS服务器,那么这儿就会返回万网的DNS服务器
4.继续向上面返回的万网DNS服务器请求解析gocode.cc,这儿其实牵扯到主机的概念了,而默认万网的DNS服务器是直接返回了域名设定的解析结果,我这儿设置的是A记录,也就是直接返回了IP地址,那么浏览器获得了IP地址后,就直接向该IP地址发起请求,整个过程结束
上述是最一般的解析过程,而在域名服务商这儿,其实还可以设定自己的域名服务器,而通过设定的这些域名服务器,我们就可以做到单域名,不同主机不同IP的效果,比如tieba.baidu.com和www.baidu.com返回的IP是不同的,原理就是向权威域名DNS请求解析结果的时候,返回了百度自己的DNS服务器,而这些服务器可以根据主机名返回不同的IP地址