教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 服务器 > DNS服务器 >

DNS的相关知识和不完全总结(2)

时间:2012-03-22 17:19来源:未知 作者:ken 点击:

2、hosts文件

很多帖子里都有人回复说,看看那个hosts文件有没有问题,或者说修改那个hosts文件里的什么地方(例如屏蔽QQ)。这是为什么?

hosts存在的目的:减少DNS服务器的工作量,如果客户端查找的一个主机名在hosts文件里有记录(说明不久前访问过),那么客户端就不必找DNS服务器了直接就知道了该主机的IP。我们可以用记事本打开hosts文件。找不到?一般在这里C:\WINDOWS\system32\drivers\etc 这里除了hosts还有好几个文件,也能用记事本打开。都是和TCP/IP相关的,详细我就不说了跟DNS关系不大。

TTL(生存时间),DNS记录必须有TTL,Hosts中得缓存超过了ttl就将被删除,否则DNS得改变将无法在hosts文件中体现。

我们需要一个具体的例子:

有天,客户发现srv1.contoso.com主机无法访问了,我们查看DNS表,发现确实没有相关A记录了。我们手动添加了记录,但是客户还是抱怨无法访问该主机――因为客户端的缓存里里,还是认为该主机无法访问。这时我们就必须在客户的电脑上运行ipconfig/ flushdns 来清除缓存信息。是的,服务器也有缓存。服务器清理缓存的命令是dnscmd /clearcache

3、主DNS服务器和辅助名称服务器

这个概念在论坛上也无数次的被提起,我觉得还是有必要说明一下的。照例我不会用很专业的词汇,需要考MCSE的朋友最好不要看我写的东西。

我是这样认为的,DNS服务器把所有资源记录到一个文件中(zone file)。只有“主DNS服务器”能对该文件进行写操作(能修改DNS记录),辅助DNS服务器从主DNS服务器(或者其他辅助DNS服务器)那里获得该文件的拷贝(默认24小时得不到拷贝的话,辅助DNS服务器就将失效)。

除此之外还有一种“仅缓存名称服务器”(caching-only name server),它上面仅保存缓存的查询结果(从辅助DNS服务器那里获得),以便使客户端尽快获得查询信息。  

这种机制让人想起NT时代的主域控制器和备份域控制器――当然这是一种脆弱的机制。微软为了能多凑合一些时间,允许任何运行DNS的DC都能被设置为它所在域的主DNS服务器。

4、权威性应答与非权威性应答

按照我的理解,如果DNS服务器在自己的区域文件里找到了客户端需要查询的记录,就会返回一个权威性应答。―――例如客户端要查找srv1. contoso.com主机的IP地址。在contoso.com的DC(也就是DNS服务器)上查找该主机的“A记录”,我们找到了。就把记录内容通过DNS应答的方式发还给客户端,这就是一个权威性应答。――当然实际的查询方式比较复杂远没有我说的这么简单。

此外,如果DNS服务器最近被查找过该主机(可能其他客户端也查找过)记录,就会在缓存里找到记录应答客户端――当然上一种方法快。

如果该DC服务器找不到srv1. contoso.com主机的A记录,就会返回(Record Not Found)应答――同样也是权威性应答

如果接到DNS查询请求的服务器不是contoso.com的DC(Dns服务器),那么有3种方法处理该请求:

首先,查询其他DNS服务器直到找到,然后此服务器将找到的内容返回给客户端――非权威性应答

其次,推荐客户端到上一级DNS服务器找。―――非权威性应答。

最后,如果原来被别人访问过,本地有该缓存,那么用缓存里的数据回答―――非权威性应答。

说到这里就要讲清楚,为什么会出现3种方法,为什么有的时候DNS服务器要努力帮客户端查寻有的时候又只是打发到上层就不管了?

(责任编辑:ken)

TAG标签: dns
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容