数据通信知多少?数据通信链路层设计_上篇

数据通信在被广泛使用,随着数据通信的应用,大家对于数据通信也更为了解 。本文中,小编将对基于选择式ARQ的短波自适应数据通信链路层协议设计加以介绍 。本文仅为上篇,更多内容请参考下篇 。如果你对数据通信具有兴趣,不妨继续往下阅读哦 。
一、前言
短波通信是中、远程无线电通信的传统手段,它具有通信距离远、架设方便、抗摧毁能力强、运行费用低等优点,在军队、外交等部门有着广泛的应用 。在20世纪80年代手期,美国制订了军标MIL-STD-188-110A,此后国外一些公司纷纷提出了符合该标准的新一代高速串行调制解调器,如哈里斯公司的RF 5710,使得短波数据通信效率明显改善 。
我国许多用户引进了符合110A军标的调制解调器,如外交部全球短波数据通信系统采用了哈里斯公司的RF 5710,但是没有合适的通信软件 。在多年实践经验基础上,于1999年初步设计和实现了基于选择式ARQ的链路层协议,并对影响传输效率的因素和改进措施作了定性分析 。对该协议的时间参数和性能初步作了定量分析 。
本文首先分析了协议的不足之处,然后给出了改进型半双工选择式ARQ协议的设计方案,定时分析了新协议的时间参数、信道利用率,在定量分析的基础上给出了自适应阈值;在新的链路层协议上,制定了文件传输层协议 。
二、改进型半双工选择式ARQ协议和支持传送协议
2.1 短波半双工选择ARQ协议概况
协议一次最多发送16帧,然后等待对方的应答;帧的编号从1~240,当传输到第240帧数据后,强行将序号1~240中没有正确传送的帧送到对方,然后才能进入下一个240帧的传输,这与通常的滑动窗口机制有差异 。对于选择式协议来说,极端情况下240帧的第一帧没有成功收到,那么所有的数据都不能交给应用层,这样对于优先级非常高的文件,无法及时传输 。为了解决这类问题,在每个文件传输时,首先强制性地把文件名称、长度送到对方,然后将文件中的数据送走 。这种方案保证先发送的文件先到达,但是文件头和文件体需要至少发送两次,对于长交织模式来说传递一批小文件(需要确保优先级高的文件先送到,不能把它们合成一个文件一来传输)时效率非常低 。
导致效率低下的原因有以下几个方面:首先,没有将全双工选择式ARQ中滑动窗口技术正确地推广到短波半双工条件下;其次,一次发送的数据帧固定为16帧;第三,缺少对滑动窗口顶部数据帧的保护,使得滑动窗口机制无法快速下滑;第四,通信双方采用一样的交织模式,并且没有制定信道条件变化时自适应改变交织模式的定量准则 。
2.2 改进型半双工选择式ARQ协议
数据帧结构
标志发地址收地址帧号帧数数据CRC标志
1221130,60,12,24021
说明:数据帧的长度接收方自动匹配,由帧的结束符号来自动区分 。两个帧之间的分隔符号用一个 。
应答帧结构
标志发地址收地址确认帧号CRC标志
122多个字节21
说明:确认帧号是最后一次正确接收的所有数据帧号 。如果最近一次传输的帧号全部正确,那么该域包含了所有的数据帧号,如果全部错误,那么该域就没有数据 。
应答帧的保护:根据应答帧的定义最长不超过60字节,在信道传输质量变差的条件下一次发送的帧数会减少,即应答帧的长度很短,因此同一个应答帧发送三遍既保证了应答帧的可靠性又不会增加传输的负担 。发送方只要收到一次正确的应答帧就可以了,不管其余两帧是否正确 。应答帧可靠的重要性在于一旦它出错会造成最近发送的一批数据帧重新传输 。
交织模式的选择:为了适应信道传输质量的变化,应该及时调整交织模式 。对于交织模式的配置原则如下:数据的接收方固定设置为无交织模式(应答帧已经有错误保护机制),数据主发送方初始6设置为无交织,在发送过程中重传的帧数达到一定阈值,则再次发送前交织模式设置为短交织,依此类推 。反过来,长交织模式误帧率很低则可以设置成短交织,依此类推 。
滑动窗口和一次发送帧数:协议启动时初次发送的数据帧个数最多为20帧,在传输过程中如果误帧率很小,则可以逐步加大到60帧 。收发双方滑动窗口的长度都定为120帖,实际一次发送的帧数受滑动窗口大小和缓冲区中待传送数据帧数可以多一些 。这样修改后,当信道十分良好时,只要很少几次应答确认就可以完成非常大的数据量传输,可以大大提高数据通信的效率 。
对滑动窗口顶部数据帧的保护:由于本协议的滑动窗口长度限定为120,当较小序号的数据帧没有正确送走时会限制一次发送的数据帧个数(极端情况下,第1帧没有成功地送走,而第2~120帧全部送走,此时一次只能送一个帧);另外接收方会积压许多数据帧而未能交给上一层协议,影响上一层通信的实时性 。
为了解决这一问题,对于没有正确传送的数据帧在一次发送中允许最多一遍,这样可以加速滑动窗口迅速下滑 。具体做法:当实际能够发送的数据帧不足20帧,或者最小没有成功送走的序号与最大成功送走的序号之间间隔超过30帧时,对传输失败的帧重复发送两遍 。如仍然出现差错,则发达三遍 。
采取保护措施后可以解决由于个别帧迟迟没有正确传输而导致滑动窗口不能下移而影响传输的实时性和效率问题 。
2.3 文件传输层协议
协议修改后,链路层能够比较迅速地将数据递交给文件层,因此文件传输层可以与链路层切分出来 。由于链路层能够保证无差错,因此文件之间只要能够区分格式就可以了 。一个文件的数据格式定义如下:
分隔符+文件名称+分隔符+文件长度+分隔符+文件数据内容
多个文件可以按照上面的格式一个接一个传输 。
于其它半双工信道 。
【数据通信知多少?数据通信链路层设计_上篇】 以上便是此次小编带来的“数据通信”相关内容,通过本文,希望大家对数据通信链路层设计具备初步的认识 。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容 。最后,十分感谢大家的阅读,have a nice day!

    推荐阅读