组帧,封装成帧是什么?什么是透明传输?组帧的四种方法(字符计数法,字符填充法,零比特填充法,违规编码法)

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》

学习目标

  1. 了解什么是透明传输?
  2. 了解组帧的概念,了解封装成帧的四种方法?

一、透明传输

透明传输是一种传输方式,一种 「下层相对于上层透明」 的传输方式。

透明传输不关心传输的内容是什么,设备只是起一个「通道」的作用,只传输数据。

就像寄快递一样,你只需要告诉驿站地址,而不用担心快递的过程,这个快递传输的过程对你来说就是透明的。

这里可能有人不理解,我详细解释一下:透明是下层对于上层的透明,就像你寄快递,驿站送快递的过程对于你是透明的,但这个过程对于驿站本身不能透明,驿站得处理快递,把快递给你送过去呀,总不能给你送个空盒子吧;

链路层的透明传输也是一样,传输的过程在上层看来是透明的,但链路层还是得处理这些数据,只是这些处理过程,上层并不关心。

链路层处理数据的第一步,就是封装成帧。

物理层只是单纯的「传输」比特流,没有对传输的数据作任何「处理」,这样容易出现一些问题,比如,本来传输5个单位的数据,传输过程中丢了3个,这就会导致数据的传输出现「差错」,为了避免这些差错,数据链路层将数据分隔成多组小数据(帧),当数据传输出现差错时,只重发出错的帧,而不是重发所有的数据。

二、封装成帧

封装成帧就是在一段数据的前后添加「首部」「尾部」,首部+数据+尾部 共同组成一个帧。

在这里插入图片描述
组帧的目的在于,确定数据的开始和结束;
在此基础上,帧首部和帧尾部可以包含很多控制信息,比如:传输顺序编号,保证数据的有序和准确。

常用的组帧方式有四种:

1)字符计数法

帧首部使用一个字节(8位)来标明帧的「字符数」

在这里插入图片描述
比如,帧的第一个字节是5,就表示这个帧有5个字符;
帧的第一个字节是8,就表示这个帧就8个字符。

这种方法有一个很大的问题,当第一个字节(计数字节)发生错误时,后续所有的帧都会发生错误,因此,这种方法并不常用。

2)字符填充法

指定两个特殊字节,作为帧的开始字节( SOH )和结束字节( EOT )。

比如,我们用 00000001 代表开始字节, 00000100 代表结束字节,接收方识别到这两种字节时,就能知道帧从哪里开始,从哪里结束。

在这里插入图片描述
发送方在「发送前」,先检查帧的数据部分,有没有和特殊字节「重复」的内容(数据部分与特殊字节重复时,会使接收方错误的识别帧的开始和结束)。
如果有重复的部分,就会「填充」另外一种特殊字节( ESC ),告诉接收方,这个字节(8位)的数据不是帧界定符,你不要识别。
发送方在接收帧以后,再将这个填充的特殊字节「删除」掉。

在这里插入图片描述

3)零比特填充法

指定一个特殊字节( 01111110 )作为帧界定符,用来标识帧的开始和结束。

在这里插入图片描述
发送方在「发送前」,先检查帧的数据部分,只要有「5个连续的1」,就在后面「填充1个0」

接收方在收到帧以后,先找到帧的界定符,再扫描帧的数据部分,只要有5个连续的1,就「删除」后面的0。

4)违规编码法

计算机传输数据时,用「电流」的高低来标识数据,「一高一低」的电流表示 1 「一低一高」的电流表示 0

违规编码法利用违规的电流来表示帧界定符,比如,用两个连续的高电流表示帧的开始,两个连续的底电流表示帧的结束。

在这里插入图片描述
由于字符计数法容错率太低,字节填充法实现起来台复杂,因此,使用较多的是零比特填充法和违规编码法。

  • 37
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日wyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值