AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 125371
In Process
user38535
user38535
Asked: 2010-03-24 05:32:45 +0800 CST2010-03-24 05:32:45 +0800 CST 2010-03-24 05:32:45 +0800 CST

DNS 记录传播需要多长时间?

  • 772
想要改进这篇文章?提供这个问题的详细答案,包括引文和解释为什么你的答案是正确的。没有足够细节的答案可能会被编辑或删除。

这是关于 DNS 传播的规范问题

传播各种类型的记录需要多长时间?
有些人的传播速度比其他人快吗?
为什么 DNS 记录传播需要时间,它是如何工作的?

domain-name-system
  • 1 1 个回答
  • 68418 Views

1 个回答

  • Voted
  1. Evan Anderson
    2010-03-24T05:47:09+08:002010-03-24T05:47:09+08:00

    “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 服务器做什么。

    • 72

相关问题

  • 如何在 Ubuntu 中设置搜索域(和其他 resolv.conf 参数)?

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve