跳到主要内容

13. Link-layer considerations (链路层考虑)

本节描述了将头压缩与 PPP (Point-to-Point Protocol) 一起使用时的链路层考虑.

13.1 PPP protocol numbers (PPP 协议号)

为头压缩分组分配以下 PPP 协议号:

Full header:              0x0061
Compressed TCP: 0x0063
Compressed non-TCP: 0x0065
Compressed TCP NODELTA: 0x2063
Context state: 0x2065

常规 IPv4 和 IPv6 分组使用标准 PPP 协议号 (IPv4 为 0x0021, IPv6 为 0x0057).

13.2 Negotiation (协商)

头压缩参数通过 PPP 的 IPCP (Internet Protocol Control Protocol) 或 IPV6CP (IPv6 Control Protocol) 进行协商.

可以协商的参数包括:

  • 是否启用头压缩
  • 最大 CID 值
  • 是否支持 16 位 CID
  • 压缩子头的最大长度

13.3 Packet format (分组格式)

使用 PPP 时, 头压缩分组的格式如下:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PPP Protocol (2 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Compressed header |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

对于完整头, 压缩头包括:

  • CID (1 或 2 个八位字节)
  • 对于非 TCP: 代 (6 位)
  • 未压缩的 IP 头和传输层头

对于压缩非 TCP 头, 压缩头包括:

  • CID (1 或 2 个八位字节)
  • 代 (6 位)
  • 随机改变的头字段

对于压缩 TCP 头, 压缩头包括:

  • CID (1 个八位字节)
  • 标志八位字节 (指示哪些字段已更改)
  • 已更改的字段 (编码为与先前值的差异)