IPv6 子网划分:从 /48 到 /64
通过正确的子网划分规划你的 IPv6 网络。了解 /64 边界、如何划分 /48 和 /56 分配以及实际示例。
IPv6 子网划分理念#
IPv6 子网划分颠覆了 IPv4 的思维方式。你不是在小心翼翼地配给稀缺的地址空间,而是在划分丰富的资源。单个 /48 分配为你提供 65,536 个 /64 子网,比大多数组织将使用的要多。
设计目标很简单:使子网划分简单且一致。对连接终端主机的所有内容使用 /64。停止担心地址保护。
/64 边界:直接使用它#
/64 前缀长度在 IPv6 中是特殊的。不是因为它在美学上令人愉悦或传统,而是因为基本的 IPv6 协议需要它:
**SLAAC(无状态地址自动配置)**从设备的 MAC 地址或随机值生成 64 位接口 ID。它需要正好 64 位才能工作。给它更少,自动配置就会中断。
邻居发现优化假设为 /64 子网。使用较小的前缀会创建不值得「节省」地址的性能问题。
修改的 EUI-64 接口标识符需要 64 位。隐私扩展需要 64 位。IPv6 生态系统中的所有内容都期望 64 位。
不要在 /64 以下进行子网划分
对终端用户网络使用 /96 或 /112 会破坏 SLAAC 并导致兼容性问题。唯一的例外是点对点路由器链路(/127 或 /126)和环回接口(/128)。
实际建议:对具有主机的每个网段使用 /64。完成。
CIDR 表示法#
IPv6 使用 CIDR 表示法来表示网络前缀:
2001:db8:abcd:1234::/64
│ │
│ └─ 前缀长度
└──────────────────── 网络前缀(前 64 位)斜线后的数字表示标识网络的位数。其余位标识各个接口。
对于 2001:db8:abcd:1234::/64:
- 网络前缀:前 64 位(
2001:db8:abcd:1234) - 接口 ID:后 64 位(从
::到ffff:ffff:ffff:ffff的任何内容)
常见的 ISP 分配#
大多数 IPv6 连接都带有以下前缀大小之一:
/48 - 企业和大客户#
你获得 16 位用于子网划分(位 49-64),创建最多 65,536 个 /64 网络。
2001:db8:abcd:0000::/64 ─┐
2001:db8:abcd:0001::/64 │
2001:db8:abcd:0002::/64 ├─ 全部来自同一个 /48
... │
2001:db8:abcd:ffff::/64 ─┘这是企业的标准分配。它支持具有数百个位置和 VLAN 的复杂网络。
/56 - 小型企业和住宅#
你获得 8 位用于子网划分,创建最多 256 个 /64 网络。
2001:db8:abcd:ab00::/64 ─┐
2001:db8:abcd:ab01::/64 │
... ├─ 可用 256 个 /64 子网
2001:db8:abcd:abff::/64 ─┘对于具有多个 VLAN 的家庭网络(主网络、访客 WiFi、物联网设备等)来说足够了。
/64 - 最小住宅#
单个子网。如果你不需要网络分段,这很好。大多数家庭用户不需要更多。
许多 ISP 默认为 /64,但会根据请求分配 /56。始终要求至少 /56。
划分 /48 子网#
当你收到 /48 时,你控制位 49-64 用于子网标识。这是 16 位 = 65,536 个子网。
实际示例:办公网络#
分配:2001:db8:abcd::/48
子网计划:
├─ 0000-000f 基础设施
│ ├─ 2001:db8:abcd:0001::/64 管理/带外
│ ├─ 2001:db8:abcd:0002::/64 交换机和 AP
│ └─ 2001:db8:abcd:0003::/64 监控和日志
│
├─ 0010-00ff 服务器
│ ├─ 2001:db8:abcd:0010::/64 Web/应用服务器
│ ├─ 2001:db8:abcd:0011::/64 数据库服务器
│ └─ 2001:db8:abcd:0012::/64 存储
│
├─ 0100-01ff 用户网络
│ ├─ 2001:db8:abcd:0100::/64 1 楼工作站
│ ├─ 2001:db8:abcd:0101::/64 2 楼工作站
│ └─ 2001:db8:abcd:0102::/64 3 楼工作站
│
├─ 0200-02ff 访客和公共
│ ├─ 2001:db8:abcd:0200::/64 访客 WiFi
│ └─ 2001:db8:abcd:0201::/64 公共 WiFi
│
└─ f000-ffff 保留供将来使用注意十六进制范围创建逻辑分组。该方案可读并为增长留有空间。
分层子网划分#
多站点组织可以为每个位置分配更大的块:
2001:db8:abcd::/48
│
├─ 2001:db8:abcd:0000::/52 总部(4,096 个 /64 子网)
│ └─ 2001:db8:abcd:0000::/64 到 2001:db8:abcd:0fff::/64
│
├─ 2001:db8:abcd:1000::/52 分支 A(4,096 个子网)
│ └─ 2001:db8:abcd:1000::/64 到 2001:db8:abcd:1fff::/64
│
├─ 2001:db8:abcd:2000::/52 分支 B(4,096 个子网)
│
└─ 2001:db8:abcd:3000::/52 分支 C(4,096 个子网)每个分支独立管理自己的 /52。总部可以在没有协调开销的情况下委派。
你可以进一步划分子网:
分支 A:2001:db8:abcd:1000::/52
│
├─ 2001:db8:abcd:1000::/56 建筑物 1(256 个子网)
├─ 2001:db8:abcd:1100::/56 建筑物 2(256 个子网)
└─ 2001:db8:abcd:1200::/56 建筑物 3(256 个子网)层次结构可以深入到你需要的程度,直到 /64 边界。
划分 /56 子网#
使用 /56,你有 8 位(位 57-64)用于子网划分。这是 256 个 /64 网络。
家庭网络示例#
分配:2001:db8:abcd:ab00::/56
子网计划:
├─ 2001:db8:abcd:ab00::/64 主 LAN
├─ 2001:db8:abcd:ab01::/64 家庭办公室
├─ 2001:db8:abcd:ab02::/64 访客 WiFi
├─ 2001:db8:abcd:ab03::/64 物联网设备(摄像头、传感器)
├─ 2001:db8:abcd:ab04::/64 智能家居(扬声器、灯)
├─ 2001:db8:abcd:ab05::/64 实验室/测试网络
└─ 2001:db8:abcd:ab06-abff 可用(250 个子网未使用)即使是高级用户也不会用完 256 个子网。这个分配很慷慨。
第四个十六进制组中的第八位发生变化:
ab00= 二进制...0000 0000(子网 0)ab01= 二进制...0000 0001(子网 1)ab02= 二进制...0000 0010(子网 2)abff= 二进制...1111 1111(子网 255)
特殊情况#
点对点链路#
路由器到路由器的链路不需要 18 百京个地址。两个选项:
/127 - RFC 6164 点对点链路标准。提供恰好 2 个地址,类似于 IPv4 的 /31:
2001:db8:abcd:1::/127
├─ 2001:db8:abcd:1::0 路由器 A
└─ 2001:db8:abcd:1::1 路由器 B/126 - 提供 4 个地址,类似于 IPv4 的 /30:
2001:db8:abcd:1::/126
├─ 2001:db8:abcd:1::0 网络地址(可以使用)
├─ 2001:db8:abcd:1::1 路由器 A
├─ 2001:db8:abcd:1::2 路由器 B
└─ 2001:db8:abcd:1::3 (可用)两者都有效。/127 更有效。一些较旧的设备仅支持 /126。
或者,只需在点对点链路上使用 /64。它不会浪费任何重要的东西,并简化你的地址计划。
环回地址#
路由器环回接口使用 /128(单个地址):
2001:db8:abcd::1/128这些用于路由器 ID、管理访问和协议端点。
文档实践#
在分配地址之前记录你的子网计划。一个简单的表格就可以:
| 前缀 | VLAN | 用途 | 网关 |
|---------------------------|------|----------------------|------------|
| 2001:db8:abcd:1::/64 | 10 | 管理 | ::1 |
| 2001:db8:abcd:2::/64 | 20 | 服务器 | ::1 |
| 2001:db8:abcd:10::/64 | 100 | 1 楼用户 | ::1 |
| 2001:db8:abcd:11::/64 | 101 | 2 楼用户 | ::1 |
| 2001:db8:abcd:100::/64 | 200 | 访客 WiFi | ::1 |
| 2001:db8:abcd:200::/64 | 300 | 物联网设备 | ::1 |包括:
- 前缀:完整的 /64 网络
- VLAN ID:如果适用(有助于关联第 2 层和第 3 层)
- 用途:连接到此网络的内容
- 网关:通常是
::1,第一个地址 - 备注:防火墙区域、联系信息,任何有助于操作的内容
在你的网络文档系统中跟踪这一点,而不是被遗忘的电子表格。未来的你会感激的。
计算子网信息#
可用的 /64 子网数#
公式:2^(64 - prefix_length)
/48: 2^(64-48) = 2^16 = 65,536 个子网
/52: 2^(64-52) = 2^12 = 4,096 个子网
/56: 2^(64-56) = 2^8 = 256 个子网
/60: 2^(64-60) = 2^4 = 16 个子网子网范围#
对于给定的 /64 子网,范围很简单:
前缀:2001:db8:abcd:1234::/64
第一个地址:2001:db8:abcd:1234::
最后一个地址:2001:db8:abcd:1234:ffff:ffff:ffff:ffff
可用地址:全部(18,446,744,073,709,551,616)与 IPv4 不同,没有要保留的广播地址。IPv6 使用多播来实现类似广播的功能。
查找子网边界#
当给定像 2001:db8:abcd:ab00::/56 这样的 /56 时,子网边界是:
第一个 /64: 2001:db8:abcd:ab00::/64
最后一个 /64: 2001:db8:abcd:abff::/64
范围锁定位 1-56: 2001:db8:abcd:ab...
位 57-64 可以变化: 00 到 ff
位 65-128 标识接口(/64 部分)对于分层分配,尽可能在半字节(4 位)边界上对齐。它保持十六进制表示法整洁:
- /48、/52、/56、/60、/64 在半字节边界上对齐
- /50、/54、/58、/62 不对齐并创建混乱的十六进制范围
除非你有特定原因,否则坚持使用半字节对齐的前缀。
总结#
一旦你内化了理念,IPv6 子网划分比 IPv4 更简单:
-
对所有主机网络使用 /64。不要过度思考。协议栈期望它。
-
ISP 分配很慷慨。企业为 /48(65,536 个子网),小型站点为 /56(256 个子网),最小部署为 /64。
-
分层规划。将块分配给位置或功能。让每个站点独立管理其部分。
-
记录你的计划。未来的故障排除取决于了解每个子网的作用。
-
停止保护地址。IPv6 丰富是一个特性。使用它。
从 IPv4 的最大思维转变:你不是从有限的空间中挤出每个最后的地址。你正在将丰富的资源组织成逻辑结构。
相关文章#
- IPv6 地址类型:全局、链路本地、多播详解 - 了解不同类型的 IPv6 地址以及它们在子网设计中的作用。
- DHCPv6 vs SLAAC:设备如何获取 IPv6 地址 - 了解设备如何在你创建的子网中自动配置地址。
亲自尝试
使用我们的子网计算器规划你的 IPv6 网络分配并可视化子网层次结构。