一、科学规划 IPv6 地址空间的意义
1、增强网络可管理能力,因为科学规划的网络地址—
能正确反映网络拓扑结构
能减小网络配置和维护过程中的人为失误
使得安全策略制定更为容易
降低了故障排除时的工作难度
能为未来扩容预留空间,少量子网的增加不需要大规模架构和安全策略调整
2、提高网络可扩展性,关键在抑制路由表无序增长—
较小的路由表节约了设备硬件资源,同样的设备能支撑更大的网络
较小的路由表提高了网络结构变化时路由收敛的速度
要使路由聚合变得容易,必须在二进制边界划分
二、几种常见前缀长度和分配场景
注释:IPv6的地址共有128位,也就是IPv6地址总量一共有2的128次方个地址。/32、/48是IPv6地址的一种表示方式,表示IPv6地址的一个整块,也可以理解为是一个完整的IPv6地址池。
在计算IPv6地址数量的时候,/32的IPv6地址数量是2的(128-32)次方个地址,也就是2的96次方个地址。/48的IPv6地址数量是2的(128-48)次方个地址,也就是2的80次方个地址。同理,/64的IPv6地址数量是2的(128-64)次方,也就是64次方个地址。
目前,中国运营商一般会给每个家庭/每个手机分配/64前缀的IPv6地址池,也就是2的64次方个IPv6地址,一个普通家庭/一部手机正常分配获得的/64前缀IPv6地址池,已经是全球IPv4地址总量的43亿倍了。
据说美国的某些运营商会给家庭分配一个/56前缀的IPv6地址块,相当于256个/64的地址池。这种做法非常超前。
由于 IPv6 的接口地址部分,即后 64 位,所能容纳的IPv6地址数量远超过现有任何设备的硬件转发表项,可以近似看做无限的地址空间,完全不需要考虑节约地址的事情。
客户端接入的二层网络的规模(即每个 /64 所对应的 VLAN)要尽量小,因为二层网络的状态难以使用成熟的分布式路由协议进行分发,网络规模发展会很快遭遇瓶颈。笔者目前的推荐是一个 VLAN 不要超过 2011 个有唯一 MAC 地址的网络接口。
虽然在路由层面,设备都支持任意长度的前缀,但为了使维护人员无需在紧急排障时还要计算子网范围,请务必在 4 比特边界,即每个 16 进制数处划分子网。
如果根据计算,获得的前缀不足以支撑足够多的 /64 子网,请尽快向地址分配机构请求(空间)更大的地址前缀,即更短的前缀。
本文中使用的所有全球单播地址前缀均为标准文档专用地址: 2001:db8::/32
几个不同前缀长度地址的例子和所包括的地址范围:
三、运营商分配地址和自己的地址,在配置时有何不同?
除了使用自己的地址在边界路由器上需要运行 BGP 与上游运营商建立关系以外,内部地址的划分没有不同。
如果预计要经常切换运营商,则必须考虑申请自己的 ASN 和 IPv6 地址前缀,与上游运营商使用 BGP 交换路由信息。
给宽带运营商的话:
根据 APNIC 的这份文件,《IPv6 地址分配方针》: http://www.apnic.net/ipv6-guidelines,请给家庭宽带用户分配 /56 的前缀(256 个子网)。使用 DHCPv6 PD 前缀下发协议 RFC 3633 或者 IPv6CP 和 DHCPv6 PD 的组合(如果是 PPPoE 连接)。
给企业分配前缀时,请考虑其未来几年的发展规模,为增长预留空间,比如:分配一个 /48 前缀的同时,为其预留一个包含此 /48 的 /44 的前缀。而不是将接下来的 /48 分配给下一个企业客户。这里 /44 只是一个推荐值,为规模不会增长过大的组织预留一个 /46 也是可行的。
若给甲单位分配了 2001:db8:5430::/48,那 2001:db8:5430::/48 到2001:db8:543f::/48,包含这 16 个 /48 的 /44 的空间都应为其预留。乙单位的前缀应从 2001:db8:5440::/44 中分配。
四、两种常见情况下的地址分配:
第一种:获得运营商静态分配 /48 前缀的单位和企业
这个前缀适合于单个大园区、或多个小园区,但不适合有多个大型园区,每个园区超过16 个楼宇或数据中心的场景。
考察现有 IPv4 子网分配情况,假设内部没有额外一层受企业控制的 NAT(即没有用户私接 NAT 路由器之外的情况),统计子网个数。如果超过 65536 个,检查有无因为某个子网地址不够分配而新加子网的情况。
一个 /48 可以划分为 16 个 /52,256 个 /56,4096 个 /60,65536 个 /64 大小的子网。每一位分配时,建议预留 0000 (0) 和 1111(F),避免书写和阅读障碍。
前两位 16 进制数的划分可以有以下两种思路,笔者推荐第一种。
a. 先考虑路由聚合,再考虑基于地址的安全策略。
第 49 – 52 比特,可能的取值是 0 – F 的十六进制,去掉头尾共 14 个数。可以给每个楼或者小型园区分配一位。对网络核心方向只发布属于自己的一条聚合路由。例如:
上面的例子里办公区可以聚合为2001:db8:abcd:0000::/50,宿舍区可以聚合为 2001:db8:abcd:8000::/50,数据中心可以聚合为 2001:db8:abcd:c000::/50
第 53 – 56 比特(abcd:X000中的第一个0),共 14 个数,可以给每个安全组分配一位。以上面的办公楼为例:
合理分配安全组前缀,简化 ACL 条目数量。
这样分配后,网络内路由表条目达到最少,如果每个 /52 子网一样的话安全策略条目大部分都是简单的重复,可以批量生成。
b. 先考虑安全策略,再考虑路由聚合。
第 49 – 52 比特(abcd:X000中的X),给每个安全组分配一个。
第 53 – 56 比特(abcd:X000中的第一个0的位置),给每个楼或者小型园区分配一位。
这样所有设备上的安全策略可以达到一致,大大降低了安全相关的维护成本。
路由条目较多,不过对于现代的动态内部路由协议(IGP)例如 OSPF,EIGRP和 IS-IS 也不是问题。但需要更多路由聚合的配置分散在各种网络边界设备上,才能控制住路由表规模。
随着现在诸如 BeyondCorp(来自 Google)的理念普及,用户的访问权限不再与其所在子网和网络地址相关,只在应用层对用户进行认证和鉴权。那就可以省略掉这一位作为安全边界的划分,为内部提供更多可用子网。
5. 后两位十六进制数——第 57 – 64 比特(abcd:X000中的第三、第四个位置00到FF),可以分为 256 个子网,去掉 00 和FF,还要 254 个,可以用在楼宇内部 VLAN 划分。规划时可以与现有 IPv4 地址的第三部分共用,还可以与 VLAN ID 对应,总之,为了便于识别和故障排除。
建议使用这种方法部署时,给每个人发一张0 – 255 十进制和十六进制对照表。
6. 第 65 – 128 比特,使用 SLAAC 无状态分配或 DHCPv6 有状态分配。
如果有多个不同地理位置的站点和数据中心,先按照地理位置分配,再考虑安全和流量策略分配。
所得前缀长度小于 /48 的可以参考此划分方法,为未来发展进一步预留空间,比如配置/56,预留包含此 /56 的 /52。
第二种、获得运营商静态或动态分配/56 前缀的家庭
先来帮运营商算一下:(按照给每户家庭分配/56前缀,奢侈)
一个 /44 的前缀,可分配 4096 个 /56。笔者所在小区算下来约 3780 户,完全容纳还有空间。
一个 /32 的前缀,可分配 4096 个 /44,即使个别小区较大,需要比 /44 大的网络,也能支持四千个左右小区,共 16777216 户,1677.7 万户。
而一个 /20 的前缀,最终可以分配约 687.2 亿户
(注释:/20的地址块,只有T1 级别的运营商才能拿到。)
所以请务必不要节约地址前缀,而是从未来网络发展的角度来考虑,为家庭用户分配 /56 的前缀。
(注释:目前中国运营商给家庭用户分配的是/64前缀,国外有些运营商给家庭用户分配/56前缀的IPv6地址块,这个太超前,估计国内运营商和ISP都不会这么做。但是,老赵希望,国内运营商或者ISP能够给一部分VIP家庭用户超前分配/56的 IPv6地址,也许会有意想不到的收获。)
与企业网络层次结构不同,家庭网络的前缀分配是扁平化的,通常所有设备都连接在同一个路由器上,重新编址也不会太难。
在目前应用尚不丰富的情况下,我们从 2001:db8:1234:4300::/56 中选择一个 /60 前缀2001:db8:1234:4320::/60 来为家庭网络分配地址。
一个 /60 前缀包含 16 个 /64 前缀,保留第 61 – 64 位全 0 和全 1 的,不使用。可以直接考虑安全策略为主的划分。
0 – 3 内部网络服务
1网络基础名称和认证服务
2应用系统
3存储备份
4 – 7 终端接入
4客人无线
5主人无线
6主人有线
7联网打印机等办公设备
8 – B 物联网设备
8各类控制器
9监控
A预留
B预留
C – F 预留
注释:如果你家有一座欧式城堡,使用这个地址池的分配方案肯定没问题。这是一个典型的美国式IPv6地址规划。因为持有海量IPv6地址,所以实施极为粗犷的分配方案。
五、总结
分配前缀时要把以下几个重要思想牢记:
1. 地址合理分配后,组织进一步扩大规模是不需要对网络进行大规模改动或重编址的。——(注释:这个是IPv6地址粗犷式规划的最大好处,地址规划是顶层设计,一次规划,超大冗余,一劳永逸,百年不变。)
2. 网络局部发生变化时,细节信息不应当传播到不关心的区域(路由设计问题)。
3. 用户应当有条件获得较大子网以进行网络隔离。
4. 组织的网络拓扑和用户与地址的对应关系要控制在组织内部,对外有保护措施。
5. 二层网络会制约网络健康发展,要有意识地利用三层路由来控制二层网络规模。
6. 路由表尽量小,让网络管理员看起来每一位都有意义。
7. 重复性操作要考虑使用脚本完成。
8. 注意由于地址空间扩大带来的有意无意的拒绝服务攻击风险。
参考资料:
RFC 3633——DHCPv6中的 IPv6 前缀选项
RFC 4192——不设定割接日期,为一个 IPv6 网络重新分配地址的步骤
RFC 6879——IPv6企业网地址重新分配的场景、注意事项和方法
RFC 6177——终端站点 IPv6 地址分配(当前最佳实践)
RFC 4241——一种 IPv6/IPv4 双栈互联网接入层模型
APNIC guidelines for IPv6 allocation andassignment requests——亚太地区网络信息中心IPv6 地址分配方针 http://www.apnic.net/ipv6-guidelines
RIPE Preparingan IPv6 Addressing Plan——准备一个 IPv6 编址计划 https://labs.ripe.net/Members/steffann/preparing-an-ipv6-addressing-plan
- 上一篇: IPv6 一些基础知识
- 下一篇:IPV6 DNS服务器地址列表
发表评论: