为什么将其称为DNS“传播”?


16

我经常听到系统管理员在谈论进行DNS更改时谈论等待DNS记录“在Internet周围”或“在世界范围内”传播。事实是,我的DNS记录不会传播到任何其他DNS服务器,除了承载我的名称空间(主要,辅助,第三级)的名称服务器。当我改变DNS记录(ACNAMEMX等),这些改变会立即在我区反映,他们不传播任何地方。人们谈论DNS记录传播时真正的意思实际上是TTL缓存。Wikipedia上的这篇文章简要地解释了它:

http://en.wikipedia.org/wiki/Domain_Name_System

DNS传播的概念不是神话吗?那么,为什么称其为“传播”呢?


4
问题是什么?您已经了解了问题所在,并且只是在争论通用术语。我承认这个词是不正确的,但是从用户的角度来看,它描述了正在发生的事情,因此坚持下去。
迈克尔·科恩

哪里有问题
womble

没问题。这是一个社区维基。我在征求意见。你能解释一下反对票吗?我的帖子对这个论坛完全是无知的还是不合适的?我是在误解这里的规则吗?
joeqwerty,2009年

毫无疑问,这恰好是您的头,只是缓存,只是语义。继续前进,这里什么也看不到。
ThatGraemeGuy

1
Err Joe,标题中有一个问题。同样,最初写这个的人都是100%傲慢的公驴。将关闭标记为有争议的,因为这纯粹是语义。
克里斯·索普

Answers:


13

神话?的种类。

人们经常混淆两个方面。如果您通过域名注册商对域名进行了更改,例如更改名称服务器,则将其推送到您的TLD的名称服务器(.com,.ca,.fr等)。这就是传播的作用。在过去的几年中,可能要花费数小时甚至数天才能等待注册服务商获取您提供的信息,然后将其推送到其部署服务器,该服务器将每天两次更新TLD根服务器。多年来,这种情况得到了快速改善,通常,对您的域名所做的更改几乎会立即生效。

另一方面,如果您对DNS区域进行了更改(例如添加A记录或MX更改),则只要在任何地方更新TTL设置,都应“最多”进行更改。不过,这并不是真正的传播,它是缓存。例如,Microsoft DNS默认为1小时TTL。

通过缓存,如果您恰好在更改前使用域名,并且TTL为1小时,则更新将花费一个小时。但是,如果在更改之前尚未对域名进行任何测试,那么更改将立即为您完成。(即添加一个尚未测试过的新A记录,它将立即生效)。

因此,如今几乎所有更改都会在一小时内(或您设置的DNS TTL设置)生效。唯一的例外是,如果DNS服务器不遵循TTL(垃圾邮件发送者通常不这样做),或者您的域名注册服务商的服务器未正确更新到Internet,并且您更改了注册服务商级别。但这并不常见。


4
除非您为TLD工作(这并不常见),否则您的名称服务器更改将不会“推送到全球的13台根服务器”,而只会推送到TLD的服务器(.fr,.net等)。
bortzmeyer

1
-1由于“被推送到13个根服务器”
Sandman4

1
感谢bortzmeyer和Sandman4。没错,不是更新的13台根服务器,而是TLD的名称服务器。我更新了帖子以更正此问题。
Scott Forsyth-MVP

11

是的-人们谈论这种语句时,正在谈论DNS服务器缓存的缓存查找超时。

不幸的是,某些DNS服务器会在一段时间内无理地忽略TTL值并缓存超出指定TTL的记录。我已经看到ISP DNS服务器可以将TTL值(分钟)很短的缓存记录保留长达24小时,而且可能有一些确实会损坏大脑的服务器将它们保存得更久。


1
在上次主要网站迁移之后,我注意到一个星期后,一个网络爬虫访问了旧地址。
杰拉德·库姆斯

这使我想对ISP做一些真正不礼貌的事情,但是公开羞辱TTL值的ISP并不会引起很多人的骚动。尽管如此,Jerkwads。
埃文·安德森

1
考虑到将快速磁通域用于僵尸网络控制,可能希望将具有非常低TTL的数据缓存到比指定时间更长的时间。这确实限制了用于快速域切换的非常低的TTL的实用性。
BillThor

8

它们被“传播”到世界各地的DNS服务器,其含义与思想从一种思想传播到另一种思想一样。出现查询时,本地DNS缓存需要学习信息(如果尚未缓存,或者已经缓存但已过期)。因此,您刚刚推送到服务器的新值会在地图上显示,就像八卦在博客上显示一样。好吧,不完全一样,但是我认为这是一个很好的类比。


3
+1困扰着我,直到我一路走到这篇文章之前,没有人像这样想过^^而且我不明白,正在传播(即传播或生效)的是新价值-无论从技术上讲如何完成。不,它们不会被推送或永久复制到任何地方,但是既然“传播”何时表示类似的特定含义?再说一次,英语不是我的母语^^
Oskar Duveborn 2010年

1
我同意波浪式的比喻。就像扔在池塘里的石头一样,岩石的直接影响点(权威服务器上的DNS更改)从原点一直反映到不断扩大的圆圈中,直到所有DNS服务器都反映出更改为止。

6

这不是什么神话,在更改MX记录时,我们经常会看到“传播速度”问题。总是在我们不控制DNS并通过第三方进行工作的时候,因此我们通常无法确定TTL是否很长,是否被某些DNS服务器忽略,MX是否由SMTP服务器或某些缓存。这三者的结合。不管发生什么,这都是痛苦的。


3

在原始DNS规范(RFC 1034/1035)中,在全局可见区域更新之前,需要执行两个缓存无效步骤。除了已经提到的全球缓存解析器的TTL到期之外,您首先需要等待(所有)辅助名称服务器从主服务器的区域刷新区域数据。

只有在1996年指定了DNS NOTIFY(RFC 1996)之后,才有一种标准的方式可以迅速向所有权威名称服务器通知区域更改。

因此,最初的“变更传播”一词在当时可能更合适,因为它是一个两步过程。


0

我只听说过与第三方供应商托管.com网站有关的DNS传播,这仅是因为他们将记录缓存了48小时。没有缓存记录的任何DNS服务器都应立即使它们可用。


-1

如果我们看一下“传播” 的字典定义和词源,我们可以看到该词暗示着父母的某些行为会产生一个孩子。就DNS而言,当您有多个对特定区域具有权威性的服务器,并且在一台服务器上进行更改(“父”记录)时,该记录通过以下方式传播到其他服务器(“子”记录):复制系统,将更改推送到合作伙伴服务器。

使用术语“传播”来描述非权威DNS服务器如何识别DNS更改是对术语“传播”的误用,因为它实际上不适合该词的字典定义。更合适的术语是发现,因为这是DNS缓存服务器发现地址解析并为TTL记住地址的动作。

所以说真的,我们不是在等待DNS更改在世界范围内传播,而是在等待它被发现。


如果适用的定义是“引起扩散并影响更多或更大的面积”的定义。该使用可能源自信号传播的概念。
BillThor

-2

我不会说这是神话。在权威DNS服务器上更新DNS条目后,缓存上的TTL确实会保留陈旧记录的副作用。

所以称它为您想要的,但最终结果是相同的。

而且,不会缓存MX记录,因此对域的MX记录的任何更改都是即时的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.