DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的DNS询问,依此得到答案之后,将收到的答案存起来,并回答客户。
DNS服务器会根据不同的授权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。
在每一个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另外一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接可以从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:当DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称。如果没有,该服务器会先在自己的快取缓存区中查询有无该笔纪录,如果找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,如果名称服务器在资料记录查不到且快取缓存区中也没有时,服务器首先会才会向别的名称服务器查询所要的名称。例如:DNS客户端向指定的DNS服务器查询网际网路上某台主机名称,当DNS服务器在该资料记录找不到用户所指定的名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当快取缓存区也找不到时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另一台服务器上也有相同的动作的查询,当查询到后会回复原本要求查询的服务器,该DNS服务器在接收到另一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端 。
两种真正DNS的查询模式
有两种询问原理,分为Recursive和Interactive两种。前者是由DNS代理去问,问的方法是用Interactive方式,后者是由本机直接做Interactive式的询问。由上例可以看出,我们一般查询名称的过程中,实际上这两种查询模式都是交互存在着的。
递归式(Recursive):DNS客户端向DNS Server的查询模式,这种方式是将要查询的封包送出去问,就等待正确名称的正确响应,这种方式只处理响应回来的封包是否是正确响应或是说是找不到该名称的错误讯息。
交谈式(Interactive):DNS Server间的查询模式,由Client端或是DNS Server上所发出去问,这种方式送封包出去问,所响应回来的资料不一定是最后正确的名称位置,但也不是如上所说的响应回来是错误讯息,他响应回来告诉你最接近的IP位置,然后再到此最接近的IP上去寻找所要解析的名称,反复动作直到找到正确位置。
Client就像点菜的waiter,想吃什么跟他点,到底有没的吃就要看大厨server的能力了,当然还要看库存,巧妇难做无米之炊嘛!这里的“米”就是本级DNS已有储存资料。没有所要的就得向上级汇报,逐级申请,找到为止。用不完的保存下来,以便其它顾客有相同需求。这就是DNS工作的整个流程。
欲了解域名更多相关信息请进入 群英智能免费DNS http://dns.qy.com.cn