PPP 点到点协议,不需要ARP解析,不需要MAC封装,只需要把报文发到该链路就可以了。PPP以及衍生的pppoe子协议等成为目前广域网连接和宽带接入最多的数据链路层协议

PPP的三大组件

LCP:数据链路层协议

  用来检测物理环路 协商链路参数,检测链路状况的。同时对链路配置的时候进行一些可选参数的协商
        MRU  最大接受单元
        魔术字
        认证方式
        链路压缩

LCP的协商过程

链路两端交互config -request 配置请求
同意对方的链路参数(回复报文config-ack) 不同意则参数回复(config-nak)
连续10次没收到config-request报文的回应,则认为对方不可用

NCP:网络控制层协议

  用于对不 同网络层协议进行建立和参数协商

协议封装方式:提供一种将网络层封装到串行链路的方法,ppp及支持面向字符的异步串行链路,也支持面向比特的同步传输

PPP的认证方式:

PAP 两次握手协议

被认证方发起请求,发送用户名和密码,认证方根据本地用具表查看是否存在该用户和口令是否正确
然后返回认证通过或者不通过
PPP协议

CHAP 挑战三次握手协议

它只在网路上传输用户名和密码为原始参数的一部分hash值,而并不是传输密码,因此要比PAP安全性高
程序如下:
1.主认证方发起挑战,向被认方发送一些随机产生的报文,并同时将本段的用户名附带发给被认证放方
2.被认证方接收到主认证方的请求时,被认证方根据报文中认证放的用户名查找用户密码
3.认证方接受到该报文后,根据报文中被认证方的用户密码在自己本地用户数据据库中查找被认证方的用户和密码(该密码和md5的算法对最初随机的报文加密)然后将加密的结果和被认证方的加密结果进行比较

PPP的建立过程

PPP协议

dead阶段-链路不用阶段:

整条链路都处于不可用阶段,ppp链路都需要从这个阶段开始和结束。当两端的检测到物理链路激活就从从这个阶段进入数据链路层,

链路层建立阶段:

这个阶段ppp将进行lcp检测,协商成功后将进入opend状态,表示底层链路已经就建立,如果协商失败则回到第一阶
段,如果建立成功且配置了ppp验证,则进行ppp认证阶段,认证成功则进入网络层协议阶段,如果认证失败,则进入链路终止阶段,LCP的状态也会转为down。如果没配置认证,则直接进入网络层协议

网络层协议状态:

ppp完成前边的几个阶段,相应的网络层协议(ip ipxcp)会通过各自的网络控制协议配置,只有相应的网络层协议协商成功后,该网络层协议才会提供这条ppp链路发送报文。

LINK OPEN阶段

ppp建立成功,开始传输数据

ppp的特点

支持同步,异步串行链路
支持多种网络层协议
支持及各种参数的协商
支持错误检测
支持用户认证
支持进行数据压缩