Appendix A. Detailed classification of header fields (头字段的详细分类)
Appendix A. Detailed classification of header fields (头字段的详细分类)
本附录提供了 IPv4、IPv6、UDP 和 TCP 头字段的详细分类.这些表格显示了每个字段如何在头压缩中处理.
A.1 IPv6 header (IPv6 头)
| Field | Size | DEF | Tmpl | C | Tmpl & C | Inferred | Notes |
|---|---|---|---|---|---|---|---|
| Version | 4 | No | Yes | No | No | No | 常量 (6) |
| Traffic Class | 8 | No | Yes | Yes | No | No | 可能改变 |
| Flow Label | 20 | Yes | Yes | No | No | No | 定义字段 |
| Payload Length | 16 | No | No | No | No | Yes | 从帧长度推断 |
| Next Header | 8 | No | Yes | Yes | No | No | 可能改变 |
| Hop Limit | 8 | No | Yes | Yes | No | No | 可能改变 |
| Source Address | 128 | Yes | Yes | No | No | No | 定义字段 |
| Destination Address | 128 | Yes | Yes | No | No | No | 定义字段 |
A.2 IPv6 extension headers (IPv6 扩展头)
IPv6 扩展头的处理取决于扩展头的类型:
Hop-by-Hop Options header (逐跳选项头)
通常不压缩, 因为它可能在每跳改变.
Routing header (路由头)
最终目的地地址是定义字段.其他字段作为模板的一部分.
Fragment header (分片头)
标识字段不用于分组流识别.其他字段作为模板的一部分.
Destination Options header (目的地选项头)
作为模板的一部分.
Authentication Header (AH) (身份验证头)
SPI 是定义字段.序列号和认证数据在压缩头中发送.
Encapsulating Security Payload (ESP) (封装安全有效载荷)
SPI 是定义字段.序列号在压缩头中发送.
A.3 IPv4 header (IPv4 头)
| Field | Size | DEF | Tmpl | C | Tmpl & C | Inferred | Notes |
|---|---|---|---|---|---|---|---|
| Version | 4 | No | Yes | No | No | No | 常量 (4) |
| IHL | 4 | No | Yes | No | No | No | 常量 (通常为 5) |
| Type of Service | 8 | No | Yes | Yes | No | No | 可能改变 |
| Total Length | 16 | No | No | No | No | Yes | 从帧长度推断 |
| Identification | 16 | No | No | Yes | No | No | 随机改变 |
| Flags | 3 | No | Yes | Yes | No | No | 可能改变 |
| Fragment Offset | 13 | No | Yes | Yes | No | No | 分片时改变 |
| Time to Live | 8 | No | Yes | Yes | No | No | 可能改变 |
| Protocol | 8 | Yes | Yes | No | No | No | 定义字段 |
| Header Checksum | 16 | No | No | Yes | No | No | 每跳重新计算 |
| Source Address | 32 | Yes | Yes | No | No | No | 定义字段 |
| Destination Address | 32 | Yes | Yes | No | No | No | 定义字段 |
| Options | var | No | Yes | Yes | No | No | 很少使用 |
A.4 UDP header (UDP 头)
| Field | Size | DEF | Tmpl | C | Tmpl & C | Inferred | Notes |
|---|---|---|---|---|---|---|---|
| Source Port | 16 | Yes | Yes | No | No | No | 定义字段 |
| Destination Port | 16 | Yes | Yes | No | No | No | 定义字段 |
| Length | 16 | No | No | No | No | Yes | 从帧长度推断 |
| Checksum | 16 | No | No | Yes | No | No | 随机改变 |
A.5 TCP header (TCP 头)
| Field | Size | DEF | Tmpl | C | Tmpl & C | Inferred | Notes |
|---|---|---|---|---|---|---|---|
| Source Port | 16 | Yes | Yes | No | No | No | 定义字段 |
| Destination Port | 16 | Yes | Yes | No | No | No | 定义字段 |
| Sequence Number | 32 | No | Yes | Yes | No | No | 差分编码 |
| Acknowledgment Number | 32 | No | Yes | Yes | No | No | 差分编码 |
| Data Offset | 4 | No | Yes | Yes | No | No | 选项改变时改变 |
| Reserved | 4 | No | Yes | No | No | No | 通常为零 |
| Flags | 8 | No | Yes | Yes | No | No | 可能改变 |
| Window | 16 | No | Yes | Yes | No | No | 按原样发送 |
| Checksum | 16 | No | No | Yes | No | No | 按原样发送 |
| Urgent Pointer | 16 | No | Yes | Yes | No | No | 很少使用 |
| Options | var | No | Yes | Yes | No | No | 很少改变 |