dnssec在缓存服务器

缓存服务器:在用户终端跟DNS迭代服务器之间还存在着多级DNS缓存服务器,其实缓存服务器就是进行了一个往上的forward的操作,意思是把靠近用户侧一级发出的所有未被缓存的请求都转发到靠近递归服务器侧的一级服务器中去。(例如L2收到Client的请求,发现L2上没有缓存,就会转发到L1上去,如果L1有缓存,那就原路返回给client,否则继续往上请求,直到发起向根递归)

递归---L1---L2---client

DNSSEC在缓存服务器:根据DNSSEC的验证流程我们可以发现,验证的流程其实和递归解析的流程是相反来的。解析流程是先向根请求,再想权威请求,再往下请求:

(1)验证a.com的A记录的RRSIG是否合法,此时要先拉一个a.com的dnskey记录。

(2)然后再验证a.com的dnskey记录是否合法,此时要向权威服务器要一个a.com的ds记录,同时DS记录也有RRSIG需要验证。

(3)然后验证权威的DS记录的RRSIG是否合法,此时需要拖一个权威的DNSKEY,如此类推直到信任锚。

通过实验观察以及原理理解发现,缓存服务器可以配置根服务器信任锚在本机上,当缓存服务器需要插入一条新的缓存记录时,就会发起DNSSEC验证,从最底层开始(而不是从根开始)往上一步一步验证。因此递归服务器不需要把递归请求的每一条结果返回给下级,因为验证一个a.com的A解析记录是否真实,并不需要.com或.root的NS、A解析记录,而只需要.root和.com上存的ds、dnskey记录。而这些ds、dnskey记录本身也是作为递归回来的结果而缓存在上级服务器之中的。

你可能感兴趣的:(dnssec在缓存服务器)