DNS解析详细
(一)什么是DNS
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS解析是分布式存储的,比如根域名服务器ROOT DNS,只存储260个顶级域名的DNS服务器的ip地址。顶级域名服务器如.com的DNS服务器,存储的则是一些一级域名的权威DNS服务器地址(如suning.com,qq.com,163.com的DNS)。而suning.com的权威DNS存储的才是具体的主机记录(如A记录,cname记录,txt记录)
(二)DNS的分类
2.1根域名服务器(ROOT)
根服务器主要用来管理互联网的主目录,全世界IPv4根服务器只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net、.cn等)。
2.2顶级域名服务器
负责解析本身顶级域名下一级域名对应的权威DNS服务器地址。
2.3localDNS 本地DNS
一般是运营商的dns,主要作用是代理用户进行迭代解析。
2.4 本地host记录
这个优先级最高可以在自己电脑自定义域名的解析记录,如果本机有就不会再往上迭代。PC的host(C:\Windows\System32\drivers\etc\hosts)
(三)DNS解析的过程
3.1用户在浏览器输入网址www.suning.com
3.2浏览器先查询本地host是否有记录,有则直接返回ip地址给浏览器。没有则进一步查询。
3.3向运营商localDNS发起请求,若localDNS的缓存中有记录,则直接返回给用户,若没有则进行迭代查询。
3.4localDNS首先向根域名服务器发起请求,询问.com的域名服务器地址是什么,ROOT服务器返回.com的域名服务器a到m.gtld-servers.net.这么多台。
3.5 localDNS收到.com的GTLDDNS地址后,向其中一台a.gtld-servers.net.发起请求,查询suning.com的域名服务器地址是什么,GTLD返回suning.com的权威DNS服务器有这些。
3.6localDNS收到suning.com的权威DNS后,向其中一台权威DNS发起请求,查询,www.suning.com的解析值是什么,权威dns返回域名有cname,于是从新按照上面步骤查询cname的解析值,直到查询到ip地址为止。