目录
2.1字符计数法
2.2字符填充的首尾定界符法
2.3零比特填充的首尾标志法
2.4违规编码法
组帧就是一段数据的前后分别添加首部和尾部,确定帧的界限。
组帧的目的是解决帧定界、帧同步(接收方应能从接收到的二进制比特流中区分出帧的起始和终止)、透明传输(如果在数据字段恰好出现与帧定界符相同的比特组合,会导致帧提前结束而丢弃后面的数据。所以引入了“透明传输”)等问题。
接收端在收到物理层上交的比特流后,就能根据首部和尾部的标志,从收到的比特流中识别帧的开始和结束。
通常有4种组帧方法:
2.1字符计数法
使用帧头部的一个域来标明帧内字符数。目的结点的数据链路层受到字节计数值时,就知道后面跟随的字节数,从而可以确定帧结束的位置(计数字段本身也占一个字节)
缺点是如果计数字段出错就失去了帧边界划分的依据。
2.2字符填充的首尾定界符法
字符填充法使用特定字符来定界一帧的开始与结束。
帧定界符:控制字符SOH放在帧首部,控制字符EOT放在帧尾部。
在特定字符前面填充一个转义字符(ESC)来加以区分,以实现数据的透明传输。接收方收到转义字符后,就知道其后面紧跟的是数据信息,而不是控制信息。
数据中有可能出现转义字符,所以要在转义字符 前 再插入一个转义字符。
2.3零比特填充的首尾标志法
零比特填充法使用01111110来标志一帧的开始和结束。发送方的数据链路层在信息位中遇到5个连续的“1”时,自动在其 后 插入一个“0”。接收方收到5个连续的“1”时,自动删除后面紧跟的“0”恢复原信息。
注意:每个字符可以包含任意个数的比特。
2.4违规编码法
利用物理介质上编码的违规标志来界定帧的起始与终止。
例如:曼彻斯特编码方法将数据比特“1”编码称“高-低”电平对,将数据比特“0”编码称“低-高”电平对(或相反),而“高-高”电平对和“低-低”电平对在数据比特中是违规的(没有采用)。
局域网IEEE 802标准就采用了这种方法。
违规编码不需要采用任何填充技术,便能实现数据传输的透明性,但它只适用于采用冗余编码的特殊编码环境。
由于字符计数法中计数字段的脆弱性和字符填充法实现上的复杂性和不兼容性,目前较常用的组帧方法是零比特填充法和违规编码法。