PPP组件
链路控制协议(LCP):用来建立、拆除和监控PPP数据链路。
认证:负责链路认证。
网络层控制协议(NCP):用于对不同的网络层协议进行连接建立和参数协商。
链路建立
链路down状态时为dead,当链路激活时双方进入Establish,然后进行LCP协商,如果协商失败进入fall,然后进入authenticate协商(可选)成功后进入NCP协商(IPCP),如果协商失败则进入terminate,把链路关闭掉后进入terminate状态。
认证
pap认证过程
被认证方向认证方发送认证请求(包含用户名和密码,都是明文),认证方接到认证请求后,根据被认证方发送来的用户名去到自己的数据库认证用户名密码是否正确,如果密码正确,PAP认证通过。否则,PAP认证未通过。认证请求发送Authenticate-request 报文,认证成功authenticate-ack或失败发送authenticate-nak报文。
认证方
aaa
loacl-user huawei password cipher huawei
loacl-user huawei service-type ppp
int s0/0/0
link-protocol ppp
ppp authentication-mode pap
被认证方
int s0/0/0
link-protocol ppp
ppp pap local-user huawei password cipher huawei
chap认证过程
认证方向被认证方发送challenge报文,该报文包含参数有挑战ID和一个随机数,被认证方根据挑战ID和随机数以及自己的密码hash出一个hash值,同时被认证方发送response报文,该报文包含参数有该hash值和ID以及用户名,认证方根据发送过来的用户名查找aaa数据库该用户名对应的密码,用改密码和ID以及随机数hash一个hash值,该值如果与被认证方的值相同则成功,发送success报文,否则失败,发送failure报文。
认证方
aaa
loacl-user huawei password cipher huawei
loacl-user huawei service-type ppp
int s0/0/0
link-protocol ppp
ppp authentication-mode chap
被认证方
int s0/0/0
link-protocol ppp
ppp chap user huawei
ppp chap password cipher huawei
LCP报文
Configure-request:包含发送者的试图与对端建立连接时使用的参数。
Configure-ack:表示完全接受对端发送的Configure-request的参数。
Configure-nak:表示对端发送的Configure-request中的某些参数在本端不被认可。
Configure-reject:表示对端发送的Configure-request中的某些参数本端不能识别。
LCP协商参数
最大接收单元MRU、认证协议、魔术字(为一个随机数,由于检测链路环路,如果收到的LCP报文中的魔术字和本端产生的魔术字相同,则认为链路有环路)。
IPCP静态地址协商
一方发送configure-request报文(包含本端的IP),对方发送configure-ack(包含本端的IP)。
IPCP动态地址协商
没有地址的一方通过配置ip add ppp-negotiate来动态获取地址,有地址的一方通过配置remote-address 3.3.3.3来为对方分配。