IP 控制协议(IPCP)和 IPv6 控制协议(IPv6CP)是一种网络控制协议,用于建立和配置 PPP 上的 IP 或 IPv6,它提供一种方法,通过 PPP 协商和使用 Van Jacobson TCP/IP 头部压缩。
IPCP 主要负责在点对点链接终端双方上配置,可用及停用 IP 协议模块。IPCP 使用与链接控制协议(LCP)相同的包交换机制。但只有在 PPP 达到网络层协议阶段时,IPCP 包才可以被交换。在达到这种阶段前接收的 IPCP 包需要被丢弃掉。
在任意 IP 包可能被传送之前,PPP 必须达到网络层协议阶段,并且 IP 控制协议必须处于公开状态。
Van Jacobson TCP/IP 头部压缩将 TCP/IP 协议头的大小减少至 3 字节。这对于低速串行线路,特别是交互式通信来说都是非常重要的。
IP 压缩协议配置选项指出了接收压缩包的能力。如果需要双向压缩,那么每一个链接终端必须分别请求该选项。
IPv6CP 主要负责在点对点链接终端双方上配置,可用及停用 IPv6 协议模块。IPv6CP 使用与链接控制协议(LCP)相同的包交换机制。但只有在 PPP 达到网络层协议阶段时,IPv6CP 包才可以被交换。在达到这种阶段前接收的 IPv6CP 包需要被丢弃掉。
协议结构
IPCP 和 IPv6CP 配置选项数据包头:
| 8 | 16 | 32 bit |
| Type | Length | Configuration Option |
- Type ― 类型1:IP 地址;类型2:IP 压缩协议;类型3:IP 地址
- Length >= 4
- Configuration Option ― 该字段为16位,可以选择以下一种类型:
对于IPCP:
- Type 1:IP 地址
- Type 2:IP 压缩协议
- Type 3:IP 地址
对于IPv6CP:
- Type 1:接口标识符
- Type 2:IPv6 压缩协议
IPCP 和 IPv6CP 头结构:
| 8 | 16 | 32 bit |
| Code | Identifier | Length |
| Data (variable) | ||
- Code ― 规定实现的功能
- Identifier ― 匹配请求和答复
- Length ― 数据包大小(包含头)
- Date ― Length 字段规定的0或多字节数据。该字段可能有一个或多个选项。
相关协议:IP、IPv6、PPP、TCP、Van Jacobson
组织来源:IPCP 由 IETF(http://www.ietf.org)定义在 RFC 1332,IPv6 定义在 RFC 2472中。
相关链接:
http://www.javvin.com/protocol/rfc2472.pdf:IP Version 6 over PPP — The PPP Internet Protocol Control Protocol (IPCP)
http://www.javvin.com/protocol/rfc3241.pdf:Robust Header Compression (ROHC) over PPP
http://www.javvin.com/protocol/rfc3544.pdf:IP Header Compression over PPP


