Eva*_*son 72
“DNS 传播”本身并不是一种真实的现象。相反,它是 DNS 协议中指定的缓存功能的明显效果。说 DNS 服务器之间的更改“传播”是一个方便的谎言,可以说,与描述 DNS 协议的所有细节相比,向非技术用户解释更容易。不过,这并不是协议的真正运作方式。
递归 DNS 服务器代表客户端进行查询。递归 DNS 服务器通常由 ISP 或 IT 部门运行,客户端计算机使用它来解析 Internet 资源的名称。递归 DNS 服务器缓存它们所做的查询结果以提高效率。无需进行任何其他查询即可回答对已缓存信息的查询。结果缓存的持续时间(以秒为单位)应该基于称为生存时间 (TTL) 的可配置值。该值由权威 DNS 服务器为查询的记录指定。
由于 DNS 是一种分布式协议,因此所有问题都没有一个答案。DNS 的行为取决于给定记录的权威 DNS 服务器的配置、代表客户端计算机进行查询的递归 DNS 服务器的配置以及客户端计算机操作系统中内置的 DNS 缓存功能。
指定一个 TTL 值足够短以适应 DNS 记录的日常更改是一种很好的做法,但足够长以在缓存中创造“胜利”(即不要太短以至于缓存老化太快提供任何效率改进)。采用具有 TTL 值的平衡策略可为每个人带来“胜利”。它降低了给定域的权威 DNS 服务器、根服务器和 TLD 服务器的负载和带宽利用率。它降低了递归 DNS 服务器运营商的上行带宽利用率。它可以为客户端计算机带来更快的查询响应。
由于 DNS 记录的 TTL 设置较低,权威 DNS 服务器上的负载和带宽利用率将增加,因为递归 DNS 服务器将无法长时间缓存结果。由于记录的 TTL 较高,因此对记录的更改不会很快“生效”,因为客户端计算机将继续接收存储在其递归 DNS 服务器上的缓存结果。设置最佳 TTL 归结为在利用率和快速更改记录并查看这些更改反映在客户端的能力之间的平衡行为。
值得注意的是,一些ISP滥用并忽略权威DNS服务器指定的TTL值(替换他们自己的管理覆盖,这是违反RFC的)。从技术角度来看,没有什么可做的。如果可以找到滥用 DNS 服务器的运营商,向他们的系统管理员投诉可能会导致他们实施最佳实践(这对于任何熟悉 DNS 的网络工程师来说都是常识)。这种特殊类型的滥用不是技术问题。
如果每个人都“遵守规则”,对 DNS 记录的更改可以很快“生效”。例如,在更改分配给“A”记录的 IP 地址的情况下,将执行 TTL 值的指数退避,直至进行更改。例如,TTL 可能从 1 天开始,然后在 24 小时内减少到 12 小时,然后在 12 小时内减少到 6 小时,在 6 小时内减少到 3 小时,等等,直到某个适当的小间隔。一旦 TTL 回退,就可以更改记录并且 TTL 恢复到日常操作所需的值。(没有必要使用指数退避,但是这种策略最大限度地减少了记录具有低 TTL 的时间并减少了权威 DNS 服务器上的负载。)
在创建 DNS 记录更改日志后,应监视由于旧 DNS 记录而进行的访问尝试。在更改“A”记录以引用新 IP 地址的示例中,服务器应保留在旧 IP 地址处,以处理仍使用旧“A”记录的客户端计算机导致的访问尝试。一旦基于旧记录的访问尝试达到可接受的低水平,旧 IP 地址就可以废弃。如果与旧记录相关的请求没有迅速减少,那么(如上所述)递归 DNS 服务器可能会忽略权威 TTL。然而,知道访问尝试的源 IP 地址并不能提供关于负责提供旧记录的递归 DNS 服务器的直接信息。
就我个人而言,我已经看到更改会在几个小时内立即“生效”,在某些情况下,几天后特定的大脑受损 ISP。对 TTL 进行回退并注意该过程的工作方式将增加您成功的更改,但您永远无法确定某些善意的白痴可能会对他们的递归 DNS 服务器做什么。
归档时间: |
|
查看次数: |
66287 次 |
最近记录: |