「PPP」- 报文交换

  CREATED BY JENKINSBOT

链路建立流程

建立 PPP 链路,需要进行三个阶段的协商:
1)链路协商:通过LCP报文进行链路参数协商,建立链路层连接;
2)认证协商(可选):通过链路建立阶段协商的认证方式进行链路认证;
3)网络协商 :通过 NCP 协商,来选择和配置一个网络层协议,并进行网络层参数协商;

链路接口状态机

PPP协商由链路两端的接口完成。接口的状态表示了协议的协商阶段;

第一步、链路协商过程(LCP)

LCP 协商由不同的 LCP 报文交互完成,相互协商:
1)协商由任意一方发送 Configure-Request 报文发起;
2)如果对端接收此报文且参数匹配,则通过回复 Configure-Ack 响应协商成功;

参数匹配,协商成功

Magic Number:用于防环;

Configure-Request 需要相互发送。

参数相异,重新协商

在LCP报文交互中出现LCP参数不匹配时,接收方回复 Configure-NAK 响应告知对端修改参数然后重新协商;

参数未知,重新协商

在LCP报文交互中出现LCP参数不识别时,接收方回复 Configure-Reject 响应告知对端删除不识别的参数,然后重新协商;

第二步、认证协商过程(Auth)

链路协商成功后,进行认证协商(此过程可选)。认证协商有两种模式:PAP;CHAP;

PAP,Password Authentication Protocol

PAP 认证双方有两次握手。协商报文以明文的形式在链路上传输;

Auehenticate-Request,Authenticate-ACK(Authenticate-NAK)

CHAP,Challenge Handshake Authentication Protocol

CHAP认证双方有三次握手。协商报文被 HASH 后再在链路上传输;

第三步、网络协商过程(Network)

PPP认证协商后,双方进入NCP协商阶段,协商在数据链路上所传输的数据包的格式与类型;

以常见的 IPCP 协议为例,它分为:
1)静态地址协商。需要事先手动在链路两端配置IP地址,协商过程只是通知对方;
2)动态地址协商;

静态网络地址协商

动态网络地址协商

动态地址协商支持 PPP 链路一端为对端配置地址,即:某端未配置地址,另端已配置地址,此时零端负责分配地址;