概述
一
认识PPP协议
PPP即点到点协议,PPP是为了在点对点物理链路上传输OSI模型中的网络层报文而设计的。PPP协议由三个部分组成:1.一个将IP数据报封装到串行链路的方法;2.一个用来建立、配置和测试数据链路连接的链路控制协议LCP;3.一套网络控制协议NCP。PPP最常用的认证协议包括口令验证协议PAP和战握手验证协议CHAP。
二
PPP链路建立过程
链路建立过程可分为五个阶段,即Dead阶段、Establish阶段、Authenticate阶段、Network阶段、Terminate阶段。依次说明:
(一) 、Dead阶段
链路的初识阶段为Dead阶段(也称为物理层不可用阶段),当通信双方的两端检测到物理线路激活时,就会从Dead阶段迁移至Establish阶段,即链路建立阶段。华为默认串行链路使用PPP协议,如果接口运行的不是PPP协议,需要运行link-protocol ppp命令来使能数据链路层的PPP协议。
命令查看:
(二)、Establish阶段
在Establish阶段,PPP链路进行LCP参数协商。链路层协商过程中RTA会发送Configure-Request(配置请求)作为第一个报文,该报文表明点对点双方开始进行链路层参数的协商。
a.RTB收到对端发来的Configure-Request报文,如果参数取值完全接受,则回复Configure-Ack(配置响应)报文;
抓包验证:
b.如果参数取值不被本端认可,则回复Configure-Nak(配置不响应)报文,RTA需要根据Configure-Nak报文中的链路层参数重新选择本地配置的其它参数,并重新发送一个Configure-Request;
c.如果本端不能识别对端发送的Configure-Request中的某些参数,则回复Configure-Reject(配置拒绝)报文。
协商内容包括最大接收单元MRU、认证方式、魔术字(Magic Number)等选项。LCP参数协商成功后会进入Opened状态,表示底层链路已经建立。
(三)、Authenticate阶段
PPP链路在缺省情况下是不要求进行认证的。如果要求认证,则在链路建立阶段必须指定认证协议。PPP的认证模式包括PAP认证和CHAP认证。
a.PAP认证协议为两次握手认证协议,密码以明文方式在链路上发送。假设此时RTA为认证方,RTB为被认证方,RTB向RTA发送Authenticate- Request报文,RTA根据本地配置的用户名和密码数据库检查报文中用户名和密码信息是否匹配,如果匹配,则返回Authenticate-Ack报文,表示认证成功。否则,返回Authenticate-Nak报文,表示认证失败。
实验操作:
[RTA]aaa //采用aaa认证
[RTA-aaa]local-user huawei password cipher huawei123 //创建huawei用户,密码为huawei123
[RTA-aaa]local-user huawei service-type ppp //将huawei用户设备PPP用户
[RTA]interface Serial 1/0/0
[RTA-Serial1/0/0]ip address 10.1.1.1 30
[RTA-Serial1/0/0]link-protocol ppp //使用PPP协议
[RTA-Serial1/0/0]ppp authentication-mode pap //认证方开启PAP认证的功能
[RTB]interface Serial 1/0/0
[RTB-Serial1/0/0]ip address 10.1.1.2 30
[RTB-Serial1/0/0]link-protocol ppp
[RTB-Serial1/0/0]ppp pap local-user huawei password cipher huawei123 //被认证方配置PAP使用的用户名和密码信息
抓包验证:
b.CHAP认证过程需要三次报文的交互。同样假设RTA为认证方,RTB为被认证方,RTA需先发送一个Challenge报文(报文中含有随机产生的Challenge字符串)给RTB;RTB收到此Challenge报文之后对字符串进行MD5运算,将运算后的得到的摘要信息和端口上配置的CHAP用户名一起封装在Response报文中发回给RTA;RTA收到Response报文后按照其中的用户名在本地查找相应的密码信息,对密码信息作相同的MD5运算,将运算后的摘要信息与Response报文中的摘要信息进行对比,如果相同则认证成功,如果不相同则认证失败。
实验操作:
[RTA]aaa
[RTA-aaa]local-user huawei password cipher huawei123
[RTA-aaa]local-user huawei service-type ppp
[RTA]interface Serial 1/0/0
[RTA-Serial1/0/0]ip address 10.1.1.1 30
[RTA-Serial1/0/0]link-protocol ppp
[RTA-Serial1/0/0]ppp authentication-mode chap //认证方开启chap认证的功能
[RTB]interface Serial 1/0/0
[RTB-Serial1/0/0]ip address 10.1.1.2 30
[RTB-Serial1/0/0]link-protocol ppp
[RTB-Serial1/0/0]ppp chap user huawei //被认证方设置CHAP使用的用户名为“huawei”
[RTB-Serial1/0/0]ppp chap password cipher huawei123 //被认证方设置CHAP使用的密码为“huawei123”
抓包验证:
(四)、Network阶段
PPP链路在Network阶段进行NCP协商,通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文。IP地址协商包括两种方式:静态配置协商和动态配置协商。
a.静态配置协商:静态协商也可说成不协商,点对点的通信设备两端在PPP协商之前已配置好了IP地址,所以就无须在网络层协议阶段协商IP地址,而双方唯一要做的就是告诉对方自身的IP地址。过程:协商双方都要发送Configure-Request报文,在此报文中包含本地配置的IP地址;每一端接收到此Configure-Request报文之后,检查其中的IP地址,如果IP地址是一个合法的单播IP地址,而且和本地配置的IP地址不同(没有IP冲突),则认为对端可以使用该地址,回应一个Configure-Ack报文,静态配置协商成功。
抓包验证:
b.动态配置协商:动态协商是指一端配置为动态获取IP地址,另一端通过手动方式配置IP地址,且允许给对端分配IP地址。过程:RTA作为发送方向RTB发送一个Configure-Request报文,此报文中会包含一个IP地址0.0.0.0,表示向对端请求IP地址;RTB收到Configure-Request报文后,认为其中包含的地址(0.0.0.0)不合法,使用Configure-Nak回应一个新的IP地址10.1.1.1;RTA收到此Configure-Nak报文之后,更新本地IP地址,并重新发送一个Configure-Request报文,包含新的IP地址10.1.1.1;RTB收到Configure-Request报文后,认为其中包含的IP地址为合法地址,回应一个Configure-Ack报文;而RTB只要向RTA发送一次Configure-Request报文请求使用已有地址10.1.1.2,RTA认为此地址合法,回应Configure-Ack报文,动态配置协商完成。
NCP协商成功后,PPP链路将保持通信状态。PPP运行过程中,可以随时中断连接,例如物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段。
(五)、Terminate阶段
LCP用交换Terminate(终止)packets的方法终止链路。当链路正被关闭时,PPP通知网络层协议,以便他们可以采取正确的行动。交换Terminate(终止)packets之后,执行应该通知物理层断开,以便强制链路终止,尤其当认证失败时。Terminate-Request(终止-要求)的发送者,在收到Terminate-Ack(终止-允许)后,或者在重启计数器期满后,应该断开连接。收到Terminate-Request的一方,应该等待peer去切断,在发出Terminate-Request后,至少也要经过一个Restarttime(重启时间),才允许断开。然后PPP协议应该进入连接Dead阶段,结束此次PPP通信。
抓包验证:
![af24ca62056b0c2357506e58f734d830.png](https://file2.kaopuke.com:8081/files_image/2023060822/af24ca62056b0c2357506e58f734d830.png)
作者:郑泽辉
就读于集美大学诚毅学院网络工程专业,爱好学习、偶尔刷剧。目前是国科讲师预备生的一员,此次整理关于PPP链路建立过程的技术文档,希望对大家有所帮助。
国科学院学生会
如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系并加入我们吧!
各校区学生会指导老师:厦门校区——王少怀 QQ:865489761
福州校区——王 建 QQ:840826978
泉州校区——王 阳 QQ:1350103305
成都校区——梁艳秋 QQ:1689906517
往期精彩:
学生会私房菜【20200317期】——ARP路由式代理详解
学生会私房菜【20200310期】——ACL与route-policy中permit/deny的关系
学生会私房菜【20200305期】——Ping命令及其常用参数详解
学生会私房菜【20191226期】——BGP路由黑洞(一)
学生会私房菜【20191231期】——BGP路由黑洞(二)
学生会私房菜【20200102期】——BGP路由黑洞(三)
学生会私房菜【20200114期】——BGP路由黑洞(四)
![a7c6896f8ed5f24857ad46ea6eb6f25d.png](https://file2.kaopuke.com:8081/files_image/2023060822/a7c6896f8ed5f24857ad46ea6eb6f25d.png)
![9aed982ce0c7a711733f51f1d1fbf2b1.png](https://file2.kaopuke.com:8081/files_image/2023060822/9aed982ce0c7a711733f51f1d1fbf2b1.png)
最后
以上就是苹果电灯胆为你收集整理的pap认证过程_学生会私房菜【20200324期】:PPP链路建立过程详解的全部内容,希望文章能够帮你解决pap认证过程_学生会私房菜【20200324期】:PPP链路建立过程详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复