首页/计算机网络/03-data-link/PPP 协议 🔗 在 Obsidian 中打开
计算机网络 · 03-data-link

PPP 协议

重要度 ⭐⭐⭐⭐⭐ 计算机网络/数据链路层PPP点对点LCPNCP广域网
速查
PPP = 点对点协议,广域网最常用的数据链路层协议。帧以 0x7E 标志定界;包含 LCP(链路控制)与 NCP(网络控制)。不提供可靠传输(无序号、无确认),面向字节,使用字节填充(异步)。

核心概念

PPP 概述

  • 点对点协议(Point-to-Point Protocol)
  • 用于点对点链路(拨号上网、ADSL)
  • 最广泛使用的广域网数据链路层协议
  • 不支持多点连接(只有一对一)

PPP 的功能

  1. 组帧:封装网络层分组
  2. 链路控制:建立、配置、测试、断开链路(LCP)
  3. 网络控制:协商网络层参数(NCP)
  4. 认证:PAP(明文)或 CHAP(加密挑战-响应)

PPP 帧格式

字段值/长度说明
标志 Flag0x7E(1B)帧定界
地址 Address0xFF(1B)广播,点对点无意义
控制 Control0x03(1B)无编号帧
协议 Protocol2 字节数据部分协议(0x0021=IP,0xC021=LCP)
数据 Data可变网络层分组
FCS2/4 字节CRC 校验

PPP 的工作过程

链路建立过程

  1. 链路建立(LCP 协商):双方协商最大帧长、认证协议、压缩方式等(LCP 配置请求/确认)
  2. 认证(可选):PAP 明文、CHAP 挑战-响应
  3. 网络层配置(NCP 协商):协商网络层参数(如 IP 地址)
  4. 数据传输:封装并传输网络层分组
  5. 链路终止:LCP 断开链路

状态机:Dead → Establish → Authenticate → Network → Terminate

字节填充

PPP 使用字节填充(异步线路)或比特填充(同步线路)。异步字节填充转义规则:

  • 标志字段 0x7E → 转义为 0x7D 0x5E
  • 转义符 0x7D → 转义为 0x7D 0x5D
  • ASCII 控制字符(<0x20)→ 转义为 0x7D + (原字节 + 0x20)
原始数据: 0x7E → 发送: 0x7D 0x5E
原始数据: 0x7D → 发送: 0x7D 0x5D

PPP 的特点

特性说明
点对点只支持一对一连接
面向字节帧长度为整数个字节
不可靠不提供可靠传输(无序号、无确认)
全双工支持双向同时传输
简单帧格式简单,开销小

PPP vs HDLC

特性PPPHDLC
连接方式点对点点对点/多点
可靠性不可靠可靠(有确认)
序号
填充方式字节填充比特填充
协议字段

常见考法

考点说明
PPP 帧格式各字段名称和作用
PPP 不提供可靠传输无序号、无确认机制
字节填充规则0x7E 和 0x7D 的转义
LCP 和 NCPLCP 控制链路,NCP 配置网络层
PPP vs HDLC可靠性、填充方式、应用

易错点

注意
  • PPP 不提供可靠传输,是与 HDLC 的重要区别
  • PPP 地址字段固定为 0xFF,在点对点中无意义
  • PPP 使用字节填充(异步)或比特填充(同步),不是只用一种
  • FCS 字段可以是 2 字节或 4 字节

核心结论

必背
  1. PPP 是广域网最常用的数据链路层协议
  2. PPP 不提供可靠传输(无序号、无确认)
  3. 包含 LCP(链路控制)和 NCP(网络控制)两个子协议
  4. 使用字节填充的标志字节法(0x7E 做标志)

记忆卡片

PPP 提供可靠传输吗?
不提供,无序号和确认机制(与 HDLC 不同)。
PPP 的标志字段是什么?
0x7E(字节填充标志字节法,作帧定界)。
LCP 和 NCP 分别做什么?
LCP 控制链路(建立/配置/断开);NCP 协商网络层参数。
PPP 和 HDLC 的核心区别?
PPP 不可靠、无序号;HDLC 可靠、有序号和确认

图示 · PPP 字节填充

PPP 帧(字节填充,标志 0x7E) 0x7E 0xFF 0x03 协议 数据(含字节填充) FCS 0x7E 字节填充转义 原始 0x7E 发送 0x7D 0x5E 原始 0x7D 发送 0x7D 0x5D 转义符 0x7D 后跟规定字节,接收端再还原。
图:PPP 以 0x7E 作首尾标志;数据中的 0x7E/0x7D 经 0x7D 转义,避免与标志混淆。

交互动画 · PPP 状态机与帧构造的 8 步过程

手动模式
主机/客户端PPP 端点 R ISP 路由器PPP 端点 S 状态:Dead(链路未建立) 帧构造(从右到左拼装) 0x7E 标志尾部 FCS 数据 (IP 分组) 协议 0x03 0xFF 0x7E
PPP 链路生命周期:Dead → Establish → Authenticate → Network → Terminate
LCP 负责链路层,NCP 负责网络层协商;PPP 不提供可靠传输

相关知识点

ethernet framing-methods wide-area-network

↑ 站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。