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

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题