本文简单介绍 IPv6 的地址格式。

8 段,128 位

IPv4 地址是类似 A.B.C.D 的格式,它是 32 位,用“.”分成四段,用 10 进制表示。
而 IPv6 地址类似 XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX 的格式,它是 128 位的,用“:”分成 8 段,每个 X 是一个 16 进制数(16 = 2^4)。可见,IPv6 地址空间相对于 IPv4 地址有了极大的扩充。

IPv6 地址的长度为 128 位,由八个 16 位字段组成,相邻字段用冒号分隔。IPv6 地址中的每个字段都必须包含一个十六进制数字,而 IPv4 地址则以点分十进制表示法表示。

3 个部分

IPv6 地址分三个部分:

  • 站点前缀:最左侧的三个字段(48 位)包含站点前缀。站点前缀描述通常由 ISP 或区域 Internet 注册机构 (Regional Internet Registry, RIR) 分配的站点的公共拓扑;
  • 子网 ID:下一个字段是为站点分配的 16 位子网 ID。子网 ID 描述专用拓扑(也称为站点拓扑),因为它是站点的内部 ID;
  • 接口 ID:最右侧的四个字段(64 位)包含接口 ID,也称为标记。接口 ID 可以从接口的 MAC 地址自动配置,也可以采用 EUI-64 格式手动配置。

以下列地址为例: 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

此示例显示了 IPv6 地址的全部 128 位。

  • 前 48 位 2001:0db8:3c4d 包含表示公共拓扑的站点前缀;
  • 随后的 16 位 0015 包含代表站点专用拓扑的子网 ID;
  • 低阶(最右边的 64 位)0000:0000:1a2f:1a2b 包含接口 ID,可以用 mac 地址填充。

简化

RFC2373 中详细定义了 IPv6 地址,按照定义,一个完整的 IPv6 地址的表示法: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx

例如: 2031:0000:1F1F:0000:0000:0100:11A0:ADDF

为了简化其表示法,RFC2373 提出每段中前面的 0 可以省略,连续的 0 可省略为“::”,但只能出现一次。例如:

原地址简写
1080:0:0:0:8:800:200C:417A1080::8:800:200C:417A
FF01:0:0:0:0:0:0:101FF01::101
0:0:0:0:0:0:0:1::1
0:0:0:0:0:0:0:0::

IPv6 中的前缀
类似于 IPv4 中的 CDIR 表示法,IPv6 用前缀来表示网络地址空间。比如:
2001:250:6000::/48 表示前缀为 48 位的地址空间,其后的 80 位可分配给网络中的主机,共有 2 的 80 次方个地址

常见地址

下面解释一些常见的 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 试验网地址;1
  • fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发;
  • ff00::/8 组播地址;
  • ::A.B.C.D 其中<A.B.C.D>代表 ipv4 地址,兼容 IPv4 的 IPv6 地址。自动将 IPv6 包以隧道方式在 IPv4 网络中传送的 IPv4/IPv6 节点将使用这些地址;
  • ::FFFF:A.B.C.D 其中<A.B.C.D>代表 ipv4 地址,例如 ::ffff:202.120.2.30 ,是 IPv4 映射过来的 IPv6 地址,它是在不支持 IPv6 的网上用于表示 IPv4 节点。

  1. 上面三类属于单播地址,都是目前互联网上广泛应用的 IPv6 地址; [return]