关于 Name Server

2015-02-05 00:12:07 +08:00
 alansalexer

baidu.com 的 Name Server 如下:
dns.baidu.com
ns2.baidu.com
...

google.com 的 Name Server 如下:
ns1.google.com
ns2.google.com
...

那么 dns.baidu.com, ns1.google.com 最早是由谁解析的呢?
感觉成了鸡生蛋蛋生鸡......

3483 次点击
所在节点    DNS
9 条回复
Septembers
2015-02-05 00:17:23 +08:00
root-servers
lzxgh621
2015-02-05 00:23:45 +08:00
域名服务器需要在注册商那里注册的,貌似还收费。
Draplater
2015-02-05 00:57:02 +08:00
结论:是gtld-server提供的,
过程:先去root-serer(预先写在程序里)那里查询com.的NS,返回结果为gtld-server。
再去gtld-server那里查询baidu.com.的NS,返回结果为dns.baidu.com
dns.baidu.com是用来查询*.baidu.com的,而不是baidu.com

你可以使用dig +trace baidu.com亲手试试
Draplater
2015-02-05 01:06:42 +08:00
不好意思没看清问题,撤销如上言论
sumhat
2015-02-05 01:08:10 +08:00
sneezry
2015-02-05 01:14:53 +08:00
由一级域名服务器解析,也就是.com的服务器*.gtld-servers.net.,*为a-m。

解析过程(无缓存时):根服务器root-server(ip是写死的,全世界13台)->一级域名服务器(TLD[Top-Level Domain]服务器,如.com、.org、.io等的域名服务器)->域名服务器(如google.com的域名服务器ns.google.com
AstroProfundis
2015-02-05 04:50:50 +08:00
glue 记录
invite
2015-02-05 09:27:29 +08:00
首先 dns.baidu.com 这个NS的IP信息是在 com 服务器上注册过的,同时 baidu.com 归那个NS解析在com服务器上也是注册过的

然后这里有两个概念,

1、如果要解析 dns.baidu.com, 跟解析 www.baidu.com 过程是一样的。

2、在解析www.baidu.com的时候,会通过root找到com的服务器,它会返回 dns.baidu.com 以及对应的 IP这条记录,通过这条记录可以找到对应的百度NS服务器的IP地址,然后可以解析出 www.baidu.com 了。



其次,如果你需要模拟: 鸡生蛋蛋生鸡 的情况,也是可以实现的:

你需要两个域名,归属于不同tld, 比如 baidu.combaidu.org

baidu.com 的NS指向 ns.baidu.org
baidu.org 的NS指向 ns.baidu.com

当然, 上述两个NS都是合法注册过的,但此时你去解析任何一个域名, 都不会有结果,循环解析了。

假设解析 www.baidu.com ,此时的过程是:

1、 向root询问,root返回说这个归 com 管 , 同时返回了com对应的服务器和IP。
2、 向com询问,com上注册了baidu.com对应的NS为 ns.baidu.org ,此时它不知道 ns.baidu.org 对应的IP地址
3、 客户端发现是 ns.baidu.org ,但是没IP,这个时候它会发起一个解析请求去解析 ns.baidu.org
4、 向root询问,root返回说这个归 org 管 , 同时返回了org对应的服务器和IP。
5、 向org询问,org上注册了baidu.org对应的NS为 ns.baidu.com,此时它不知道 ns.baidu.com对应的IP地址
6、 客户端发现是 ns.baidu.com,但是没IP,这个时候它会发起一个解析请求去解析 ns.baidu.com
7、 向root询问,root返回说这个归 com 管 , 同时返回了com对应的服务器和IP。(第1步)
8、 这个时候就出现 “鸡生蛋蛋生鸡” 的问题了。
kxmp
2015-02-14 22:52:47 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168349

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX