ppp lcp协商报文有哪些_PPP 点到点协议

ea008a6f3127c04d0def968cb0f41ddb.png

一、PPP协议介绍

PPP协议包含 LCP PAP CHAP NCP(IPV4CP IPV6CP IPXCP)等工作在链路层支持链路级的 AAA 认证。

Authentication 认证:出示凭证 主认证 被认证 如锁是主认证,钥匙就是被认证被认证方要向主认证方出示用户名密码,主认证方确定没有问题在把链路开启。

Authorization 授权:认证通过后,我需要判断你能使用多少资源

Accounting 审计:监控 接收什么样流量

PPP 协议是一种点到点链路层协议,主要用于在全双工的同异步链路上进行点到点的数据传输。

PPP 支持所有类型的压缩,HDLC 支持站点压缩。

多链路捆绑,因为有 NCP,通过设置 TLV 字段轻松的支持各种三层网络协议 。

链路两端接口地址不配在同一个子网段,不写静态,通过 NCP 就能自动获悉去往对端接口的 32 为主机路由,有了主机路由,就算子网段不在同一个,也能够互联互通。

同步/异步线缆都支持。

二、PPP组件及帧格式

1.组件

951e71583873344a80887403286bcfd3.png

2.帧格式

a080315983a1d1bf5910b79c1e7496b3.png

三、LCP:数据链路层状态激活

两端都回给对端主动发送 LCP configuration request 配置请求报文 中包含的参数可以设置 TLV,大体包含如下 :

MRU 最大接收单元:默认 1500.两端需要一致。

认证协议:是使用 PAP /CHAP 。

Magic number 魔术字:防止环路的 router 在发送 LCP 报文之前,先本地基于硬件产生随机一个魔术字,在发送的 configuration request 携带魔术字,对方收到报文会对比魔术字是否一样,如果一样,首先会给发送者返回一个错误 configuration NAK 非确认报文,我在本地计算一个新的魔术字,在等待发送方给我发送 configuration request。

Quality protocol 质量协议:用来做 QoS,那些数据优先转发 。

MP 多链路参数:描述是否用来做链路捆绑 。

报头压缩 。

载荷压缩:在报头中要不要做报头压缩,载荷压缩。

当对端收到 configuration request 后首先是查看这些参数,我是否能够识别,我和你的值能 否匹配,如果匹配也能识别,给你回复 configuration ACK 配置确认报文,参数识别但不支持 回复 configuration NAK有些压根不识别 回复 configuration reject 拒绝都回复ACK,没有做认证的话,数据链路层是 UPUP,如果做的认证数据链路层还是 down 的。

下面我们来看一下LCP的报文,如下:

645e9df3f4536fad034ada59cc1e5b12.png

四、PAP 密码认证协议

PAP 密码认证协议又称为二次握手协议。比如有两台路由器相连:R1--------------R2,其中R1为主,R2为被动。之时就需要R2 给 R1 发送用户名密码。即Authentication- request 被认证方主动发送给主认证方,包含用户名密码,都是明文表示。主认证方收到后,在他的 AAA 数据库里包含用户名密码条目,做一个匹配,匹配成功会返还 Authentication-ACK,失败返还 Authentication-NAK。

de19ae9034bc19db42a67cd1b3bb9b20.png

五、CHAP 挑战握手认证协议

CHAP也称为三次握手协议,密文认证。

Challenge 主认证方给被认证方发送,包含随机数(防止重放攻击)、报文 IP(用来做确认 主认证方的用户名可选的。其中:Cisco 一定会包含用户名,可以在主认证方接口进行配置、没有配置将自己 hostname 发走;Huawei 可选的,如果接口配置了就发,如果没有配置就不发。

Response 被认证方给主认证方发送的回应 包含用户名(被认证方接口配置的用户名)、散列值(密码:接口配置的密码+随机数+会话 ID、执行 MD5 计算),会话 ID(表示我这个 Response 是关于你 Challenge 的回应)主认证方收到后,做一个匹配,成功返还 success、失败返还 failure。

在发送 Challenge 到底包不包含用户名,Huawei 和 Cisco 完全是不一样的,先看 Huawei。

1.Huawei

如果被认证方收到的 challenge 里没有包含用户名,被认证方必须出示接口所配置的用户名和密码,执行散列发走。如果被认证方收到的 challenge 里包含用户名,根据用户名在本地 AAA 认证数据库里找有没有对应的密码条目存在。

例如包含的用户名为 R1,在被认证方真有 R1 的 ppp 密码配置:

Localuser R1 password cipher Huawei

Localuser R1 service-type ppp

收到的 challenge 里包含 R1 用户名,我就会拿 R1 的用户名在本地 AAA 认证数据库里找对应的密码,找到条目后对应的密码 Huawei 来做一个发送,在发送 Response 的时候就可以 包含这个密码。

但是这个时候我被认证方接口也配置了密码,这个时候被认证方接口配置的密码出示优先级高于 AAA 认证数据库的密码,这个时候主认证方给被认证方发送一个 Challenge,假设包含用户名 R1,在被认证方 AAA数据库里有 R1 密码存在,并且没有在接口配置密码,就使用 Huawei 密码来做一个出示,用户名还是出示我接口配置的。这个时候在 AAA 数据库中没有找到对应的条目,只能在接口配置密码。

在认证数据库中存在密码,并且接口也配置了密码,就出示接口密码。所以华为的被认证方并不是要求 100%在接口配置密码信息,可以不配,但是在主认证方发送的 Challenge 必须包含用户名,在被认证方要针对这个用户名在本地 AAA 数据库中去创建一个相对应的密码条目。认证才能通过。

2.Cisco

主认证 用户名可以接口配置,没有没有配置,主认证方就会把自己的主机名发走。被认证方收到的 Challenge 里一定会包含用户名,如 R1 被认证收到后基于你的用户名在本地 AAA 数据库里找对应的密码条目,找到出示这个密码。

被认证方本地 AAA 数据库的密码优先级高于接口级的密码优先级,全局高于接口

被认证方出示用户名的时候,接口配置了就出示接口配置,没有配置把自己主机名发走。举例如下:

R1-----------------------------R2

R1 和 R2 就是两台路由器的用户名,做双向认证。,接口什么都不配置,认证如何通过。如下:

R1 :username R2 password Cisco

R2 :username R1 password Cisco

只需要创建用户名是对端主机的条目,并且 password 一致就 OK,R1 由于什么也没有做,发送 Challenge 认证的时候,用户名就是 R1,在 R2 上有对应的 R1的密码条目,出示密码的时候,就出示 Cisco。

由于我的接口也没有配置用户名,我给你出示的用户名就是主机名,所以 R2 给 R1 出示的用户名是 R2 password 是 Cisco 所以 R1 收到用户名为 R2,密码为 Cisco 的 Challenge 之后,我拿这个信息和的配置信息对比 。用户名和 password 都一致,通过。现在 R2 就算是在接口级配置 Cisco123 密码,一样能够通过,因为使用的密码还是 Cisco。

认证通过后,下面就是使用 NCP 做 3 层协商,通常是 IPV4CP,NCP 和 LCP 协商差不多,双方都给对端都是发送 configuration request,这个只会包含你接口的地址信息和 DNS 信息,对方收到后会判断首先你是否有地址,地址是否冲突,都 OK,给你返 configuration ACK,不 OK 返还 configuration NAK,并且会告诉你的那些参数有问题。

NCP 和 LCP 都 OK,PPP 链路就可以工作了 使用完链路之后可以通过 LCP 去关闭链路。

PPP 链路建立有 3 步 :

1.通过 LCP 去协商数据链路层的参数,协商完毕后链路基本已经 UP UP 了。

2.认证 可选的,可以使用 PAP /CHAP 来完成认证,可以单向可以双向,两端都给对端发送用户名密码,对方都要给你的用户名密码做一个审核评判。可选的必须要做。

3.认证通过后, 根据你三层所使用的协议,然后我运行相对应的 NCP 协议来做一个协商,协商 3层的地址信息,看接口是否有地址,地址是否冲突,没有问题后,建立完成。

六、IPCP动态地址协商

328fbe7f52918a687a422532fc5327e6.png

如果有一端没有配置地址,发送 configuration request 对于没有地址这一段我的地址就是全0,收到全 0 之后,意识你没有地址,给你回复一个 NAK,在 NAK 中告诉你,可以使用这个地址,这个地址就是和我接口同一个子网端中可用的地址,给你发送一个,之后你会用应用这个地址,给你发送 configuration request 携带这个地址。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值