目录
IPv6 地址的各个部分
IPv6 地址的长度为 128 位,由八个 16 位字段组成,相邻字段用冒号分隔。IPv6 地址中的每个字段都必须包含一个十六进制数字,
而 IPv4 地址则以点分十进制表示法表示。在下图中,x 表示十六进制数字。
图 1 IPv6 地址的基本格式
该图显示 IPv6 地址的三个部分,下文将对此进行说明。
- 最左侧的三个字段(3*16=48 位)包含
站点前缀
。站点前缀描述通常由 ISP 或区域 Internet 注册机构 (Regional Internet Registry, RIR) 分配给您的站点的公共拓扑。 - 下一个字段是您(或其他管理员)为您的站点分配的 16 位子网 ID。子网 ID 描述专用拓扑(也称为站点拓扑),因为它是您的站点的内部 ID。
- 最右侧的四个字段(4*16=64 位)包含接口 ID,也称为标记。接口 ID 可以从接口的 MAC 地址自动配置,也可以采用 EUI-64 格式手动配置。
请再看一下图 1 中的地址:
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
#两个冒号 (::) 表示法来表示连续的 16 位零字段
2001:0db8:3c4d:0015::1a2f:1a2b
#省略字段中的前导零
2001:db8:3c4d:15::1a2f:1a2b
此示例显示了 IPv6 地址的全部 128 位。前 48 位 2001:0db8:3c4d 包含表示公共拓扑的站点前缀。随后的 16 位 0015 包含代表站点专用拓扑的子网 ID。低阶(最右边的 64 位 0000:0000:1a2f:1a2b)包含接口 ID。
缩短 IPv6 地址
大多数 IPv6 地址都不会占用全部 128 位,这可能会导致一些字段会被零填充或仅包含零。
IPv6 寻址体系结构允许您使用两个冒号 (::) 表示法来表示连续的 16 位零字段。例如,可以通过将接口 ID 中两个连续的零字段替换为两个冒号来缩短图 3–2 中的 IPv6 地址。
替换后的地址为 2001:0db8:3c4d:0015::1a2f:1a2b。其他零字段可以表示为单个 0。还可以省略字段中的前导零,如将 0db8 更改为 db8。
因此,地址 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b 可以缩短为 2001:db8:3c4d:15::1a2f:1a2b。
可以使用两个冒号替代 IPv6 地址中任意连续的全零字段。
为了简化其表示法,rfc2373提出每段中前面的0可以省略,连续的0可省略为"::",但只能出现一次
(Anna: 如果出现多个::
就没办法推测出每个::
代表的是省略的多少位了,会引起混乱)。
例如:
原地址 | 简写 |
---|---|
1080:0:0:0:8:800:200C:417A | 1080:0:0:0:8:800:200C:417A |
FF01:0:0:0:0:0:0:101 | FF01::101 |
0:0:0:0:0:0:0:1 | ::1 |
0:0:0:0:0:0:0:0 | :: |
IPv6中的前缀
prefix/length in bits
前缀长度以无类域间路由 (classless inter-domain routing, CIDR) 表示法声明。CIDR 表示法在地址末尾有一个斜杠,斜杠后跟前缀长度(以位为单位)。
类似于IPv4中的CDIR表示法,IPv6用前缀来表示网络地址空间
,比如:
2001:250:6000::/48 表示前缀为48位的网络地址空间,其后的80位可分配给网络中的主机,共有2的80次方个地址
ok,下面解释一些常见的IPv6地址或者前缀:
- ::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口
- ::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于ipv4中的localhost(127.0.0.1),ping locahost可得到此地址
- 2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址
- 2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址
- 3ffe::/16 早期开始的IPv6 6bone试验网地址
注:上面三类属于单播地址,都是目前互联网上广泛应用的IPv6地址
- fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发
- ff00::/8 组播地址
- ::A.B.C.D 其中
代表ipv4地址,兼容IPv4的IPv6地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址 - ::FFFF:A.B.C.D 其中
代表ipv4地址,例如 ::ffff:202.120.2.30 ,是IPv4映射过来的IPv6地址,它是在不支持IPv6的网上用于表示IPv4节点