ppp协议的优点:
1,ppp协议兼容性好-只要串口线缆支持全双通信,就可以支持ppp协议。
2,可移植性强--PPPoE
3,可以完成认证和授权过程
4,无重传机制,网络开销较小
PPP会话搭建
1,链路建立阶段--LCP
2,认证阶段---PPP认证(可选项)
3,网络层协议协商阶段--NCP
PPP链路建立过程
1.Dead阶段--物理层不可用--当物理层正常时,通讯双方的两端会跃迁到Establish状态。
2.Establish阶段----进行ppp的LCP参数协商。----如果在该状态下进行的LCP参数协商成功,则进入Open状态,表示底层链路已经建立。
如果该阶段协商内容中,确定需要认证,则进入认证阶段,否则进入到网络协议协商阶段。
3.Authenticate阶段---大多数情况下,链路两端的设备是需要经过认证阶段的。
在默认情况下,ppp链路的建立是不需要经过认证阶段
如果认证成功,则进入到网络层协议协商阶段,若认证失败,则直接返回链路建立阶段
4.Network阶段--网络层协议阶段协商成功后,ppp链路将保持通讯状态。
ppp链路运行过程中出现物理链路断开,定时器超时,手工干预等动作使链路中断,则会进入到下一个阶段
5.Terminatel阶段--该阶段是在释放连接所使用的设备资源,若所有资源被释放则通讯双方恢复到Dead状态,则两者重新建立ppp连接。
PPP数据帧结构
LCP--链路控制协议(用于ppp会话建立第一阶段的协商)
NCP--网络控制协议(如果网络层需要使用IP协议,则NCP协商时使用IPCP协议,互联网控制协议)
LCP协议报文类型
链路配置报文
链路终止报文
Terminate----Request:终止请求
Terminate--Ack:终止确认
链路维护报文
echo--Request:回波请求
echo--reply:回波应答
链路建立阶段---LCP建立
1.MRU值:ppp数据帧中所允许携带的最大数据单元,单位字节,默认1500
2.是否认证,以及使用何种认证方式----可选
3.魔术字:用来检测链路中是否存在环路,随机生成;当接受到一定量的魔术字相同的数据包后,会判断网络中确实存在环路,该链路协商不成功被阻断。
如果RTA没收到ACK报文,则每3秒重传一次Request报文。在连续发送十次后,若还没有收到ACK回复,则认为对端不可用,停止发送Request报文
当RTB不认可RTA发送的部分参数取值,则会回复NAK报文,该报文中携带的内容是部分不认可参数以及可以接受参数的取值。
当RTB不认识RTA发送的某些参数时,则会回复Reject报文,该报文中只携带不能被识别的链路层参数。
认证阶段
ppp认证,是通过调用AAA协议框架(认证,授权,计费)完成。
ppp认证可以是单向的,也可以是双向的,一般选择单向认证
ppp会话认证是一次性会话方式,当第一次链路建立完成后,后续修改认证方式不会影响链路通讯。
PAP--密码认证协议---两次握手
被认证方以明文的形式将用户名和密码传递给认证方
配置内容
认证方:
创建用户信息
[r2-aaa]local-user huawei password cipher 123456
[r2-aaa]local-user huawei service-type ppp
配置认证方式
[r2-Serial4/0/0]ppp authentication-mode pap
被认证方:
[r1-Serial4/0/0]ppp pap local-user huawei password cipher 123456
CHAP---挑战握手协议--三次握手
认证过程
认证先发送挑战报文,里面包含了认证方的用户名和一个随机值。
被认证方收到后,需要根据用户名信息去查找对应的密码,然后将密码和随机值一起做HASH运算得到摘要值。然后发送给认证方。
认证方(散列函数)--将任意长度的输出转换为固定长度的输出
特别:1,相同输入相同输出 2,不可逆 3,具有雪崩效应
配置方法
认证方:
[r2-aaa]local-user hcip password cipher 654321
[r2-aaa]local-user hcip service-type ppp
[r2-Serial4/0/0]ppp authentication-mode chap
被认证方:
[r1-Serial4/0/0]ppp chap user hcip [r1-Serial4/0/0]ppp chap password cipher 654321
一条ppp链路的两端可以使用不同得的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议并配置正确的用户名和密码
网络层协议协商阶段-----NCP协商
协商内容:
1,IP报文的压缩方式
2,IP地址---协商对端的IP地址是否为可用地址,且不与自己的IP地址冲突
静态协商过程:
在NCP协商过程中,一旦认可了对方的IP地址,则将会自动学习到到达该地址的主机路由,这条特性也就导致了我们ppp链路两端设备的IP地址可以不再同一个网段。
动态协商过程:
配置:
R1----获取方
[r1-Serial4/0/0]ip address ppp-negotiate
R2----配置方
[r2-Serial4/0/0]remote address 1.1.1.1