团队文章互联网怎样运作

理解 IPv4 地址结构与类别

通过一个 /24 示例理解 IPv4 前缀,了解如何将其划分为 /25 地址块,以及为什么现代 CIDR 比猜测地址类别更有用。

目录

模型技术人员在白色托盘里移动蓝色隔板,把代表地址的蓝色方片分成不同大小的格子。
一名微缩技术人员在白色托盘内移动蓝色隔板,将地址方块分入大小不同的格子。

前缀定义地址块的大小。与旧式固定地址类别相比,CIDR 可以进行更细致的划分。

你正在搭建办公室网络,在示例中看到 192.0.2.0/24。有人称它为“C 类”。究竟哪一部分说明了它的大小?在今天,真正有用的答案是前缀长度:/24。旧式类别标签属于历史背景,不能代替对配置的实际查看。

下文中的地址取自文档专用地址段。它们用于演示计算方法,不是供你部署的公网地址。

四个数字表示一个 32 位地址

IPv4 将 32 个二进制位写成四个以点分隔的十进制数。每组表示八位,取值范围为 0 到 255。点号用于分隔各组,本身并不能告诉你网络前缀在哪里结束。

前缀长度给出了这条分界。在 192.0.2.0/24 中,前 24 位固定,剩下八位用于表示块内地址。八个可变位共有 256 种组合,从 192.0.2.0 到 192.0.2.255。对应的掩码是 255.255.255.0。

前缀长度的数值越小,地址块越大

这种表示法起初可能让人觉得与直觉相反。固定前缀越长,留下的可变位就越少。一个 /25 包含 128 个地址;一个 /24 包含 256 个;一个 /22 包含 1,024 个。

示例中的 /24 可以分成边界对齐的两半:192.0.2.0/25 和 192.0.2.128/25。每一半都有自己的前缀。这种划分改变的是地址的分组方式,而不是单个 IPv4 地址的长度。

在常规广播子网中,网络地址和广播地址不会分配为普通主机地址,因此一个 /24 剩下 254 个可用主机地址。但不要把“减二”当成普遍规则:点对点链路可以使用 /31,其中两个地址都用于标识端点。

A、B、C 类地址是什么?

早期的有类寻址采用固定划分。A 类使用八位网络前缀,B 类使用十六位,C 类使用二十四位。地址开头的若干位标识其类别。这样可选的地址块大小就比较粗放:一个组织需要的地址可能超过某一档地址块的容量,却又远少于下一档更大地址块的容量。

历史上的 D 类地址段用于组播,即向一个组发送流量。历史上的 E 类地址段属于保留空间,并不是另一个供企业主机使用的普通地址池。IANA 地址空间注册表记录了特殊地址段及其状态。

为什么现代网络使用 CIDR

无类别域间路由,即 CIDR,明确写出前缀,而不是根据地址类别推断固定大小。它让规划人员能够使用不同大小的地址块,也让路由能够聚合相容且边界对齐的地址块。CIDR 规范解释了地址分配与聚合模型。

能够聚合,并不意味着可以把不相关的地址任意合并成一条更大的路由。这些地址块必须位于覆盖它们的前缀范围内,而且路由安排必须确实能够到达相应目的地。仅有一份整齐的电子表格,并不能证明路径可用。

变更网络前先问三个问题

  • 实际配置的前缀是什么?查看掩码或前缀长度,不要根据第一个数字猜测。
  • 哪些地址已经分配、被预留,或仍在使用?既要核实记录,也要核实实际运行的网络。
  • 还有什么依赖这个地址段?路由、防火墙规则、DNS 和远程连接都可能需要处理。

这篇地址管理入门介绍解释了如何让这些记录持续发挥作用。前缀描述的是技术上的分组。它本身既不能确认法律上的所有者,也不会赋予注册机构支配使用该前缀的网络的政治权力。

为什么地址计算无法回答更大的问题

CIDR 让现有的 32 位空间得到更灵活的利用,却不会让它变得无限。但同样,仅凭地址总量有限,也无法告诉运营者哪些地址可用,或哪种投资值得进行。

在《札记》第 45 篇中,Lu Heng 质疑以地址稀缺性为机构自由裁量式控制辩护的做法。了解地址和前缀实际上做什么,有助于读者审视这一论点,而不把技术协调任务与支配所有依赖它的参与者的权力混为一谈。