【问题标题】:Does a TTL get triggered from the time the record is created or at a certain interval like a cron job?TTL 是从创建记录时触发的,还是像 cron 作业一样在某个时间间隔触发?
【发布时间】:2020-07-15 01:53:48
【问题描述】:

我只是想从记录何时刷新的角度对 TTL 的工作原理有一个基本的了解。假设我在 09:05 UTC 创建了一个 TTL 为 1800 的 DNS 记录,这是否意味着它将在 09:35 UTC 或 09:30 UTC 刷新?

这种行为对我来说很重要,就像它是后者一样(记录以 1800 秒的间隔刷新 - 所以每半小时一次),然后我可以对我的 DNS 记录更新进行计时,以便它们在几个分钟的刷新时间,以限制请求指向旧地址的时间。

非常感谢您对此提供的任何帮助。

【问题讨论】:

  • 作为一个区域的发布,你不能为任何事情计时。 DNS 不是自上而下的,您不会将更改推送到递归名称服务器,递归名称服务器会在没有记录或之前的记录过期(超过其 TTL)时向您请求记录。这也意味着每个递归名称服务器都会在某个时刻拥有具有不同 TTL 的记录,具体取决于它们何时询问。

标签: dns ttl


【解决方案1】:

https://www.varonis.com/blog/dns-ttl/

DNS TTL(生存时间)表示 DNS 执行每一步所需的时间 缓存一条记录。 TTL 就像一个秒表,知道保留 DNS 的时间 记录。

换句话说,一个 TTL 为 1800(30 分钟)的 DNS 记录将“存活”30 分钟...从缓存服务器收到它的时间开始

来自同一链接:

我的 DNS 需要多长时间才能更新?诚实地知道每个人 看到更新的 DNS 记录,必须计算多长时间 它将“实际上”通过 DNS 传播。这是完成的 通过使用以下公式

TTL X (number of steps) = Fully propagated

例如,如果您设置的 TTL 为 1800 秒,并且有五个步骤 (不包括权威服务器),那么你的完全传播 时间为 9000 秒或不超过 2 小时 30 分钟。

【讨论】:

  • 我不知道第二段的出处和含义,但DNS肯定不是这样工作的。 “步骤”是什么?这根本没有意义......
  • 好吧,我想我的主要问题已经得到解答,因为 DNS 记录在首次缓存后的一段时间内(由缓存服务器)刷新,而不是定期刷新(这将很棒)。
  • 我也不懂“步数”的计算。假设在客户端和权威服务器之间可能有许多中间缓存服务器,比如在每一步缓存记录需要 1 秒,那么完整的传播时间不会是 1800 + (1*n) -> 其中n 是中间步骤的数量?
  • @PrathameshDatar 同样,没有传播。 DNS 不是自上而下的,继续认为它永远不会让您了解它的工作原理。如果递归名称服务器被缓存,最后一个将获得最多等于第一个或更少的 TTL,因此它们不会在每个“步骤”之间添加,无论如何,链接资源毫无意义,并且肯定是而不是 DNS 的工作方式。
猜你喜欢
  • 1970-01-01
  • 2010-11-04
  • 2013-05-17
  • 2018-04-01
  • 2010-09-20
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多