「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》
学习目标
- 了解什么是透明传输?
- 了解组帧的概念,了解封装成帧的四种方法?
一、透明传输
透明传输是一种传输方式,一种 「下层相对于上层透明」 的传输方式。
透明传输不关心传输的内容是什么,设备只是起一个「通道」的作用,只传输数据。
就像寄快递一样,你只需要告诉驿站地址,而不用担心快递的过程,这个快递传输的过程对你来说就是透明的。
这里可能有人不理解,我详细解释一下:透明是下层对于上层的透明,就像你寄快递,驿站送快递的过程对于你是透明的,但这个过程对于驿站本身不能透明,驿站得处理快递,把快递给你送过去呀,总不能给你送个空盒子吧;
链路层的透明传输也是一样,传输的过程在上层看来是透明的,但链路层还是得处理这些数据,只是这些处理过程,上层并不关心。
链路层处理数据的第一步,就是封装成帧。
物理层只是单纯的「传输」比特流,没有对传输的数据作任何「处理」,这样容易出现一些问题,比如,本来传输5个单位的数据,传输过程中丢了3个,这就会导致数据的传输出现「差错」,为了避免这些差错,数据链路层将数据分隔成多组小数据(帧),当数据传输出现差错时,只重发出错的帧,而不是重发所有的数据。
二、封装成帧
封装成帧就是在一段数据的前后添加「首部」和「尾部」,首部+数据+尾部 共同组成一个帧。
组帧的目的在于,确定数据的开始和结束;
在此基础上,帧首部和帧尾部可以包含很多控制信息,比如:传输顺序编号,保证数据的有序和准确。
常用的组帧方式有四种:
1)字符计数法
帧首部使用一个字节(8位)来标明帧的「字符数」。
比如,帧的第一个字节是5,就表示这个帧有5个字符;
帧的第一个字节是8,就表示这个帧就8个字符。
这种方法有一个很大的问题,当第一个字节(计数字节)发生错误时,后续所有的帧都会发生错误,因此,这种方法并不常用。
2)字符填充法
指定两个特殊字节,作为帧的开始字节( SOH )和结束字节( EOT )。
比如,我们用 00000001 代表开始字节, 00000100 代表结束字节,接收方识别到这两种字节时,就能知道帧从哪里开始,从哪里结束。
发送方在「发送前」,先检查帧的数据部分,有没有和特殊字节「重复」的内容(数据部分与特殊字节重复时,会使接收方错误的识别帧的开始和结束)。
如果有重复的部分,就会「填充」另外一种特殊字节( ESC ),告诉接收方,这个字节(8位)的数据不是帧界定符,你不要识别。
发送方在接收帧以后,再将这个填充的特殊字节「删除」掉。
3)零比特填充法
指定一个特殊字节( 0 )作为帧界定符,用来标识帧的开始和结束。
发送方在「发送前」,先检查帧的数据部分,只要有「5个连续的1」,就在后面「填充1个0」。
接收方在收到帧以后,先找到帧的界定符,再扫描帧的数据部分,只要有5个连续的1,就「删除」后面的0。
4)违规编码法
计算机传输数据时,用「电流」的高低来标识数据,「一高一低」的电流表示 1 ,「一低一高」的电流表示 0 。
违规编码法利用违规的电流来表示帧界定符,比如,用两个连续的高电流表示帧的开始,两个连续的底电流表示帧的结束。
由于字符计数法容错率太低,字节填充法实现起来台复杂,因此,使用较多的是零比特填充法和违规编码法。
今天的文章
透明传输的概念_简述串行异步传输的帧格式特点分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80821.html