理想情况下,DNS 缓存应当定期清除,尤其是在用户遇到网站访问问题时。
在域名系统 (DNS) 中,缓存是在操作系统、浏览器、设备或网络中临时存储 DNS 记录的过程。DNS 记录用于将人类可读的域名(例如,example.com)转换为计算机和设备可以理解的对应 IP 地址,例如 2001:db8:3e8:2a3::b63。通过在本地存储 DNS 信息,DNS 缓存使域名能够更快地被转换或“解析”,同时可以减少网络流量。
DNS 是如何工作的?
域名系统 (DNS) 旨在使人们在浏览网页时能够使用易于记忆的域名,而无需记住具体的 IP 地址。因此,DNS 类似于互联网的 GPS。当最终用户在浏览器中输入 example.com 之类的域名(或者,当用户点击某个链接或某计算机/Web 应用程序需要联系其他设备)时,该用户的设备会创建一个 DNS 查询,用以从包含此信息的 DNS 服务器系统中找到对应的 IP 地址。权威 DNS 服务器保存官方 DNS 记录。递归 DNS 服务器会将请求定向到正确的权威服务器,或者根据其存储器(即缓存)中存储的 DNS 记录生成所需信息,从而提高响应速度。
缓存在 DNS 中的作用是什么?
以临时存储形式存在的缓存使 DNS 系统能够更快、更高效地查找和检索一段时间内的 DNS 记录。全球的权威 DNS 服务器数量有限。这意味着,可能需要花费一些时间来从这些服务器中检索 DNS 记录。并且由于每天都会产生数万亿次的 DNS 请求,因此权威服务器很容易负荷过重并停止工作。通过在多个位置缓存 DNS 记录以便在将来的请求中重复使用,DNS 系统使 DNS 信息检索变得更加简单、快捷,同时还可以最大限度地减少网络流量和权威服务器的工作负荷。
DNS 缓存是如何工作的?
DNS 系统中有多种类型的缓存。每当用户或机器发出 DNS 请求时,响应可能会被存储在用户操作系统和浏览器的临时存储器(即缓存)中,或者存储在搜索所涉及的任何递归服务器中。每条 DNS 记录都有一个生存时间 (TTL) 值,该值决定了记录在缓存中可以存储多长时间,在此时间之后记录会被删除,从而促使服务器和操作系统搜索最新的记录。
当用户或机器发出 DNS 查询时,用户的设备首先会检查操作系统或浏览器中的本地缓存,以确定其中是否存在该记录。如果不存在,它会将该请求转发给某个递归 DNS 服务器。该递归服务器会根据其自身缓存中存储的信息解析此请求,或者将其转发给其他名称服务器并最终转发给某个权威 DNS 服务器。来自该权威 DNS 服务器的响应会存储在每个解析器步骤的缓存中并被转发回用户的设备,然后该设备会加载正确的网页或者连接到正确的设备。
DNS 缓存有哪些好处?
通过在操作系统、浏览器或服务器的存储器中存储 DNS 响应,DNS 缓存可以带来一些巨大的好处。
- 更快的解析速度。当 DNS 响应被缓存后,系统会直接从缓存中提供对同一域名的后续查找所需要的信息,而无需查询其他名称服务器或权威服务器,从而能够最大限度地降低延迟。
- 更出色的在线体验。缓存服务器的响应速度更快可实现更高效的加载并使用户获得更出色的体验。
- 流量优化。缓存可有助于减少需要在网络中传输的 DNS 查询的数量和容量,从而提高网络效率并减轻 DNS 服务器的负担。
- 更多带宽。通过减少网络上的 DNS 流量,缓存可有助于节省带宽,从而降低成本并为业务关键功能保留带宽。
- 离线访问。当 DNS 请求被缓存在本地存储器中时,即使设备与 Web 断开连接,它们仍然能够访问网站和在线资源。
- 最优分配。DNS 缓存可用作负载均衡器,以便在服务器与基础架构之间更均衡地分配 DNS 流量,进而提高 DNS 基础架构的可扩展性和弹性。
DNS 缓存会面临哪些威胁
虽然 DNS 缓存能够带来巨大的好处,但它也会使 DNS 系统面临风险。利用 DNS 缓存的威胁包括:
- DNS 缓存中毒。 DNS 缓存中毒也称为 DNS 欺骗,它是一种恶意攻击,能够将缓存中的合法 DNS 记录替换为虚假信息,从而导致用户和设备被定向到错误的网站。攻击者使用缓存中毒来欺骗用户,使他们在网站上泄露敏感信息,或者通过诱骗用户点击恶意链接来散布恶意软件。
- 已过期的记录。此外,攻击者还会利用已过期或未更新的 DNS 记录将用户重定向到欺诈网站。当某个递归解析器未能刷新其缓存或未遵循 TTL 值(指定应当将 DNS 记录缓存多长时间)时,就会出现这种情况。
为了化解攻击对 DNS 缓存和已缓存内容的影响,许多企业可选择与将 DNS 过滤技术与全球覆盖相结合的端到端 DNS 安全提供商进行合作,这有助于抵御基于 DNS 的 DDoS 攻击。
什么是缓存刷新?
缓存刷新是清除 DNS 缓存中所有已存储数据及 DNS 记录的过程,这会删除有效和无效记录。缓存刷新会强制计算机或服务器联系递归或权威服务器来解析将来的 DNS 请求。
常见问题
DNS 缓存主要影响的是网页浏览速度,而不会影响用户隐私。
虽然可以将 DNS 缓存禁用,但通常不建议这样做,因为这可能会降低互联网速度并增加服务器负担。
不相同,DNS 缓存涉及存储合法 DNS 记录,而 DNS 中毒是一种旨在将用户重定向到欺诈网站的恶意攻击。
当某条 DNS 记录过期时,DNS 解析器会从权威 DNS 服务器获取最新记录。
DNS 缓存能够缩短加载时间,因此有可能减少浏览网络期间使用的移动数据量。
客户为什么选择 Akamai
Akamai 是一家专注于网络安全和云计算的公司,致力于支持并保护在线商业活动。我们卓越的安全解决方案、出色的威胁情报和全球运营团队可提供深度防御,保护各地的企业数据和应用程序。Akamai 的全栈云计算解决方案可在全球分布广泛的平台上提供高性能和经济实惠的服务。全球多家企业坚信,Akamai 能够提供卓越的可靠性、规模和专业知识,帮助企业满怀信心地实现业务增长。