1、PPP协商过程简述
典型的PPP链路协商过程分为三个阶段:链路建立阶段、认证阶段(可选)和网络协商阶段
2、PPP协议协商过程
一、LCP协商阶段:
1、双方分别将本地所配置的链路参数通过LCP Configuration Request报文发送给对方
在LCP Configuration Request中一定包含Magic Number信息。若配置了验证,会包含验证方法。设备也会根据其他配置来添加特定信息,如Multi-Link、压缩等.
2 若本地接受(认可)对方发送的LCP报文中的配置选项信息,则回应LCP Configuration ACK
LCP Configuration ACK的内容携带本地所接受的对方的LCP配置选项信息,ID字段为对端发送LCP Configuration Request中的
3 若本地不接受(不支持)对方发送的LCP报文中的配置选项信息,则回应LCP Configuration NAK或Reject.
LCP协商阶段总结
1.在LCP Configuration Request中携带Magic Number,并通知给对方。
Magic Number由链路两端的设备独立产生,用于独一无二地标识每台设备,主要作用是检测链路上是否存在环路。同时Magic Number还会在链路检测机制涉及的LCP Echo Request/Reply报文中携带。
2.若配置了验证,则会在此阶段对双方都支持的认证方法达成一致
3.除了Magic Number和认证方法以外,若配置了其他配置选项信息,也需要在LCP协商阶段达成一致
注:除了Magic Number不需协商达成一致以外,其他的配置选项信息双方必须经过协商达成一致,如果不一致,会通过LCP Configuration NAK/Reject消息来进行调整。
NAK:当发现配置选项信息不一致时,要求对方按照自己的LCP配置选项信息进行LCP协商
Reject:当发现自己不支持某些配置信息时,要求对方在发送LCP配置选项信息时不要携带本地所不支持的选项。
二、认证协商阶段(可选)
若配置了验证,会在LCP协商阶段对认证协议类型(CHAP或PAP)达成一致。并在此阶段完成验证工作。验证通过后,进入IPCP协商阶段。
PPP 支持两种验证方式:PAP 和 CHAP
· PAP为两次握手验证,口令为明文。PAP验证过程如下:
1) 被验证方发送用户名和口令到验证方;
2) 验证方根据用户配置查看是否有此用户以及口令是否正确,然后返回不同的响应。
· CHAP为三次握手验证,口令为密文(密钥)。CHAP 验证过程如下:
3) 验证方向被验证方发送一些随机产生的报文;
4) 被验证方用自己的口令字和 MD5 算法对该随机报文进行加密,将生成的密文发回验证方;
5) 验证方用自己保存的被验证方口令字和 MD5 算法对原随机报文加密,比较二者的密文,根据比较结果返回不同的响应。
三、IPCP协商阶段
双方交互IP地址,待双方接受对方的IP地址后,IPCP协商成功。
1.双方分别通过IPCP报文发送本端配置的IP地址信息;
2.双方若接收对端的IP地址,则各自返回IPCP Configuration ACK