IPv6的报头

IPv6的头部结构是该协议的关键特性之一,它与IPv4相比具有更大的地址空间,但头部只增加了相对较小的大小。IPv6头部包括固定报头和可选的扩展报头,这些头部提供了路由和处理数据包所需的信息。

固定标题

img

IPv6固定报头的长度为40字节,包括以下字段和信息:

  1. 版本 (4位): 表示使用的IPv6版本,始终为0110。
  2. 流量类 (8位): 包括服务类型的6位字段,用于指示路由器如何处理数据包,以及2位的显式拥塞通知 (ECN) 字段。
  3. 流标签 (20位): 用于标识数据包所属的数据流,有助于维护数据包的顺序。
  4. 有效负载长度 (16位): 用于指示数据包的有效负载长度,包括扩展报头和上层数据。
  5. 下一个报头 (8位): 指示下一个报头的类型,或者如果没有扩展报头,则指示上层协议类型。
  6. 跳跃限制 (8位): 类似于IPv4的TTL字段,用于限制数据包在网络中的生存周期。
  7. 源地址 (128位): 指示数据包的源地址。
  8. 目标地址 (128位): 指示数据包的目标地址。

扩展头

IPv6的扩展报头包含了额外的信息,这些信息通常在固定报头之后,但在上层数据之前。扩展报头提供了各种可选信息,以帮助路由器处理数据包和数据流。扩展报头的顺序应按照RFC 2460的要求来排列,其中一些必须支持的扩展报头包括:

  • Hop-by-Hop选项扩展报头: 包含路由器需要处理的选项,例如源路由和记录路由。
  • 目标选项扩展报头: 提供目标节点或下一跳路由器的选项。
  • 路由选项扩展报头: 用于源节点和目标节点之间的数据包的特殊路由处理。
  • 片段扩展报头: 用于数据包片段的传输和重新组装。
  • 认证扩展报头: 用于对数据包进行认证和完整性检查。
  • 加密扩展报头: 用于对数据包进行加密。

根据RFC 2460,必须支持以下扩展报头:

img

扩展报头的顺序应该是:

img

这些标题:

  • 1.应由第一个和后续目的地处理。
  • 2.应由最终目的地处理。

这些扩展报头可以按照链表方式连接,一个接一个地排列。在数据包的传输过程中,路由器和节点将根据需要处理这些扩展报头,以确保数据包按照正确的方式路由和处理。扩展报头的存在使IPv6成为一个非常灵活且可扩展的协议。如下图所示:

img

成功