DNS缓存

1. 高速缓存

  1. 为了提高DNS查找效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量。
  2. 用来存放最近查询过的域名以及从何处获得域名映射的信息的记录
  3. 缓存的表项不应该生存得太长,这就是为什么每条资源记录(RR)中要包含Time_to_live的原因

    2. 域名到IP地址映射的信息可以从三个途径获取:

  4. 直接来自于区域数据库,此时服务器应该包含该区域的授权信息,也可以成为该区域的授权服务器
  5. 来自区域传输的结果
  6. 来自于处理解析过程中的另一台服务器

    3.域名服务器的缓存

  7. 大部分的域名服务器(除了一些根域名服务器和顶级域名服务器)也缓存它们学习的区域信息,直到称为生存时间的时间限制为止。
  8. 当应答查询时,域名服务器指明它返回的信息是来自于它的缓存还是来自于该区域的授权副本。当返回缓存的信息时,服务器通常也会包含域名服务器的域名信息,通过联系该域名服务器就可以检索对应区域的授权信息。
  9. 如果一个区域变化了,网络中就仍然可能存在缓存的数据,这就可能会导致不正确的DNS解析过程,直到TTL失效为止。因此一些想要改变区域内容的区域管理员,就会在实施这些操作之前首先减少TTL值
  10. 缓存同样适用于成功的解析和不成功的解析(否定缓存),如果一个特定域名的请求无法返回一个记录,该事实也会被缓存,当出错的程序一再请求不存在的域名时,这样做就可以帮助降低互联网流量。
  11. 在Windows和Linux系统中,客户端可以保存缓存,它可以允许同意系统上运行的所有应用程序使用该缓存。在windows系统中,这是默认开启的;而在linux系统中,它是一种可以启用或禁用的服务。
Table of Contents