您的位置:首页 > 理论基础

计算机网络(3.6)数据链路层- PPP 协议的帧格式和工作状态

2019-04-28 18:59 302 查看

PPP 协议的帧格式

PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。标志字段F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是 01111110)。地址字段A只置为0xFF。地址字段实际上并不起作用。

控制字段C通常置为0x03。PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

PPP 有一个2 个字节的协议字段。其数值:

1、若为0x0021,则信息字段就是 IP 数据报文,0x002B表示IPX报文,0x0029表示AppleTalk报文,这几种都属于PPP的数据报文 。

2、若为0x8021,则信息字段是网络控制数据(NCP),若为0xC021 ,则信息字段是PPP 链路控制数据(LCP),是控制报文。

3、若为0xC023,则信息字段是表示PAP协议认证报文,0xc223表示CHAP协议认证报文。

PPP的协议体系:

当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。 当PPP用在异步传输时,就使用一种特殊的字节填充法。(转义符定义为0x7D)

字节填充

将信息字段中出现的每一个0x7E字节转变成为2字节序列 (0x7D, 0x5E)。

若信息字段中出现一个 0x7D 的字节, 则将其转变成为2字节序列 (0x7D, 0x5D)。

若信息字段中出现ASCII码的控制字符(即数值小于0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。例:0x03(传输结束“ETX”)转变为2字节序列 (0x7D,0x23)。

接收端需进行逆转换,以正确恢复原有信息。

零比特填充

PPP 协议用在SONET/SDH链路时,使用同步传输 (一连串的比特连续传送)。这时 PPP协议采用零比特填充方法来实现透明传输。

在发送端,只要发现有5个连续1,则立即填入一 个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这 5 个连续1后的一个0删除。

PPP 协议的工作状态 

当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条从用户个人电脑到ISP的物理连接。PC 机向路由器发送一系列的LCP 分组(封装成多个PPP 帧)。

这些分组及其响应选择一些PPP参数,并进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个有IP地址的主机。

通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

可见,PPP协议已不是纯粹的数据链路层的协议,它还包含 了物理层和网络层的内容。

PPP 协议的状态图

PPP会话建立的过程 

PPP提供了建立、配置、维护和终止点到点连接的方法。从开始发起呼叫到最终通信完成后释放链路,PPP的工作过程分为以下4个阶段:

链路的建立和配置协调:通信的发起方发送LCP帧来配置和检测数据链路,主要用于协商选择将要采用的PPP参数,包括身份验证、压缩、回叫、多链路等;

链路质量检测:在链路建立、协调之后,这一阶段是可选的;

网络层协议配置协调:通信的发起方发送NCP帧以选择并配置网络层协议,配置完成后,通信双方可以发送各自的网络层协议数据报;

关闭链路:通信链路将一直保持到LCP或NCP关闭链路,或者是发生一些外部事件(空闲时间超长、用户干预或链路故障 等)。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: