首页 理论教育PPP协议帧格式-计算机网络技术

PPP协议帧格式-计算机网络技术

【摘要】:PPP 的帧格式如图3.4所示。图3.4PPP 协议的帧格式首部的第一个字段和尾部的第二个字段都是帧的定界符,规定为0x7E,表示一个帧的开始或结束。当协议字段为0xC021 时,帧的数据部分为PPP 链路控制协议LCP的数据,若为0x8021 时,表示为网络层的控制数据。零比特填充PPP 协议用在SONET/SDH 链路中,是使用同步传输,这时PPP协议采用零比特填充方法来实现透明传输。在异步传输方式中,PPP 帧字节填充方式解决透明传输问题。

PPP 的帧格式如图3.4所示。PPP 帧的首部和尾部分别为四个字段和两个字段。

图3.4 PPP 协议的帧格式

首部的第一个字段和尾部的第二个字段都是帧的定界符,规定为0x7E(0x 为十六进制数的标志,而十六进制数7E 的二进制表示为:01111110),表示一个帧的开始或结束。连续两帧之间只需要有一个定界符,如果出现连续的两个定界符,就表示为一个空帧,接收端会丢弃空帧。

首部中的地址字段A 规定为0xFF(即11111111),控制字段C 规定为0x03(即00000011)。PPP 首部的第四个字段是两个字节的协议字段。当协议字段为0x0021 时,帧的数据部分就是IP 数据报。当协议字段为0xC021 时,帧的数据部分为PPP 链路控制协议LCP的数据,若为0x8021 时,表示为网络层的控制数据。

帧的数据部分长度是可变的,其总长度也是可变的,但总长度不能超过1 500 个字节。

尾部的第一个字段(2 个字节)是使用CRC 的帧检验序列FCS。

(1)字节填充

当信息字段中出现和定界符一样的比特(0x7E)组合时,就必须采取一定的措施使数据透明传输。当PPP 协议使用异步传输时,解决透明传输的方法为字节填充。它将转义字符规定为0x7D(即01111101),具体填充办法如下:

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

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

③若信息字段中出现ASCII 码的控制字符(即数值小于0x20 的字符),则在该字符前面要加入一个0x7D 字节,同时将该字符的编码加以改变。

由于在发送端进行了字节填充,因此,在链路上传送的帧的字节数超过了原来信息字节数,但接收端收到数据后再进行与发送端填充字节时相反的变换,就可以正确地恢复出原来的信息。

(2)零比特填充

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

零比特填充的具体做法是:在发送端,只要发现有五个连续“1”,则立即填入一个“0”,这样就可以保证在帧的数据部分不会出现连续的六个“1”。接收端接收数据时,对帧中的比特流进行扫描。每当发现五个连续“1”时,就将这五个连续“1”后的一个“0”删除,还原为原来的比特流,这样便保证了透明传输,不会引起对帧的边界的判断错误。

【例3.1】在异步传输方式中,PPP 帧字节填充方式解决透明传输问题。假设一个PPP帧的数据部分(用十六进制表示)是7D 5E 46 5E 89 65 7D 10 7D 5D 65 7D 5E,试问真正的数据是什么(用十六进制表示)?

【解析】根据字节填充办法,将数据还原过程:

【答案】真正的数据为:7E 46 5E 89 65 10 7D 65 7E