`
loveduck2005
  • 浏览: 2326 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

基于DNS的IP地址和域名的转换

阅读更多
今天看了本网络书中讲的域名系统DNS一节,有些体会也有些疑问故在此与大家分享一下,有明白的人还望多多指教。

在讲DNS与IP地址的转换时讲了递归查询和递归与迭代相结合的查询等方法,并讲了为优化查询开销可使用名字的高速缓存,即每个域名服务器维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。这样当有客户请求名字转换时,DNS服务器首先检查它是否被授权管理该名字,若未被授权则查缓存表。找到的话,服务器将缓存表中名字与IP地址的绑定发给客户端,并标志为非授权绑定,同时给出获得此绑定的服务器是的域名与IP地址的映射。不但在本地域名服务器,许多主机中也有这样的缓存表,以优化查询开销。

以上方法我感觉很好,的确可以有效降低查询开销,但是我在想为什么在递归查询的时候一定要先到顶级域名服务器然后再一层层往下查询,还有利用缓存表的时候,难道只能是已有的域名才能给客户端返回信息?

既然域名是一个层次结构,并且授权域名服务器总是能够将其管辖的主机名转换为IP地址,所以我只要找到我要找的主机在域名空间树中的任何一个祖先域名的服务器然后再递归往下走不就可以找到映射了吗,为什么一定要到顶级域名服务器?还有用缓存表的时候,假如本地域名服务器在缓存表中有d.mnl.abc.com的映射信息,并且知道该映射是从dns.abc.com处获得的,现在要查询t.xyz.abc.com的映射信息,这时本地域名服务器将dns.abc.com及其与ip地址的映射发给客户端,客户端通过该域名服务器不是也可以找到所需的映射吗?
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics