English Site
 高级搜索

网络大典博客 网络大典维基 网络大典问答 网络大典群组 佳文科技产品 网络大典首页

LCP:PPP 链路控制协议 (PPP Link Control Protocol)

LCP 用于就封装格式选项自动达成一致,处理数据包大小限制的变化,探测环路链路和其他普通的配置错误,以及终止链路。LCP 提供的其他可选功能有:认证链路中同等单元身份,和当链路功能正常或链路失败时的作出相应决定。PPP 中的 LCP 功能全面,适用于大多数环境。

LCP 包有 3 类:

  1. 链路配置包,用于建立和配置链路(Configure-Request、Configure-Ack、Configure-Nak 和 Configure-Reject)。
  2. 链路中止包被用于断开一个链路(Terminate-Request 和 Terminate-Ack)
  3. 链路维护包被用于管理和调试一个链路(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 ― 可变长字段,可能包括一或多个配置选项。

相关协议:PPPPPPoEPPPoASLIPCHAPHDLCNCP

组织来源: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)