摘要

  • RFC 3194 把 RFC 1715 难以解释的 H 比率改写成主机密度 HD:已分配对象数的对数除以最多可分配对象数的对数,并把结果归一到 0 至 1。
  • 三个历史地址方案在约 87% HD 附近作出剧烈改变,但普通占用率分别只有 10%、3.2% 和 22.8%。这种聚合是经验性“痛苦指标”,不是自然常数、物理耗尽线或活跃主机证明。

地址还在,不等于它正好能放进需要增长的分支

如果地址空间是一排没有结构的空格,容量问题很简单:已用多少,剩下多少。但电话号码和互联网地址不是这样的容器。

电话号码把地区、交换局和订户放在不同数字段;网络地址把提供商、组织、网络和子网放在不同层级。每层都要留余地,因为增长与迁移不会平均发生。一个地区迅速膨胀时,另一个地区的空号不能自动搬过来;一个子网跨过边界时,邻接大块也未必归同一管理者控制。

若要把每个空隙都重新利用,就要不断移动边界和重新编号。RFC 3194 把这种代价称为运营者与订户承受的“痛苦”。所谓实用容量,不只是还有多少字符串,而是还能加入多少对象而不触发昂贵的重排。

文档用下面的式子表示这种位置:

HD = log(已分配对象数) / log(最多可分配对象数)

只要分子分母使用同一底数,选哪一种对数都不影响结果。只有一个对象时 HD 为 0;所有地址都分配时 HD 为 1。中间的 87% 表示对象数走完了从 1 到最大值之间 87% 的对数距离,并不是每 100 个地址用了 87 个。

层级中的损失会相乘

三层地址结构若每层普通效率都是 50%,整体不是 50%,而是 0.5 × 0.5 × 0.5,即 12.5%。

这就是总空间看似空旷、局部却已经难以增长的原因。全局空位没有告诉人们空位位于哪个层级、由谁掌握,也没有说明把它挪到需求所在位置要付出多少重新编号成本。

RFC 1715 曾在下一代互联网协议讨论中用 H 比率处理这个问题。它把已分配对象数的十进制对数除以地址位数,降低结果对名义空间大小的依赖。但 H 的范围只有 0 到约 0.30103,典型值 0.20 至 0.28 很难对外说明。

RFC 3194 把 H 除以 log10(2),得到 0 至 1 的 HD。于是人们可以说“达到 83% 主机密度”,而不必先解释 0.25 位于怎样的刻度。

表达变直观了,误读也更容易了。百分号在日常语言里通常代表普通分数;这里它修饰的是对数商。若公式从报告中消失,清晰的标签反而会制造错误的物理想象。

三个历史变化点只在转换后相似

文档沿用 RFC 1715 的三个例子。法国在八位电话号码方案容纳约一千万部电话后增加一位;美国系统在约一亿订户时扩大区号能力;全球互联的 DECnet Phase IV 在 16 位空间达到约 1.5 万个可见节点后停止显性增长,新节点被隐藏起来。

它们的普通占用率差别很大:10%、3.2% 与 22.8%。这些数字看不出共同阈值。变成 HD 后,却分别得到 87.5%、87.0% 与 86.7%。

作者据此认为,HD 可能抓住了运营者开始接受剧烈决定的痛苦水平。管理者会拖延重新编号或改换协议,直到继续维持旧方案比转换更难。

这种推论没有被写成自然定律。文档使用“建议”“假设”“大约”等措辞,案例也只有三个,而且跨越不同制度和技术。它证明的是对数转换让三次决定显出相似性,而不是所有网络都会在 87% 故障。

扩大分母就能降低密度,却不能消除转换成本

法国从八位变九位后,HD 从 87.5% 降到 77.8%;美国扩展后从约 87% 降到 80%。

原有订户没有消失。变化来自最大空间变大。同样的分子在更大的对数分母下落到更低位置。

RFC 3194 因而把 80% 或更低描述为较舒适的折中。可是这个较低分数并未记录升级交换设备、更新目录、告知用户或处理旧号码的成本。它描述的是扩容后的压力,不是转换工程的全貌。

同样,低 HD 也不会自动缩小路由表、改善管理边界或消除碎片。一个名义上很宽的方案,仍可能把增长所需的空间锁在错误分支。

IPv4 表格让“87% 已满”的错觉暴露出来

为了从 HD 反推对象数,文档把公式倒过来:

可分配对象数 = (最多可分配对象数)^HD

32 位示例在 HD 80% 时给出约 5100 万个对象,在 85% 时 1.54 亿,在 86% 时 1.92 亿,在 87% 时 2.4 亿。表头依次称为合理、痛苦、非常痛苦与实用上限。

2.4 亿只约占 2^32 的 5.6%。换句话说,模型可以把方案放到 87% HD,同时仍让超过 94% 的字面地址没有分配。

这不是数学矛盾。指数运算把对数位置还原成数量。巨大差额代表层级在多个地方预留或浪费的余量,而不是地址凭空消失。

“实用上限”也不是最后一个合法地址。文档紧接着说明,上限取决于用户和提供商愿意承受多少痛苦。如果愿意接受更多痛苦,分配量可以超过表中数字。HD 不具备阻止下一次分配的执行权。

分配对象、活跃主机和可路由地址不是同一个数

到 2001 年,IPv6 的 128 位长度已经决定。RFC 3194 没有重开这项选择,而是为现有地址方案的实用容量提供比较语言。

CIDR、注册机构规则与 IPv6 站点分配文件控制着其他表面:聚合、块大小、委派与预留。HD 可以参与讨论,却不能替这些制度做决定。

更重要的是,“已分配对象”可能是电话订户、可见节点、地址或研究者定义的其他单位。它不自动等于正在响应的主机、已公告路由或真实用户。若报告悄悄更换分子,漂亮的百分比就会变成关于另一种现实的伪证据。

RFC 3194 的历史贡献,是承认层级中的空地址并不都能立即使用。它也留下一个警告:任何归一化百分比都必须连同公式、对象定义、最大空间、层级结构和阈值决定者一起保存。否则,“痛苦位置”迟早会被误写成“世界已经占满”。