
PPP 协议
本文最后更新于 2024-08-28,文章内容可能已经过时。
🧑💻PPP 协议工作流程
链路层协商
通过 LCP 报文协商链路层相关参数,建立链路层的连接
认证协商(可选)
PAP(密码认证协议):
-
采用两次握手机制
-
用户名和密码是以明文的方式进行发送
-
由客户端主动发起
支持双向验证
CHAP(挑战握手认证)
-
采用三次握手认证
-
在网络上只传输用户名,密码是被保护的
-
由服务端主动发起认证
-
支持双向验证
网络层协商
通过 NCP 报文协商网络层相关参数,动态协商和分配 IP 地址,会在对端的路由表中插入一条直连路由信息
静态 IP 地址的协商:需要手动在链路两端配置 IP 地址,会进行地址互推,
动态 IP 地址的协商:支持 PPP 链路的一端给对端分配 IP 地址
⚙️PPP 配置
思科:
PAP 认证:
//服务端
R13(config)#USERname r14 password 123
R13(config)#int s1/1
R13(config-if)#ip address 202.101.34.3 255.255.255.0
R13(config-if)#encapsulation ppp
R13(config-if)#ppp authentication pap
R13(config-if)#peer default ip address 202.101.34.4
R13(config-if)#no shutdown
// 客户端
R14(config)#int s1/0
R14(config-if)#encapsulation ppp
R14(config-if)#ppp pap sent-username r14 password 123
R14(config-if)#ip address negotiated
R14(config-if)#ppp ipcp route default
R14(config-if)#no shutdown
CHAP 认证:
//服务端
R13(config)#username r12 password 123
R13(config)#int s1/0
R13(config-if)#encapsulation ppp
R13(config-if)#ppp authentication chap
R13(config-if)#ip address 202.101.23.3 255.255.255.0
R13(config-if)#peer default ip address 202.101.23.2
R13(config-if)#no shutdown
// 客户端
R12(config)#int s1/0
R12(config-if)#encapsulation ppp
R12(config-if)#ppp chap hostname r12
R12(config-if)#ppp chap password 123
R12(config-if)#ip address negotiated
R12(config-if)#ppp ipcp route default
R12(config-if)#no shutdown
PPPoE 协议
PPPoE(Point-to-Point Protocol over Ethernet)可以称作为以太网上的 PPP 协议,应用在链路层。它通过在以太网上提供点到点的连接,建立 PPP 会话,封装 PPP 报文为 PPPoE 报文。PPPoE 技术可以将用户连接到远程接入设备上,并提供良好访问控制功能,提供了一种经济的用户接入技术。
PPPoE 利用以太网络,提供远程的多个用户主机接入功能,并且能够提供数据传输的出入报文数、字节数以及连接的起始、结束时间等计费数据,解决用户上网收费等实际应用问题,因而被广泛应用于接入运营商网络。
PPPoE 报文
-
0x09 PADI PPPoE Active Discovery Initiation,PPPoE 激活发现起始报文
-
0x07 PADO PPPoE Active Discovery Offer,PPPoE 激活发现服务报文
-
0x19 PADR PPPoE Active Discovery Request,PPPoE 激活发现请求报文
-
0x65 PADS PPPoE Active Discovery Session-confirmation,PPPoE 激活发现会话确认报文
-
0xa7 PADT PPPoE Active Discovery Terminate,PPPoE 激活发现终止报文
🗨️PPPoE 会话建立过程
PPPoE 发现阶段
实现用户接入,创建 PPPoE 虚拟链路,确定唯一的 PPPoE 会话(session id)
PPPoE 会话阶段
PPP 协商:
-
LCP 协商
-
认证协商
-
NCP 协商
PPPoE 终结阶段
PPPoE 断开: 如果客户端或者服务端任意一端想要关闭连接的时候,会向对方发送一个 PADT 报文(session id),用于连接的关闭
🛠️PPPoE 配置
思科:
ISP(config)#username r1 password 123
ISP(config)#interface virtual-template 1
ISP(config-if)#ip address 202.101.12.2 255.255.255.0
ISP(config-if)#encapsulation ppp
ISP(config-if)#ppp authentication pap
ISP(config-if)#peer default ip address pool r1
ISP(config)#bba-group pppoe a
ISP(config-bba-group)#virtual-template 1
ISP(config-bba-group)#exit
ISP(config)#int e0/0
ISP(config-if)#pppoe enable group a
ISP(config-if)#no shu
ISP(config-if)#no shutdown
R1(config)#interface dialer 1
R1(config-if)#encapsulation ppp
R1(config-if)#ppp pap sent-username r1 password 123
R1(config-if)#ip address negotiated
R1(config-if)#ppp ipcp route default
R1(config-if)#dialer pool 1
R1(config-if)#exit
R1(config)#int e0/0
R1(config-if)#pppoe enable
R1(config-if)#pppoe-client dial-pool-number 1
R1(config-if)#no shutdown