DNS的查询过程大家都知道,从根域名服务器开始,以 huangqifu.com 为例,理论上要经过如下几步域名服务器得到结果:
1:[a-m].root-servers.net.(根域名服务器)
2:[a-m].gtld-servers.net.(顶级域名服务器)
3:f1g1ns[1-2].dnspod.net.(查询域名指定的NS服务器)
刚了解DNS时,我有过一个疑问,如果 qq.com 的域名NS是 ns1.qq.com ,那么上述查询不就陷入死循环了么?因为要知道 ns1.qq.com 对应的IP就需要到 qq.com 的NS服务器去查询,而这个服务器又是 ns1.qq.com ,如此周而复始下去……
当然,解决方法很简单,上级DNS服务器(即负责.com的顶级域名服务器)中保存该NS的IP记录,查询时直接给出。前几天无意看到了这个记录的名称,叫“Glue Record”。所以实际上,我们用到的域名DNS都是需要到域名注册商那里去注册的,否则无法正常使用。在Godaddy中可以通过Host Names设置,万网也可以注册DNS。
在windows的命令提示符下,输入 nslookup qq.com a.gtld-servers.net. ,即可得到如下结果:
名称: qq.com Served by: - ns1.qq.com 101.226.68.138 14.17.19.139 qq.com - ns2.qq.com 101.227.169.106 222.73.76.225 qq.com - ns3.qq.com 182.140.167.157 182.140.177.149 qq.com - ns4.qq.com 111.161.48.230 125.39.202.108 203.205.144.156 qq.com
里面列出了 qq.com 的NS服务器,以及每个服务器的IP地址。
然后我发现,其实不光是域名的NS为其子域名的情况,只要该NS的域名与要解析的域名的上级DNS相同(即顶级域名服务器相同),都会同时返回NS的IP地址。比如 nslookup huangqifu.com a.gtld-servers.net. ,可以得到:
名称: huangqifu.com Served by: – f1g1ns1.dnspod.net 111.30.132.180 113.108.80.138 125.39.208.193 180.153.9.189 182.140.167.166 huangqifu.com – f1g1ns2.dnspod.net 101.226.30.224 112.90.82.194 115.236.137.40 115.236.151.191 182.140.167.188 huangqifu.com
虽然 huangqifu.com 与 f1g1ns1.dnspod.net 并无从属关系,但是因为.com与.net后缀的上级DNS服务器都是 a.gtld-servers.net. ,所以查询时直接给出了NS的IP。如果查询 nslookup qifu.me ns.nic.me. ,则无IP地址:
名称: qifu.me Served by: – f1g1ns1.dnspod.net qifu.me – f1g1ns2.dnspod.net qifu.me
更明显的,查询 nslookup ustc.edu.cn a.dns.cn ,结果如下:
名称: ustc.edu.cn Served by: – dns.edu.cn 202.112.0.35 edu.cn – ns2.cuhk.hk edu.cn – deneb.dfn.de edu.cn – ns2.cernet.net edu.cn – dns2.edu.cn 202.112.0.13 edu.cn
其中是.cn后缀的域名NS记录都直接有IP地址,其它则没有。
根域名服务器的IP地址是直接保存到系统中的,它在给出顶级域名服务器的记录时,会同时有对应的IP地址。
以上个人总结,写出来分享一下,如有纰漏请指出。
还在研究这方面啊,是实验室任务之一吗?
嘿嘿,不是,我只是不务正业瞎玩儿而已。
一般只有比较大的域名注册商才会去上级域名解析服务器中备份他们自建的DNS-IP吧
我猜应该都有权限的吧,毕竟要在注册域名的注册商处设置glue record。其他的不知道,狗爹、万网和新网都可以。
给你推荐一个文章,老虎会游泳写的。关于DNS解析~点击我昵称跳转过去好了~
这篇文章末尾的问题答案就是我这篇,所以,你的推荐方向反了,哈哈。
而且,文中提到根域名服务器是不会直接给出hu60.cn的NS的,跳过了一级。
另外,全球各地有很多根服务器的镜像,但是按要求,它们都应该与源服务器同步,同步所有数据,而且不允许随意删除修改。
人丢大咯~
嗨,都是学习~
忘了名字了,是《DNS:域名的旅行》/@老虎会游泳 almp创始人~虎绿林原站长~
根域名服务器与顶级域名服务器?根域与顶域不是一个概念么?
不是滴~