为什么需要传输13个根域名服务器的IP地址

根域名服务器全世界只有13个,中国一个都没有。意思是根域名服务器IP地址全球只有13个,但是分布在全世界大概有1000个节点(目前国内有29个),使用BGP泛播技术解决了IP重复的问题。
DNS主要基于UDP传输协议,因为TCP开销太大。而一个UDP数据包(512bit)必须包括所用根服务的主机名和IP,这导致了“最多”只能有13个根服务器IP。

问题1:自己架设一个dns根服务不可以吗?

根区域的信息完全公开,完整的根区域文件我们可以在IANA的网站上获取http://www.internic.net/domain/root.zone。事实上根据RFC 7706我们甚至可以在本地建立一个自己的根域名服务器部署在回环地址,用于降低查询延迟和避免查询被窃听,使用BIND或NSD作为DNS服务器程序。通过AXFR从ICANN的服务器lax.xfr.dns.icann.org或iad.xfr.dns.icann.org获取根区域的完整信息,用DNSSEC验证信息,根据SOA记录中的信息定期更新。

问题2:为什么需要传输13个根域名服务器的IP地址,如何传输?

递归名称服务器中的根名称服务器信息是需要管理员提前配置的,需要一个的包含根名称服务器的域名和IP地址的根提示文件。根名称服务器的域名和IP地址有可能会改变,导致根提示文件中的信息过时,因此递归名称服务器需要一种不需要依赖管理员更新自己根提示文件信息的机制,这就是我们需要查询根域的NS记录(传输13个根域名服务器的IP地址)的原因。
我们称这种查询为“启动查询”,在RFC 8109中有对启动查询的更多描述。直至今天,根名称服务器的使用的IP地址仍然会改变,不过域名在1997年已经稳定。
递归名称服务器刚启动时在根提示文件中随机选择一个根名称服务器发送启动查询,如果查询失败则随机选择下一个。根域的NS记录与其他资源记录相同,都是有TTL的,TTL过期后递归名称服务器就需要重新发送启动查询。现在的启动查询要求使用EDNS0,需要至少能够处理1024字节。不过我们不能用现在的技术去套用在曾经的历史上,决定根名称服务器只有13台的时候,EDNS0还没有出现,还存在512字节的限制。

参考文章:https://www.zhihu.com/question/22587247/answer/1021961852

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值