Home IPv6 协议
Post
Cancel

IPv6 协议

随着 Internet 的快速发展,IPv4 已经不适用了

其有 IP 地址空间耗尽问题、安全性问题以及服务质量问题等。

解决 IP 地址耗尽问题的措施如下:

  • 采用无类别编址 CIDR,使 IP 地址的分配更加合理
  • 采用网络地址转换 NAT 方法以节省全球 IP 地址
  • 采用具有更大地址空间的新版本 IP 协议 IPv6

IETF 于 1992 年提出了推出下一代 IP,即 IP Next Generation,也称为 IPv6。

IPv6 于 1998 年称为标准草案,RFC 2460—2463。

IPv6 引入的主要变化有:

  • 更大的地址空间,由 IPv4 的 32 位增大到了 128 位
  • 扩展的地址层次结构,有多种组织方式
  • 灵活的首部格式
  • 改进的选项
  • 允许协议继续扩充
  • 支持即插即用,自动配置
  • 支持资源的预分配

IPv6 地址


IPv6 数据报的目的地址可以是三种基本类型地址之一

  • 单播 (unicast):传统的点对点通信
  • 组播/多播 (multicast):一点对多点的通信

  • 任意播 (anycast):IPv6 增加的类型,任意播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

IPv6 地址采用冒号十六进制记法 (colon hexadecimal notation)

每个 16 位的值用十六进制值表示,各值之间用冒号分隔。

例如:68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF

CIDR 的斜线表示法仍然可用

例如 60 位前缀的 12AB00000000CD3 可记为:

12AB:0000:0000:CD30:0000:0000:0000:0000/60

或者采用零压缩结合点分十进制的后缀的 12AB::CD30:0:0:0:0/60 与 12AB:0:0:CD30::/60

IPv6 首部


IPv6 的数据报结构如下:

  • 首部长度固定为 40 字节,称为基本首部 (base header)
  • 取消了不必要的功能,首部字段数减少到 8 个
  • 取消了首部的校验和字段,加快了路由器处理数据报的速度
  • 在基本首部的后面允许有零个或多个扩展首部
  • 所有的扩展首部和数据合起来,称之为数据报的有效载荷 (payload)

基本首部

基本首部的字段数为 8 个

版本 Version

4 位,协议版本。对于 IPv6 而言,该字段为 6。

流量类别 Traffic class

8 位,用于区分 IPv6 数据报的类别或优先级。

流标号 Flow label

流,是从特定源点到特定终点的一系列数据报。其所经过路径上的路由器都保证特定的服务质量,所有属于同一个流的数据报都具有相同的流标号。

有效载荷长度 Payload length

16 位,标识数据报除去基本首部以外的长度,最大值为 64KB,单位为字节数。

下一个首部 Next header

8 位,相当于 IPv4 的协议字段或可选字段。

跳数限制 Hop limit

8 位,数据报发出时设定跳数限制,路由器在转发数据报时,将该字段的值减 1。

当其为 0 时,则将此数据报丢弃。

源地址 Source address

128 位,数据报发送方的 IP 地址。

目的地址 Destination address

128 位,数据报接收方的 IP 地址。

扩展首部

原 IPv4 首部中的选项功能都放在 IPv6 扩展首部中

数据报途中所经过的路由器不处理除逐跳选项以外的扩展首部,扩展首部由源和目的站的主机处理,因此路由器的处理效率大大提高。

在 RFC 2460 中,定义了六种扩展首部

  • 逐跳选项
  • 路由选择
  • 分片
  • 鉴别
  • 封装安全有效载荷
  • 目的站选项

IPv4 向 IPv6 过渡


向 IPv6 的过渡只能采用逐步演进的方法,还必须使新安装的 IPv6 系统能够向后兼容。

IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。

目前实现 IPv4/IPv6 互操作的技术主要有双协议栈以及隧道技术

双协议栈 (dual stack)

主机或路由器装有两个协议栈,一个 IPv4 和一个 IPv6,根据需要使用不同的协议栈进行通信

隧道技术 (tunneling)

将 IPv6 数据报重新封装后,通过 IPv4 网络传输,即 IPv6 数据报作为 IPv4 数据报的数据部分。

重新封装为 IPv4 数据报后,IPv4 包头中协议类型字段为 41

This post is licensed under CC BY 4.0 by the author.

应用层 Application Layer

冒泡排序 Bubble Sort