dns服务器配置_根域名服务器问题解答

86dae5ca3b2db943b068cddae197367b.png

熟悉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域名查询系统如同一棵树一样,叶子问主干,主干问根,根将一级主干返回给主干,主干问一级主干,一级主干将结果返回给主干,主干将结果返回给叶子,叶子将最终查询结果返回给主机!

bd1216df2493cdc4436dc85d4402acde.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)。

a42ba4a17134a65bfd31ea7a6ca6dccb.png

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

但是有一个问题,婴儿的配置文件是一个静态文件,不是实时更新的!如果其中有些大神的IP地址发生了变动,那么意味着婴儿拿着过期的配置信息,可能找不到大神!婴儿一旦读取配置文件完成初始化,需要立马去任意一位大神,更新13位大神的实时联系方式!好累,终于讲到本文的主题了!

婴儿需要向大神发送DNS NS(Name Server) Query,大神将返回13位大神的实时联系方式,如下图所示,受限于图片尺寸,图中只包括A、B大神。他们的全名分别为“a.root-servers.net.”、 “b.root-servers.net.”
789604ad039ccc79d487a403108de328.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地址都有几十甚至上百台物理服务器同时提供服务,全球只有999实例(Instance),到今天已经扩容到1011个实例了。

a150195cc71059c6535fa0420fcaf131.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值