IPV6

参考链接1 参考链接2

目录

IPv6 地址的各个部分

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

而 IPv4 地址则以点分十进制表示法表示。在下图中,x 表示十六进制数字。

图 1 IPv6 地址的基本格式

该图显示 IPv6 地址的三个部分,下文将对此进行说明。

  1. 最左侧的三个字段(3*16=48 位)包含站点前缀。站点前缀描述通常由 ISP 或区域 Internet 注册机构 (Regional Internet Registry, RIR) 分配给您的站点的公共拓扑。
  2. 下一个字段是您(或其他管理员)为您的站点分配的 16 位子网 ID。子网 ID 描述专用拓扑(也称为站点拓扑),因为它是您的站点的内部 ID。
  3. 最右侧的四个字段(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节点