链路层-PPP:点对点协议(2)

2009年04月18号  |  23:39分类:协议基础  |  标签:  |  

PPP数据帧的格式看上去很像ISO的HDLC(高层数据链路控制)标准。下图就是PPP数据帧的格式

PPP数据帧格式

每一帧都以标志字符0×7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个值为0×03的控制字节。

接下来是协议字段,类似于以太网中类型字段的功能。当它的值为0×0021时,表示信息字段是一个IP数据包;值为0xc021时,表示信息字段是链路控制数据;值为0×8021时,表示信息字段是网络控制数据。

CRC字段(或FCS,帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。

由于标志字符的值是0×7e,因此当该字符出现在信息字段中时,PPP需要对它进行转义。在同步链路中,该过程是通过一种称作比特填充(bit stuffing)的硬件技术来完成的。在异步链路中,特殊字符0×7d用作转义字符。当它出现在PPP数据帧中时,那么紧接着的字符的第6个比特要取其补码。具体实现过程如下:

1)当遇到字符0×7e时,需要连续传送两个字符:0×7d和0×5e,以实现标志字符的转义。

2)当遇到转义字符0×7d时,需连续传送两个字符:0×7d和0×5d,以实现转义字符的转义。

3)默认情况下,如果字符的值小于0×20(比如,一个ASCII控制字符),一般都要进行转义。例如,遇到字符0×01时需连续传送0×7d和0×21两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为0)。

 

 文章来源于>>网络协议分析博客   转载请注明:Toad的博客

喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

发表您的评论

您必须 登录 才能发表评论。