基于CSMA_CA改进的战术级机动自组网MAC协议设计与实现
2020-05-08袁韵洁蔡晓磊
张 瑾 袁韵洁 郑 昱 蔡晓磊
(西安电子工程研究所 西安 710100)
0 引言
现代战争对战场通信速率、通信隐蔽性和抗干扰抗毁伤能力的要求与日俱增。当前使用的无线电台受短波信道可用范围的限制,机动场景适应不灵活,传输速率较低,频带利用率不高。因此,研制兼具高组网效率的军用无线通信自组网设备非常有必要,由于自组网的建设无中心抗毁性好,无需基础设施支持,并支持高速动态变化的网络拓扑,非常适用于战场、紧急情况救援、科学考察等特殊场景和领域。
目前,战术级机动自组织网络大多数研究采用基于全向天线的简单射频物理层方案,虽然能够保证节点接收到来自各个方向的数据,但采用全向天线易造成网络在空间上的利用浪费,而且因为其本身全向覆盖的特性,全向波束发生重叠,节点间通信易造成干扰。近年来,随着天线领域研究日益发展,一种能够增大天线覆盖范围和通信距离,在最佳路径方向上形成高增益窄波束,并且通过旁瓣和零点抑制干扰信号,提高基带信号处理抗干扰能力的天线系统——智能天线系统,引起了大家的广泛关注,如果将智能天线系统与自组网多址接入协议适配,一定能很大程度提升MAC层性能;另一方面,将智能天线系统应用于自组织网络中也面临着很多问题。因此将传统的基于全向天线的简单射频物理层方案更改为一种基于自适应定向窄波束的多址协议接入方式,成为自组织网络MAC层协议研究的一个主要研究方向之一,具有非常重要的军事和经济价值[1]。本文采用OPNET网络仿真平台,在自适应定向窄波束条件下,对基于CSMA_CA改进的战术级机动自组网MAC协议进行仿真分析。
1 Ad Hoc网络的MAC协议简介
图1为自组织网络的系统分层协议栈示意图,各层作用功能如下:
图1 MAC协议在系统分层协议栈中的位置示意图
1)网络层:为分组交换网上的不同主机提供通信服务,完成动态路由选择和业务数据适配等功能。路由协议能使传输层传下来的分组找到和维护目的主机,主要是解决多点间多跳多路径传输问题。
2)数据链路层:解决点到多点通信资源分配问题,数据链路层由链路层控制(LLC)和介质接入控制(MAC)两个子层组成,LLC子层控制与信道没有关系的链路层;MAC 子层完成多址接入、分组调度、协议适配、透明传输以及封装成帧等等。
3)物理层:完成调制解调、编码译码、上下变频以及射频收发等功能,主要是解决点到点基本通信问题。
因此,由系统分层协议栈中的位置可知:介质访问控制协议处在自组织网络协议栈的底层。它决定无线信道在多个节点之间的使用方式,负责在节点之间分配有限的无线通信资源。MAC 协议能否有效地使用无线信道的有限带宽,将对 Ad Hoc 网络的性能起着决定性的作用。它的好坏直接关系到信道的利用效率和整个网络的性能。这也是自从 Ad Hoc网络出现至今,对 MAC 协议的研究经久不衰的根本原因[2]。
2 改进的MAC协议算法描述
已有的基于传统定向天线的MAC协议可以在特定方向上形成波束,不会干扰到其他方向上节点的接收,提高了网络节点并行通信能力,得到更大的网络吞吐量。但定向天线方向、波束宽度一定,无法进行波速角度和宽度的按需配置。
改进的MAC层根据组网模块发送的以太网数据帧进行MAC地址判断,如果数据帧的MAC地址为广播或组播地址,则说明该数据帧需要进行全向发送,所以通过CSMA/CA流程将该广播/组播数据传输给物理层,并通过物理层帧帧头设置物理层使用全向的扇区和权值进行发送;如果数据帧的MAC地址为单播地址,则说明该数据帧需要进行定向发送[3],首先查找MAC层用户信息表(实际查找用户表的过程在进行DIFS等待时实现,用以减少MAC层处理时延),如果用户信息表能够查找到目的节点的扇区和权值信息,则说明该用户可以进行定向发送,设定物理层帧头的节点的扇区和权值等信息,并将该数据帧传输给物理层;如果用户信息表中无法查找到该用户,或该用户无扇区和权值信息,则说明该用户只能进行全向发送,设定物理层使用全向的扇区和权值进行发送[4-5]。改进的MAC层协议基本工作流程如图2所示。
本协议基于的天线系统是自适应定向天线阵系统,节点同时全向发射,收到数据后进行接收波束权值以及DOA的计算,获取用户节点表,完成后将扇区、权值、DOA信息连同对应的MAC帧上报给MAC层,此时判断MAC层地址为广播地址/单播地址,如果为广播地址则进行全向发送,如果为单播地址则进行定向发送。本系统MAC协议示意图如图3所示。
图2 MAC层工作流程
图3 本系统MAC协议示意图
3 仿真与分析
3.1 OPNET仿真建模机制
OPNET是一个功能强大的仿真软件,具有建模层次分明、API函数库功能强大、开发界面友好等优点,适合现代通信网的网络仿真。
OPNET提供了良好的开发接口,采用三层建模机制,分别为进程(Process)模型、节点(Node)模型以及网络模型(Network),处于最底层的进程模型通过状态机来描述协议;中间层为节点模型,由不同功能的协议模型组成,用来定义每个节点的行为;最上层为网络模型,三层模型可以理想化地表示实际生活中网络、设备、协议,为全面提升网络性能提供了基础[6,8]。
3.2 网络模型
仿真场景由32个节点组成,随机地分布在20km×20km的区域中,网络模型如图4所示。
3.3 节点模型
节点模型是由用来定义每个节点的行为的协议模型组成,它是在WLAN 模型的基础上改进而来,节点模型指定了不同模块的输入和输出接口应怎样通过连接线对象进行连接。为了便于仿真,高层模块直接简化为 Source模块和 Sink 模块,协议的节点模型构成如图5所示。基于自适应定向窄波束的多址协议接入方式适配性改进主要体现在mac模块中。模块之间的实线为数据流,虚线为包流统计线[7]。
图4 网络模型
图5 节点模型
各个处理模型的功能如下:
1)Source:产生数据包,通过链路预算将距离与数据速率匹配,并发送到mac_intf;
2)Sink:用于销毁从 MAC 层接收到的数据包;
3)mac_intf:负责为Source模块产生的数据分配MAC地址,此外,将从MAC层接收到的数据发送到sink模块进行销毁;
4)mac:此处理模型是基于CSMA/CA改进后的协议的工作模块,是负责节点接入网络的机制,协议调度算法在该模块中实现;
5)rx,direc_rx:节点接收信息通道模块,负责节点从无线信道中接收信号和数据;
6)tx,direc_tx:节点发送信息通道模块,负责将节点的数据发送到无线网络中;
7)direc _ant 、omni _ant:定向天线模块与全向天线模块,用于计算各个节点接收和发送数据时的增益参数。节点模型中有两组发射机-天线-接收机三元组:(tx—omni —ant、rx)、(direc tx—direc ant—direc _rx)。两组三元组构成物理层,分别负责全向和定向的数据发送接收,用来模拟全向天线和定向天线可随时切换的智能天线系统。每个天线阵元采用理想的天线参数模型。
3.4 进程模型
图6为本文设计的MAC层协议的进程模型,整个模型采用基于CSMA/CA的分布式多址接入机制,并针对自适应定向天线阵系统做出了一定的修改[2-5]。模型中保留原来的状态,但是在各个状态中对中断的处理和转移条件进行了修改。该模型分为13个状态,分别说明如下:
1)INIT1:主要用于进程模型中初始化状态变量;
2)INIT2:主要用于初始化MAC层的相关网络参数;
3)INIT3:主要用于初始化MAC层仿真参数;
4)IDLE:当节点空闲时处于该状态;
5)DIFS:根据DIFS值设定DIFS定时器,并时刻查看物理信道是否空闲;
6)BACKOFF:根据最新的BACKOFF_TIME数值设定BACKOFF定时器,首先查看物理信道是否空闲,如果否,则进入IDLE状态并停止BACKOFF定时器,将退避窗口减去已运行过的定时器时间,如果是,则其次查看BACKOFF定时器是否超时,如果超时,先在退避窗口中随机选取最新的BACKOFF_TIME数值,判断需要发送的数据是全向还是定向数据,如果是全向数据则进入DATA_TX状态(跳至步骤f),如果是定向数据则进入RTS_TX状态;
7)RTS_TX:发送相应的RTS帧并进入CTS_RX状态;
图6 进程模型
8)CTS_RX:状态后,根据CTS_WAIT_TIME值设定CTS_WAIT定时器,等待CSMA事件信号量并挂起任务,如果有事件发生,则查看是否接收到正确的CTS帧,如果有则停止CTS_WAIT定时器,并进入DATA_TX状态,如果未正确收到RTS帧,则查看CTS_WAIT定时器是否超时,如果超时,则进入INC_CW状态(跳至步骤9);
9)DATA_TX:根据全向数据或者定向数据确定全向/定向发送;
10)进入ACK_RX状态后,根据ACK_WAIT_TIME值设定ACK_WAIT定时器,等待CSMA事件信号量并挂起任务,如果有事件发生,则查看是否接收到正确的ACK帧,如果有则停止ACK_WAIT定时器,并进入RES_CW状态,如果未正确收到ACK帧,则查看ACK_WAIT定时器是否超时,如果超时,则进入INC_CW状态(跳至步骤9);
11)进入RES_CW状态,恢复默认退避窗口值,并进入IDLE状态;
12)进入INC_CW状态,加倍退避窗口的最新值,查看重传次数,如果重传次数小于3,则进入DIFS状态,如果重传次数大于等于3,则进入IDLE状态。
3.5 仿真参数设置
如表1所示。
表1 参数配置表
节点移动速度120 km/h节点覆盖范围20 km×20 km节点总数32个节点节点通信距离2 km物理层数据率100 Mb/s数据分组长度10240 byte节点运动状态随机漫游天线形态多收多发
3.6 仿真结果分析
1)查看服务器网络负载及吞吐量
本文统计了网络吞吐量,如图7所示,这里吞吐量的统计方式为所有32个节点每秒钟正确接收到的包的数量取平均。由图可以看出,在此仿真平台的情况下,平均每秒产生200个包,仿真30 s,以太网负载为85 Mb/s,网络最大的平均吞吐量为45 Mb/s,图形清晰,表明产生一定的开销,吞吐量达到技术指标要求。
图7 以太网负载及吞吐量
2)查看网络的全局以太网时延
从图8可以看出,仿真整体过程中曲线变化比较明显,所有端到端的包的平均延迟时间为0.00035 s,物理层数据率是100 Mb/s,定向天线分为四个扇区,吞吐量在一个方向上CSMA的有效传输的占空比只有10%,四个方向大概为40 Mb/s,单个包的大小为10240 byte,为了验证仿真结果的准确性,从理论上对平均时延作一个近似计算。根据数学分析,有
图8 全局以太网时延
此外,网络中的时延还包括传播时延、处理时延以及排队时延,由此可见,理论计算得出的平均时延和仿真结果是相吻合的。
3)采用全向天线和定向天线系统的平均吞吐量
图9仿真结果显示,节点采用定向天线的系统平均吞吐量比全向天线提升了近17Mb/s。因为全向天线波束采用全向覆盖,容易重叠,节点间通信易出现干扰。而定向天线波束是根据信号的实际空间谱变化情况加权系数进行自适应调整,进行更加灵活的波束形成处理,通过在期望方向形成波束,干扰方向形成自适应“零陷”滤除干扰,降低截获概率,增加了系统容量和吞吐量[9-10]。通过自适应定向窄波束的方向性实现了同样波束区域内多个节点并行通信。
图9 采用全向天线和定向天线系统的平均吞吐量
4 结束语
本文主要介绍了基于CSMA_CA改进的战术级机动自组网MAC协议吞吐延迟性能比较的仿真实现以及仿真结果。仿真结果从负载、时延、吞吐量等三个方面进行分析。仿真结果显示,本文所提出的在自适应定向窄波束条件下,对CSMA_CA改进的战术级机动自组网MAC协议相较于其他全向天线或传统定向天线协议,在协议积极性与碰撞率之间取得了更好的效果,因此吞吐率也大大高于其他协议。通过对Ad Hoc网络的建模及其网络性能的分析,加深了对Ad Hoc网络的认识,为Ad Hoc网络的进一步开发研究提供了参考。