短波通讯是中、长途无线电通讯的传统手法,它具有通讯距离远、架起便利、抗炸毁能力强、运转费用低一级长处,在戎行、交际等部分有着广泛的使用。在20世纪80年代手期,美国制订了军标MIL-STD-188-110A,尔后国外一些公司纷繁提出了契合该规范的新一代高速串行调制解调器,如哈里斯公司的RF 5710,使得短波数据通讯功率显着改进[1]。
我国许多用户引进了契合110A军标的调制解调器,如交际部全球短波数据通讯体系选用了哈里斯公司的RF 5710,可是没有适宜的通讯软件。为此笔者在多年实践经验基础上,于1999年开端规划和完结了根据挑选式ARQ的链路层协议,并对影响传输功率的要素和改进办法作了定性剖析[2]。文献[3]对该协议的时刻参数和功能开端作了定量剖析。
本文首要剖析了文献[2]协议的缺乏之处,然后给出了改进型半双工挑选式ARQ协议的规划计划,守时剖析了新协议的时刻参数、信道利用率,在定量剖析的基础上给出了自习惯阈值;在新的链路层协议上,拟定了文件传输层协议。
1 改进型半双工挑选式ARQ协议和支撑传送协议
1.1 短波半双工挑选ARQ协议概略
在文献[2]中,协议一次最多发送16帧,然后等候对方的应对;帧的编号从1~240,当传输到第240帧数据后,强即将序号1~240中没有正确传送的帧送到对方,然后才干进入下一个240帧的传输,这与一般的滑动窗口机制有差异。关于挑选式协议来说,极点情况下240帧的榜首帧没有成功收到,那么一切的数据都不能交给使用层,这样关于优先级十分高的文件,无法及时传输。为了处理这类问题,在每个文件传输时,首要强制性地把文件名称、长度送到对方,然后将文件中的数据送走。这种计划确保先发送的文件先抵达,可是文件头和文件体需求至少发送两次,关于长交错形式来说传递一批小文件(需求确保优先级高的文件先送到,不能把它们组成一个文件一来传输)时功率十分低。
导致功率低下的原因有以下几个方面:首要,没有将全双工挑选式ARQ中滑动窗口技能[4]正确地推行到短波半双工条件下;其次,一次发送的数据帧固定为16帧;第三,短少对滑动窗口顶部数据帧的维护,使得滑动窗口机制无法快速下滑;第四,通讯两边选用相同的交错形式,而且没有拟定信道条件改动时自习惯改动交错形式的定量原则。
1.2 改进型半双工挑选式ARQ协议
数据帧结构
标志 | 发地址 | 收地址 | 帧号 | 帧数 | 数据 | CRC | 标志 |
1 | 2 | 2 | 1 | 1 | 30,60,12,240 | 2 | 1 |
阐明:数据帧的长度接纳方主动匹配,由帧的完毕符号来主动区别。两个帧之间的分隔符号用一个。
应对帧结构
标志 | 发地址 | 收地址 | 承认帧号 | CRC | 标志 |
1 | 2 | 2 | 多个字节 | 2 | 1 |
阐明:承认帧号是最终一次正确接纳的一切数据帧号。假如最近一次传输的帧号悉数正确,那么该域包含了一切的数据帧号,假如悉数过错,那么该域就没有数据。
应对帧的维护:根据应对帧的界说最长不超越60字节,在信道传输质量变差的条件下一次发送的帧数会削减,即应对帧的长度很短,因而同一个应对帧发送三遍既确保了应对帧的牢靠性又不会添加传输的担负。发送方只需收到一次正确的应对帧就能够了,不论其他两帧是否正确。应对帧牢靠的重要性在于一旦它出错会形成最近发送的一批数据帧从头传输。
交错形式的挑选:为了习惯信道传输质量的改动,应该及时调整交错形式。关于交错形式的装备原则如下:数据的接纳方固定设置为无交错形式(应对帧现已有过错维护机制),数据主发送方初始6设置为无交错,在发送过程中重传的帧数抵达必定阈值,则再次发送前交错形式设置为短交错,依此类推。反过来,长交错形式误帧率很低则能够设置成短交错,依此类推。
滑动窗口和一次发送帧数:协议启动时初度发送的数据帧个数最多为20帧,在传输过程中假如误帧率很小,则能够逐渐加大到60帧。收发两边滑动窗口的长度都定为120帖,实践一次发送的帧数受滑动窗口巨细和缓冲区中待传送数据帧数能够多一些。这样修改后,当信道十分杰出时,只需很少几回应对承认就能够完结十分大的数据量传输,能够大大进步数据通讯的功率。
对滑动窗口顶部数据帧的维护:因为本协议的滑动窗口长度限定为120,当较小序号的数据帧没有正确送走时会约束一次发送的数据帧个数(极点情况下,第1帧没有成功地送走,而第2~120帧悉数送走,此刻一次只能送一个帧);别的接纳方会积压许多数据帧而未能交给上一层协议,影响上一层通讯的实时性。
为了处理这一问题,关于没有正确传送的数据帧在一次发送中答应最多一遍,这样能够加速滑动窗口敏捷下滑。具体做法:当实践能够发送的数据帧缺乏20帧,或许最小没有成功送走的序号与最大成功送走的序号之间距离超越30帧时,对传输失利的帧重复发送两遍。如依然呈现过失,则兴旺三遍。
采纳维护办法后能够处理因为单个帧迟迟没有正确传输而导致滑动窗口不能下移而影响传输的实时性和功率问题。
1.3 文件传输层协议
协议修改后,链路层能够比较敏捷地将数据递交给文件层,因而文件传输层能够与链路层切分出来。因为链路层能够确保无过失,因而文件之间只需能够区别格局就能够了。一个文件的数据格局界说如下:
分隔符+文件名称+分隔符+文件长度+分隔符+文件数据内容
多个文件能够依照上面的格局一个接一个传输。
2 改进型协议下的时刻参数和通讯利用率
2.1 时刻参数的承认
文献[3]中现已指出协议相关的时刻参数有六个。比照本文与文献[2]中的协议能够发现,文献[3]中的四个参数核算公式没有改动。但包同步延时和ACK同步延时有些改动,首要是本协议选用非对称的交错形式,即应对一方总是选用无交错形式,因而能够削减包同步延时和ACK同步延时。参照文献[3]的核算办法,用Tsyn表明包同步延时,TAck表明ACK同步延时,TFrame表明帧同步延时,TInterDelay表明交错延时,则改进型的时刻参数核算公式如下:
TAck=2×TInterDelay+1.2×2+TFrame(取整) (1)
TSyn=2×TInterDelay+1.2×2 (2)
也就是说TInterDelay的系数从4变为2,这对长交错来说TAck和TSyn将减汪9.6秒,能够较大起伏地进步信道的利用率。
假定一次发送数据帧个数为N、数据帧长为L字节、信道速率为H(bps),那么信道利用率核算公式为:
(N×L×8/H)/(TAck+N(L+10)8/H+TRtsDelay1+TRtsDelay2) (3)
其是分子为实践数据传输所用的时刻,分母为数据开端发送到接纳承认的时刻,常数10为数据帧中额定的字节,8为一个字节的比特数目,TRtsDelay1和TRtsDelay2别离代表键控前延时和键控中延时。
2.2 不同帧长和交错形式下的信道利用率
从信道利用率视点,当传输速率较高时要求具有较长的数据包和一次发送较多的数据帧数,尤其是长交错形式下:
吞吐率是标识通讯协议功能的重要规范,关于半双工通讯协议来说它被界说为必定的时刻单位里,从发送方抵达接纳方数据正确传输的数据总量假如用S表明正确发送的数据量,I表明相继发送的两次时刻距离,吞吐率用Rbyte来表明,那么相应的数据率核算公式为:
Rbyte=S/I (4)
在半双工ARQ协议中:
S=N×L (5)
I=IInterDelay×2+(TRstDelay1+TRtsDelay2)×2+[N×(L+10)×8]/Rate+(70×8)/(Rate) (6)
其间N表明一次发送帧数,L表明一帧的有用数据长度,最终一项表明接纳应对时刻,为简经起见把帧长定为70字节。
依照上述公式可绘出在不同帧长、帧数和交错形式下的吞吐量图,参数图1、图2。
从图1和图2比较能够看出:
(1)在相同的交错方法下,帧长越长,发送有用数据的时刻占总时刻的份额越高,有用吞吐率就越大,协议的功率越高;
(2)在相同的交错方法和相同的帧长条件下,信道速率越高,总的发送时刻缩短,有用吞吐率就越大,协议的功率越高;
(3)在相同的信道速率和帧长条件下,交错越短有用吞吐率越高。
文献[2]中的协议在多个小文件传输中的功率,在长交错形式下,因为一个文件的传输分为文件头和文件体两次传输,因而在无搅扰条件下单个文件的最短传输时刻应该不小于2Tack时刻,即46秒。不管采纳什么样的速率和多小的文件,关于多个小文件来说传输功率十分低。
新低输协议首要取决多个文件的总长度、传输速率和帧长。假如10个文件的总长度为9.6K字节、速率为2400bps、帧长为120字节,那么在无搅扰条件下的传输时刻,榜首次20帧为2400字节,时刻为22秒;第2次40帧为4800字节,时刻32秒;第三次20帧为2400字节,时刻为22秒;因而总时刻为75秒,而且与文件个数无关。相同,从前面核算中能够看出,一次发送的帧数的加大,尤其是对长织来说能够较大起伏地进步吞吐量。
3 自习惯原则阈值的承认
从短波链路层协议判别短波信道传输质量的根据是过错帧数(110A规范能够从遥控中取到信噪比,但完结起来有必定困难,本文以误帧来判别信道质量),因而形式的改动和一次发送帧数的调整由误帧来决议。
3.1 交错形式的承认
以无交错形式为例,先假定在无交错形式下误帧率为E,而这些误帧能够经过短交错形式得到纠正,在这样情况下短交错的有用吞吐量民无交错的有用吞吐量持平的条件是:
(N-E)/IN=N/Is (7)
其间IN、Is别离为无交错和短交错传输N帧所需求的总时刻。
根据该公式承认出误帧率,能够认为是从无交错过渡到短交错域值。因为该核算公式有一个条件,而该条件在实践通讯中未必能够建立,作为决议从交错变为短交错阈值应该更大一些, 一般加2或更大的设置。该原则相同适用于从短交错到长交错的阈值。
反过来,当信道继续处于较好的条件下,应该从长交错降到短交错乃至无交错。因为长交错没有误帧或很少误帧的情况下,短交错或许存在比较多的误帧,因而要求没有误帧的情况下,才从长交错下降到短交错。相同该原则适用于短交错到无交错。
3.2 一次发送帧数的承认原则
从信道利用率的视点最好一次发送比较多的数据帧,尤其是长交错的情况下。可是一次发送的帧数太多,当信道遇到搅扰时不能及时地调整参数,比方数据交错形式、数据帧长、信道速率等,这样会导致发生较多的错帧。
比较慎重的做法是:无交错初始帧数为20,假如没有误帧则逐渐加长到40、60和80帧;而短交错初始设置为40帧,没有误帧条件下逐渐加大60、80帧,而长交错初始为60帖。慎重的原因首要考虑信道不稳定情况下,相对较少的数据帧能够加速参数的调整。因为定量剖析相对较难,在本文中不作进一步剖析。
协议经过修改后,在信道很好地实践传输功率十分高,在信道传输质量发生改动的情况下能够较好挑选适宜的交错形式。经过采纳非对称交错形式能够将长交错紧缩近一半的RTT时刻。经过滑动窗口的操控和窗口顶部数据帧的维护,进步了链路层数据传输的实时性,大大改进了多个小文件的传输功率。协议的规划思维也能够使用于其它半双工信道。