基于短波通信协议的分段帧长研究

发表时间:2020/10/13   来源:《工程管理前沿》2020年6月18期   作者: 陈焯建
[导读] 通过对短波通信协议的研究,数据传输子层中的分段帧长对系统的传输性能存在一定的影响
       
        陈焯建
        身份证号码:452601197912310***
        
        摘要:通过对短波通信协议的研究,数据传输子层中的分段帧长对系统的传输性能存在一定的影响。为此,选择合适的分段帧长进行数据传输是需要解决的问题。首先,分析数据传输子层数据帧的结构和分段帧的分段过程,再根据系统平均有效吞吐率表达式建立仿真模型。通过采用包含不同分段帧长的数据帧进行数据传输,对比不同分段帧长产生的吞吐率,得到最佳分段帧长。仿真结果表明,在一定条件下,最佳分段帧长可以获得更高的有效吞吐率。
        关键词:分段帧长;短波网络;短波通信协议;数据传输;数据帧结构;仿真模型
        引言
        短波通信是中、远程无线电通信的传统手段,它具有通信距离远、架设方便、抗摧毁能力强、运行费用低等优点,在军队、外交等部门有着广泛的应用。在20世纪80年代后期,美国制定了军标MIL-STD-188-110A,此后国外一些公司纷纷推出了符合该标准的新一代高速串行调制解调器,如哈里斯公司的RF5710,使得短波数据通信效率明显改善。
        1概述
        随着软件系统规模和复杂性的增加,人们对软件的可重用性和可维护性提出了更高的要求。面向对象的设计分析方法出现在世纪年代中后期,己成为主流的软件工程方法,但其可重用性不高,这主要是因为可重用的复杂性所决定的。因为软件重用不仅指代码、模块、类对象和组件等产品的重用,还包括软件开发过程中的方法、标准和经验等知识的重用。
        设计模式的概念正是在研究软件复用的过程中被提出的。等人提出的设计模式是面向对象建模的一种辅助设计手段,它以模板方式解决面向对象设计的问题,可帮助设计者寻找合适的对象、确定对象的粒度、指定对象接口和描述对象的实现,从而降低了问题的复杂度,提高了工作效率,达到了较好的可重用性。软件业于首次广泛采用设计模式,设计模式具有如下特点。
        从特定的问题,解对中加以抽象,提取带普遍性的因素,便于交流和使用。重用已成功实现了的系统级概念模型部件,通用性、移植性好。强调系统中对象间的责任与协作。针对接口而不是具体实现来编程,从而提高系统结构的模块性、可扩展性。支持系统的变化,避免重新设计。设计模式把变化封装起来,允许系统结构的某个方面的变化独立于其他方面,所以,系统对于某一类特殊变化就更加健壮。
        2一次发送帧数的确定准则
        从信道利用率的角度最好一次发送比较多的数据帧,尤其是长交织的情况下。但是一次发送的帧数太多,当信道遇到干扰时不能及时地调整参数,比如数据交织模式、数据帧长、信道速率等,这样会导致产生较多的错帧。
        比较谨慎的做法是:无交织初始帧数为20,如果没有误帧则逐步加长到40、60和80帧;而短交织初始设置为40帧,没有误帧条件下逐步加大60、80帧,而长交织初始为60帧。谨慎的原因主要考虑信道不稳定情况下,相对较少的数据帧可以加快参数的调整。由于定量分析相对较难,在本文中不作进一步分析。
        协议经过修改后,在信道很好时实际传输效率非常高,在信道传输质量发生变化的情况下能够较好选择合适的交织模式。通过采取非对称交织模式可以将长交织压缩近一半的RTT时间。通过滑动窗口的控制和窗口顶部数据帧的保护,提高了链路层数据传输的实时性,大大改善了多个小文件的传输效率。协议的设计思想也可以应用于其它半双工信道。
        3设计模式在短彼通信软件中的具体应用
3.1State模式
        State模式将与特定状态相关的行为局部化,并且将不同的状态的行为分割开来,使得状态转换显示化。State模式适用于以下情况:(1)一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为;(2)一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。报文发送过程中的状态转换关系如图1所示,根据状态图得到的state模式应用结构图如图2所示。
        在图2中,File Send类提供客户需要用的接口。Send State类提供了各个具体状态的公共接口,而各个具体状态子类则实现与特定状态相关的行为。File Send类维护了一个表示当前状态的状态对象,并使用Send State的子类实例来执行特定状态的操作。File Send对象在收到其他对象请求时,根据当前状态做出不同反应。一个Request Send请求的结果依赖于当前是处于Idle State(等待发送)、Wait Conn State(等待建链)等子状态中的任何一个状态,各子状态调用各自的Handle函数执行相关操作。State模式将所有与一个特定的状态相关的行为都放入一个对象中,将状态逻辑与动作实现分离开来。因为所有与状态相关的代码都存在于某一个state子类中,所以通过定义新的子类可以很容易地增加新的状态和转换。使用State模式,避免了很难维护的大量Switch/Case语句,并保证了系统的可扩展性和可维护性。

图1

图2
        3.2 Singleton模式
        Singleton模式的目的在于一个类仅有一个实例,并提供一个访问该实例的全局入口。Singleton模式简单易懂,其应用范围较广泛,当类只能拥有唯一实例时,可以考虑使用它。客户可以通过一个众所周知的访问接口获取该实例,当唯一实例是子类生成的对象时,客户不修改代码就能获取该实例。
在实现过程中,将Singleton类的构造函数及复制构造函数私有化。该方法是基于C++中“类的私有成员变量和函数不能被外部函数直接调用”这一机制来实现的,同时为该类增加一个静态私有的类对象,并提供公有访问接口返回该对象实例。在短波通信软件中,发送过程中的每个子状态的唯一实例通过全局的GetInstance函数获取。
        4链、数传、拆链和状态转移
        数传的过程,一般可以分为建链、数传、拆链三个阶段;在不同的阶段,接收方和发送方分别处于不同的状态,双方分别从一个状态转向另一个状态,整个数传过程也就从一个阶段转向另一个阶段。本文用状态转移的方法分析和讨论数据传输建链、传输、和拆链的过程。为了控制数传过程,链路控制层定义了11个状态。表中“RECV”、“SEND”是“瞬时”状态,即进入该状态之后依次完成该状态的工作后,然后转入其它状态。其余的状态是“可持续”状态,即在进入该状态时做一些操作然后等待对方的应答,会在该状态停留一段时间,根据对方的应答决定下一步的操作;如果在规定的时间等不到应答,则产生计时期超时。如果出现计时期超时,须做相应的处理,然后回到该状态。在某一状态连续多次超时,往往是由链路中断引起的,此时可回到IDLE状态。
        据建链的方式不同链路控制层的状态转移可以分为可分成四种方式,其中主站发送方式和从站接收方式对应、主站查询方式和从站发送方式对应。在此首先介绍前一种组合的建链过程、发送接收过程和拆链过程,然后接收后一种对应的建链过程。不论用那种方式完成建链,数据的接收和发送过程以及拆链过程都是相同的。当主站以发送方式建链时,从站以接收方式建链。下面将作详细描述。
        结语
        本文通过对短波通信协议的研究,发现数据帧中的分段帧大小对系统的吞吐率有一定的影响,分析数据传输子层的数据帧结构,结合分段帧的分段过程,根据系统的平均有效吞吐率的表达式对不同分段帧长进行实验仿真,经仿真验证表明,在一定情况下,最佳分段帧长为200B。相比其他几种分段帧长,最佳分段帧长对系统的有效吞吐率有一定的优势。
        参考文献
        [1]王倩倩.一种短波通信系统数据链路层协议的设计与实现[D].西安:西安电子科技大学,2018.
        [2]王也,黄国策,董淑福.短波通信中基于自适应帧长的数据速率变化改进算法[J].计算机应用,2019,39(8):2386?2390.
        [3]杨林海,潘毅,徐刚.基于争用型以太网的数据帧长研究[J].江西科学,2014,32(3):2386?2390.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: