【王道】3.2 组帧——字符计数法、首尾定界符法和零比特填充法

3.2 组帧

组帧指的是将网络层递交的分组按照一定规则封装成帧,这些需要解决帧定界、帧同步、透明传输等问题。首先要解决的事透明传输的问题。

3.2.1 字符计数法

字符计数法是指在帧头部使用一个计数字段来表明帧内字符数,存放着目的结点的数据链路层收到字节计数值的时候,就知道后面还有多少个字节数,从而确定帧结束的位置。这种方法的最大问题是如果计数字段出现错误,就会失去帧边界划分的依据,那么接收方就无法判断传输的结束位和下一帧的开始位置,从而导致后续的帧也失去边界,收发双方失去同步。

3.2.2 字符填充的首位定界符法

字符填充法使用特定字符来定界一帧的开始和结束。控制字符SOH放在最前面,表示帧首部的开始,控制字符EOT表示帧的结束。为了使信息为中出现的SOH和EOT不被误判为帧的首尾定界符,可以在信息中出现SOH和EOT的前面加一个特殊的转意字符ESC(ascii码为27)来加以区分,以实现数据的透明传输。

3.2.3 零比特填充的首位定界符法

零比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用01111110来标识一帧的开始和结束,为了避免信息中的01111110被误判为首尾定界符,发送方的数据链路层会遍历信息位,在信息位中遇到连续的五个1的时候会在后面加多一个0;而接收方会做该过程的逆操作,在识别了帧的头部和尾部并提取出了其中的信息部分后,遍历信息部分,每遍历到第五个1的时候,自动删除后续的一个0。零比特填充法很容易通过硬件实现,性能优于字符填充法。

3.2.4 违规编码法

在物理层进行比特编码的时候,通常采用违规编码法。比如曼彻斯特编码中将数据比特1编码成“高-低”电平,将数据比特0编码成“低-高”电平,而“高-高”电平和“低-低”电平是违规的,没有规定意义的。可以用这些违规的编码来定界真的起始和终止。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值