跳到主要内容

6. 压缩头格式 (Compressed Header Formats)

6. 压缩头格式 (Compressed Header Formats)

本节使用了第 7 节中定义的一些术语(DELTA、RANDOM)。

a) COMPRESSED_TCP 格式(类似于 [RFC 1144]):

            +-+-+-+-+-+-+-+-+
| CID |
+-+-+-+-+-+-+-+-+
|R O I P S A W U|
+-+-+-+-+-+-+-+-+
| |
+ TCP Checksum +
| |
+-+-+-+-+-+-+-+-+
| RANDOM fields, if any (see section 7) (implied)
- - - - - - - -
| R-octet | (if R=1)
- - - - - - - -
| Urgent Pointer Value (if U=1)
- - - - - - - -
| Window Delta (if W=1)
- - - - - - - -
| Acknowledgment Number Delta (if A=1)
- - - - - - - -
| Sequence Number Delta (if S=1)
- - - - - - - -
| IPv4 Identification Delta (if I=1)
- - - - - - - -
| Options (if O=1)
- - - - - - - -

第二个字节中的后续标志位(IPSAWU)与 [RFC-1144] 中含义相同,无论 TCP 段是由 IPv6 还是 IPv4 承载。C 位已被取消,因为 CID 始终存在。与 CID 关联的上下文会记录 IP 版本以及存在哪些 RANDOM 字段。此处规定的 delta 字段之间的顺序与 [RFC-1144] 完全一致。实现通常会从上下文开头扫描,并按顺序插入 RANDOM 字段。因此,RANDOM 字段被放在 TCP 头的 DELTA 字段之前,顺序与它们在原始未压缩头中出现的顺序相同。

I 标志为零,除非一个 IPv4 头紧接在 TCP 头之前。此时 IPv4/TCP 组合头作为一个单元进行压缩,如 [RFC-1144] 所述。IPv4 头中那些后面没有紧跟 TCP 头的 Identification 字段为 RANDOM。

如果设置了 O 标志,则表示 TCP 头的 Options 与前一个头不同。整个 Option 字段被放在压缩 TCP 头的最后。

如果设置了 R 标志,则表示上下文与当前头之间存在差异(例如 ToS 或 TTL 改变),这些差异通过 R-octet 携带。