PPP
PPP协议是一种点到点链路层协议,主要用于在全双工的同异步链路上进行点到点的数据传输。
PPP协议的特点
①PPP协议既支持同步传输也支持异步传输。而X.25、FR等链路层协议仅支持同步传输;SLIP仅支持异步传输。
②PPP协议具有很好的扩展性,在以太网中时,可以扩展为PPPoE。
③PPP协议提供了LCP(链路控制协议)用于链路层参数的协商;提供了NCP(网络控制协议)用于网络层参数的协商。
④PPP协议提供了CHAP(质询握手认证协议)、PAP(密码身份验证协议),更好的保证了网络的安全性。
⑤无重传机制,网络开销小,速度快。
PPP连接的建立过程
① Dead阶段:此阶段表示物理层不可用。当通信双方检测到物理线路激活时,会从Dead阶段变为Establish阶段(链路建立阶段)。
② Estblish阶段:此阶段进行LCP参数协商。内容包括最大接收单元MRU、认证方式等选项。当协商成功后,会进入Opened状态,表示底层链路已经建立;反之,则返回到Dead阶段。
③ Authenticate阶段:此阶段可有可无(多数情况下是有的)。如果需要认证,则在底层链路建立过程中必须进行认证。认证通过或无认证,则进入Network阶段;反之,则进入终止阶段,再返回到Dead阶段。
④ Network阶段:此阶段进行NCP协商。通过NCP协商来选择和配置一个网络层协议并进行网络参数的协商。只有相应的网络参数协商成功后,才会建立网络层通信。反之,则会进入终止阶段,在进入Dead阶段。
⑤ 当NCP协商成功后,PPP链路将保持通信状态。
⑥ Terminate阶段:此阶段所有资源都被释放,通信双方将回到Dead阶段。
PPP提供的两种认证协议
PAP认证过程(两次握手):
a. 被认证方将配置的用户名和密码信息使用Authenticate-Request报文以明文方式发送给认证方。
b.认证方收到被认证方发送的用户名和密码之后,根据本地配置的用户名和密码数据库进行匹配,若匹配,则返回Authenticate-Ack报文表示认证成功。否则返回Authenticate-Nak报文,表示失败。
CHAP认证过程(三次握手):
a. 认证方发送一个Challenge报文给被认证方,报文中包含Identifier信息与一个随机产生的Challenge字符串,此Identifier即后续报文使用的Identifier。
b. 被认证方收到此Challenge报文后,进行一次加密运算,运算公式为MD5(Identifier + 密码 + Challenge)。从而得到一个16字节长的摘要信息,然后将此信息和在端口上配置的CHAP用户名一起封装在Response报文中回应认证方。
c. 认证方收到被认证方发送的Response报文后,按照其中封装的用户名查找对应的密码,得到密码后,按照上面的计算公式也进行一次计算,计算结果与Response报文中的进行对比,相同则认证成功,不相同则认证失败。
在CHAP认证方式中,由于密码是加密之后传输,所有极大的提高了安全性。