IPv6 是网络层协议的第二代标准协议,将 IP 地址长度从原来的 32 位升级为 128 位,从根本上解决了 IP 地址耗尽的问题。
IPv6 地址
IPv6 地址由 128 位二进制数组成,书写时采用十六进制,分为 8 组,组之间用 :
分开,每组 16 位,用 4 个十六进制表示。
1 | XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX |
比如 2001:00b8:130F:0000:0000:09C0:0000:0000
简写
如 IPv6 地址 2001:00b8:130F:0000:0000:09C0:0000:0000
每组前半部分的
0
可省去,0000
可简写为0
2001:b8:130F:0:0:9C0:0:0
连续的
0
可以用::
缩写(只能用一个::
,且缩最前面那个连续0
)2001:b8:130F::9C0:0:0
IPv4 转 IPv6
原 IPv4 地址转 IPv6 采用 0:0:0:0:0:FFFF:IPv4-address
格式。
如 172.17.0.3
变成 0:0:0:0:0:FFFF:172.17.0.3
地址结构
IPv6 地址可以划分为两个部分:网络前缀、接口标识
- 网络前缀:前 n 位划分为网络前缀,类似于 IPv4 中的网络号,一般推荐使用 64 位
- 接口标识:后 128-n 位划分为网络前缀,类似于 IPv4 中的主机号
如 2001:db8:130F:0000:0000:09C0:876A:130B/64
,/
后数字表示网络前缀的长度
地址划分
按照目的地址,可以将 IPv6 地址划分成下面三种类型:
- 单播地址:唯一标识一个接口,和 IPv4 单播一样,点对点的通信。
- 组播地址:一点对多点的通信,和 IPv4 组播一样,发送到组播地址的数据包被传输给此地址所标识的所有接口。
- 任播地址:IPv6 相比 IPv4 新增地址类型,发送到任播地址的数据包被传输给此地址所标识的一组接口中距离源节点最近的一个接口。
- IPv6 不支持广播,广播地址的功能均由组播地址来提供。IPv4 依赖 BGP 来实现任播。
IPv6 单播地址又可分为
地址类型 | 二进制前缀 | IPv6前缀标识 |
---|---|---|
链路本地单播地址 | 1111111010 | FE80::/10 |
唯一本地地址 | 1111110 | FC00::/7 |
环回地址 | 00…1 (128 bits) | ::1/128 |
未指定地址 | 00…0 (128 bits) | ::/128 |
全球单播地址 | 其他 | - |