故事的前传是这样的:昨天我们推荐了这样一个项目:
可以帮助用户从微软的 IP 池中挑选速度快的放进 hosts 文件,让微软网络服务加加速。但测试之后发现微软登录挂了,于是发微博吐槽,这时 @不存在的时间线 同学推荐了 4.2.2.2 这个 DNS,说换了之后就会很快,这就有趣了。
我多次见过这个地址,但一直不知道这是谁家的 DNS 服务,于是找到了 10 年前的这篇文章,通过 DeepL 机器翻译如下。
4.2.2.2: The Story Behind a DNS Legend
原文地址: https://www.tummy.com/articles/famous-dns-server/
翻译:DeepL
作者: Sean Reifschneider
发布:2010年2月15日
如果你是一个网络运营商,你有可能知道 IP 地址 4.2.2.2。这是一个容易输入和容易记住的地址,自 1998 年以来,它一直是一个响应公共互联网的 "强大 "的 DNS 服务。由于你在互联网上使用除 IP 地址以外的任何东西之前需要 DNS,它可以在测试或初始配置中派上用场。
在谷歌开始在 8.8.8.8 上做公共 DNS 服务之前,由于 4.2.2.2 通常相当快,许多人都把它作为他们的标准 DNS 服务器。由于你可以做的最基本的互联网连接测试是 ping 一个 IP 地址(禁用 DNS),ping -n 4.2.2.2
可以立即告诉你你的网络问题是在较高层次还是较低层次。
这只是一个意外,还是一个有意的选择?是有意设置为公共 DNS 服务,还是意外。我想知道这个问题已经很多年了。但就在最近,我在调查使用这个的 Kyle 报告的一个网络怪事,我决定尝试深入挖掘,找出我想象中的公共互联网上最著名的IP地址之一背后的故事。
鸣谢
首先,我想说明的是,这个故事不涉及我。我不在现场,我只是在收集我从其他人那里收集到的信息。
这些背景资料的大部分要感谢 NANOG 邮件列表中的回复者,特别是 John Orthoefer 和 Tony Tauber 提供的 "我在那里 "的信息。他们的话见本故事的底部。
如果你参与其中,并有任何进一步的内容可以补充,请与我联系,提供更多细节,[email protected]。
4.2.2.2 是什么?
我稍后会讲到这个故事,但首先我想从基础知识开始。如果你只想知道 DNS 服务器背后的故事,请跳过本节和下一节。
4.2.2.2 是 4.2.2.1 至 4.2.2.6(最初只有1-3个)6 个 DNS 服务器集合中最容易打的一个。回答一般人的查询,这在过去几年中是不常见的。你看,DNS 解析器可以被一个相当慢的网络线路上的人用来产生指向另一个地点的更大的流量。这被称为 “放大器”。
这个 IP 空间目前由 Level 3(总部就在离我们不远的布鲁姆菲尔德)运行,实际上是大量的机器。这些机器分布在 Level 3 的网络上,通过一种叫做 “Anycast” 的机制来确定你最近的位置。
John O. 在一封电子邮件中说,他记得最初的意图是按顺序使用 .1,.2,然后是 .3。我猜想,.2 的 IP 只是因为它更容易从键盘上滚下来而被抓住了。
我应该使用 4.2.2.2 吗?
除非你是一个 Level-3 的客户,否则绝对不应该。谷歌现在已经在 8.8.8.8 建立了公共 DNS 服务器,你应该使用它。另外还可以使用 8.8.4.4,但 8.8.8.8 是很容易的:-)
我想说的是,我从来没有使用过 4.2.2.2,我不记得我什么时候用过它,即使是为了测试。但是,这对我来说很容易;tummy.com 拥有1993年分配的永久 IP 空间,那些是我熟悉的 IP。因此,当我需要测试网络连接,或 DNS 查询时,我会使用它们。
我意识到,不是每个人都有这样的 IP,他们可以用这些 IP 进行测试。此外,我们的 DNS 服务器不回答公众的递归查询,所以如果你需要一个 DNS 服务器来加载网页,找出你的 ISP 的 DNS 服务器的 IP 地址,或谷歌的 DNS 服务,4.2.2.2 可能是一个不错的选择。如果你只是需要发送一个 ping,看看你是否能到达互联网,如果你不像我一样有已经知道的 IP,这也是一个令人信服的选择。
然而,有些人把 4.2.2.[1-6] 设置为他们的标准 DNS 服务器。除非你连接到 Level 3,否则不要这样做。我遇到的一个故事是,“chimpoko” 给一个 ISP 打电话,他们告诉他,4.2.2.2 是他们的 DNS 服务器。
根据 Richard Golodner 的说法,思科的支持也告诉人们使用它进行测试。
最好的理由是,Level 3 没有义务向公众提供这项服务,而且我发现有几个报告说他们试图阻止人们使用它。
你的 ISP 的 DNS 服务器是作为你的 DNS 服务器使用的最佳选择。如果你因为某些原因不能这样做(比如,他们对 DNS 做了一些邪恶的事情),使用谷歌的 DNS 服务,或者设置你自己的游标(安装 pdns-recursor 并使用 127.0.0.1)是一个很好的第二选择。
就个人而言,我在我的笔记本电脑和我的家庭 DHCP / 办公室 DHCP 服务器上设置了 pdns-recursor。在我们的设施中,我们设置了几个具有高可用性的递归器(即使在维护期间也能快速查找),然后还有几个辅助解析器,以防主解析器出现问题。
为什么是 4.2.2.2?
这最初是由 Brett McCoy 和 John Orthoefer(“但大部分的功劳/责任归于Brett”)于 1998 年在 BBN(早期的Internetworking先驱之一)设置的。
由于他们成立较早,他们得到了一个较低的起始八位数 4(0、1和2被保留),3被 GE 拿走了(1994年,我不知道之前是谁)。IANA 说 BBN 在1992年12月得到了4.0.0.0/8,但 John O.(在一封电子邮件中)说他 99.9% 肯定他们在那之前就有了。多年来,4/8 一直在传递,最后在 Level 3 结束。所以它以 4 开始,因为它很容易记住,在你能做 DNS 解析之前,你能使用的只是 IP 地址。
最初建立时,他们希望把它放在 4.4.4.4 上,因为它很容易记住。4.0/16 和 4.1/16 已经被使用。约翰-霍金森把 4.2/16 留了出来("放在 “数字学"的标签下,因为他有智慧,看到数字本身就有价值”)。
因此,他们 “得到/抢到” 了前 3 个 IP 地址 4.2.2.1 至 .3 作为 DNS 服务器,以便在有一个故障时有多种选择。
John Orthoefer 说,他们最初遇到的问题是抱怨这些 DNS 服务器在地理上不够多样化,因为它们都在同一个 /24 地址块上。当时 Anycast 还不是那么出名(今天也不是说它是一个摇滚明星)。4.2.2.1 和 4.2.2.2 可能来自完全不同的地区的想法是不寻常的。
它是如何变得如此知名的?
尽管我碰到了一个自称对它的流行负责的人的信息,但我不确定我们能真正知道是谁对这个词的传播负责。然而,在最初为 BBN 建立这个集群时,它显然从一开始就打算成为一个易于记忆和输入的地址。
Tony Tauber 表示,John Hawkinson 对它成为一个简单的 IP 负责。“他真的想要 4.4.4.4”。John Orthoefer 说,Brett McCoy 去寻找一个容易记住的IP,"jhawk"保留了这个超级区块。
我的看法是,它如此出名的原因之一是,它从一开始就被设计成令人难忘的,而且他们建立这项服务的人有先见之明,意识到把它放在一个简单的 IP 上是有价值的。而且他们很懒惰,永远不要低估避免头痛的力量。“我们认为试图过滤它比仅仅公开它更让人头痛”。
那么,一个公共服务,一个易于记忆和输入的 IP 地址,然后在 BBN 内部大力推广使用?它怎么可能不像野火一样传播?我们系统和网络管理员,出于需要,是懒惰的。这是一种生存特征,我们通常有很多事情要做,所以当我们能承受的时候,我们就必须偷懒。
为什么要建立这个系统?
John Orthoefer 说,这是作为他们的 ISP 分支机构建设的一部分而做的:BBN Planet。在此之前,BBN 的主要 DNS 服务器是 NIC.neigh.net(它"比 [planet] 早10年")。它被设置为一系列的 Anycast 服务器,因为增加更多的单播服务器并试图让客户切换是 “完全不可能的”。
所以这就是故事
我希望你和我一样喜欢它。再次感谢 John Orthoefer 和 Tony Tauber 抽出时间来讲述这段小历史。我敦促你阅读他们的信息(链接在下面的参考资料中),了解与 4.2.2.2 相关的一些细节和故事。
贡献
John Orthoefer、Tony Tauber 和 Richard Golodner 对我的 NANOG 帖子的背景细节的回应。
Google 的 Paul S. R. Chisholm 建议使用 8.8.4.4,并使用 http://18.62.0.96/ 测试网络连接性。更多信息请参见测试你的新设置。
参考资料
- John Orthoefer’s NANOG response to my question about 4.2.2.2 history. He set up 4.2.2.2 with Brett McCoy.
- John Orthoefer’s NANOG post about why it was Anycast.
- Tony Tauber’s NANOG response to my question about 4.2.2.2 history. He did the Anycast setup.
- Richard Golodner’s NANOG post saying that Cisco recommends using it for testing.
- Story about ISP’s tech support saying their DNS sever is 4.2.2.2
- Claims of being the originator of 4.2.2.2’s popularity. (At the very bottom)