扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Flag :标志字段,表示帧的起始或结束。所有的PPP帧都是由一个标准的HDLC标志二进制字节(01111110)作为开始的。如果它正好出现在Information字段中,则需要进行字节填充。具体可参见本系列图书《网络工程师必读——网络工程基础》一书。
Address:地址字段,它总是被设置成二进制值:11111111,以表示所有的站都可以接受该帧。它是一个标准的广播地址(注意:PPP通信不分配个人站地址)。
Protocol:协议字段,识别帧中Information字段封装的协议。已定义的协议代码包括:LCP、NCP、IP、IPX、AppleTalk等。以0位作为开始的协议是网络层协议,如IP、IPX、XNS等;以1位作产开始的协议被用于协商其他的协议,如LCP、NCP。协议的默认大小为2字节,但是通过LCP可以将它协商为1个字节。
Information:信息字段(又称“净荷域”),可以是任意长度,包含Protocol字段中指定的协议数据报。如果在线路建立过程中没有通过LCP协商该长度,则使用默认长度1500字节。如果有需要的话,在该字段之后可以加上一些填充字节。
PPP数据帧的格式看上去很像ISO的HDLC(高级链路控制协议)标准。每一帧都以标志字符0x7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个值为0x03的控制字节。接下来是协议字段,类似于以太网中类型字段的功能。 CRC字段(或FCS,帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。
由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。在同步链路中,该过程是通过一种称作比特填充(bitstuffing)的硬件技术来完成的;在异步链路中,特殊字符0x7d用作转义字符。当它出现在PPP数据帧中时,那么紧接着的字符的第6个比特要取其补码,具体实现过程如下:
(1)当遇到字符0x7e时,需连续传送两个字符:0x7d和0x5e,以实现标志 字符的转义。
(2)当遇到转义字符0x7d时,需连续传送两个字符:0x7d和0x5d,以实现 转义字符的转义。
PPP协议选择的帧格式与本书后面将要介绍的HDLC协议帧格式非常类似。它们之间的主要区别是,PPP面向字符的,而HDLC是面向位(比特)的。另外,PPP协议在调制解调器上使用了字节填充技术,所以,所有的帧都是整数个字节,经发送一个包含10.25个字节的帧是不可能的(而在HDLC协议中这又是可能的)。PPP协议帧不仅可以通过拨号电话线发送出去,也可以通过SONET,或者真正面向位的HDLC线路(如路由器到路由器之间的连接)发送出去。
Flag :标志字段,表示帧的起始或结束。所有的PPP帧都是由一个标准的HDLC标志二进制字节(01111110)作为开始的。如果它正好出现在Information字段中,则需要进行字节填充。具体可参见本系列图书《网络工程师必读——网络工程基础》一书。
Address:地址字段,它总是被设置成二进制值:11111111,以表示所有的站都可以接受该帧。它是一个标准的广播地址(注意:PPP通信不分配个人站地址)。
Protocol:协议字段,识别帧中Information字段封装的协议。已定义的协议代码包括:LCP、NCP、IP、IPX、AppleTalk等。以0位作为开始的协议是网络层协议,如IP、IPX、XNS等;以1位作产开始的协议被用于协商其他的协议,如LCP、NCP。协议的默认大小为2字节,但是通过LCP可以将它协商为1个字节。
Information:信息字段(又称“净荷域”),可以是任意长度,包含Protocol字段中指定的协议数据报。如果在线路建立过程中没有通过LCP协商该长度,则使用默认长度1500字节。如果有需要的话,在该字段之后可以加上一些填充字节。
PPP数据帧的格式看上去很像ISO的HDLC(高级链路控制协议)标准。每一帧都以标志字符0x7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个值为0x03的控制字节。接下来是协议字段,类似于以太网中类型字段的功能。 CRC字段(或FCS,帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。
由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。在同步链路中,该过程是通过一种称作比特填充(bitstuffing)的硬件技术来完成的;在异步链路中,特殊字符0x7d用作转义字符。当它出现在PPP数据帧中时,那么紧接着的字符的第6个比特要取其补码,具体实现过程如下:
(1)当遇到字符0x7e时,需连续传送两个字符:0x7d和0x5e,以实现标志 字符的转义。
(2)当遇到转义字符0x7d时,需连续传送两个字符:0x7d和0x5d,以实现 转义字符的转义。
(3)默认情况下,如果字符的值小于0x20(比如,一个ASCII控制字符),一般都要进行转义。例如,遇到字符0x01时需连续传送0x7d和0x21两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为0)。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。