根域服务器物理服务器,为何根域名服务器只有13个?

本文解释了DNS域名解析系统中根服务器为何只有13个,以及这些服务器如何通过配置文件获取大神(即根DNS服务器)的联系方式,并通过DNS查询流程来解析域名。尽管UDP限制了最大报文大小,但13个根服务器的设置足以应对全球DNS查询需求,且每个IP地址背后都有多个物理服务器提供服务。
摘要由CSDN通过智能技术生成

原标题:为何根域名服务器只有13个?

来自公众号:车小胖谈网络

两个月之前更新文章曾经说过,过一段时间会更新最终版。这篇文章是献给一直关注公众号的忠实读者一份福利,请尽快阅读!

熟悉DNS域名解析的同学应该知道,当主机想访问某个网站时,会使用本机配置的DNS服务器来将网站的域名解析成IP地址。获得了网站的IP地址,就可以使用IP报文与服务器进行通信了。

Q1:主机是如何知道DNS服务器IP地址的?

这个问题难不住大家,一般是通过DHCP动态获得,或者手工配置获得。

Q2: DNS服务器如何知道网站域名、IP地址的映射关系?

DNS服务器上通常也配置有自己的DNS服务器,为了区别起见,称后者为“树干DNS服务器”,前者为“叶子DNS服务器”。

Q3:树干DNS服务器天生就知道“网站域名、IP地址的映射关系”答案吗?

这里的天生是指,当树干DNS服务器从上电启动,完成DNS进程加载,这个时候树干DNS服务器如初生的婴儿,大脑一片空白。需要告诉这个小婴儿,一旦遇到不会的DNS查询问题,需要去求助大神,这个大神的名字就叫“树根DNS服务器”!

DNS查询原理

互联网的DNS域名查询系统如同一棵树一样,叶子问主干,主干问根,根将一级主干返回给主干,主干问一级主干,一级主干将结果返回给主干,主干将结果返回给叶子,叶子将最终查询结果返回给主机!

81bde3d7816e61b1034b4fcc2d5a0bc9.png

Q4:小婴儿(树干DNS服务器)如何找到大神呢?

如果婴儿事先知道大神的IP地址,不就可以找到了吗?这个主意很好!

只要让小婴儿在初始化DNS进程时,读取这个配置文件,这个配置文件提供了大神的联系方式。大神的名字分别为:A、B、C、D、E、F、G、H、I、J、K、L、M,一共13个大神。以及13个大神对应的IPv4、IPv6地址。如下图所示,该图受限于屏幕尺寸,不能囊括13个大神完整的信息,有兴趣的同学可以前往下载(http://www.internic.net/domain/named.root)。

9c00b8a8d692de4cba6c6233fc678de1.png

到目前为止,小婴儿已经获得了13位大神的联系方式,可以求助任意一位大神来回答DNS查询问题,然后再把DNS查询答案告诉叶子DNS服务器。这个故事到这里仿佛要结束了。。。

但是有一个问题,婴儿的配置文件是一个静态文件,不是实时更新的!如果其中有些大神的IP地址发生了变动,那么意味着婴儿拿着过期的配置信息,可能找不到大神!

婴儿一旦读取配置文件完成初始化,需要立马去任意一位大神,更新13位大神的实时联系方式!好累,终于讲到本文的主题了!

婴儿需要向大神发送DNS NS(Name Server) Query,大神将返回13位大神的实时联系方式,如下图所示,受限于图片尺寸,图中只包括A、B大神。他们的全名分别为“a.root-servers.net.”、 “b.root-servers.net.”

123bdf0bcdbc20db30fa2a59d8483d8b.png

Q5:每一个大神的联系方式占据多大的尺寸呢?

如下图所示,每一个大神占据的字节数 = 1 + 4 + 2 +2 + 2 + 20 = 31 个字节!

13位大神一共占据的字节数= 13 * 31 = 403 个字节!由于运输DNS查询结果的是UDP,由于历史原因,UDP被IETF限制最大发送尺寸为512字节。留给DNS其它协议字段的空间只有512-403 =109个字节,这109个字节用来运输DNS其它协议字段,最终剩下几十个字节的空闲空间,足够容纳第14位大神。但是,IETF最终决定不再加入新的大神,空闲的空间保留给DNS协议的扩展!

需要指出的是,13位大神并不意味13个物理服务器,而是13个IP地址。每个IP地址都有几十甚至上百台物理服务器同时提供服务,记得6月份更新文章时,全球只有999个实例(Instance),到今天已经扩容到1011个实例了。

cb9345e1db65ffd258e7082733addbcb.png

关于为何IETF要限制UDP的最大报文发送尺寸,请参阅这篇文章 !

●编号951,输入编号直达本文

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值