Cloudflare 域名服务器名字背后的故事?(2013)
摘要
Cloudflare 解释了如何为其域名服务器命名为(Bob 和 Lola),以解决注册过程中的冲突问题,并防止用户错误地添加额外的域名服务器。
暂无内容
查看缓存全文
缓存时间: 2026/07/16 07:49
# CloudFlare 的名称服务器名字背后有什么故事?
来源: https://blog.cloudflare.com/whats-the-story-behind-the-names-of-cloudflares-name-servers/
我们打算写一系列博客文章,介绍 CloudFlare 的一些内部运作。我们经常收到的一个问题是,我们名称服务器的名字有什么含义。故事是这样的。
### 两个名字登场
当有人注册 CloudFlare 时,我们会给他们两个域名作为名称服务器。例如:
- bob.ns.cloudflare.com
- lola.ns.cloudflare.com
那么 Bob 和 Lola 是谁?要理解这一点,你需要先了解一下我们当时试图解决的一个问题。
### 流畅的注册流程
我们努力让 CloudFlare 的注册过程尽可能简单。通常,用户大约 5 分钟就能完成。假设你拥有 example.com 并想注册。你在我们的注册表单上输入 example.com,我们抓取你的 DNS 记录,允许你添加任何我们遗漏的记录,然后我们给你两个名称服务器,你需要在你的域名注册商那里设置。
我们有系统几乎瞬间将你的记录推送到 CloudFlare 网络边缘的 DNS 服务器上。因此,当你在域名注册商处切换到我们的名称服务器时,你的网站会正常运行,不会有机。在大多数情况下,这一切都很简单。我们早期担心一个问题:如果两个人同时注册同一个域名会发生什么?
### 解决冲突
想象一下,两个人同时注册 example.com。我们现在有两套 DNS 记录,不清楚哪一套是准确的。我们需要一种清晰的方式来判定哪条记录是权威的。我们需要一种方法,在名称服务器名称本身嵌入一个代码,这样当我们收到第一个 DNS 请求时,就可以测试该域名在注册商处使用的是哪些名称服务器,并返回正确的 DNS 记录。
### 忍者 Matt
在 CloudFlare 注册流程的第一个版本中,名称服务器的名称采用相对标准的格式:
- dns1.cloudflare.com
- dns2.cloudflare.com
- 等等...
我们会将它们配对,形成唯一的组合。如果 Alex 注册了 example.com,他可能会得到 dns7.cloudflare.com 和 dns23.cloudflare.com。如果 Betty 随后注册了 example.com,她可能会得到 dns3.cloudflare.com 和 dns84.cloudflare.com。当我们收到第一个针对 example.com 的 DNS 请求时,我们会测试注册商那里实际输入的名称服务器。假设是 dns3 和 dns84,那么 Betty 的注册就被视为有效,她输入的 DNS 记录成为权威记录。
### 比聪明用户更聪明
忍者 Erin
我们发现很多人看到这些 DNS 域名后试图耍小聪明。虽然这两个域名看起来只指向两个物理服务器,但实际上它们指向的是运行在我们所有全球数据中心中的数百台服务器。尽管我们试图解释,添加更多域名实际上不会让你的查询被更多名称服务器处理,但我们发现用户仍然会尝试。Betty 可能得到了 dns3 和 dns84,但我们发现她有时会尝试输入 dns3、dns4、dns5、dns6 等等。这不仅没有任何好处,还会导致我们的验证失败。
我们的解决方案是提出一些序列不明显的域名。我们花了一个下午生成了一份包含一百个常见 2 到 4 个字母名字的列表,比如 Bob 和 Lola。然后我们用这些名字创建注册时分配的域名。最初有 50 个男孩名字和 50 个女孩名字。每个注册者都会得到一个男孩名和一个女孩名,这样就产生了 2,500 种独特的组合。
关于这一点的一个旁注:曾经有人写信给客服,批评我们的名称服务器惯例是异性恋规范的。我只想说,你得到两个名称服务器并不意味着它们之间有任何关系。不过,我确实相信工作场所的多样性是件好事。
### Woz 的故事
为了给名称服务器增加一些个性,我们委托一位艺术家将这 100 个名称服务器画成忍者的形象。虽然我们从未对这些画做过太多事情,但我们喜欢两个忍者名称服务器保护你的网站这个比喻。作为一项福利,我们允许一些 CloudFlare 早期团队成员(例如 Lee Holloway 和 Ian Pye)、投资者(例如 Ray Rothrock 和 Carl Ledbetter),甚至我们的法务 Sam Coates 来选择他们同名忍者的形象。
忍者 Woz
其中一幅画描绘了一个骑着 Segway 微笑的忍者。这让我们立刻想起苹果联合创始人史蒂夫·沃兹尼亚克,他住的地方离我们当时在加州帕洛阿尔托的办公室不远。经常能看到史蒂夫(大家亲切地称他为 Woz)骑着 Segway 在城里穿梭。我从小就是沃兹的粉丝,我是在 Apple GS 上学习编程的。我 7 岁时,从那里升级到了一台限量版、沃兹亲笔签名的 Apple。
虽然 Woz 并不在我们最初的 100 个名字列表中,但当我们看到骑着 Segway 的忍者时,显然需要加入“Woz”。我们当时已经将 100 个名称服务器名字投入生产,所以不能简单地删除 Bill 来腾出位置。于是我们追加了第 101 个名字(51 个男孩名,50 个女孩名)。截至今天,有 13,899 名 CloudFlare 客户将 Woz 作为他们的名称服务器域名之一。
### 两个域名,多种组合,众多服务器
由于有 51 个男孩名称服务器和 50 个女孩名称服务器,我们拥有 2,550 种独特的组合。这已经足够确保正确的 DNS 记录被推送到我们的网络,即使两个人试图注册同一个域名。
忍者 Zara
一旦验证步骤完成,名称服务器的名称就失去了技术上的重要性。CloudFlare 基础设施中的服务器被配置为能够响应任何客户的任何请求。这使我们能够在整个基础设施上实现精细的负载均衡。虽然我们通常只提供两个域名,但实际上它们引用的是分布在全球 23 个数据中心的 CloudFlare 网络上的众多服务器。你可能得到 Bob 和 Lola,而别人可能得到 Stan 和 Amy,但实际上他们都将请求发送到同一个弹性资源池。
这种灵活性使我们能够建立世界上最快、最强大的权威 DNS 网络之一。而且,虽然这些名字可能看起来只是一个可爱的点缀,但与我们做的许多事情一样,我们这样做实际上有一个很好的技术原因。
相似文章
告诉HN:Cloudflare 在切换域名服务器时静默注入分析脚本
Hacker News 用户报告称,在使用 Cloudflare 的 DNS 代理服务时,它会静默向网站注入分析脚本,引发隐私和未经同意修改网站的担忧。
动态命名服务器
作者描述了自托管中动态IP分配带来的挑战,并介绍了'treens',这是一个使用ed25519密钥对在本地网络中自动注册主机名的动态DNS工具。
请问能否有人解释一下,Cloudflare 是否在勒索 Canonical?
攻击者使用了一项明确宣称可绕过 Cloudflare 的 stresser 服务,随之发起的 DDoS 攻击暂时中断了 Canonical 的公共基础设施。此次事件引发了关于 Cloudflare 双重角色的争议:其既为攻击者的商业运营提供托管,又为 Canonical 的受保护系统提供防护,这引发了人们对其是否存在潜在利益冲突的质疑。
Netflix 如何构建其 LLM 服务栈(18 分钟阅读)
Netflix 分享了其内部 LLM 服务栈背后的设计决策,包括引擎选择(vLLM)、模型打包、API 接口和部署策略,重点介绍了在生产负载下揭示的权衡取舍。
Cloudflare 临时账户
Cloudflare 推出临时账户功能,让代理在完成注册前即可部署,简化了入门流程。