根域名服务器介绍
- 发表于
- 周边
根域名服务器
根域名服务器(英语:root name server)是互联网域名解析系统(DNS)中最高级别的域名服务器,负责返回顶级域的权威域名服务器地址。它们是互联网基础设施中的重要部分,因为所有域名解析操作均离不开它们。由于DNS和某些协议(未分片的用户数据报协议(UDP)数据包在IPv4内的最大有效大小为512字节)的共同限制,根域名服务器地址的数量被限制为13个。幸运的是,采用任播技术架设镜像服务器可解决该问题,并使得实际运行的根域名服务器数量大大增加。截至2017年11月,全球共有800台根域名服务器在运行。
DNS是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个域名只能对应一个IP地址(比如访问一个域名不可能向两个ip地址请求),而IP地址不一定有域名且可以对应多个域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。
管理机构及设置地点
全球13组根域名服务器以英文字母A到M依序命名,域名格式为“字母.root-servers.net”。全部已以任播技术在全球多个地点设立镜像站。
名称 | 管理单位及设置地点 | IP地址 |
A | INTERNIC.NET(美国,弗吉尼亚州) | 198.41.0.4 |
B | 美国信息科学研究所(美国,加利弗尼亚州) | 128.9.0.107 |
C | PSINet公司(美国,弗吉尼亚州) | 192.33.4.12 |
D | 马里兰大学(美国马里兰州) | 128.8.10.90 |
E | 美国航空航天管理局(美国加利弗尼亚州) | 192.203.230.10 |
F | 因特网软件联盟(美国加利弗尼亚州) | 192.5.5.241 |
G | 美国国防部网络信息中心(美国弗吉尼亚州) | 192.112.36.4 |
H | 美国陆军研究所(美国马里兰州) | 128.63.2.53 |
I | Autonomica公司(瑞典,斯德哥尔摩) | 192.36.148.17 |
J | VeriSign公司(美国,弗吉尼亚州) | 192.58.128.30 |
K | RIPE NCC(英国,伦敦) | 193.0.14.129 |
L | IANA(美国,弗吉尼亚州) | 198.32.64.12 |
M | WIDE Project(日本,东京) | 202.12.27.33 |
为什么只有13个根域名服务器
这个问题我查阅了很多资料,最后可能需要再修改一下描述:
是13个根域名(从a到m a.rootservers.net,b.rootservers.net,...,http://m.rootservers.net ),或者说是12个根IP,对应了 A-M 13 个编号,
借由任播(Anycast)技术,编号相同的根服务器使用同一个IP(类似一个集群)。而不是13台服务器,服务器到后面其实有很多了(到2016年2月全球有588个地点放根域名服务器,当前分布参考 Root Server Technical Operations Assn )。
其实在看了诸多相应解读文章后,我依然没完全理解为什么只有13个根域名,但多数的解读是说因为UDP的大小限制。
根域文件
所有根域名服务器都是以同一份根域文件(Root Zone file,文件名为root.zone)ICANN 官网可以查看这个根区文件。返回顶级域名权威服务器(包括通用顶级域和国家顶级域),文件只有2MB大小。截至2017年10月9日,一共记录了1542个顶级域。对于没被收录的顶级域,是没法通过根域名服务器查出相应的权威服务器。而其他递归DNS服务器则只需要配置Root Hits文件,只包含根域名服务器的地址。举例来说,顶级域名.com
可以查到13个域名服务器:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. |
也就是说,.com
域名的解析结果,可以到这个13个服务器的任一台查询。细心的读者可能发现,这些服务器本身也是使用域名(比如a.gtld-servers.net.
)标识,那么还得去查询它们指向的服务器,这样很容易造成循环查询。
因此,DNS 根区还会同时提供这些服务器的 IP 地址(IPv4 和 IPv6):
1 2 3 4 5 6 7 |
a.gtld-servers.net. 172800 IN A 192.5.6.30 a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e:0:0:0:2:30 b.gtld-servers.net. 172800 IN A 192.33.14.30 b.gtld-servers.net. 172800 IN AAAA 2001:503:231d:0:0:0:2:30 c.gtld-servers.net. 172800 IN A 192.26.92.30 c.gtld-servers.net. 172800 IN AAAA 2001:503:83eb:0:0:0:0:30 ... ... |
总结
总结一下,互联网域名系统 在层次结构的根部使用13个DNS服务器集群有几个原因:13号被选为网络可靠性和性能之间的折中,13是基于互联网协议(IP)的约束,版本4(IPv4)。
尽管IPv4中只存在13个指定的DNS根服务器名称,但实际上,这些名称中的每一个都不代表单个计算机,而是代表由多台计算机组成的服务器群集。这种使用集群可提高DNS的可靠性,而不会对其性能产生任何负面影响。
由于新出现的IP版本6标准对单个数据报的大小没有如此低的限制,我们可以预计,随着时间的推移,未来的DNS将包含更多的根服务器来支持IPv6。
根服务器和DNS服务器的区别
这里再引用本文第一段话中的内容:
根域名服务器(英语:root name server)是互联网域名解析系统(DNS)中最高级别的域名服务器
参考
原文连接
的情况下转载,若非则不得使用我方内容。