1、PPP协议的组成
PPP协议有三个组成部分:
(1)个将IP数据包封装到串行链路的协议。PPP既支持异步链路(无奇偶校验的8b数据),也支持面向比特的同步链路。
(2)个用来建立、配置和测试数据链路的链路控制协议(Link Control Protocol,LCP)。在RFC 1661中定义了11种类型的LCP分组。
LCP具有三个主要功能:
按规定方式建立链路。
确定运用该链路所需的配置。
当链路上会话结束时,PPP正确无误地释放该链路。
(3)套网络控制协议(Network Control Protocol,NCP),支持不同的网络层协议,如IP、AppleTalk等。PPP利用NCP协商第三层协议使用的选项和参数。NCP支持对各种协议的处理及分组的压缩和加密。此外,在NCP中还对压缩整个分组数据的CCP(The PPP Compression Control Protocol,RFC1962)进行协商。
2、PPP的认证协议
PPP的认证协议有密码验证协议(Password Authentication Protocol,PAP)和挑战握手验证协议(Challenge-Handshake Authentication Protocol,CHAP)。
PAP是种简单的两次握手明文验证协议。被验证方直接将用户名和密码传递给验证方。验证方将这个用户名和密码与自己用户命令配置的用户列表进行比较,如果相同则通过验证。
CHAP是种加密的三次握手协议,能够避免建立连接时传送用户的真实密码。验证时,验证方生成段随机报文传递到对方,并同时将本端的主机名附带上起发送给被验证方。被验证方接到对本端的验证请求时,便根据此报文中验证方的主机名和本端的用户表查找用户密码字,用此用户的密码对这段随机报文进行加密,然后与自己的用户名起传递给对方。验证方根据对方的用户名查找用户列表,找到对应的密码,用这个密码对随机报文加密,与对方加密的随机报文比较,若相同则验证通过,否则失败。CHAP不用在网络上传递密码,保密性较好。