报头格式简化
IPv6 简化了 IP 报头,这是通过整个地除去或移动到扩展报头实现的,其中某些字段也在 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 |
| 项 | 描述 | 描述 | 描述 | 描述 |
|---|---|---|---|---|
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 安全性
- 针对目标节点的目标选项(被路由器忽略)。