位偏移 0-3 4-11 12-15 16-23 24-31
0 版本(Version) 流量类别(Traffic Class) 流标签(Flow Label)
32 载荷长度(Payload length) 下一报头(Next Header) 跳数限制(Hop Limit)
64 源IP地址(Source IP Address)
96
128
160
192 目标IP地址(Destination IP Address)
224
256
288
320 扩展报头(Extension Headers)

版本(Version)- 4bits

用于标识IP协议的版本。对于IPv6,该字段固定为值 6。

流量类别(Traffic Class)- 8bits

与IPv4 Header中的区分服务相同

流标签(Flow Label)- 20bits

IPv6 新增且重要的字段,它允许源节点标记一系列需要 IPv6 路由器特殊处理的连续数据包。

一个流通过源地址与非零 Flow Label的组合来唯一标识。如果数据包不属于任何需要特殊处理的流,Flow Label 必须设置为零。源节点为流分配 Flow Label 时,必须从 1 到 FFFFF (十六进制) 范围内随机且均匀地选取新的标签。这种随机分配提高了 Flow Label 作为哈希键的适用性,使路由器能够快速查找与该流相关的缓存状态信息,从而避免对后续字段或扩展报头的重复检查,大幅提升处理速度。

载荷长度(Playload length)- 16bits

指定了 IPv6 数据包的有效载荷长度(扩展报头+协议报头+数据,单位字节)。

与IPv4不同,不包括40 字节 IPv6 基本报头。

允许有效载荷最大达到 65,535 字节。对于超过此限制的巨型数据包(Jumbograms),该字段必须设置为零,而实际的长度则在 Hop-by-Hop Options 扩展报头中定义的 Jumbo Payload 选项中指定。Jumbograms 可携带高达 字节的数据,主要用于超高速数据中心或超级计算机内部。

下一报头(Next Header)- 8bits

它标识了紧跟在当前报头之后的下一个报头类型。这个后继报头可能是一个 IPv6 扩展报头(例如 Fragment Header, 代码 44)或一个上层传输协议报头(例如 TCP, UDP, 或 ICMPv6)。

该字段在功能上取代了 IPv4 的 Protocol 字段,但其作用范围被扩展为支持 EH 链机制。如果 Next Header 指示的是一个扩展报头,则该扩展报头内部将包含另一个 8 位 Next Header 字段,继续指导处理器沿报头链前进,直到到达最终的上层协议。

跳数限制(Hop Limit)- 8bits

Hop Limit 字段定义了数据包可以穿越的最大路由数量。其功能与 IPv4 的 Time to Live (TTL) 字段完全相同 。

当数据包经过每个中间节点(路由)时,Hop Limit 值必须减 1。如果 Hop Limit 减至零,路由器必须丢弃该数据包,并向源节点发送一个 ICMPv6 错误消息,以此机制防止数据包在网络中无限循环。

源IP地址(Source IP Address)

源IPv6 地址

目标IP地址(Destination IP Address)

目标IPv6地址

与IPv4 Header的对比

IPv6 在设计上摒弃了 IPv4 中一些被认为冗余或影响高性能的字段,从而实现了对中间路由器处理的极大简化。

IPv4 字段IPv6 状态原理/替代机制
Internet Header Length (IHL)移除IPv6 报头固定为 40 字节。
Header Checksum移除因上层协议或链路层已提供校验,故冗余;移除可避免在每跳路径上重新计算校验和,加速转发。
Identification, Flags, Fragment Offset移动/移除分片功能仅由源节点通过可选的 Fragment Extension Header 执行。
Type of Service (ToS)替换功能由 Traffic Class 字段替换。
Options & Padding移动/移除功能由灵活的 IPv6 扩展报头链替换。因固定长度,填充不再需要。

Header Checksum(报头校验和)的移除是 IPv6 提升性能的关键举措。在 IPv4 中,由于 TTL 字段在每跳都会被递减,路由器必须重新计算报头校验和,显著降低了转发速度。IPv6 相信数据完整性可以由上层协议(如 TCP、UDP)或链路层协议(FCS)保证,因此移除校验和,极大地减少了路由器在数据包转发路径上的处理负担。

Fragmentation(分片)字段的移除同样重要。在 IPv4 中,分片处理可能发生在路径上的任何路由器。IPv6 将分片控制字段全部移至可选的 Fragment Extension Header 中,并强制规定分片只能由源节点执行。这一改变使得路由器无需浪费资源处理分片逻辑,进一步优化了硬件转发路径。

最后修改:2025 年 09 月 29 日
如果觉得我的文章对你有用,请随意赞赏