PPP在建立链路之前要进行一系列的协商过程,如图5所示。图6为PPP建链各阶段图。
PPP建链的具体过程如下:
(1)LCP协商,协商内容包括除RFC1661中所定义的选项之外,还要考虑PPPOA和PPPOE协议中规定的内容。
(2)LCP协商过后就到了Establish阶段,开始PAP或CHAP认证。PAP为两次握手认证,口令为明文。PAP认证过程如下:发送用户名同口令到认证方,认证方查看是否有此用户,口令是否正确,然后发送相应的响应。CHAP为三次握手认证,口令为密文(密钥)CHAP认证由认证方发送一些随机产生的报文,交给被认证,被认证方用自己的口令字用MD5算法进行加密,传回密文,认证方用自己保存的口令字及随机报文用MD5算法加密,比较二者的密文,根据比较结果返回响应的响应。
(3)认证成功即进行Network阶段协商(NCP),在IP接入中主要是IPCP协商(如IP地址和DNS地址的协商等)。任何阶段的协商失败都将导致链路的拆除。
(4)协商成功,则链路建立成功,可以开始传输网络层数据报文。
在PPP会话建立的时候,根据用户属性确定此用户的缺省路由和对应的网络接口,将之绑定在PPPCTL结构上,可以对用户上行数据包实现快速转发,不必让每个包去查找路由表。此方法对下行数据影响相对较小,因为在业务处理板上必须区分每一个会话,这只有通过检查数据包中的目的地址来实现。