PPP的定义:
- 点到点协议
- 在串行线路上运行的协议
- 支持同步和异步接口
PPP的特点:
- 支持身份验证
- 支持网络层地址自动协商
PPP工作阶段:
- LCP 阶段 [链路层控制协议] 链路状态协商 协商、双方是SP[单线PPP]还是MP[将多条PPP聚合成一条]、 协商MRU[PPP的最大传输单元]、 魔术字[防环,每次发送一个LCP协商报文随机产生6位数的魔术字,检测发出去的魔术字与后面收到的魔术字是否相同,相同则有环路]、
- 验证阶段 可有可无、可选项,没有配置验证的情况,一阶段完成直接进入三阶段
- NCP 阶段 [网络层控制协议] IP地址协商 协商相互的IP地址
PPP 会话流程:
> Dead:
- 物理层不可用阶段、检测到物理线路激活时,从Dead阶段迁移到Establish
> Establish:
- PPP链路进行LCP协商
- 参数协商成功后会进入Opened
- 其中认证方式有三种分别是PAP、CHAP、不认证
> Authenticate:
- 认证阶段、通过后进入到网络层阶段
- 如果收到Configure-Request会从新回到链路建立阶段
> Network:
- NCP协商阶段。
- 协商成功后,网络层协议才能通过这条PPP链路发送报文
- 同样,收到Configure-Request会从新回到链路建立阶段
> Terminate:
- 所有资源都被释放
- 通信双方回到Dead阶段,直到双方通信重新建立PPP连接
> NCP:
- 协商成功后,PPP链路将保持通信状态
- 如果物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等 动作都有可能导致链路进入Terminate阶段
PPP的身份验证方法
> PAP
- 两次握手的协商过程
- 以明文的形式发送密码
- 认证成功返回:<code>Authenticate-ACK</code>
- 认证失败返回:<code>Authenticate-NAK</code>
- 被验证方将<code>用户名</code> <code>密码</code>发送给验证方做检查,是否正确
- 正确之后将通过,错误则拒绝
> CHAP(重点)
- 三次握手协商过程
- 主验证方将<code>主机名</code> <code>随机报文[十六进制随机数]</code>也就是<code>[挑战字Challenge]</code>发送给被验证方
- 被验证方会将<code>[挑战字Challenge]</code> <code>[密码]</code>进行MD5加密计算后的密码重新发送给主验证方
- 主验证方会与本端存储的密码进行MD5加密计算对比Hash值结果进行比对:成功或失败 两者区别:
PPP的验证分类:
> 单向验证
- 主验证方对被验证方进行验证
> 双向验证
- 双方都进行验证
PPP-MP[聚合]的定义:
- 将两个路由器之间多条PPP链路捆绑成一条逻辑PPP链路
- 类似于二层的端口聚合
PPP-MP[聚合]的功能:
- 实现链路冗余
- 实现负载均衡
- 增加链路带宽
PPP-MP[聚合]的实现方式:
一种是通过虚拟接口类实现MP(Virtual Template): 可以利用用户名进行确定捆绑 一个VT接口可以派生多个捆绑
一种是利用MP-Group接口来实现MP(常): MP-Group是MP的专用接口,一个MP-Group只能对应一个绑定
PPP-MP[聚合]的要点:
- IP地址配置在MP[逻辑]口上
- 身份验证配置在[物理]口上
PPP的配置流程
代码语言:javascript复制[Serial] ppp authentication-mode [pap/chap]
//设置接口开启验证[pap/chap]
[Serial] ppp pap local-user [name] password [simple/cipher] [password]
//配置pap验证的用户和密码
[Serial] ppp chap user [name]
//配置chap验证的用户
[Serial] ppp chap password [simple/cipher] [password]
//配置chap验证用户的密码
[Serial] interface mp-group [id]
//进入PPP-MP接口,进入MP接口视图
[Serial] ppp mp mp-group [ID]
//将物理接口加入到MP口
//其中双向验证时,如果两端用于验证的密码一致,则在PPP接口下至能使用指定用户名,不用指定密码