PPP/PPPoE协议详解:链路建立、认证机制与PADI/PADO流程全指南

PPP 协议和 PPPoE 协议

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

1280X1280.PNG

其主要特点为:

  1. ​链路控制协议​(​​LCP)​:
    1. 用于建立、配置和测试数据链路连接
    2. 支持链路质量监控、错误检测和多种链路配置选项
    3. LCP 会协商链路的各种参数,如最大帧长度、认证协议等
  2. ​网络控制协议​(​​NCP)​:
    1. 用于为每种网络层协议配置和管理不同的网络层协议数据
    2. 常见的 NCP 包括 IP 控制协议(IPCP)、IPv6 控制协议(IPV6CP)等
  3. 认证机制​:
    1. PPP 支持多种认证协议,如 PAP(Password Authentication Protocol,密码认证协议)和 CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)
    2. 认证机制用于验证连接双方的身份,以确保连接的安全性
  4. 多协议支持​:
    1. PPP 可以封装和传输多种网络层协议的数据包,包括 IP、IPX、AppleTalk 等
  5. 分段与重组​:
    1. 支持将大数据包分成较小的帧进行传输,并在接收端重新组装

工作流程如下:

  1. 链路建立阶段​:
    1. 使用 LCP 包建立物理链路,双方协商链路参数
    2. 确认链路正常后,进入认证阶段(如果需要)
  2. 认证阶段(可选)​:
    1. 使用 PAP 或 CHAP 进行认证,确认对方的身份
    2. 认证通过后,进入网络层协议配置阶段
  3. 网络层协议配置阶段​:
    1. 使用 NCP 配置网络层协议参数,如 IP 地址、DNS 服务器等
    2. 每个网络层协议都有对应的 NCP,用于具体配置
  4. 数据传输阶段​:
    1. 物理链路建立和网络层协议配置完成后,开始传输数据
    2. 使用 PPP 帧封装网络层数据包,并通过物理链路传输
  5. 链路终止阶段​:
    1. 当通信完成或出现错误时,使用 LCP 包终止链路
    2. 清理资源并断开物理连接

PPP 帧的基本结构如下:

2.png

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

ScreenShot_2026-06-13_010319_591.png

PPPoE 协议的工作流程如下:

  1. 发现阶段​:
    1. PPPoE Active Discovery Initiation(PADI)​:客户端发送 PADI 包广播,寻找 PPPoE 服务器
    2. PPPoE Active Discovery Offer(PADO)​:PPPoE 服务器响应 PADO 包,提供服务
    3. PPPoE Active Discovery Request(PADR)​:客户端选择一个服务器并发送 PADR 包,申请服务
    4. PPPoE Active Discovery Session-confirmation(PADS)​:服务器发送 PADS 包确认会话,分配会话 ID
  2. 会话阶段​:
    1. 使用 PPP 建立和配置链路,包括认证、网络层协议配置和数据传输
    2. PPP 帧封装在以太网帧中,通过以太网传输
  3. 终止阶段​:
    1. 使用 PPPoE Active Discovery Termination(PADT)包终止会话,清理资源
posted @ 2026-09-02 14:03  FreakStudio  阅读(35)  评论(0)    收藏  举报