报头格式简化

IPv6 简化了 IP 报头,这是通过整个地除去或移动到扩展报头实现的,其中某些字段也在 IPv4 报头中出现。 它为可选的信息(扩展报头)定义了一种更灵活的格式。

要特别注意以下内容是没有的:

  • 报头长度(长度是常量)
  • 标识
  • 标志
  • 段偏移量(移到段扩展报头中)
  • 报头校验和(上层协议或安全性扩展报头处理数据的完整性)
表 1. IPv4 报头
描述 描述 描述 描述
Version IHL Type of Service Total Length  
Identification Identification Identification Flags Fragment Offset
Time to Live Time to Live Protocol Header Checksum Header Checksum
Source Address Source Address Source Address Source Address Source Address
Destination Address Destination Address Destination Address Destination Address Destination Address
Options Options Options Options Padding
表 2. IPv6 报头
描述 描述 描述 描述
Version Prio   Flow Label  
Payload Length Payload Length Payload Length Next Header Hop Limit
Source Address Source Address Source Address Source Address Source Address
Destination Address Destination Address Destination Address Destination Address Destination Address

IPng 包含在 IPv4 上改进的选项机制。 IPv6 选项放在分离的扩展报头中,这些报头位于包中的 IPv6 报头和传输层报头之间。 大多数扩展报头在包的传递路径上都不会被任何路由器检查或处理,直到包到达最终目的地为止。 该机制使路由器用于包含选项的包时性能大大提高。 在 IPv6 中任何选项的存在都要求路由器检查所有选项。

另一个改进是,不像 IPv4 选项,IPv6 扩展报头可以是任意的长度且包所带的选项总量不受 40 字节的限制。 该特征和处理的方式允许 IPv6 选项用作一些功能,这些功能在 IPv4 中是不实际的,比如 IPv6 Authentication 和 Security Encapsulation 选项。

为了提高处理后面的选项报头和后面的传输协议时的性能,IPv6 选项一定是八位元长度的整数倍,才能保持与后面的报头对齐的状态。

通过使用扩展报头而不是用协议说明符和选项段,最新定义的扩展能够更容易地集成。

当前规范通过以下方式定义扩展头:

  • 逐跳点选项,它适用于沿着路径的每个跳点(路由器)
  • 用于宽松/严格的源路由的路由报头(不经常使用)
  • 段将包定义为一个段且包含了段信息(IPv6 路由器不分段)
  • 认证 (请参阅 安全 中的 TCP/IP 安全性
  • 加密 (请参阅 安全 中的 TCP/IP 安全性
  • 针对目标节点的目标选项(被路由器忽略)。