ppp协议
- 点对点协议
PPP
(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
。
一.ppp协议的组成
- PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下
三部分
构成:- 对各种协议数据报的封装方法(
封装成帧
) 链路控制协议LCP
用于建立、配置以及测试数据链路的连接一套网络控制协议NCPs
其中的每一个协议支持不同的网络层协议
- 对各种协议数据报的封装方法(
二. ppp协议的帧格式
帧格式
:
- 标志(Flag)字段:PPP帧的定界符,取值为0x7E
- 地址(Address)字段:取值为OxFF,预留(目前没有什么作用)
- 控制(Control)字段:取值为0x03,预留(目前没有什么作用)
- 协议(Protocol)字段:指明帧的数据部分送交哪个协议处理
- 帧检验序列(Frame Check Sequence)字段:CRC计算出的校验位
注意
:ppp是点对点的,并不是总线形的,因此无需使用CSMA/CD协议,自然就没有最短帧,所以信息占0-1500B,而不是46B-1500B
三.PPP协议的特点
- 提供差错检测但不提供纠错功能,只保证无差错接收
- 仅支持点对点的链路通信,不支持多点通信
- 只支持全双工链路
- ppp的两端可以运行不同的网络层协议,但仍然使用同一个PPP进行通信
四.ppp协议的透明传输与差错检测
(一).传输字节
如果传输的是字节,采用面向字节的异步链路采用插入转义字符的字节填充法.
发送方的处理
:
- 出现的每一个7E (PPP帧的定界符)字节转变成2字节序列(7D,5E)。
- 出现的每一个7D(转义字符)字节转变成2字节序列(7D,5D)。
- 出现的每一个ASCII码控制字符(数值小于0x20的字符),则在该字符前面插入一个7D
字节,同时将该字符的编码加上Ox20。
接收方的处理
:
- 进行反变换即可恢复出原来的帧的数据部分。
(二).传输比特
面向比特的同步链路采用插入比特0的比特填充法
发送方的处理
:
- 对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,则立即填充1个比特0。
接收方的处理
:
- 对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,就把其后的1个比特0删除。
(三).差错检测
差错检测-CRC