目录
一、 IPv6地址介绍
1.1. IPv6简介
IPv6 采用了 128 二进制地址(IPv4 是 32 位),因此 IPv6地址空间以地球人口 70 亿人计算,每人平均可分得约 4.86 ×1028 个 IPv6 地址。 IPv6 地址的表达形式一般采用 32 个十六进制数,例如:2001:0db8:85a3:08d3:1319:8a2e:0370:7344IPv6 在某些条件下可以省略,以下是省略规则:
规则1:每项数字前导的 0 可以省略,省略后前导数字仍是 0 则继续;
规则2:可以用双冒号"::"表示一组 0 或多组连续的 0,但只能出现一次。
大多数应用场景下,IPv6 地址由两个逻辑部分组成:64位的网络前缀和 64 位的主机地址,主机地址通常根据物理地址自动生成,称作 64 位扩展唯一标识(EUI-64)。
1.2. IPv6 的特点与挑战
IPv6 最大的特点就是具有大得多的地址空间,这一巨大的地址空间,为各种新应用的开展提供了可能,同时,也带来了IPv6 地址生成、使用、安全等多方面的问题。
题目 | 内容 |
网络路由的子网前缀(subnet prefix) | 子网前缀是在进行 IPv6 组网时,终端用户通过运营商、地区互联网注册中心(Regional Internet Registry,RIR)、互联网数字分配机构 IANA(The Internet Assigned Numbers Authority)等一层一层分配得来。 |
用于子网内寻址的接口标识(Interface ID,IID) | 用户接口标识的生成方案是 IPv6 所独有的问题,接口标识长度较长,如何能够既可以承载新的功能,同时又不产生额外的安全风险,需要进行精心的设计。 |
应用场景较为复杂 | 例如由于更广泛的物理网络支持所带来的不同,如 IPv6在用于 802.15.4 网络中时,为便于包头压缩,经常需要对 IPv6 地址进行压缩,因此需要生成便于压缩的地址;此外,无状态自动配置方式(Stateless Address Autoconfiguration,SLAAC)也为 IPv6 所独有。这也使得 IPv6 地址生成方式更为复杂。 |
1.3. IPv6 地址结构概述
根据 RFC4291,IPv6 地址按照其用途可以分为单播、组播和任播三种地址,单播地址标识了一个接口,组播地址标识了一组接口,任播地址在单播地址区间内分配,但是可以指定给多个接口(通常属于不同节点),发送到这些地址的数据包被路由到最近的一个接口,这三类 IPv6 地址分别实现了不同的需求。
1.4. IPv6 的地址空间分配概况
关于 IPv6 地址的规划,可以大致按照前 3比特来理解,::/3 用于分配特殊地址,常常用于 RFC中指定具有特殊意义的 IPv6 地址;2000::/3 作为全球单播地址,是各个运营商、用户等得到的地址;唯一本地地址、链路本地地址以及组播地址在最后的 e000::/3 地址块中,IPv6 地址空间的大致分配方案如下:
地址块 |
分配用途及其 RFC 来源 |
0:0:0:0:0:0:0:0- 1ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
IETF 保留 RFC4291 |
200:0:0:0:0:0:0:0-3ff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
IETF 保留 RFC4048 |
400:0:0:0:0:0:0:0- 1fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
IETF 保留 RFC4291 |
2000:0:0:0:0:0:0:0-3fff:ffff:ffff:ffff:ffff:ffff:ffff:fff |
IETF 保留 RFC4291 |
4000:0:0:0:0:0:0:0-fbff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
IETF 保留 RFC4291 |
fc00:0:0:0:0:0:0:0-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
唯一本地单播地址 RFC4193 |
fe00:0:0:0:0:0:0:0-fe7f:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
IETF 保留 RFC4291 |
fe80:0:0:0:0:0:0:0-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
链路单播地址 RFC4291 |
fec0:0:0:0:0:0:0:0-feff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
IETF 保留 RFC3879 |
ff00:0:0:0:0:0:0:0-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff |
组播地址 RFC4291 |
1.5. IPv6 全球单播地址结构
在 IPv6 网络的使用和运行中,我们接触到的地址一般都是全球单播地址,来自于 2000::/3 地址块,定义于 RFC4291。从全球单播地址块到最终用户,需要经历多个过程。 一些具有特殊意义的单播地址,没有分配到在::/3 地址块中,而是分配到了 20