PPP/PPPoE协议详解:链路建立、认证机制与PADI/PADO流程全指南
PPP 协议和 PPPoE 协议
PPP(Point-to-Point Protocol,点对点协议)是一种数据链路层通信协议,广泛用于在两个直接连接的节点之间传输多种网络层协议数据包。PPP 最常用于拨号互联网接入中,但也可以用于其他类型的点对点通信,例如串行连接、ISDN、以及某些类型的宽带接入。

其主要特点为:
- 链路控制协议(LCP):
- 用于建立、配置和测试数据链路连接
- 支持链路质量监控、错误检测和多种链路配置选项
- LCP 会协商链路的各种参数,如最大帧长度、认证协议等
- 网络控制协议(NCP):
- 用于为每种网络层协议配置和管理不同的网络层协议数据
- 常见的 NCP 包括 IP 控制协议(IPCP)、IPv6 控制协议(IPV6CP)等
- 认证机制:
- PPP 支持多种认证协议,如 PAP(Password Authentication Protocol,密码认证协议)和 CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)
- 认证机制用于验证连接双方的身份,以确保连接的安全性
- 多协议支持:
- PPP 可以封装和传输多种网络层协议的数据包,包括 IP、IPX、AppleTalk 等
- 分段与重组:
- 支持将大数据包分成较小的帧进行传输,并在接收端重新组装
工作流程如下:
- 链路建立阶段:
- 使用 LCP 包建立物理链路,双方协商链路参数
- 确认链路正常后,进入认证阶段(如果需要)
- 认证阶段(可选):
- 使用 PAP 或 CHAP 进行认证,确认对方的身份
- 认证通过后,进入网络层协议配置阶段
- 网络层协议配置阶段:
- 使用 NCP 配置网络层协议参数,如 IP 地址、DNS 服务器等
- 每个网络层协议都有对应的 NCP,用于具体配置
- 数据传输阶段:
- 物理链路建立和网络层协议配置完成后,开始传输数据
- 使用 PPP 帧封装网络层数据包,并通过物理链路传输
- 链路终止阶段:
- 当通信完成或出现错误时,使用 LCP 包终止链路
- 清理资源并断开物理连接
PPP 帧的基本结构如下:

PPPoE(Point to Point Protocol over Ethernet)是在以太网(Ethernet)链路上封装 PPP 协议的一种技术,为 PPP 提供了基于以太网的数据链路层传输,使 PPP 可以在以太网网络上进行通信。

PPPoE 协议的工作流程如下:
- 发现阶段:
- PPPoE Active Discovery Initiation(PADI):客户端发送 PADI 包广播,寻找 PPPoE 服务器
- PPPoE Active Discovery Offer(PADO):PPPoE 服务器响应 PADO 包,提供服务
- PPPoE Active Discovery Request(PADR):客户端选择一个服务器并发送 PADR 包,申请服务
- PPPoE Active Discovery Session-confirmation(PADS):服务器发送 PADS 包确认会话,分配会话 ID
- 会话阶段:
- 使用 PPP 建立和配置链路,包括认证、网络层协议配置和数据传输
- PPP 帧封装在以太网帧中,通过以太网传输
- 终止阶段:
- 使用 PPPoE Active Discovery Termination(PADT)包终止会话,清理资源

PPP(Point-to-Point Protocol,点对点协议)是一种数据链路层通信协议,广泛用于在两个直接连接的节点之间传输多种网络层协议数据包。PPP 最常用于拨号互联网接入中,但也可以用于其他类型的点对点通信,例如串行连接、ISDN、以及某些类型的宽带接入。
浙公网安备 33010602011771号