408计算机网络第3章:PPP协议——帧格式、LCP/NCP、状态机与真题精讲

复习位置:计算机网络 → 第3章 数据链路层 → 点对点协议 PPP

重点掌握:PPP是干什么的 → LCP/NCP各管什么 → PPP帧格式 → 透明传输 → PPP建立过程 → PPP为什么是不可靠服务。


一、PPP到底是干什么的

PPP,全称:

复制代码
Point-to-Point Protocol
点对点协议

它工作在:

复制代码
数据链路层

主要用于:

复制代码
两个结点之间的点对点链路

典型场景:

复制代码
用户主机 <------ PPP ------> ISP

或者:

复制代码
路由器 <------ 点对点链路 ------> 路由器

先记一句:

复制代码
PPP = 数据链路层的点对点协议

它不是局域网中的多点竞争协议,因此PPP链路上:

复制代码
不需要CSMA/CD

二、PPP由哪三部分组成

复制代码
PPP
├── LCP:管理数据链路
├── NCP:管理网络层协议
└── PPP帧封装方法

1. LCP:链路控制协议

LCP = Link Control Protocol。

负责:

复制代码
建立链路
配置链路
测试链路
终止链路

还可以协商:

复制代码
最大帧长
鉴别方式
其他链路参数

一句话:

复制代码
LCP管"链路本身"。

2. NCP:网络控制协议

NCP = Network Control Protocol。

PPP可以承载多种网络层协议,例如:

复制代码
IP
IPX
...

不同网络层协议通过对应的NCP进行配置。

一句话:

复制代码
NCP管"上面的网络层协议"。

最容易混的地方:

复制代码
LCP:链路层配置

NCP:网络层配置

3. PPP帧封装

PPP规定:

复制代码
网络层数据报怎样装进PPP帧

例如:

复制代码
IP数据报
     ↓
封装进PPP信息字段
     ↓
在点对点链路上传输

三、PPP帧格式

复制代码
┌────┬────┬────┬──────────┬──────────────┬─────┬────┐
│ F  │ A  │ C  │ Protocol │ Information  │ FCS │ F  │
├────┼────┼────┼──────────┼──────────────┼─────┼────┤
│ 1B │ 1B │ 1B │   2B     │   0~1500B    │ 2B  │ 1B │
└────┴────┴────┴──────────┴──────────────┴─────┴────┘

四、每个字段怎么记

1. F:标志字段

长度:

复制代码
1B

固定:

复制代码
0x7E

二进制:

复制代码
01111110

作用:

复制代码
标识PPP帧的开始和结束

2. A:地址字段

长度:

复制代码
1B

固定:

复制代码
0xFF

强化阶段直接记:

复制代码
A = FF

3. C:控制字段

长度:

复制代码
1B

固定:

复制代码
0x03

直接记:

复制代码
C = 03

4. Protocol:协议字段

长度:

复制代码
2B

作用:

复制代码
说明Information字段里装的是什么协议的数据

教材常见:

复制代码
0x0021 -> IP数据报

0xC021 -> LCP分组

所以:

复制代码
Protocol = "信息字段的类型说明"

5. Information:信息字段

长度:

复制代码
0~1500B

里面可以放:

复制代码
IP数据报
LCP分组
NCP分组
...

注意:

复制代码
PPP信息字段最小可以是0B

它不像经典以太网那样,因为CSMA/CD而要求数据字段至少46B。


6. FCS:帧检验序列

长度:

复制代码
2B

采用:

复制代码
CRC

作用:

复制代码
差错检测

但只是:

复制代码
检测

不是:

复制代码
检测 + 重传纠错

五、一眼背PPP帧

复制代码
F A C 协议 信息 FCS F

长度:

复制代码
1 1 1 2 0~1500 2 1

固定值:

复制代码
F = 7E
A = FF
C = 03

六、透明传输为什么要填充

PPP用:

复制代码
0x7E

作为帧边界。

如果Information字段里也出现:

复制代码
0x7E

接收方可能误认为:

复制代码
帧结束

所以需要透明传输处理。


七、异步传输:字节填充

PPP使用异步传输时:

复制代码
采用字节填充

转义字符:

复制代码
0x7D

强化阶段先记:

复制代码
异步PPP
-> 字节填充
-> 7D转义

八、同步传输:零比特填充

PPP使用同步传输时:

复制代码
采用零比特填充

标志:

复制代码
01111110

发送端:

复制代码
每连续出现5个1
就在后面插入一个0

接收端:

复制代码
看到连续5个1后的0
就删除该0

直接和HDLC的比特填充一起理解即可。


九、两个填充不要混

复制代码
异步PPP:
字节填充
7D转义

同步PPP:
零比特填充
连续5个1插0

一句话:

复制代码
异步按字节处理,
同步按比特处理。

十、PPP建立连接的主线

状态图看起来复杂,主线其实是:

复制代码
链路静止
   ↓
建立物理连接
   ↓
LCP协商
   ↓
鉴别(可选)
   ↓
NCP配置网络层
   ↓
链路打开
   ↓
正常传数据
   ↓
链路终止
   ↓
链路静止

再压缩:

复制代码
物理通
-> LCP谈
-> 身份验
-> NCP谈
-> 正常传
-> 结束

十一、LCP和NCP谁先谁后

一定是:

复制代码
LCP在前
NCP在后

原因:

复制代码
链路本身先建立、配置好
才能谈上层网络协议怎么跑

所以:

复制代码
LCP成功 ≠ 已经可以正常传IP数据

后面还要:

复制代码
NCP配置

十二、鉴别是不是必须

不是。

教材流程是:

复制代码
鉴别成功
或
无需鉴别

都可以进入:

复制代码
网络层协议状态

所以鉴别是:

复制代码
可选阶段

十三、PPP为什么是不可靠服务

PPP有:

复制代码
FCS + CRC

所以能:

复制代码
发现差错

但数据传输阶段:

复制代码
不使用帧序号

不使用ACK确认

不负责超时重传

所以:

复制代码
PPP只检错
不负责可靠重传

因此:

复制代码
PPP提供不可靠的数据链路层服务

十四、最容易出的陷阱

看到:

复制代码
PPP使用CRC

不能推出:

复制代码
PPP可靠传输

因为:

复制代码
检错 ≠ 可靠传输

可靠传输通常还需要:

复制代码
确认
序号
超时重传

PPP的数据传输阶段没有这套ARQ机制。


十五、PPP高频判断

复制代码
PPP用于点对点链路          √

PPP工作在数据链路层        √

PPP支持全双工              √

PPP使用CRC进行差错检测      √

PPP提供可靠传输            ×

PPP数据阶段使用ACK确认      ×

PPP支持多点共享链路         ×

PPP必须使用CSMA/CD          ×

PPP信息字段最大1500B        √

PPP信息字段最小必须46B      ×

PPP是面向字节的协议         √

十六、为什么PPP没有46B最小数据字段

经典以太网需要:

复制代码
CSMA/CD碰撞检测

因此要有:

复制代码
最小帧长

但PPP是:

复制代码
点对点链路

没有多个站点竞争总线,所以:

复制代码
不需要CSMA/CD

因此PPP的Information:

复制代码
可以为0B

十七、PPPoE

PPPoE:

复制代码
PPP over Ethernet

粗略结构:

复制代码
以太网帧
└── PPPoE
    └── PPP
        └── IP数据

强化阶段知道:

复制代码
PPPoE = 在以太网上承载PPP

即可。


十八、408真题1:2014年第40题

题目:

复制代码
使用浏览器访问某大学Web网站主页时,
不可能使用到的协议是( )。

A. PPP
B. ARP
C. UDP
D. SMTP

答案:

复制代码
D. SMTP

为什么PPP可能出现?

因为主机接入Internet时:

复制代码
可能采用PPP

ARP可能用于:

复制代码
IP地址 -> MAC地址

UDP可能用于:

复制代码
DNS查询

SMTP用于:

复制代码
电子邮件发送

所以单纯访问Web主页时,SMTP不可能用到。

这道题告诉你:

复制代码
PPP在408里经常以"协议层次/使用场景"方式出现

十九、408真题2:2012年第33题

题目:

复制代码
在TCP/IP体系结构中,
直接为ICMP提供服务的协议是( )。

A. PPP
B. IP
C. UDP
D. TCP

答案:

复制代码
B. IP

协议层次:

复制代码
ICMP
 ↓
IP
 ↓
PPP / Ethernet
 ↓
物理层

ICMP直接封装在:

复制代码
IP数据报

中。

所以:

复制代码
IP直接为ICMP提供服务

PPP在更下面:

复制代码
PPP负责把IP数据报封装成数据链路层帧

这道题真正考:

复制代码
PPP属于数据链路层
服务对象是网络层

二十、典型练习:PPP帧字段

下面是典型练习,不是统考原题。

PPP帧:

复制代码
F | A | C | Protocol | Information | FCS | F

下列说法正确的是:

复制代码
A. FCS用于可靠重传
B. Protocol用于说明Information承载的协议类型
C. Information至少46B
D. PPP帧不需要边界标志

判断:

复制代码
A ×:FCS只负责检错

B √

C ×:PPP信息字段可为0B

D ×:F=7E就是边界标志

答案:

复制代码
B

二十一、典型练习:LCP和NCP

下面是典型练习,不是统考原题。

复制代码
A. LCP负责给IP数据报分配端口号
B. NCP负责协商物理链路建立
C. LCP负责PPP链路参数配置
D. NCP负责CRC检验

秒杀:

复制代码
LCP -> 链路本身

NCP -> 网络层协议配置

所以:

复制代码
答案C

二十二、考场秒杀表

看到:

复制代码
LCP

想到:

复制代码
链路建立、配置、测试、终止

看到:

复制代码
NCP

想到:

复制代码
网络层协议配置

看到:

复制代码
7E

想到:

复制代码
PPP帧标志

看到:

复制代码
FF / 03

想到:

复制代码
地址字段 / 控制字段固定值

看到:

复制代码
0021

想到:

复制代码
IP

看到:

复制代码
C021

想到:

复制代码
LCP

看到:

复制代码
异步PPP

想到:

复制代码
字节填充
7D转义

看到:

复制代码
同步PPP

想到:

复制代码
零比特填充
5个1插0

看到:

复制代码
CRC

不要直接选"可靠"。

PPP是:

复制代码
只检错,不负责重传

二十三、最后只背这段

复制代码
PPP是数据链路层点对点协议。

PPP三部分:
LCP管链路,
NCP管网络层,
再加PPP帧封装。

PPP帧:
F A C 协议 信息 FCS F

F=7E
A=FF
C=03

异步字节填充,
同步零比特填充。

建立流程:
物理通 -> LCP -> 鉴别 -> NCP -> 打开。

PPP有CRC但没有数据阶段ACK和重传,
所以能检错,但提供不可靠传输服务。

这段能完整复述出来,PPP选择题基本就不会丢概念分。


真题核对

本文真题部分核对自:

复制代码
2012年408计算机网络第33题
2014年408计算机网络第40题
相关推荐
IT大白鼠6 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien20046 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt7 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
mooooooooooye10 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina10 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
江安下小雨12 小时前
muduo网络库(十六):新增连接池模块
网络·c++
aiot1891893521813 小时前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
从入门到退休13 小时前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制
fb_1234514 小时前
网络技术基础
网络
黑臂麒麟15 小时前
HarmonyOS 网络连接诊断实战:检测网络状态、WiFi 切换、弱网监测一网打尽
网络·华为·arkts·鸿蒙