本文中使用的命令均在Linux环境下,Windows环境可能略有不同本文只对域名解析进行简单的介绍,面向非专业人士,并未深入研究,仅供参考
前几天我增加了一个小工具:Dig+trace域名查询工具,可用于域名解析诊断,今天顺便同大家分享一下域名解析的过程,一起探究一下域名解析的原理,什么是域名我相信各位看官已经不用介绍了,我们直接从域名解析过程开始。
首先,计算机拿到用户输入的域名以后会去查询一个服务器,那就是咱们电脑中设置的DNS服务器,DNS是指 Domain Name System,每个运营商都会提供一个DNS服务器来供用户解析域名,本文不讲DNS的原理,只讲域名的解析过程,所以直接看解析的过程。
以 www.renfei.net 为例,以英文点“.”为界限,会被分为以下几个部分:
解析过程:
我们根据 Dig+trace 的解析跟踪会看到,先查询了 . 根的 NS 记录,NS 就是 NameServer,根域名服务器是规定死的,一共13台服务器,分别是a、b、c、d、e、f、g、h、i、j、k、l、m,由于早期的 DNS 查询结果是一个512字节的 UDP 数据包。这个包最多可以容纳13个服务器的地址,因此就规定全世界有13个根域名服务器,编号从a.root-servers.net一直到m.root-servers.net。
在获得13个根服务器后,随机挑选一个
上面的过程拿到根域名服务器地址以后,就会去询问根服务器,net. 的 NS 记录是什么?这时候我们看到 f.root-servers.net 进行了应答,耗时 5ms,又拿到了 从a.gtld-servers.net一直到m.gtld-servers.net 的服务器
上面的过程拿到net.域名服务器地址以后,就会去询问net.服务器,renfei.net. 的 NS 记录是什么?这时候我们看到 e.gtld-servers.net 进行了应答,耗时 201ms,拿到了一组 NS 服务器,因为到 renfei.net. 这一级,已经是用户注册的域名了,所以我们可以自定义自己的 NS 服务器
上面的过程拿到renfei.net.域名服务器地址以后,就会去询问renfei.net.服务器,www.renfei.net. 的解析记录是什么?这时候我们看到 ian.ns.cloudflare.com 进行了应答,回复了一条 A 记录,值是 104.18.60.69,这样我们就拿到了最终的 IP 地址,解析过程结束
这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。
1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。
所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。
2010年3月16日前,中国大陆有F、I、J这3个根域DNS镜像,但因为某些不和谐原因,中国大陆境内的I根域镜像曾被撤销路由通告。现今,中国大陆境内共有F、I、J、L这4个根域的6台DNS镜像(L有三台镜像)在提供服务。