pap认证过程_学生会私房菜【20200324期】:PPP链路建立过程详解

77ee324e959bb2d845eee69ce5a581a9.png

认识PPP协议

PPP即点到点协议,PPP是为了在点对点物理链路上传输OSI模型中的网络层报文而设计的。PPP协议由三个部分组成:1.一个将IP数据报封装到串行链路的方法;2.一个用来建立、配置和测试数据链路连接的链路控制协议LCP;3.一套网络控制协议NCP。PPP最常用的认证协议包括口令验证协议PAP和战握手验证协议CHAP。

 PPP链路建立过程

链路建立过程可分为五个阶段,即Dead阶段、Establish阶段、Authenticate阶段、Network阶段、Terminate阶段。依次说明:

26fd1ccf1e4f63aa4bc92281fb979f11.png

(一) 、Dead阶段

链路的初识阶段为Dead阶段(也称为物理层不可用阶段),当通信双方的两端检测到物理线路激活时,就会从Dead阶段迁移至Establish阶段,即链路建立阶段。华为默认串行链路使用PPP协议,如果接口运行的不是PPP协议,需要运行link-protocol ppp命令来使能数据链路层的PPP协议。

命令查看:

dad940d4994266a67ccf891765a4f39c.png

(二)、Establish阶段

在Establish阶段,PPP链路进行LCP参数协商。链路层协商过程中RTA会发送Configure-Request(配置请求)作为第一个报文,该报文表明点对点双方开始进行链路层参数的协商。

a.RTB收到对端发来的Configure-Request报文,如果参数取值完全接受,则回复Configure-Ack(配置响应)报文;

dbb10ac64dcc101c7196ee678f8a128e.png

抓包验证:

8acac74adfd1d95abf4738420c4e3a7c.png

b.如果参数取值不被本端认可,则回复Configure-Nak(配置不响应)报文,RTA需要根据Configure-Nak报文中的链路层参数重新选择本地配置的其它参数,并重新发送一个Configure-Request;

b401e6d52c028dc1277867fd27037cbb.png

c.如果本端不能识别对端发送的Configure-Request中的某些参数,则回复Configure-Reject(配置拒绝)报文。

d000780aed8ffbe3ed934ca511ecc5f4.png

协商内容包括最大接收单元MRU、认证方式、魔术字(Magic Number)等选项。LCP参数协商成功后会进入Opened状态,表示底层链路已经建立。

(三)、Authenticate阶段

PPP链路在缺省情况下是不要求进行认证的。如果要求认证,则在链路建立阶段必须指定认证协议。PPP的认证模式包括PAP认证和CHAP认证。

  a.PAP认证协议为两次握手认证协议,密码以明文方式在链路上发送。假设此时RTA为认证方,RTB为被认证方,RTB向RTA发送Authenticate- Request报文,RTA根据本地配置的用户名和密码数据库检查报文中用户名和密码信息是否匹配,如果匹配,则返回Authenticate-Ack报文,表示认证成功。否则,返回Authenticate-Nak报文,表示认证失败。

842f4ee3e98e8dec78403d0062f9b16c.png

实验操作:

[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使用的用户名和密码信息

抓包验证:

d39bf7cf5679139df593f96306474b37.png

  b.CHAP认证过程需要三次报文的交互。同样假设RTA为认证方,RTB为被认证方,RTA需先发送一个Challenge报文(报文中含有随机产生的Challenge字符串)给RTB;RTB收到此Challenge报文之后对字符串进行MD5运算,将运算后的得到的摘要信息和端口上配置的CHAP用户名一起封装在Response报文中发回给RTA;RTA收到Response报文后按照其中的用户名在本地查找相应的密码信息,对密码信息作相同的MD5运算,将运算后的摘要信息与Response报文中的摘要信息进行对比,如果相同则认证成功,如果不相同则认证失败。

8d54499fff5cbc678e33b0e6ea2854b9.png

实验操作:

[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”

抓包验证:

de85c95f08d7cce86b64d951ddeb7884.png2f25d3cc83c7dcbcf16e3d5e2ce80480.png

(四)、Network阶段

PPP链路在Network阶段进行NCP协商,通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文。IP地址协商包括两种方式:静态配置协商和动态配置协商。

a.静态配置协商:静态协商也可说成不协商,点对点的通信设备两端在PPP协商之前已配置好了IP地址,所以就无须在网络层协议阶段协商IP地址,而双方唯一要做的就是告诉对方自身的IP地址。过程:协商双方都要发送Configure-Request报文,在此报文中包含本地配置的IP地址;每一端接收到此Configure-Request报文之后,检查其中的IP地址,如果IP地址是一个合法的单播IP地址,而且和本地配置的IP地址不同(没有IP冲突),则认为对端可以使用该地址,回应一个Configure-Ack报文,静态配置协商成功。

d99b58fc58faa7ba030803077173485c.png

抓包验证:

c5eb7b84f7fa320db1ab98863652c783.png

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报文,动态配置协商完成。

3618590d9f4e314e4bce0c6ebe2fafea.png

NCP协商成功后,PPP链路将保持通信状态。PPP运行过程中,可以随时中断连接,例如物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段。

(五)、Terminate阶段

LCP用交换Terminate(终止)packets的方法终止链路。当链路正被关闭时,PPP通知网络层协议,以便他们可以采取正确的行动。交换Terminate(终止)packets之后,执行应该通知物理层断开,以便强制链路终止,尤其当认证失败时。Terminate-Request(终止-要求)的发送者,在收到Terminate-Ack(终止-允许)后,或者在重启计数器期满后,应该断开连接。收到Terminate-Request的一方,应该等待peer去切断,在发出Terminate-Request后,至少也要经过一个Restarttime(重启时间),才允许断开。然后PPP协议应该进入连接Dead阶段,结束此次PPP通信。

抓包验证:

bb328b760ec39defefd99d6f841af834.png

af24ca62056b0c2357506e58f734d830.png

0f5e6f4b990c1450537b95f08fed90bc.png

作者:郑泽辉

就读于集美大学诚毅学院网络工程专业,爱好学习、偶尔刷剧。目前是国科讲师预备生的一员,此次整理关于PPP链路建立过程的技术文档,希望对大家有所帮助。

国科学院学生会

6bd1a5397e4feb60e64f9e5da13c7405.png

国科学院学生会是由国科学院指导开展的学员服务型组织,致力于配合国科学院完成日常工作的开展以及强化锻炼学员的自身职业素养与专业技能,下设部门有教学部、项目部、外宣部和组织部。

如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系并加入我们吧!

各校区学生会指导老师:

厦门校区——王少怀 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路由黑洞(四)

29ada0dede9d75268717a2edefd7b72e.png

a7c6896f8ed5f24857ad46ea6eb6f25d.png 9aed982ce0c7a711733f51f1d1fbf2b1.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PPP(Point-to-Point Protocol,点对点协议)是一种广泛应用于数据通信领域的协议,它提供了一种在两个节点间建立数据链路层连接的标准方法。 PAP(Password Authentication Protocol,密码认证协议)和CHAP(Challenge Handshake Authentication Protocol,挑战-握手认证协议)都是PPP协议中常用的认证方式。 PAP认证过程: 1. PPP链路建立成功后,认证开始。 2. 认证请求方(通常为客户端)发送一个认证请求,包含用户名和密码明文。 3. 认证应答方(通常为服务器端)收到认证请求后,将本地存储的该用户的密码明文进行比对,如果匹配,则认证通过,否则认证失败。 CHAP认证过程: 1. PPP链路建立成功后,认证开始。 2. 认证请求方(通常为客户端)发送一个认证请求,包含用户名。 3. 认证应答方(通常为服务器端)收到认证请求后,生成一个随机数(challenge)并发送给认证请求方。 4. 认证请求方收到challenge后,使用本地存储的密码和challenge进行哈希运算,得到一个值,然后将该值发送给认证应答方。 5. 认证应答方收到哈希值后,也使用本地存储的密码和challenge进行哈希运算,得到一个值,并将该值与接收到的哈希值进行比对,如果匹配,则认证通过,否则认证失败。 PAP和CHAP认证的最大区别在于认证过程中密码的传输方式,PAP是明文传输密码,而CHAP是使用哈希函数进行加密传输密码,所以CHAP相对于PAP更加安全可靠。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值