Alex_McAvoy

想要成为渔夫的猎手

IPv6

【概述】

为解决 IP 地址耗尽的问题,从分类 IP 的基础上发展出了网络地址转换 NAT、无类别编址 CIDR 的方法,但这两种方法只是延长了 IP 地址分配的结束时间,随着时间的增长 IP 地址总有耗尽的一天

为此,开发了 具有更大地址空间的 IPv6

【与 IPv4 的对比】

与 IPv4 相比,IPv6 具有以下特点:

  • 地址长度从 $32bit$ 扩展到了 $128bit$
  • 减少不必要的功能,首部字段数减少到仅有 $8$ 个
  • 路由一般不对扩展首部检查,同时提供 QoS 服务
  • 支持即插即用,自动配置,IPv4 若想自动配置需要采用 DHCP
  • 只允许源站进行分片,对于发送时经过的主机和路由器来说,若数据报过大则丢弃,同时向主机发送 ICMP 分组过大报文
  • 使用 ICMPv6 版本,其在 ICMP 的基础上又加了一系列的报文(例如:ICMP 分组过大报文)

【IPv6 数据报格式】

下图展示了 IPv6 数据报的一般形式,直观来看,相较于 IPv4 数据报,其将固定字段变为基本首部,将可选字段变为扩展首部,同时,引入了有效载荷的概念

对于 IPv6 的基本首部,具体格式如下:

其中,各字段含义如下:

  • 版本:占 $4bit$,指明协议的版本,对于 IPv6 来说,该字段总是 $6$
  • 通信量类:占 $8bit$,用来区分不同 IPv6 数据报的类别或优先级,目前正在进行不同的通信量类性能的实验
  • 流标号:占 $20bit$,是网络上从特定源点到特定终点的一系列数据报,流所经过的路径上的路由器都保证指明的服务质量,所有属于同一个流的数据报都具有同样的流标号
  • 有效载荷长度:占 $16bit$,有效载荷是指扩展首部与数据部分的长度,指明了 IPv6 数据除基本首部外的字节数,最大值为 $64KB$
  • 下一首部:占 $8bit$,相当于 IPv4 的协议字段或可选字段,表示上层协议或第一个扩展首部的类型
  • 跳数限制:占 $8bit$,源站在数据报发出时即设定跳数限制,路由器在转发数据报时将跳数限制字段中的值减 $1$,当跳数限制的值为 $0$ 时,就要将此数据报丢弃
  • 源地址:占 $128bit$,是数据报的发送站的 IP 地址
  • 目的地址:占 $128bit$,是数据报的接收站的 IP 地址

对于目的地址来说,IPv6 可以是以下三种基本类型地址之一:

  • 单播:即传统点对点通信
  • 多播:也称组播,一点对多点的通信,分组被交付到一组计算机的每台计算机
  • 任播:目的站是一组计算机,但数据报在交付时只交付其中的一台计算机,通常是距离最近的一台计算机

【地址形式】

IPv6 采用冒号十六进制来表示 IP 地址,即每 $4$ 位二进制数用一个十六进制表示,$128bit$ 的 IP 地址写成 $32$ 个十六进制数,同时,每 $4$ 个十六进制数用冒号隔开

进一步,在上述的记法采用压缩形式,每组中,若有连续的四个 $0$,可用一个 $0$ 来表示四个 $0$,若前面存在连续的 $0$,后面存在一个非零,可将连续的 $0$ 省略

例如,对于 4BF5:0000:000A:... ,可以压缩为 4BF5:0:A:...

此外,在压缩形式的基础上,可采用双冒号记法,即一串连续的 $0$ 可采用 $::$ 来取代,但这种记法在一个 IP 地址中只能出现一次,以便从总位数中推算省略 $0$ 的个数

例如,对于 FF05:0:0:0:0:0:0:B3,可记为 FF05::B3

【特殊地址】

在 IPv6 中,同样有一些具有特殊用途的地址

地址类型 二进制前缀 IPv6 表示 作用
未指定 全 $0$ ::/128 系统启动之初,尚未分配 IP 地址,对外请求 IP 地址时,作为源地址使用
环回地址 除最后一位为 $1$ 外,其余全 $0$ ::1/128 用于环回测试
多播地址 前八位为 $1$,其余全 $0$ FF00::/8 用于多播通信
本地链路单播地址 前十位为 1111 1110 10,其余全 $0$ FE80::/10 用于本地链路单播通信
全球单播地址 剩余所有 用于全球链路单播通信

【从 IPv4 到 IPv6 的过渡】

从 IPv4 到 IPv6 的过渡只能采取逐步演进的方法,同时必须令新安装的 IPv6 系统能够向后兼容,即 IPv6 系统能够接受和转发 IPv4 分组,且能为 IPv4 分组选择路由

目前,采取的过渡方法主要有两种策略:双协议栈技术隧道技术

双协议栈技术,是指在一台设备上同时安装 IPv4 和 IPv6 协议栈

当设备是主机时,会同时拥有 IPv4 和 IPv6 地址,且具备同时处理两个协议地址的功能;当设备是路由器时,路由器的不同接口上分别配置 IPv4 和 IPv6 地址,且可能分别连接 IPv4 和 IPv6 网络

隧道技术,是将整个 IPv6 分组封装到 IPv4 数据报的数据部分,使 IPv6 数据报可以在 IPv4 网络的隧道中传输

感谢您对我的支持,让我继续努力分享有用的技术与知识点!