万物皆有编号 书架

第 05 章 / 共 12 章

第五章 · 域名与 IP:一台机器的两套户口

第五章 · 域名与 IP:一台机器的两套户口

上一章我们说到,层级的妙处在于把分配权一级一级下放。这一章我们看这套思想最漂亮的一次实战:互联网上同一台服务器,同时揣着两套编号——142.250.72.14google.com。它不是历史遗留的冗余,而是两套刻意分开的层级,各自回答完全不同的问题。

IP 地址:给路由器看的层级

IP 地址,说白了,就是互联网上每台设备的门牌号,32 个二进制位,通常写成四段十进制数字,比如 142.250.72.14。约 43 亿个,一个萝卜一个坑。

关键在于:IP 的分段不是按「谁拥有这台机器」分的,而是按网络拓扑分的——也就是这台机器物理上接在网的哪个位置。前面几段大致圈出「哪个大洲的哪个运营商」,中间圈出「哪个城市的哪个机房」,最后几段才是「这个机房里的哪台机器」。

为什么这么分?因为 IP 的主要读者不是人,是路由器。路由器就是网络世界里的分拣员:每收到一个数据包,它只看地址开头几段,就知道该往哪条干线扔,根本不用关心全世界 43 亿台机器各自在哪。

这就像邮局分拣信件:上海的分拣员看到「四川省成都市……」,只负责把信扔进「成都」的邮袋,至于玉林小区 3 栋 2 单元在哪,那是成都分拣员的事。每一级只需要记住下一级怎么走——这就是层级给路由器省下的亿级规模的记忆负担。

所以 IP 地址本质上是一张按地理位置和线路结构编出来的地图坐标。机器搬个家、换条线路,地址就得换。它对机器友好,对人刻薄——没人记得住一串点分数字。

域名:给人看的层级

域名则是另一套逻辑。拿 mail.google.com 举例,注意它要从右往左读com 是顶级域,回答「这归哪个登记机构管」;google 回答「这家公司叫什么」;mail 回答「这家公司内部的哪项服务」。每一段代表一层管理权,而不是一层地理位置。

看出区别了吗?IP 按「网线怎么连」分层,域名按「谁说了算」分层。Google 可以把服务器放在俄勒冈、新加坡或芬兰,IP 地址随便换,域名纹丝不动——因为域名登记的是「归谁管」,而这件事不会因为搬家改变。

两套户口,各管各的:一套给机器的路由用,一套给人类的记忆用。中间总得有个翻译。

DNS:互联网的电话簿

DNS(域名系统)就是这个翻译官:你输入 google.com,它负责查出对应的 IP 地址,然后把查询结果缓存起来,下次更快。

它本身也是一个层级系统,而且是人类历史上规模最大的分布式数据库——没有一台中央服务器存得下全球 3.6 亿多个已注册域名(Verisign 2024 年统计约 3.62 亿,且还在增长),所以查询也是一级一级问的:

  1. 先问根服务器:全球逻辑上只有 13 组(用字母 A 到 M 命名),它们不存具体域名,只回答「.com 的事归谁管」;
  2. 再问 .com 的顶级域服务器:「google.com 归谁管」;
  3. 最后问 Google 自己的权威服务器:「google.com 的 IP 是多少」。

每一级只知道自己下一层的电话。没有谁能背下整本电话簿,但任意一级只要指对方向,答案就一定能被问到。分层在这里不只是省记忆,更是省协调:Google 改自己的 IP,只需要更新自己那一级的记录,根服务器和其他所有人完全无感。这正是上一章说的「分配权下放」的终极形态——连「查询权」也下放了。

为什么 IP 会用完,域名不会

现在回答本章标题引出的那个问题。编号空间的大小,也是设计出来的。

IPv4 只有 32 位,上限约 43 亿,写死在协议里了。1980 年代设计它的时候,没人相信世界上会有 43 亿台联网设备——那时整个 ARPANET 只有几百台主机。结果是:2011 年 2 月 3 日,负责全球发号的 IANA 把最后五个地址块分给了五大洲的区域机构,宣布总池子见底;两个多月后,4 月 15 日,亚太地区的 APNIC 第一个把自己那份也发光了。现在一个新机房想拿一段干净的 IPv4,只能去二手市场买,一个地址被炒到几十美元。

域名为什么永远不会用完?因为域名是变长的。层级里每一段都可以随便加长:好名字被占了,你总可以起个更长的——great-name-2024-shop.com 永远有空位。而 IP 的每一段是固定 8 位,一格都不能多。定长换效率,变长换容量,这是编号设计里一对永恒的取舍。路由器为了每微秒转发一个包,必须让地址定长好查表;人类为了永远有新名字可用,宁可让域名长短不一。

互联网的补救方案你也猜到了:IPv6,把地址从 32 位一口气扩到 128 位,数量约 3.4×10³⁸——多到可以给地球上每粒沙子都发一个号。但那是另一个「兼容性」的故事了,我们第十章讲跨国银行编号时会再碰到这类「旧编号发出去就收不回」的麻烦。

两套户口的启示

回头看,域名和 IP 这对组合回答了一个所有编号系统都会遇到的问题:当「机器要的规律」和「人要的规律」不是同一种规律时,别硬凑——分两套编号,再造一个翻译层。

下一章我们换个方向:有些编号不止标识身份,还把规律直接写进了号码里——为什么 CZ 奇数航班号往南飞,为什么美国个位数带 5 的州际公路都是大动脉?会说话的编号,不用查表就能推理。

万物皆有编号
费曼式写法 · 由多个 AI 代理撰写与互相审校