需求
- 简单
- 封装成帧
- 透明性
- 字节填充(异步传输)
- 转义符为 0x7D
- 将信息字段中出现的每一个0x7E字节转为(0x7D,0x5E)
- 若信息字段中出现了一个0x7D的字节,则将其转变为(0x7D,0x5D)
- 若信息字段中出现了ASCII码的控制字符,则在该字符前加上0x7D的字节
- 0比特填充
- 同步传输时,只要发现5个连续1,就立刻填入一个0
- 字节填充(异步传输)
- 多种网络协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
-
特点
简单
- 提供不可靠数据报服务
- 有检错
- 无纠错
- 适用于线路质量不太差的情况
- 面向字节(HDLC面向比特)
- 异步线路(字符填充法)同步线路(比特填充)
- 只支持全双工
- 广域网协议,一对一,点对点,原则上不需要寻址
-
组成
将IP数据报封装到串行链路的方法
- 既支持异步链路(无奇偶校验的8位比特)
- 也支持面向比特的同步链路(按序)
- IP数据包在PPP帧中是信息部分,这个信息部分的长度受MTU的限制
- 用来建立、配置和测试数据连接的链路控制协议LCP(Link Control Protocol)
- 用来建立、配置和测试数据链路连接
一套网络控制协议NCP(Network Control Protocol)
Flag 标志字段
- 0x7E,01111110表示一个帧开始或结束,即PPP帧的定界符。如果同时出现两个标志字段,则表示空帧
- A
- 0xFF,即11111111 。 无定义
- C
- 0x03,即00000011 。无定义
- 协议字段
- 当协议字段为0xC021时,信息字段为PPP链路控制协议LCP的数据
- 当协议字段为0x8021时,信息字段为网络层的控制数据
- 当协议字段为0x0021时,信息字段为IP数据报
- 信息字段
- 长度可变,但不超过1500字节
FCS
如图
- 链路建立状态,LCP开始链路协商,即发送链路请求帧,相应有三种
- 配置确认帧
- 配置否认帧:所有选项都理解但不接受
- 配置拒绝帧:有的选项不能识别或不能接受,需协商
- 链路打开状态,链路的两个PPP端点可以彼此发送分组,还可发送回送请求LCP分组和回送回答LCP分组以检查链路状态
- 数据传输结束后可以由链路的一端发送终止请求LCP分组,收到对方发来的终止确认LCP分组,转到链路种植状态
PPP不是纯粹的数据链路层协议,还包含了物理层和网络层的内容
已使用 OneNote 创建。