LCP 用于就封装格式选项自动达成一致,处理数据包大小限制的变化,探测环路链路和其他普通的配置错误,以及终止链路。LCP 提供的其他可选功能有:认证链路中同等单元身份,和当链路功能正常或链路失败时的作出相应决定。PPP 中的 LCP 功能全面,适用于大多数环境。
LCP 包有 3 类:
- 链路配置包,用于建立和配置链路(Configure-Request、Configure-Ack、Configure-Nak 和 Configure-Reject)。
- 链路中止包被用于断开一个链路(Terminate-Request 和 Terminate-Ack)
- 链路维护包被用于管理和调试一个链路(Code-Reject、Protocol-Reject、Echo-Request、Echo-Reply 和 Discard-Request)。
为了简单化,LCP 包里没有版本字段。一个正确运作的 LCP 将总是对带有可以简单识别的 LCP 包的未知协议和代码进行响应,因此需要为其他版本的实现提供一个确定性的可靠机制。
不管启用哪种配置选项,都得发送所有的 LCP 链路配置,链路终止和代码 - 拒绝包(代码1到7),就像没有协商配置选项一样,而且每个配置选项都指定缺省值。这就保证了 LCP 包总可以被识别,甚至当链路的一个终端错误地认为该链路已经开放。
确切的说一个 LCP 包被封装在 PPP 信息字段中,该 PPP 协议字段表示类型为十六进制 c021(链路控制协议)。
协议结构
| 8 | 16 | 32 bit | variable |
| Code | Identifier | Length | Data |
- Code ― 十进制值,表示 LCP 数据包类型。
- 1 - Configure-Request
- 2 - Configure-Ack
- 3 - Configure-Nak
- 4 - Configure-Reject
- 5 - Terminate-Request
- 6 - Terminate-Ack
- 7 - Code-Reject
- 8 - Protocol-Reject
- 9 - Echo-Request
- 10 - Echo-Reply
- 11 - Discard-Request
- 12 - Link-Quality Repor
- Identifier ― 十进制值,表示匹配 Request 和 Reply。
- Length ― LCP 数据包长度,包括 Code、Identifier、Length 和 Data 字段。
- Data ― 可变长字段,可能包括一或多个配置选项。
相关协议:PPP、PPPoE、PPPoA、SLIP、CHAP、HDLC、NCP
组织来源:LCP 由 IETF(http://www.ietf.org/)定义。
相关链接:
http://www.javvin.com/protocol/rfc1570.pdf: PPP LCP Extensions.
http://www.javvin.com/protocol/rfc1661.pdf: The Point-to-Point Protocol (PPP)


