太赫兹网络中基于中继协作转发的高效双信道MAC协议*
2022-06-28姚玉坤张本俊付泽亮朱其政
姚玉坤,周 杨,张本俊,付泽亮,朱其政
(重庆邮电大学 通信与信息工程学院,重庆 400065)
0 引 言
太赫兹(0.1~10 THz)频段提供从几十GHz到几THz的大带宽,可以满足未来10年中100 Gb/s甚至1 Tb/s数据速率的增长需求[1-2]。太赫兹通信网络传输速率虽大,但其特殊的物理特性容易造成较大的路径损耗,因此,如何有效克服太赫兹信道路径损耗成为当前亟待解决的一大难题。
随着对太赫兹通信技术研究的不断深化,人们考虑到利用定向传输的方法来改善太赫兹路径损耗问题。目前,研究人员设计出了利用介质访问控制(Media Access Control,MAC)协议[3-5]来实现数据通信,其中,Yao等[6]人提出了一种辅助波束对准的太赫兹双信道MAC协议(Assisted Beamforming MAC Protocol for Terahertz Communication Network,TAB-MAC),该协议可成功在WiFi信道上进行波束对准,并在太赫兹信道上进行数据传输。文献[7]在上述研究的基础上提出了一种多输入多输出(Multiple-Input Multiple-Output,MIMO)太赫兹通信协议网络的多波束按需功率分配MAC协议(Multi-Beam On-Demand Power Allocation MAC Protocol for MIMO Terahertz Communication Network,MBPA-MAC),该协议允许多对节点同时进行数据传输,相较于现有的TAB-MAC协议,该协议提升了网络吞吐量,但仍然存在冗余控制开销和波束重叠干扰等问题。
针对以上问题,本文提出一种太赫兹网络中基于中继协作转发的双信道MAC协议,包括“动态帧聚合”“基于位置信息自适应协作转发”和“精简RTS(Request To Send)/CTS(Clear To Send)帧”机制。“动态帧聚合”机制将多个发往同一目的节点的数据帧进行帧聚合,聚合后的帧集合共用一个物理头部,从而减少了物理头部开销,而聚合子帧的长度可根据实时误码率进行动态调整。采用“基于位置信息自适应协作转发”机制,当任意两对节点间存在波束重叠干扰时,可通过自适应协作转发机制来解决波束重叠干扰问题。采用“精简RTS/CTS帧”机制,当源节点与目的节点为二次通信节点且位置信息不变时,省略RTS/CTS帧中发送节点MAC地址。
1 网络模型和问题描述
1.1 网络模型
MBPA-MAC协议是一种应用在MIMO太赫兹通信网络场景下的双信道MAC协议,该协议允许多对节点同时进行数据传输。其网络模型如图1所示,其中,A、B、C、D、E为通信节点。节点A可同时与节点B和节点D进行数据传输,节点B可同时与节点C和节点A进行数据传输,节点C与节点D为网络中正在预约信道的一对节点。
图1 MBPA-MAC协议网络模型图
图1中每个节点都配备了用于定位自身位置信息的GPS模块,并配备了2.4 GHz的WiFi全向天线和由16个天线子阵组成的太赫兹多波束天线阵列。其中,WiFi全向天线用于在WiFi信道上进行太赫兹信道的波束对准,太赫兹天线子阵列主要用于在THz信道上进行数据传输。
针对不同情况,MBPA-MAC的协议包含两种交互流程,第一种交互流程如图2(a)所示,其源节点剩余功率不足以与目的节点通信;第二种交互流程如图2(b)所示,其源节点剩余功率足够与目的节点通信。具体思想为:有数据传输请求的源节点向目的节点发送RTS帧;目的节点接收到RTS帧后回复源节点CTS帧;源节点根据节点双方位置信息判断源节点剩余功率是否足够与目的节点通信,若不足,则向目的节点回复TNR帧,目的节点接收到TNR帧后回复源节点ACK帧,至此通信结束;若足够,则源节点与目的节点在太赫兹信道进行TTT/ACK、DATA/ACK帧的交互。
(a)功率不足时
(b)功率足够时图2 MBPA-MAC协议交互过程
RTS/CTS帧格式如图3所示,Duration字段为持续时间,RA为接收节点MAC地址,TA为发送节点MAC地址,X和Y为节点横坐标和纵坐标。
图3 RTS/CTS帧格式
1.2 问题描述
通过对MBPA-MAC协议的深入研究,发现以下问题:
问题1:节点将数据帧从MAC层传向物理层时,对每个数据帧都添加相应的物理头部,当源节点向同一目的节点发送多个数据帧时,可以使这些数据帧共用一个物理头部,因此MBPA-MAC协议的数据帧传输过程中存在冗余的控制开销。
问题2:MBPA-MAC协议允许多对节点同时进行数据传输,这就可能存在任意两对节点之间存在波束重叠干扰,从而导致数据传输成功率降低,进而减少网络吞吐量。
问题3:成功进行过数据交互的一对节点再次进行数据传输时,在自身位置不变的前提下可以将发送节点的MAC地址字段省略,因此RTS帧和CTS帧中发送节点的MAC地址字段存在冗余。
2 HE-RCFMAC协议
针对以上问题存在的缺点和不足,本文提出一种太赫兹网络中基于中继协作转发的双信道MAC协议,该协议进行了如下改进:
(1)提出“动态帧聚合”机制,将多个发往同一目的节点的数据帧进行帧聚合,聚合后的帧集合共用一个物理头部,从而减少了物理头部开销,而聚合子帧的长度可根据实时误码率进行动态调整;
(2)提出“基于位置信息自适应协作转发”机制,当任意两对节点间存在波束重叠干扰时,可通过自适应协作转发机制来解决波束重叠干扰问题;
(3)提出“精简RTS/CTS帧”机制,当源节点与目的节点为二次通信节点且位置信息不变时,省略RTS/CTS帧中发送节点MAC地址。
通过以上三种机制,可有效减少控制开销,提高数据传输成功率、信道利用率以及网络吞吐量,进而加快数据传输。
2.1 动态帧聚合机制
为解决问题1,本文提出了“动态帧聚合”机制。
2.1.1 动态帧聚合机制思路
源节点将发往同一目的节点的数据帧按如图4所示的聚合帧格式进行数据帧聚合,其中,第一个聚合帧的子帧长度为允许的最大子帧长度。
图4 HE-RCFMAC协议聚合帧格式
图4中,Rsvd为保留位,MPDU length为子帧长度,CRC为Delimiter字段前16位的校验位,Unique pattern为模式选项,Padding为0~3字节的补齐位。
目的节点收到聚合帧后通过公式(1)计算当前聚合帧的误帧率:
(1)
式中:PnFER为当前的误帧率,Nerr为当前聚合帧中错误的子帧个数,Ntotal为当前聚合帧总的子帧格式。
若目的节点计算当前误帧率大于设定的最大容忍误帧率时,根据公式(2)计算当前的误码率[8],否则直接回复源节点ACK帧。
(2)
式中:PnBER为当前误码率,Lfs为当前子帧的长度,PnFER为当前的误帧率。
通过公式(3)计算满足设定误帧率条件下的新子帧长度,并将新子帧长度信息写入ACK帧发送给源节点:
(3)
源节点根据ACK帧中的子帧长度信息改变下一个聚合帧的子帧长度。
2.1.2 动态帧聚合机制操作步骤
Step1 源节点最初按照最大聚合子帧长度对数据帧进行帧聚合,并将其发送给目的节点,转Step 2。
Step2 目的节点接收到聚合数据帧后,获取一个聚合帧传输过程中错误的子帧个数和总的子帧个数,再通过公式(1)计算出当前误帧率,转Step 3。
Step3 将计算出的误帧率PnFER与设定最大容忍误帧率PFER-MAX进行比较,若前者大,转Step 4;若后者大,则不需要改变帧长度,直接回复源节点ACK帧,转Step 6。
Step4 根据公式(2)计算当前的误码率,转Step 5。
Step5 根据公式(3)求得满足设定的误帧率条件下的新子帧长度,将新子帧长度写入ACK帧,并将其回复给源节点,转Step 6。
Step6 源节点接收到ACK帧后按要求改变聚合子帧长度,转Step 2。
2.2 基于位置信息自适应协作转发机制
为解决问题2,本文提出了“基于位置信息自适应协作转发”机制,该机制可分为“预判波束干扰”和“自适应协作转发”两种机制。
图1的网络场景中存在波束重叠干扰。源节点A与目的节点B为正在通信的一对节点,源节点C与目的节点D为正在预约信道的一对节点,当预约信道结束后,节点C将与节点D在THz信道进行数据交互,由于此时节点A、B与节点C、D之间波束存在交集,进而将会产生波束重叠干扰。因此,本文提出“预判波束干扰机制”和“自适应中继协作转发机制”来解决该问题。
2.2.1 预判波束干扰机制
由上文可知,此时目的节点D未发送控制帧(控制帧中含有位置信息),因此,其他节点A、B、C并不能获取节点D的位置信息,而节点A、B、C都在不同时刻发送了控制帧,目的节点D能够在WiFi信道上通过控制帧获取A、B、C三个节点的位置信息。因此,本机制将通过目的节点D判断节点A、B与节点C、D之间是否存在交点,以此判断两对节点间是否存在干扰,具体思路如下:
目的节点D根据其他三个节点的位置信息建立如图5所示坐标系。
图5 坐标系示意图
图5中包含三个矢量CA、AB和DA,通过矢量积CA×AB、DA×AB的大小即可判断C、D和A、B之间是否存在交点,具体判断方法如下:
CA×AB矢量积可表示为式(4):
(4)
DA×AB矢量积可表示为式(5):
(5)
(1)若TE1>0、TE2>0或TE1<0、TE2<0,则线段CD必定在线段AB的同侧,两线段无交点。
(2)若TE1=0,且TE2=0,则两线段重合,此时,通过判断X3、X4是否在X1
(3)若TE1=0,TE2≠0或TE1≠0,TE2=0,则两线段可能存在交点,若存在交点,则交点为C或D。此时,通过判断X3、X4是否在X1
(4)若TE1>0且TE2<0或TE1<0且TE2>0,则两线段可能有交点。
上述情况中,情况(1)、(2)、(3)可立即确定两线段是否存在交点;情况(4)则需根据式(6)、(7)的计算结果作进一步判定。
(6)
(7)
(1)若TE3=0或TE4=0,则确定交点为A或B。
(2)若TE3>0,TE4>0或TE3<0,TE4<0,则表明两线段无交。经过第一次判断可排除重合的情况,因此,式(6)、(7)不可能同时为零。
该机制具体操作步骤如下:
Step1 目的节点(下述简称节点D)接收到源节点(下述简称节点C)发送的RTS帧后,提取RTS帧中的位置信息,转Step 2。
Step2 节点D将场景中的一对通信节点、节点D和节点C四个节点构成如图5所示的坐标系,并通过上述判断方法判断两对节点间是否存在干扰,转Step 3。
Step3 若通过Step 2判断完所有正在通信的节点与节点C、D的位置关系,转Step 4;否则,转Step 2。
Step4 若节点D判断与节点C的通信不会与网络场景中的其他正在通信的节点产生干扰,则进行正常通信,否则采用自适应中继协作转发机制。
2.2.2 自适应中继协作转发机制
本文采用“自适应中继协作转发机制”解决两对节点间存在的波束重叠干扰问题,思路如下:
中继节点计算时间T1、T2,并判断其大小。若T1 当采用中继节点转发数据时,若中继节点有数据需要发送给源节点,则在中继节点与目的节点进行数据交互的同时向源节点传递自身将要发送的数据;若中继节点有数据需要传输给目的节点,则中继节点转发完数据后向目的节点发送自身将要数据。由此可进一步省略一次或者两次的RTS/CTS帧交互。 该机制具体操作步骤如下: Step1 目的节点D在WiFi信道中广播中继请求帧(Relay Request Frame,RRF),转Step 2。 Step2 其他节点收到目的节点发送的RRF帧,根据源节点位置信息(从RTS帧中获取)、目的节点位置信息(从RRF帧中获取)和自身位置信息判断自身与源节点和目的节点之间的通信是否与其他正在通信的节点造成干扰。若不会,则成为备选中继,同时启动计时器,转Step 3。 计时器的初始值[9]计算公式如式(8)所示: (8) 式中:TSIFS为短帧间间隔,hsi为源节点与中继节点之间的信道特性,hid为中继节点与目的节点之间的信道特性。 Step3 计时器首先降为0的备选中继成为唯一中继节点,由中继节点判断两个时间T1和T2的大小(计算该时间时不需要考虑中继节点自身需要发送数据的情况)。若T1 T1、T2计算公式如式(9)、(10)所示: T1=TRRF+TSR-DATA+TRD-DATA+ (9) T2=TRRNF+TTTT+TSD-DATA+ (10) 式中:TRRF为传输中继广播帧所需时间,TSR-DATA为源节点向中继节点传输数据帧所需时间,TRD-DATA为中继节点向目的节点转发数据帧所需时间,TTTT为传输TTT帧所需时间,LDATA为总数据长度,Lone为一个最大聚合帧长度,TACK为传输ACK帧所需时间,TRRNF为传输RRNF帧所需时间,TSD-DATA为源节点直接向目的节点传输数据帧所需时间,TIT(Interference Time,IT)为干扰时间。 Step4 若中继节点自身有数据需要发送给源节点或目的节点,则将发送数据所需时间和中继节点转发数据所需时间累加后写入中继广播帧(Relay Broadcast Frame,RBF)中,并将其发送,其余备选中继节点接收到中继广播帧后计时器停止。源节点接收到RBF帧后,与中继节点在THz信道上进行TTT/ACK、DATA/ACK帧交互,中继节点接收数据完成后,与目的节点在THz信道进行TTT/ACK、DATA/ACK帧交互。若中继节点自身有数据发送给源节点,则在中继节点与目的节点进行数据交互的同时向源节点传输自身将要发送的数据;若中继节点自身有数据传输给目的节点,则在中继节点转发完源节点发送给目的节点的数据后向目的节点传输自身即将发送的数据。 Step5 中继节点在WiFi信道上向源节点回复RRNF帧,其余备选中继节点接收到RRNF帧后计时器停止,源节点在等待干扰时间结束后与目的节点在THz信道上进行TTT/ACK、DATA/ACK帧交互。 为解决问题3,本文提出“精简RTS/CTS帧”机制,该机制思路如下: 当源节点与目的节点为二次通信且源节点位置不变时,向目的节点发送省略发送节点MAC地址字段的RTS帧,否则发送完整的RTS帧。若此时目的节点位置也无变化,则向源节点回复省略发送节点MAC地址字段的CTS帧,否则,回复完整CTS帧。 该机制具体操作步骤如下: Step1 每个节点维护一张信息存储表,表内容共两项,分别是节点MAC地址和节点位置信息(X,Y)。信息存储表在源与目的节点首次通信时填写,并在源节点或目的节点位置改变时更新。 Step2 有数据发送请求的源节点判断与目的节点是否为二次通信(通过查看信息存储表得知)且自身位置是否没有发生变化,若是,则发送省略发送节点MAC地址字段的RTS帧;否则,发送完整的RTS帧,转Step 3。 Step3 目的节点接收到RTS帧后,判断RTS帧中是否省略了发送节点MAC地址字段,若是,则将信息存储表中与RTS帧中位置信息对应的MAC地址提取后写入CTS帧中;否则,直接将RTS帧中发送节点的MAC地址字段提取后写入CTS帧中,转Step 4。 Step4 目的节点判断是否与源节点为二次通信(通过查看信息存储表得知)且自身位置是否没有发生变化,若是,则向源节点回复省略发送节点MAC地址字段的CTS帧;否则,发送完整的CTS帧。信息存储表如表1所示。 表1 信息存储表 本文使用Microsoft Visual Stdiuo 2010开发环境软件、OPNET仿真软件和当前流行的C/C++编程语言进行实验。在相同的网络场景下,比较了HE-RCFMAC、MBPA-MAC以及TAB-MAC协议的性能。 主要仿真参数如表2所示。 表2 主要仿真参数 3.2.1 MAC层吞吐量 MAC层吞吐量的仿真结果如图6所示,由图可知当节点数量逐渐增大时,MAC层吞吐量不断地增加,主要因为在整个网络中将会有更多的节点参与通信;最后,由于每种协议的业务量达到上限,MAC层吞吐量会趋于平稳。从图中还可以看出,HE-RCFMAC协议MAC层吞吐量始终高于MBPA-MAC协议和TAB-MAC协议。主要原因在于,“动态帧聚合”和“精简RTS/CTS帧”这两个机制都在不同程度上减少了控制开销和测试时延,从而在相同的信道时间内可以发送更多的数据;“基于位置信息自适应协作转发”机制能够提高数据传输成功率,从而在相同时间内能够成功传递更多有效数据。最终,以上三种机制都在不同程度上提高了网络吞吐量。 图6 MAC层吞吐量 3.2.2 数据传输成功率 数据传输成功率的仿真结果如图7所示,由图可知数据传输成功率随节点数的增加而降低,原因在于随着节点数的增加,使数据碰撞加剧。另外,图中显示HE-RCFMAC协议的数据传输成功率始终高于MBPA-MAC协议,主要原因在于,HE-RCFMAC采用的基于位置信息自适应协作转发机制可有效避免由于多对节点同时进行数据传输可能带来的波束重叠干扰问题,从而在一定程度上提高数据传输成功率。HE-RCFMAC协议成功率也始终高于TAB-MAC协议,主要原因在于,TAB-MAC协议中当两节点间的距离未超出WiFi频段的通信距离而超出了THz频段的通信距离,此时在THz频段发送的数据将会丢失,导致成功率的下降,而HE-RCFMAC协议提前根据两节点距离判断是否通信,若超出了THz频段的通信距离则不会进行通信,因此HE-RCFMAC协议避免了这个问题,从而提高了数据传输成功率。 图7 数据传输成功率 3.2.3 信道利用率 太赫兹频段的信道利用率的仿真结果如图8所示,由图可知当节点数越多时,将会有更多的节点参与通信,因此信道利用率随节点数的增加而增大,但HE-RCFMAC协议的信道利用率始终高于MBPA-MAC协议和TAB-MAC协议,主要原因在于以下两点:一是在网络运行总时间相同的情况下,HE-RCFMAC协议执行了“自适应中继协作转发”机制,若中继节点有数据需要发送给源节点或目的节点,则可以省略一至两次的RTS/CTS帧交互过程,从而减小了控制帧交互的时间,这就使得更多的网络运行时间在THz信道上用于数据传输,从而提高了信道利用率;二是“精简RTS/CTS帧”和“动态帧聚合”机制都在不同程度上减少了控制开销,进而减小了发送控制帧所需时间占总信道时间的比例,从而提高了信道利用率。 图8 信道利用率 本文主要针对MBPA-MAC协议中存在控制开销冗余和波束重叠干扰等问题进行了改进,提出了一种HE-RCFMAC协议。HE-RCFMAC协议包括“动态帧聚合”“基于位置信息自适应协作转发”和“精简RTS/CTS帧”机制三种机制。通过动态帧聚合机制,可有效减小了数据帧物理头部的控制开销问题;通过基于位置信息自适应协作转发机制,可以有效避免由于多对节点同时进行数据传输所可能带来的波束重叠干扰问题,并且当采用中继转发时,还可以机会性的省略一至两次的RTS/CTS控制帧的交互;通过精简RTS/CTS帧机制,可在源节点与目的节点第二次通信且位置信息没变的情况下省略发送节点的MAC地址,有效减少控制开销。最后,通过仿真验证了HE-RCFMAC协议的有效性。 在后续的研究中,将进一步优化MIMO太赫兹网络双信道MAC协议,譬如一对节点在非视距环境下如何通信,从而进一步提高其性能。2.3 精简RTS/CTS帧机制
3 仿真验证
3.1 仿真参数设置
3.2 仿真结果分析
4 结束语