为什么六层不谈节省
四层规划里最费心的是把地址省下来,六层则完全反过来:一个标准长度的子网就能给地球上每一粒沙子分配一个地址还有富余。既然地址不再是约束,规划的重点就变成结构是否清晰、聚合是否方便、责任是否可划分,这是两种规划思路的根本差别。
几个必须记住的量级
常用的几个规模是:运营商级的三十二位前缀约合十的二十八次方量级,企业站点的四十八位约合十的二十四次方,家庭常见的五十六位约合十的二十一次方,链路用的六十四位约合十的十九次方。再往下,点对点互联是一百二十七位,两个地址都可用;单地址是一百二十八位。
基本信息
| 运营商级 | 三十二位,约七点九乘十的二十八次方个地址 |
|---|---|
| 站点级 | 四十八位,约一点二乘十的二十四次方 |
| 家庭常用 | 五十六位,约四点七乘十的二十一次方 |
| 链路标准 | 六十四位,约一点八乘十的十九次方 |
| 互联与单地址 | 一百二十七位两个地址,一百二十八位一个地址 |
典型使用场景
- 容量沟通:向外行解释为什么六层不需要考虑地址耗尽,用量级数字最直观
- 规划思维切换:从“省地址”转为“设计结构”,子网划分按用途与责任划分而非按需求
- 方案评审:评审意见里出现“地址不够”时,先核对是否把前缀长度搞错了
- 脚本校验:用地址库读取数量属性,快速核对某个前缀是否符合预期规模
- 运维培训:把这张量级表作为基础知识,避免按四层经验做六层规划
- 互联设计:点对点链路直接使用一百二十七位,不需要额外占用更大的网段
数值验证
数值验证
python -c "import ipaddress as i; print(i.ip_network('2001:db8:acad::/48').num_addresses)"
# 输出 1208925819614629174706176,即二的八十次方
python -c "import ipaddress as i; print(i.ip_network('2001:db8::/64').num_addresses)"
# 输出 18446744073709551616,即二的六十四次方地址数量表
| 前缀 | 地址数 | 量级 | 常见用途 |
|---|---|---|---|
| 三十二位 | 二的九十六次方 | 约七点九乘十的二十八次方 | 运营商级 |
| 四十八位 | 二的八十次方 | 约一点二乘十的二十四次方 | 企业站点 |
| 五十六位 | 二的七十二次方 | 约四点七乘十的二十一次方 | 家庭常用 |
| 六十四位 | 二的六十四次方 | 约一点八乘十的十九次方 | 链路标准 |
| 一百二十七位 | 二 | 两个 | 点对点互联 |
| 一百二十八位 | 一 | 一个 | 单地址 |
不要试图用十进制口算这些数量:记住量级就够了,需要精确数值时用地址库读取数量属性,比手工换算快且不会出错。
点对点互联使用一百二十七位不是浪费,而是标准推荐的做法:它的两个地址都可用于接口,不需要像四层那样为互联预留四个地址。