今天看了本网络书中讲的域名系统DNS一节,有些体会也有些疑问故在此与大家分享一下,有明白的人还望多多指教。
在讲DNS与IP地址的转换时讲了递归查询和递归与迭代相结合的查询等方法,并讲了为优化查询开销可使用名字的高速缓存,即每个域名服务器维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。这样当有客户请求名字转换时,DNS服务器首先检查它是否被授权管理该名字,若未被授权则查缓存表。找到的话,服务器将缓存表中名字与IP地址的绑定发给客户端,并标志为非授权绑定,同时给出获得此绑定的服务器是的域名与IP地址的映射。不但在本地域名服务器,许多主机中也有这样的缓存表,以优化查询开销。
以上方法我感觉很好,的确可以有效降低查询开销,但是我在想为什么在递归查询的时候一定要先到顶级域名服务器然后再一层层往下查询,还有利用缓存表的时候,难道只能是已有的域名才能给客户端返回信息?
既然域名是一个层次结构,并且授权域名服务器总是能够将其管辖的主机名转换为IP地址,所以我只要找到我要找的主机在域名空间树中的任何一个祖先域名的服务器然后再递归往下走不就可以找到映射了吗,为什么一定要到顶级域名服务器?还有用缓存表的时候,假如本地域名服务器在缓存表中有d.mnl.abc.com的映射信息,并且知道该映射是从dns.abc.com处获得的,现在要查询t.xyz.abc.com的映射信息,这时本地域名服务器将dns.abc.com及其与ip地址的映射发给客户端,客户端通过该域名服务器不是也可以找到所需的映射吗?
ip地址转为域名nginx
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:网络限速python
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
获取IP地址
端点(API接口)访问获取IP地址!
IP Java SpringBoot\ -
Nginx 虚拟主机之基于域名、端口、IP地址
Nginx 虚拟主机之基于域名、端口、IP地址
Nginx 虚拟主机之基于域名、端口、I -
targetSdkVersion升到32后Apps targeting Android 12 and higher are required to
最近在项目开发是遇到一个关于targetSdkVersion的问题。查到些关于这些的说明。在AndroidMenifest.xml中,常常会有下面的语句: <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" android:maxSdkVersion="10" /> 在default.prope
Uncaught TypeError targetSdkVersion JavascriptInterface minSdkVersion API