一、LCP协商
协商内容
1、单链路还是多链路,即SP还是MP
2、MRU,即最大接收单元
3、验证方式
4、魔术字(用于环路检测)
魔术字主要用于PPP链路上检查环路,主要用于检查物理链路的环路,比如光纤打环测试的时候,就会出现发送的LCP报文中的魔术字和接收到的LCP报文的魔术字相同的情况;如果相同则会重新选取魔术字;
二、协商使用的报文
configuration-request :将需要协商的参数放在该报文中发送给对端
configuration-ack :如果确认对端发送过来的参数,就回送ack报文
configuration-nak :如果对端发送的报文中有些参数不接收,就将不接受的参数封装在nak报文中并回送给对端,希望它再下次协商中可以将该参数进行调整
configuration-reject:如果对端发送的报文中有些参数不能识别,就将不接受的参数封装在nak报文中并回送给对端,希望它再下次协商中可以将该参数进行调整
PS:参数如果协商五次还没有成功将会禁用该参数不再协商
三、协商失败的情况
configuration-request 如果连续发送十次,每次间隔30s,都没有回应就认为对端不可用,然后进入到dead阶段,然后又从dead阶段开始进行协商,周而复始
四、PAP验证的相关报文
Authentication-Request :该报文中会明文携带用户名和密码,用户将该报文发给验证方进行验证
Authentication-Ack :验证成功后进行确认
五、chap验证的相关报文
认证方先发送 challenge报文:该报文中含有 ID值 哈希值随机数
被认证方回应response :接收端将ID值和哈希值随机数,以及在该ppp链路上接口上进行身份验证的用户名密码,三个数值进行哈希运算,然后再将 “哈希运算结果,ID值,哈希随机数,用户名”返送给认证方
认证方 success报文 :认证方通过被认证方回送的报文,将ID值,哈希随机数,和I报文中用户名对应的密码一起做相同的哈希运算,然后将哈希运算结果与报文中的哈希运算结果进行比对,相同则发送success报文,表示成功验证。
认证方 failure报文 :如果没有验证成功则发送failure报文,如下图所示:
当验证三次不通过就会发送Terminate-Request报文,希望能够终止连接请求,对端回送Terminate-Ack报文表示同意,然后链路上就没有任何的PPP相关报文出现了。
六、IPCP的相文关报文
configure-request :包含该接口的IP地址,双方会进行IP地址的确认和协商
configuration-nak :如果对端发送的IP地址是0.0.0.0,那么如果接收到这个报文的这一端有配置remote address,那么就会在nak报文中将自己remote address发送给对端去使用。然后对端接收 到这个IP地址之后,就重新发送configuration-request报文,希望可以重新确认一次,确认成功后就会发送configuration-ack报文
configure-Ack :确认
如果一端配置了IP地址,一端没有配置IP地址,而且还没有配置remote address的相关配置,那么在一端发送configuration-request报文的时候,对端发现它没有配置IP地址,就会发送protocol-reject报文表示三层协议上是拒绝的,然后就会每隔一段时间发送一次configuration-request报文,这个可以认为手工修改,默认是,而且为了维持物理层链路的连接,LCP就会持续的发送LCP保活报文。
七、PPP的LCP链路保活报文
保活报文的内容和格式如下图所示:
保活报文针对的只是一个方向的物理链路,也就是说,双方都要向对方发送Echo Request报文,之后收到对方的Echo Reply报文之后才能确认对端的物理链路是正常的。