IPv6是互联网协议第六版,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。IPv6地址长度为128位,相比IPv4的32位提供了更大的地址空间,能够更好地满足网络的发展需求。
使用IPv6的原因有以下几点:
- 彻底解决IPv4地址不足的问题。
- 能够快速连接到网络上,无需人工配置,实现了真正的即插即用。
- 保证了网络层端到端通信的完整性和机密性。
- IPv6更加安全,标配加密选项,用户和服务器之间的通信很难被破解。
- IPv6能大大降低网络延迟,可以从现在普遍100ms左右,降到个位数。低网络延迟不光对打游戏有帮助,它让远程无人机、无人汽车变得可行。
IPv6的特点包括:
- 更大的地址空间:IPv6的地址长度为128位,相比IPv4的32位提供了更大的地址空间。
- 更简单的路由:IPv6采用更简单的路由,使得网络拓扑更加简单,减少了路由器的复杂性,从而提高了网络的性能。
- 支持多媒体应用:IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台。
- 支持自动配置:IPv6加入了对自动配置(Auto Configuration)的支持,使得网络设备的配置更加简便。
- 加强的安全性:IPv6增强了安全性,支持更多的安全协议,提供更高的网络安全性,使得网络环境更加安全可靠。
IPv6的格式介绍如下:
IPv6地址为128位长,由8个16位的十六进制数表示。每个十六进制数之间用冒号分隔,前面可以省略0,因此整个地址中不能出现连续的冒号。例如,2001:0db8:0000:0000:0000:ff00:0042:8329是一个合法的IPv6地址。IPv6地址可以分为四个部分,每部分都可以使用一个冒号进行分隔。
IPv6的掩码地址表示法有三种:
- 冒分十六进制表示法:格式为X:X:X:X:X:X:X:X。
- 0位压缩表示法:例如,FF01:0:0:0:0:0:0:1101压缩为FF01::1101。
- 内嵌IPv4地址表示法:为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示。
IPv6单播地址和组播地址的分类如下:
- IPv6单播地址:
- 全球单播地址(可理解为公网地址):可用于全球IPv6互联网中,可聚合、可路由,类似于IPv4的公网地址。其前3位固定为001,范围为2000::/3,即2000::~3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。
- 本地链路地址:仅适用于本地链路的IPv6主机和路由器,其网络标识符至少有8个0,格式为FE80::/10。
- 站点本地地址:仅适用于一个子网中的主机和路由器,其网络标识符的前8个比特为1,格式为FEC0::/7。
- 回环地址:用于本地主机的环路测试,其地址格式为::1/128。
- 未指定地址:用于表示一个未指定或未知的地址,其地址格式为::/128。
- 内嵌IPv4地址的兼容地址:这是一种特殊的IPv6单播地址,用于IPv4-IPv6过渡技术。
- IPv6组播地址:IPv6组播地址用于标识多个网络接口的IP地址,发送给组播地址的数据包将被发送到由该地址标识的所有接口。组播地址的前4位固定为1111,格式为FFxx::xxxx/8。在IPv6中,有一些特殊的组播地址,这些地址在特定的场景下使用。
其中,IPV6组播地址FF00::/16是一个特殊的组播地址,格式为FF+Lifetime+Scope+112bit的组ID。其中,Lifetime为0代表永久,为1代表暂时的。Scope:为1代表本地接口范围,为2代表本地链路范围,为3代表本地子网范围,为4代表本地管理范围,为5代表本地站点范围,为8代表组织机构范围,为E代表全球范围。
此外,IPV6组播地址FF0X::(X=0~F)也是保留地址,其中FF02::1在本地链路起作用,代表所有的节点;FF02::2在本地链路起作用,代表所有的路由器;FF02::9在本地链路起作用,代表所有的RIP路由器;FF02::1:FFXX:XXXX/104在本地链路起作用,代表被请求节点的组播地址。如果手工配置了全局IPV6地址,还会产生与这些地址相对应的被请求节点的组播地址,格式为FF02::1:FF+这些地址的最后24bit。