DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必需要回答此Domain Name的真正IP地址。而当地的DNS先会查本身的资料库。若是本身的资料库没有,则会往该DNS上所设的的DNS询问,依此获得答案以后,将收到的答案存起来,并回答客户。缓存
DNS服务器会根据不一样的受权区(Zone),记录所属该网域下的各名称资料,这个资料包括网域下的次网域名称及主机名称。服务器
在每个名称服务器中都有一个快取缓存区(Cache),这个快取缓存区的主要目的是将该名称服务器所查询出来的名称及相对的IP地址记录快取缓存区中,这样当下一次还有另一个客户端到次服务器上去查询相同的名称 时,服务器就不用在到别台主机上去寻找,而直接能够从缓存区中找到该笔名称记录资料,传回给客户端,加速客户端对名称查询的速度。例如:
当 DNS客户端向指定的DNS服务器查询网际网路上的某一台主机名称 DNS服务器会在该资料库中找寻用户所指定的名称 若是没有,该服务器会先在本身的快取缓存区中查询有无该笔纪录,若是找到该笔名称记录后,会从DNS服务器直接将所对应到的IP地址传回给客户端 ,若是名称服务器在资料记录查不到且快取缓存区中也没有时,服务器首先会才会向别的名称服务器查询所要的名称。例如:get
DNS客户端向指定的DNS服务器查询网际网路上某台主机名称,当DNS服务器在该资料记录找不到用户所指定的名称时,会转向该服务器的快取缓存区找寻是否有该资料 ,当快取缓存区也找不到时,会向最接近的名称服务器去要求帮忙找寻该名称的IP地址 ,在另外一台服务器上也有相同的动做的查询,当查询到后会回复本来要求查询的服务器,该DNS服务器在接收到另外一台DNS服务器查询的结果后,先将所查询到的主机名称及对应IP地址记录到快取缓存区中 ,最后在将所查询到的结果回复给客户端 。 域名
范例it
咱们举例说明,假设咱们要查询网际网路上的一个名称为www.test.com.cn,今后名称咱们知道此部主机在中国CN,并且要找的组织名称test.com.cn此网域下的www主机,如下为名称解析过程的每一步骤。test
《Step 1》在DNS的客户端(Reslover)键入查询主机的指令,如:引用
如下为引用的内容:
c:\ping www.test.com.cn
pinging www.test.com.cn 【192.72.80.36】with 32bytes of data
reply from 192.72.80.36 bytes time <10ms ttl 253
《Step 2》而被指定的DNS服务器先行查询是否属于该网域下的主机名称,若是查出改主机名称并不属于该网域范围,以后会再查询快取缓存区的纪录资料,查是否有此机名称。im
《Step 3》查询后发现缓存区中没有此纪录资料,会取得一台根网域的其中一台服务器,发出说要找www.test.com.cn的Request。客户端
《Step 4》在根网域中,向Root Name Server询问,Root Name Server记录了各Top Domain分别是由哪些DNS Server负责,因此他会响应最接近的Name Server为控制CN网域的DNS伺服主机。查询
《Step 5》Root Name Server已告诉Local DNS Server哪部Name Server负责.cn这个Domain,而后Local DNS再向负责发出找寻www.test.com.cn的名称Request。
《Step 6》在.cn这个网域中,被指定的DNS服务器在本机上没有找到此名称的的纪录,因此会响应本来发出查询要求的DNS服务器说最近的服务器在哪里?他会回应最近的主机为控制com.cn网域的DNS伺服主机。
《Step 7》本来被查询的DNS服务器主机,收到继续查询的IP位置后,会再向com.cn的网域的DNS Server发出寻找www.test.com.cn名称搜寻的要求。
《Step 8》com.cn的网域中,被指定的DNS Server在本机上没有找到此名称的记录,因此会回复查询要求的DNS Server告诉他最接近的服务器在哪里?他就回应最接近为控制test.com.cn的网域的DNS主机。
《Step 9》本来被查询的DNS Server,在接收到应继续查询的位置,在向test.com.cn网域的DNS Server发出寻找www.test.com.cn的要求,最后会在test.com.cn的网域的DNS Server找到www.test.com.cn此主机的IP。
《Step 10》因此本来发出查询要求的DNS服务器,再接收到查询结果的IP位置后,响应回给原查询名称的DNS客户端。