IPv6 规划、配置、安全加固、迁移方案的信息平台,为信息化部门负责人、网络工程师和网络爱好者提供技术和决策支持。
作者 宋崟川
前缀长度 | 适用场景 |
---|---|
32 | RIR/NIR(区域/国家互联网注册机构)分配给有 ASN 的运营商、互联网公司、大型企业。是地址最小分配单元(再小就不给了)。 |
40 | 运营商向有多个(256个以内)站点和数据中心的大型企业分配的前缀 |
44 | 运营商向有多个(16个以内)站点和数据中心的中型企业分配的前缀 |
48 | 运营商向中小客户分配的常见前缀长度。或大中企业内一个站点的前缀 |
56 | 宽带运营商给家庭用户和小微企业分配的最小前缀长度(最大子网大小) |
64 | 末端设备子网,/64 是很多协议硬性要求的(IPv6 无广播风暴风险) |
127 | 路由器点对点链路,此处不是为了节约地址而是防止一种资源耗尽型攻击 |
由于 IPv6 的接口地址部分,即后 64 位,所能容纳的地址数量远超过现有任何设备的硬件转发表项,可以近似看做无限的地址空间,完全不需要考虑节约地址的事情。
客户端接入的二层网络的规模(即每个 /64 所对应的 VLAN)要尽量小,因为二层网络的状态难以使用成熟的分布式路由协议进行分发,网络规模发展会很快遭遇瓶颈。笔者目前的推荐是一个 VLAN 不要超过 2012 个有唯一 MAC 地址的网络接口。
虽然在路由层面,设备都支持任意长度的前缀,但为了使维护人员无需在紧急排障时还要计算子网范围,请务必在 4 比特边界,即每个 16 进制数处划分子网。
如果根据计算,获得的前缀不足以支撑足够多的 /64 子网,请尽快向地址分配机构请求(空间)更大的地址前缀,即更短的前缀。
本文中使用的所有全球单播地址前缀均为标准文档专用地址:2001:db8::/32
几个不同前缀长度地址的例子和所包括的地址范围:
前缀长度 | 示例地址 | 地址范围 |
---|---|---|
32 | 2001:db8::/32 |
2001:0db8:0000:0000:0000:0000:0000:0000 2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff |
40 | 2001:db8:ab00::/40 |
2001:0db8:ab00:0000:0000:0000:0000:0000 2001:0db8:abff:ffff:ffff:ffff:ffff:ffff |
48 | 2001:db8:abcd::/48 |
2001:0db8:abcd:0000:0000:0000:0000:0000 2001:0db8:abcd:ffff:ffff:ffff:ffff:ffff |
56 | 2001:db8:abcd:1200::/56 |
2001:0db8:abcd:1200:0000:0000:0000:0000 2001:0db8:abcd:12ff:ffff:ffff:ffff:ffff |
64 | 2001:db8:abcd:1234::/64 |
2001:0db8:abcd:1234:0000:0000:0000:0000 2001:0db8:abcd:1234:ffff:ffff:ffff:ffff |
除了使用自己的地址在边界路由器上需要运行 BGP 与上游运营商建立关系以外,内部地址的划分没有不同。
如果预计要经常切换运营商,则必须考虑申请自己的 ASN 和 IPv6 地址前缀,与上游运营商使用 BGP 交换路由信息。
2001:db8:5430::/48
,那 2001:db8:5430::/48
到 2001:db8:543f::/48
,包含这 16 个 /48 的 /44 的空间都应为其预留。乙单位的前缀应从 2001:db8:5440::/44
中分配功能块/地理位置 | /52 长度地址前缀 |
---|---|
办公楼 | 2001:db8:abcd:1000::/52 |
教学楼A | 2001:db8:abcd:2000::/52 |
教学楼B | 2001:db8:abcd:3000::/52 |
宿舍楼A | 2001:db8:abcd:8000::/52 |
数据中心A | 2001:db8:abcd:c000::/52 |
数据中心B | 2001:db8:abcd:d000::/52 |
2001:db8:abcd:0000::/50
2001:db8:abcd:8000::/50
2001:db8:abcd:c000::/50
安全组 | /56 地址前缀 |
---|---|
网络设备 | 2001:db8:abcd:1100::/56 |
楼内服务器 | 2001:db8:abcd:1200::/56 |
安防系统 | 2001:db8:abcd:1300::/56 |
会议系统 | 2001:db8:abcd:1400::/56 |
IP 电话 | 2001:db8:abcd:1500::/56 |
网络信息化中心 | 2001:db8:abcd:1800::/56 |
办公室无线 | 2001:db8:abcd:1c00::/56 |
办公室有线 | 2001:db8:abcd:1d00::/56 |
学生无线 | 2001:db8:abcd:1e00::/56 |
合理分配安全组前缀,简化 ACL 条目数量。
这样分配后,网络内路由表条目达到最少,如果每个 /52 子网一样的话安全策略条目大部分都是简单的重复,可以批量生成。
这样所有设备上的安全策略可以达到一致,大大降低了安全相关的维护成本。
路由条目较多,不过对于现代的动态内部路由协议(IGP)例如 OSPF,EIGRP 和 IS-IS 也不是问题。但需要更多路由聚合的配置分散在各种网络边界设备上,才能控制住路由表规模。
随着现在诸如 BeyondCorp(来自 Google) 的理念普及,用户的访问权限不再与其所在子网和网络地址相关,只在应用层对用户进行认证和鉴权。甚至可以省略掉这一位作为安全边界的划分,为内部提供更多可用子网。
后两位十六进制数——第 57 – 64 比特,可以分为 256 个子网,去掉 00 和 FF,还要 254 个,可以用在楼宇内部 VLAN 划分。规划时可以与现有 IPv4 地址的第三部分共用,还可以与 VLAN ID 对应,总之,为了便于识别和故障排除。
建议使用这种方法部署时,给每个人发一张 0 – 255 十进制和十六进制对照表。
第 65 – 128 比特,使用 SLAAC 无状态分配或 DHCPv6 有状态分配。
如果有多个不同地理位置的站点和数据中心,先按照地理位置分配,再考虑安全和流量策略分配。
所得前缀长度小于 /48 的可以参考此划分方法,为未来发展进一步预留空间,比如配置 /56,预留包含此 /56 的 /52。
先来帮运营商算一下:
所以请务必不要节约前缀,而是从未来网络发展的角度来考虑,为家庭用户分配 /56 的前缀。
与企业网络层次结构不同,家庭网络的前缀分配是扁平化的,通常所有设备都连接在同一个路由器上,重新编址也不会太难。
在目前应用尚不丰富的情况下,我们从 2001:db8:1234:4300::/56
中选择一个 /60 前缀 2001:db8:1234:4320::/60
来为家庭网络分配地址。
一个 /60 前缀包含 16 个 /64 前缀,保留第 61 – 64 位全 0 和全 1 的,不使用。可以直接考虑安全策略为主的划分。
分配前缀时要把以下几个重要思想牢记:
IPv6 前缀的分配一定要考虑未来五年十年的发展需求,地址重编码并不简单。虽然 IPv6 支持多个前缀同时使用,但客户端行为目前还不确定,要无缝切换需要更多精力周密规划,尤其是网络结构调整造成的地址重编码。
如果你遇到的场景不能直接套用前面的例子,请邮件与我联系 yinchuan@ipv6-cn.com ,我会考虑增加更多实例。
任何使用本文制作出版物的行为需经本人书面同意,并支付稿酬。