14.ppp
文章目录
广域网设备角色
CE(用户边缘设备):用户端连接服务提供商的边缘设备。CE连接一个或多个PE,实现用户接入。
PE(服务提供商边缘设备):服务提供商连接CE的边缘设备。PE同时连接CE和P设备,是重要的网络节点。
P(服务提供商设备):服务提供商不连接任何CE的设备。
PPP 协议概述
PPP(Point-to-Point Protocol,点到点协议)是广域网数据链路层封装协议,华为设备默认使用 PPP(Cisco 设备默认使用 HDLC)。其三大组件包括:
-
LCP(链路控制协议):负责链路参数协商,如 MRU(最大接收单元)、认证模式(CHAP、PAP)、是否为多链路、魔术字(检测环路)等。
-
认证协议:包括 PAP、CHAP,为可选组件。
-
NCP(网络控制协议):负责网络层参数协商,如通过 IPCP(IP 控制协议)协商静态或动态 IP 地址。
LCP 协商
协商流程:
- 发起方发送携带本端参数的配置请求(Configure-Request);
- 接收方根据参数合法性进行响应(Ack/Nak/Reject);
- 若参数不匹配或不识别,发起方调整参数后重新发送请求;
- 双方确认参数合法后,完成协商(Configure-Ack)。
①正常协商过程(使用request ,ack)
图中案例:
- 接口参数:
R1(S1/0/0):MRU=1500,Auth_Type=PAP,Magic_Num=a,IP=10.1.1.1/30
R2(S1/0/0):MRU=1500,Auth_Type=PAP,Magic_Num=b,IP=10.1.1.2/30 - 步骤:
① R1 发送携带本端参数的 Configure-Request;
② R2 确认参数合法,回复 Configure-Ack;
③ R2 发送携带本端参数的 Configure-Request;
④ R1 确认参数合法,回复 Configure-Ack,协商完成。
②参数不匹配的协商(使用request ,nak)
图中案例:
- 接口参数:
R1(S1/0/0):MRU=2000,Auth_Type=PAP,Magic_Num=a,IP=10.1.1.1/30
R2(S1/0/0):MRU=1500,Auth_Type=PAP,Magic_Num=b,IP=10.1.1.2/30 - 步骤:
① R1 发送携带本端参数的 Configure-Request;
② R2 发现 MRU 不匹配(2000≠1500),回复 Configure-Nak(携带合法参数 MRU=1500);
③ R1 调整参数后,重新发送携带 MRU=1500 的 Configure-Request;
④ R2 确认参数合法,回复 Configure-Ack,协商完成。
③参数不识别的协商(使用request ,reject)
图中案例:
- 接口参数:
R1(S1/0/0):MRU=1500,Auth_Type=PAP,Magic_Num=a,IP=10.1.1.1/30,额外参数 XXX-XX(R2 不识别)
R2(S1/0/0):MRU=1500,Auth_Type=PAP,Magic_Num=b,IP=10.1.1.2/30 - 步骤:
① R1 发送携带本端参数(含 XXX-XX)的 Configure-Request;
② R2 无法识别 XXX-XX,回复 Configure-Reject(要求删除该参数);
③ R1 删除 XXX-XX 后,重新发送 Configure-Request;
④ R2 确认参数合法,回复 Configure-Ack,协商完成。
2、认证模式(PAP ,CHAP)----可选
①PAP(密码认证协议) —采用“两次握手”,明文认证;安全性不高
认证模式实验(PAP和CHAP)
PAP认证(密码认证协议)
实验拓扑
实验流程
- 配置设备接口链路协议为 PPP,并指定 PAP 认证模式;
- 配置认证方的本地用户(用户名、密码、服务类型);
- 配置被认证方用于认证的用户名和密码;
- 重启接口使配置生效,测试直连通信(ping);
- 抓取认证过程报文,验证成功 / 失败场景。
配置实例
认证方R1
aaa
local-user hcia password cipher 123
local-user hcia service-type ppp
interface Serial1/0/0
link-protocol ppp
ppp authentication-mode pap // 配置认证模式为PAP
ip address 12.1.1.1 255.255.255.0
被认证方R2
interface Serial1/0/0
link-protocol ppp
ppp pap local-user hcia password cipher 123 // 配置用于认证的用户名和密码
ip address 12.1.1.2 255.255.255.0
测试:
将接口shutdown,然后undo shutdown,使其命令生效;ping直连ip地址
认证失败的抓包:
若密码错误(如密码为 456),触发三次请求,认证方连续 3 次回复Authenticate-Nak
,最终发送Termination Request
终止链路。
认证成功的抓包:
被认证方发送Authenticate-Request(Peer-ID="hcia", Password="123")
,认证方回复Authenticate-Ack(Message="Welcome to use Quidway ROUTER")
。
CHAP(挑战握手认证协议)
采用“三次握手”,密文认证;安全性较高
实验拓扑
实验流程
- 配置设备接口链路协议为 PPP,并指定 CHAP 认证模式;
- 配置认证方的本地用户(用户名、密码、服务类型);
- 配置被认证方的 CHAP 用户名和密码;
- 重启接口使配置生效,测试直连通信(ping);
- 抓取认证过程报文,验证成功 / 失败场景。
配置实例
认证方R1
aaa
local-user hcia password cipher 123
local-user hcia service-type ppp
interface Serial1/0/0
link-protocol ppp
ppp authentication-mode chap // 配置认证模式为CHAP
ip address 12.1.1.1 255.255.255.0
被认证方(R2)
interface Serial1/0/0
link-protocol ppp
ppp chap user hcia
ppp chap password cipher 123
ip address 12.1.1.2 255.255.255.0
**测试:**将接口shutdown,然后undo shutdown,使其命令生效;ping直连ip地址
**认证失败的抓包:**触发三次请求
若用户名 / 密码错误,认证方回复Failure(MESSAGE='Illegal user or password.')
。
认证成功的抓包:
认证方发送挑战(含随机数),被认证方回复 MD5 计算结果,认证方验证通过后回复Success(Message="Welcome to ...")
。
NCP协商实验(IPCP)
静态IP地址协商
协商流程
- 双方接口配置固定 IP 地址;
- 发起方发送携带本端 IP 的配置请求(Configure-Request);
- 接收方确认地址合法后回复 ACK;
- 接收方发送携带本端 IP 的配置请求,发起方回复 ACK,完成协商。
场景
- R1(S1/0/0,IP=10.1.1.1/30):
① 发送Configure-Request(10.1.1.1)
;
② 接收 R2 的Configure-Request(10.1.1.2)
,回复Configure-Ack
。 - R2(S1/0/0,IP=10.1.1.2/30):
① 接收 R1 的请求后,回复Configure-Ack
;
② 发送Configure-Request(10.1.1.2)
。
动态IP地址协商
协商流程
- 发起方本地无 IP 地址,发送携带 0.0.0.0 的配置请求;
- 接收方回复 Nak,指定合法 IP 地址;
- 发起方使用指定 IP 重新发送请求,接收方确认后回复 ACK;
- 接收方发送携带本端 IP 的请求,发起方回复 ACK,完成协商。
场景
- R1(初始无 IP):
① 发送Configure-Request(0.0.0.0)
;
② 接收 R2 的Configure-Nak(10.1.1.1)
,重新发送Configure-Request(10.1.1.1)
;
③ 接收 R2 的Configure-Request(10.1.1.2)
,回复Configure-Ack
。 - R2(S1/0/0,IP=10.1.1.2/30):
① 回复Configure-Nak(10.1.1.1)
(指定 R1 的 IP);
② 接收 R1 的请求后,回复Configure-Ack
;
③ 发送Configure-Request(10.1.1.2)
。
说明:NCP 协商可使链路两端接口地址不在同一网段时,通过将对端 32 位主机路由加入路由表,实现直连通信。
如涉及版权问题请联系作者处理!!(部分图片参考华为文档)