DNS第二级域名搜索效率

问题描述:

DNS第二级域名查询的效率如何?例如,在web.example.com网址中,顶级域名是.com,第二级域名是.example。当我们查询web.example.com时,根服务器将为.com提供gTLD服务器。为.com选择gTLD服务器后,此服务器将返回example.com的名称服务器。一个gTLD如何知道所有可能的二级域名(例如“example.com”)的名称服务器,因为可能有这么多可能的二级域名?基于维基百科(en.wikipedia.org/wiki/Domain_Name_System#Structure),每个标签最多为63个字符,所以如果我们限制为英文字母,这已经为我们提供了26^63个可能的二级域名。DNS第二级域名搜索效率

原因是26^63域中实际使用的很少。

此外,DNS系统是分层的,因此一旦ISP的DNS服务器查找cnn.com网站,它将缓存数据,并且不会再向根服务器询问设定的时间,即使其他客户端询问一下。过了一段时间,许多根域缓存到客户端非常近。

这并不是说,根服务器没有他们的工作等着他们...... :-)

+0

根服务器具有非常小的数据库,但获取查询_lots_。 – Alnitak 2012-01-11 22:39:14

最有可能(我没有检查,但会问,当我看到主作者BIND下一个)他们只是使用标准的binary tree

一个适当平衡的二叉树需要约27层深以容纳〜100M的.com域名。

这不太可能使用hash table,因为DNS服务器通常需要能够按需生成排序的区域文件,并且散列表不适合生成排序的密钥列表。