最近对DNS比较好奇。请教几个问题:
1. 根服务器,顶级域名跟服务器,和权威DNS有什么关系和区别呢?2. 举个例子,当我访问http://csdn.net的时候,DNS是怎么工作的呢?工作的流程是如何跟根服务器,顶级域名跟服务器,和权威DNS产生联系的呢??先32个谢。

解决方案 »

  1.   

    DNS解析服务一般是利用互联网上的一级一级的域名解析服务器完成的。如果要访问CSDN,首先CSDN自己要向域名管理商注册csdn.net这个DNS(注册完后,CSDN.net就会在这个域名管理商的域名解析服务器数据库表中保存一个DNS和IP的映射表)。这个例子中,域名管理商就是.NET域名服务商(而我们也经常称这个域名解析服务器为.NET根服务器)现在,你需要在家访问该网站(例如,你家的电脑是接入上海电信的网络):
    第一步:浏览器会看看有没有本地Cache好的域名和IP之间的对应关系,如果本地已经有了,就直接用。(当然Cache也是有有效期的)
    第二步:如果浏览器没有,你的机器就会向上海电信的域名服务器区请求解析。如果上海电信的域名解析服务器有的话,就直接返回(注意上海域名解析服务器会负责整个上海电信的域名解析,所有他有最新的CSDN域名和IP对于关系的可能性很大)。你的浏览器得到这个解析结果后会首先缓存在本地,然后用相应的IP做请求。
    第三步:如果上海的域名解析服务器也没有相应数据(或者数据过期),它会向中国电信的全国域名解析服务器询问。
    以此类推直到.NET根域名解析服务器,这里一定会有(因为CSDN已经在这里注册了)。注意,各级域名解析服务器一般都会缓存域名解析的DNS和IP对应表以应对大量的域名解析服务请求。Windows上,你可以用nslookup命令看一个DNS是解析成什么IP的:http://www.net.cn/service/faq/yuming/url/200603/736.html
      

  2.   

    另外,需要注意的是,如果有三级域名,如访问bbs.csdn.net。CSDN有可能会用自己的DNS服务器来管理所有结尾为csdn.net的域名解析。这样你的域名解析请求最终会走到CSDN自己的DNS域名解析服务器。
      

  3.   

    当我访问csdn的时候,会和世界上只有13台的根服务器发生关系吗?或者说,什么时候才会发生关系呢?