基于自发数据传输的高效双LAN太赫兹无线局域网MAC协议

2024-03-21 02:25古金东陈春宇
计算机应用 2024年2期
关键词:网间链表赫兹

任 智,古金东*,刘 洋,陈春宇

(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.重庆邮电大学 移动通信技术重庆市重点实验室,重庆 400065;3.重庆邮电大学 移动通信教育部工程研究中心,重庆 400065)

0 引言

太赫兹波指0.1~10 THz 的电磁波[1],频谱介于微波与远红外光之间[2],低波段与毫米波相邻[3]、高波段与红外光相邻,位于宏观电子学与微观光子学的过渡区域[4]。太赫兹波具有抗干扰[5]、方向性好[6]、带宽宽[7]、穿透性强[8]、所需天线尺寸小[9]等优点。近年来,太赫兹波段被有效用于成像应用,因为太赫兹波是非电离的,能穿透材料,并被水和有机物质吸收[10]。由于它的这些特性,太赫兹波适用于室内短距离无线通信[11],以提供高达数十Gbps 的更高数据速率[12],因此太赫兹通信技术[13]被广泛认为是一种很有前景的通信技术[14]。

近年来,研究双局域网(Local Area Network,LAN)太赫兹无线局域网的情况并不多见,而一些学者却已经深入研究了多个域网(Personal Area Network,PAN)太赫兹无线个域网[15]。太赫兹无线局域网与太赫兹无线个域网的相似之处,决定了多PAN 太赫兹无线个域网会为双LAN 太赫兹无线局域网提供很好的参考和借鉴。双LAN 太赫兹无线局域网的运行时间被划分为无数个协调超帧,每个协调超帧由4个具有时间先后顺序的时段构成,即信标帧队列时段(Beacon Alignment Period,BAP)、竞争接入时段(Contention Access Period,CAP)、常规信道时间分配时段(Normal Channel Time Allocation Period,N-CTAP)和公共信道时间分配时段(Public Channel Time Allocation Period,P-CTAP)。协调超帧结构如图1 所示。

图1 协调超帧结构Fig.1 Structure of coordinated superframe

文献[1]中针对多PAN 太赫兹无线个域网,提出了一种新颖的N-CTAP 剩余时隙资源再分配机制,该机制将N-CTAP的剩余时隙再次划分为时隙竞争申请阶段和数据传输阶段,一定程度上提高了MAC 层吞吐量以及降低了数据时延,然而当网络中业务量比较大时,N-CTAP 剩余时隙可直接用于数据传输,若再划分时隙竞争申请阶段,一定程度上会限制网络的吞吐量。

文献[2]中针对多PAN 太赫兹无线个域网,提出了一种隐式TDMA(Time Division Mutiple Access)时隙再分配机制,即WPAN(Wireless Personal Area Network)内的各节点都计算本超帧的N-CTAP 的时隙剩余情况以及属于本WPAN 的P-CTAP 的时隙剩余情况。然后PNC(PicoNet Coordinator)根据时隙剩余情况把本超帧的CAP 申请的时隙优先分配在本超帧的信道时间分配时段(Channel Time Allocation Period,CTAP)剩余时隙中:如果有数据传输需求的源节点和目的节点均为网内节点,则分配在N-CTAP;否则,分配在P-CTAP。文献[2]还提出了一种基于无Beacon 的空闲时段启用机制,WPAN 内各节点可计算出本普通超帧结束时刻距协调超帧开始时刻的大小是否大于一个CTA(Channel Time Allocation):如果是,则PNC 执行隐式TDMA 机制充分利用时隙;否则,各DEV(Device)节点申请时隙。然而,这两种机制也有不足之处:第一,有些DEV 节点在本超帧的CAP 已经通过CSMA(Carrier Sense Multiple Access)的方式成功竞争到了信道,但PNC 却因由于剩余时隙不足拒绝了CTRq 帧,而在下一超帧的CAP,该DEV 节点又需要重新竞争信道,可能使其他节点在超帧内不能成功接入信道而导致平均时延上升以及网络吞吐量下降,尤其是该DEV 节点在发送第一个CTRq 帧后没有新的应用层数据到达。第二,隐式TDMA 机制是在CAP 完成了剩余时隙的再分配,所以如果当一个WPAN 的CAP 结束后,WPAN 内的节点才收到载有协调超帧基本信息的heartbeat 消息,这种基于无Beacon 的空闲时段启用机制将失效,导致信道时间的浪费。heartbeat 消息的具体格式如图2、3 所示。

图2 heartbeat消息首部格式Fig.2 Heartbeat message header format

图3 heartbeat消息负载Fig.3 Heartbeat message payload

文献[3]中基于父/子微微网,提出了一种新颖的动态超帧结构,PNC 根据本超帧内CAP 中各节点申请CTA 数动态调整下一超帧的超帧时长,提高了信道时间利用率。同时,文献[3]还提出了超帧利用率阈值策略,在充分利用信道时间的前提下,保证了各DEV 的服务质量(Quality of Service,QoS),提升了接入设备的公平性。之后,文献[3]提出了差异化服务策略,引入了最小QoS 满意度作为是否同意实时或非实时业务流接入信道的判决条件。

heartbeat 消息首部格式英文缩略词表如表1 所示。

表1 heartbeat消息首部格式英文缩略词表Tab.1 English acronym list of heartbeat message header format

heartbeat 消息负载英文缩略词表如表2 所示。

表2 heartbeat消息负载英文缩略词表Tab.2 English acronym list of heartbeat message payload

1 双LAN太赫兹无线局域网网络模型

双LAN 太赫兹无线局域网网络模型主要由两个WLAN构成,如图4 所示,每个WLAN 由众多DEV 构成,其中通信范围包含本局域网内所有其他DEV 的节点为PNC,其余节点为普通DEV,普通DEV 节点随机散落在局域网内,相距较近的普通DEV 可直接通信,相距较远的则需通过PNC 中继通信,如图5 所示。位于两个WLAN 重叠区域的DEV 节点为网间节点,通过选举机制可以决策出网桥节点,网桥节点的作用是通过转发heartbeat 消息使两个WLAN 的超帧实现同步以及转发跨LAN 的数据帧。

图4 双LAN太赫兹无线局域网模型Fig.4 Dual-LAN Terahertz wireless LAN model

图5 网络拓扑模型Fig.5 Network topology model

网桥节点的选举机制主要是让网间节点在CAP 向高级PNC(优先级较高的PNC)发送携带自身剩余能量值信息的特殊时隙请求帧,然后高级PNC 根据各节点的剩余能量值大小决策出网桥节点,最后在时隙回复帧中通告。网桥节点选举成功并通告全网后,两个WLAN 开始融合。在网络完成融合后,两个WLAN 开始使用协调超帧结构。

双LAN 太赫兹无线局域网的运行时间被划分为无数个协调超帧,每个协调超帧由4 个具有时间先后顺序的时段构成,即BAP、CAP、N-CTAP 和P-CTAP。

在BAP,两个WLAN 的PNC 分先后顺序依次在属于自己的信标帧队列阶段广播本WLAN 内的Beacon 帧,该Beacon帧中包含该无线局域网在本超帧内的基本信息,如本WLAN内的所有节点的基本信息、各个时段的起始时刻以及持续时长、CTAP 中CTA 的分配情况等。两个WLAN 的CAP 起始时刻以及持续时长相同,在该时段,每个WLAN 中的各DEV 节点如有数据传输需求,会通过CSMA 的方式竞争请求信道,从而向各自WLAN 内的PNC 发送时隙请求帧,当PNC 成功分配CTA 时,会在下一超帧的BAP 通过广播Beacon 帧通知对应节点,对应节点即可在CTAP 的相应位置开始传输数据帧;另外,在两个WLAN 进行超帧协调的过程中,网桥节点会在这一时段转发heartbeat 消息使两个WLAN 中的PNC 均获得另一WLAN 的基本情况。CTAP 分为N-CTAP 和P-CTAP,这两个时段均由一系列CTA 构成,在该时段,被分配传输时隙的节点通过TDMA 方式接入信道,两个WLAN 的N-CTAP的起始时刻以及持续时长一致,都用于传输WLAN 内的数据帧,而P-CTAP 按时间先后顺序依次分为P-CTAP1 和PCTAP2,分别对应两个WLAN,这一时段的作用是传输WLAN 内部节点与网间节点之间的数据帧。

2 问题描述

经研究发现,现有双LAN 太赫兹无线局域网MAC 协议方案设计仍不完善,导致网络吞吐量低、数据时延大、时隙利用率低等问题,具体如下:

1)有些DEV 节点在本超帧的CAP 已经通过CSMA 的方式成功竞争到了信道,但是PNC 却由于剩余时隙不足拒绝了该CTRq 帧,在下一超帧的CAP,该DEV 节点又需要重新竞争信道,这可能使其他节点在超帧内不能成功接入信道而导致平均时延上升以及网络吞吐量下降,尤其是该DEV 节点在发送第一个CTRq 帧后没有新的应用层数据到达时。

2)现有的隐式TDMA 机制是在CAP 完成了剩余时隙的再分配,所以如果当其中一个太赫兹局域网(Terahertz Local Area Network,TLAN)的CAP 结束后,另一TLAN 内的PNC 节点才收到载有协调超帧同步信息的heartbeat 消息,那么这种基于无Beacon 的空闲时段启用机制就将失效,这将导致提前结束普通超帧的TLAN 的信道时间的浪费。提前结束普通超帧的空闲时段的示意图如图6 所示。

图6 提前结束普通超帧的空闲时段Fig.6 Idle period for early ended ordinary superframe

3)现有双LAN 太赫兹无线局域网MAC 协议在解决N-CTAP 存在空闲时隙问题时,采用将N-CTAP 剩余时隙再划分的机制,即按照一定比例把剩余时隙划分为时隙竞争申请阶段和数据传输阶段,前者用于各节点向PNC发送CTRq帧以竞争信道时隙资源,后者用于成功申请到时隙的节点以TDMA方式传输数据,这种方案虽然提高了MAC 层吞吐量和降低了数据时延,但在某种程度上剩余时隙的再次划分也限制了网络吞吐量,尤其在网络中业务量较大时。

3 SDTE-MAC协议新机制

针对上述问题,本文提出一种基于自发数据传输的高效双LAN 太赫兹无线局域网MAC 协议——SDTE-MAC(high-Efficiency MAC protocol based on Spontaneous Data Transmission)。SDTE-MAC 采用一种基于动态调整的时间单元链表算法,避免了相同CTRq 帧的不必要重复发送,充分利用了提前结束普通超帧网络的信道时隙资源以及N-CTAP、P-CTAP 空余的时隙资源,进一步提高了网络的MAC 层吞吐量,提升了信道时隙利用率及降低了数据传输时延。

该算法的核心思想是通过让各节点都维护一张或多张时间单元链表来与其余节点能够在网络运行时间上达到同步,从而获悉本节点应该在信道剩余时隙的什么位置开始发送数据帧,即减少网络中不必要的控制帧交互,通过操作自身节点的时间单元链表充分利用空余时隙。基于动态调整的时间单元链表算法示意图如图7 所示。

图7 基于动态调整的时间单元链表算法示意图Fig.7 Schematic diagram based on dynamically adjusted time-unit linked list algorithm

3.1 核心操作

1)在普通超帧时期,各节点执行初始化链表操作。该算法需要每个网内节点都定义LN-1、LN-2两个链表,每个网间节点、网桥节点都定义LP-i(i=1,2,…,4)这4 个链表。在普通超帧时期,LN-1用于控制WLAN(ii=1,2)中CTAP 的通信,LP-1、LP-3用于分别控制WLAN1、WLAN2中CTAP 的通信;在协调超帧时期,LN-1是网内节点用于控制WLANi(i=1,2)中N-CTAP 的通信,LN-2是网内节点用于分别控制WLAN(ii=1,2)中P-CTAP1、P-CTAP2 时段的通信,LP-2、LP-4是网间节点、网桥节点用于分别控制P-CTAP1、P-CTAP2 时段的通信。链表项包含的内容有节点ID、TU(Time Unit)数。

2)侦听及判断自身节点类型。各节点入网前先侦听信道至少两个最大超帧长度的时间,并根据收到的信道时隙回复(Channel Time Response,CTRp)帧对相应链表执行添加操作,根据收到的Beacon 帧对相应链表执行同步对齐操作。若未接收到Beacon 帧,则主动创建一个太赫兹无线局域网,该节点便主动成为该网络的PNC;若只接收到具有一种PNID 的Beacon 帧,则表明该节点是网内节点;若接收到两个具有不同PNID 的Beacon 帧,则表明该节点是网间节点。

3)未入网节点发送关联请求帧申请入网。非PNC 节点在CAP 主动发送关联请求帧。如果自己是网内节点,关联请求帧的Command type 字段使用原值0x0000;如果自己是网间节点,Command type 字段使用保留值0x001D。

4)有数据传输需求的节点申请时隙。有数据业务传输需求的节点在CAP 发送CTRq 帧。如果此刻自身是网内节点,则CTRq 控制帧格式中的保留位(b3)置0;如果此刻自身是网间节点,则保留位(b3)置1。PNC 节点若有数据传输需求,主动广播载有TU 数的CTRp 帧以表明自身要占用信道的时隙量。

5)PNC(ii=1,2)收到CTRq 帧后回复特殊CTRp 帧。PNCi(i=1,2)节点收到CTRq 帧后,更新节点的最新类型,并广播特殊CTRp 帧;同时,将CTRp 中的目的节点ID 和Available number of TUs 字段的值作为链表项插入到LN-1的尾部。若源节点和目的节点均为网内节点,则Command type 字段使用原值0x0013;若源节点为网内节点,目的节点为网间节点,则Command type 字段使用保留值0x001E;若源节点为网间节点,目的节点为网内节点,则Command type 字段使用保留值0x001F;若源节点和目的节点均为网间节点,则Command type 字段使用原值0x0020。

6)普通超帧时期,各DEV 节点收到特殊CTRq 帧后执行添加链表项操作。网络中的各DEV 节点根据收到的特殊CRTp 帧更新这一对节点的最新节点类型;同时,将CTRp 帧中的目的节点ID 和Available number of TUs 字段的值作为链表项插入到LN-1的尾部,网桥节点、网间节点插入到LP-1或LP-3的尾部。

7)PNC(ii=1,2)根据时间单元链表分配普通超帧CTAP时隙资源。到达普通超帧的BP(Beacon Period)后,PNC(ii=1,2)根据LN-1分配CTA,每当有链表项的TU 大小被完全分配,该项就被销毁,越靠近LN-1头部的越先满足,直到此超帧的CTAP 所剩时隙被分配完毕或LN-1为空。

8)各DEV 节点收到Beacon 帧后将自身对应链表与全网运行状态执行对齐操作。该网络内网内节点根据收到的Beacon 帧中CTA 的分配情况自动对齐和更正自己的链表,网桥节点、网间节点根据PNID 决定使用哪个链表。若Beacon帧中分配的最后一项TU 大小等于链表对应链表项中TU 的大小,则链表将该链表项的下一项作为表头,并将之前的链表项销毁;若Beacon 帧中分配的最后一项TU 大小小于链表对应链表项中TU 的大小,则链表将该链表项的TU 大小更新为原始值与分配值之差,并将该项作为表头,同时销毁之前的链表项。

9)在普通超帧时期,各节点根据自身维护的链表传输数据。在超帧的数据传输时段,各节点首先根据Beacon 帧中信道时间的分配情况传输数据。若当前时间已到达该数据传输时段剩余时隙的起始点,各节点均主动计算出自己作为LN-1、LP-1或LP-3链表项中节点ID 所对应链表项的起始传输时刻,并在传输时刻到达后立即传输数据,每占用信道时间到达TU 大小后,LN-1、LP-1或LP-3链表项中TU 个数减1;若数据传输时段结束,则立刻停止接入信道;若链表已经为空而数据传输时段仍未结束,则剩余时段复用为CAP,用于网络内各节点竞争下一超帧时隙。

10)发生错误时执行退避操作。当传输数据时未收到ACK 帧,则认为由于信道状况不理想等情况,导致自己的链表发生了偏差,于是在本CTAP 不再发送数据,等待利用下一超帧的时隙分配信息对齐和校正自己的链表。

11)发生错误后的修正操作。定义指针p1、p2、perror,某节点若未收到ACK 帧,则计算出当前时刻距下一超帧起始时刻的长度t,并将p1、p2、perror指向出错误的链表项,然后指针p1、p2一直向后移动,直至所经历过链表项的TU 总时间等于t。当收到下一超帧的Beacon 帧后,先查看Beacon 帧中分配的第一个CTA 是否对应指针所指链表项,如果是,则p2顺着链表项一直向后移动,直至指向Beacon 帧中最后一个分配的CTA 的下一个位置;否则,将p1、p2向前移动,直至指向了Beacon 帧中分配的第一个CTA 对应的链表项,之后p2顺着链表项一直向后移动,直至指向Beacon 帧中最后一个分配的CTA 的下一个位置。在数据传输时,出错误的节点计算出perror至p1节点之间包含本节点ID 的链表项中TU 的总个数,并在CAP 重新申请对应个数的TU;否则,直接等待进入CAP,之后销毁p2前的所有链表项。

12)在协调超帧初期,各节点执行初始化链表操作。当两个网络都到达协调超帧起始时间后,WLAN1、WLAN2中的网内节点把涉及网桥节点及网间节点的链表项从LN-1复制到LN-2,并销毁原有项,网桥节点、网间节点把LP-1、LP-3中含有网间节点、网桥节点的链表项分别复制到LP-2、LP-4,并销毁原有项。

13)在协调超帧的BAP,PNC 分配时隙。PNC1、PNC2均根据自己的LN-1、LN-2分别为N-CTAP、P-CTAP1 或P-CTAP2 来分配时隙。

14)在协调超帧时期,各DEV 节点收到特殊CTRp 帧后,执行添加链表项操作。在协调超帧的CAP 执行的操作和核心操作6)大致类似,比较特殊的是网间节点、网桥节点根据收到CTRp 帧中PNID 的值以及Command type 字段的值决定把目的节点ID 和Available number of TUs 字段的值放到哪一个链表。当PNID 是WLAN1的网络号时,若Command type 字段的值是0x0013,则忽略;否则,将它放到LP-2的表尾。当PNID 是WLAN2的网络号时,若Command type 字段的值是0x0013,则忽略;否则,将它放到LP-4的表尾。

15)在协调超帧时期,各节点根据自身维护的链表传输数据。在协调超帧的CTAP 执行的操作与核心操作9)大致类似,比较特殊的是:网间节点、网桥节点在P-CTAP1 和PCTAP2 时段分别根据LP-2、LP-4操作。

3.2 SDTE-MAC操作流程

上述详细介绍了SDTE-MAC 使用的核心操作,下面详细叙述SDTE-MAC 的整个操作流程。

该协议假定信道条件较为理想,即误码率较低,同时为了方便起见,假定两个WLAN 中均已产生了PNC。

步骤1 太赫兹网络进入普通超帧的Beacon 时期。对于DEV 节点:若是刚开机且第一次收到Beacon 帧,则DEV 节点均执行3.1 节核心操作1)和8),初始化及对齐链表,转步骤3;否则,节点均执行核心操作8),只对齐链表,转步骤3。对于PNC 节点:若是网络运行的第一个普通超帧,则PNC 节点执行核心操作1)、7)和8),初始化链表、分配及对齐时隙资源,转步骤3;否则,PNC 节点执行核心操作7)和8),只分配及对齐时间资源,转步骤3。

步骤2 太赫兹网络进入普通超帧的Beacon 时期。对于DEV 节点:出错误的节点执行核心操作11),执行链表的修正操作,转步骤3。对于PNC 节点:PNC 节点执行核心操作7)和8),分配及对齐时间资源,转步骤3。

步骤3 太赫兹网络进入普通超帧的CAP。DEV 节点判断自身是否已入网:若未入网,执行核心操作2)和3),侦听并判断自身类型及关联入网,转步骤3;否则,判断自身节点是否有数据传输需求,若有,则执行核心操作4,申请数据传输时隙,转步骤6,否则,直接转步骤5。若是PNC 节点,直接转步骤4。

步骤4 执行核心操作5),PNC(ii=1,2)收到CTRq 帧后回复特殊CTRp 帧,同时,PNC 也要更新自己的链表。CAP 结束后,转步骤6。

步骤5 执行核心操作6),在普通超帧时期,各DEV 节点收到特殊CTRp 帧后执行添加链表项操作。当CAP 结束后,转步骤6。

步骤6 太赫兹网络进入普通超帧的CTAP,首先按照Beacon 帧分配的时隙传输数据,当有空闲时隙时,执行核心操作9),传输数据。对于DEV 节点:若发生数据传输错误,则执行核心操作10),进行退避,当CTAP 结束后,进入了下一普通超帧的Beacon 时段,则转步骤1,否则,转步骤2。对于PNC 节点:如果在CAP 或CTAP 收到了载有协调超帧信息的heartbeat 消息,在CTAP 结束后,根据数据传输是否错误决定转步骤7 还是步骤8;否则,转步骤1。

步骤7 太赫兹网络进入协调超帧的BAP,若是网络的第一个协调超帧,则DEV 节点执行核心操作12)和8),初始化及对齐协调超帧初期的链表,转步骤9,PNC 节点执行核心操作12)、13)和8),初始化协调超帧初期的链表、协调超帧分配时隙及对齐,转步骤9;否则,DEV 节点执行核心操作8),只对齐,转步骤9,PNC 节点执行核心操作13)和8),只进行协调超帧分配时隙操作及对齐操作,转步骤9。

步骤8 太赫兹网络进入协调超帧的BAP。DEV 节点执行核心操作11),执行修正操作,转步骤9;PNC 节点执行核心操作13)和8),进行协调超帧分配时隙操作及对齐操作,转步骤9。

步骤9 太赫兹网络进入协调超帧的CAP。DEV 节点判断自身节点是否有数据传输需求:若有,则执行核心操作4),申请时隙,转步骤11;否则,直接转步骤11。若是PNC 节点,直接转步骤10。

步骤10 执行核心操作5),PNC(ii=1,2)收到CTRq 帧后回复特殊CTRp 帧,同时PNC 也更新自己的链表。CAP 结束后,转步骤12。

步骤11 执行核心操作14),根据收到的CTRp 帧添加链表项,当CAP 结束后,转步骤12。

步骤12 太赫兹网络进入协调超帧的数据传输时段,执行核心操作15),传输数据:若本节点在数据传输时未发生错误,转步骤7;否则,转步骤8。

4 仿真分析

本文采用OPNET Modeler 14.5 仿真工具分别对AHTMAC(Adaptive High Throughout multi-pan MAC protocol)[1]、IEEE 802.15.3 协议[15]和SDTE-MAC 仿真验证,主要的参数如表3 所示。

表3 主要仿真参数Tab.3 Main simulation parameters

4.1 仿真参数设置

在整个仿真验证过程中,节点之间的数据传输业务量保持不变,根据DEV 节点数的不同,设置5 个场景,对比AHTMAC、IEEE 802.15.3 协议和SDTE-MAC 这3 个协议的性能。

赵玉红充满感情地谈道,130余年的文化传承,孕育了盛京人探索求进、勇担重任的执着精神。“中国医科大学是中国工农红军创建的第一所医科学校,因之而生的盛京医院被注入红色血脉,成为‘红医摇篮’。继承传统,以专业精神打造医院文化是历任领导班子的核心管理理念。”

4.2 SDTE-MAC仿真实现说明

4.2.1 网络模型

在OPNET14.5 仿真软件中,建立一个50 m×50 m 的双LAN 太赫兹无线局域网网络场景,该场景共分为两个网络,即以PNC1为中心的WLAN1和以PNC2为中心的WLAN2,每个网络内均有若干个节点,WLAN1与WLAN2的重叠区域之间存在若干个网间节点。

4.2.2 节点模型

节点模型由若干个模块构成,如:src 模块、sink 模块、thz_mac 模块、radio_rx 模块和radio_tx 模块等。

src 模块 该模块用于模拟应用层的功能,为节点的数据源模块,它的主要作用为在应用层面上产生数据包。数据包的大小以及类型可通过设置相应属性实现。

sink 模块 该模块用于模拟应用层的功能,为节点的数据包接收模块,它的主要作用为在应用层面上接收数据包,记录统计量,从而统计出网络内的MAC 层吞吐量、数据传输平均时延以及时隙利用率等统计量信息。

thz_mac 模块 该模块用于模拟数据链路层的功能,是本次仿真中的主要功能模块。

radio_rx 模块 该模块用于模拟物理层的功能,是节点的接收机模块,能设置信道参数,在接收到范围网络内的数据包后,将数据包传输给上层。

4.2.3 进程模型

thz_mac 模块是本次仿真的核心模块,它的进程模型主要由若干个状态机和多条状态转移线构成。下面列出部分状态机和状态转移线:

Init 状态机 该状态机被称为初始化状态机,它的主要作用为初始化部分变量,获取本节点的节点属性信息和注册统计量等设置自中断,在相应的时间点触发中断条件,以改变状态机状态,根据PNC_flag 变量获取节点类型,当节点类型为PNC 类型时,执行BEACON 状态转移线中的代码。

BEACON 状态机 该状态机为非强制类型空闲状态,它的作用在于等待相应类型的中断触发,当节点初始化后,所有在超帧Beacon 时段的操作,均会在该状态机与周围的状态转移线之间跳转。

CAP 状态机 该状态机与Beacon 状态机类似,当节点初始化后,所有在超帧CAP 的操作,均会在该状态机与周围状态转移线之间跳转。

Beacon 状态转移线 该状态转移线用于网络中的PNC节点进行Beacon 帧的发送,首先获取节点的MAC 地址,获取超帧中各个时段的时隙大小,设置各个时段的时间点触发中断,将自身地址、时段大小等信息装入Beacon 帧字段,最后将数据包发送至发射机模块。

Upper_Arrvl 状态转移线 该状态转移线用于将上层发送的数据包压入缓冲区,等待进行下一步处理与发送,若原来缓冲区为空,则将缓冲区状态标记为非空。

SEND_PK 状态转移线 用于控制CTAP 中数据帧的发送,当节点缓冲区中的数据不为空时,从缓冲区中取出数据包,计算发送数据包所需要的时间,并与该节点的CTA 中剩余时间比较:若剩余时间多于或等于数据包发送时间,则准备好数据包后,将数据包发送出去;若剩余时间少于数据包发送所需时间,则停止发送。当缓冲区为空时,停止发送。

4.3 仿真统计量

4.3.1 MAC层吞吐量

MAC 层吞吐量是指在单位时间内MAC 层中各节点成功接收并向上层递交的数据量之和。MAC 层吞吐量计算公式如下:

其中:n是双LAN 太赫兹无线局域网中节点数;Bi是第i个节点成功接收的数据量(单位为bit);t是网络仿真运行时间。

4.3.2 数据平均时延

数据平均时延是指数据帧从源节点产生到成功被目的节点接收的平均耗时,计算公式为:

其中:N是各节点成功接收数据帧的个数,Ti是每个被成功接收的数据帧从产生到被接收的耗时。

4.3.3 时隙利用率

时隙利用率是指各节点传输数据帧的耗时之和占仿真时间的比例,计算公式为:

其中:Ti是第i个数据帧所用的传输时间,t是仿真运行总时间。

4.4 仿真参数设置说明

PNC 在为全网节点分配时隙时是根据自身维护的时间单元链表从表头到表尾、从前往后依次分配的,而DEV 在进行同步对齐时也是按照这个顺序并根据Beacon 帧中的时隙分配情况进行对齐,因此各节点可以根据Beacon 帧实现时间单元链表的同步对齐,时间对齐精度设定为几微秒级别。

节点间距离引起的时延的测量方法为:在HB 里定义全局变量发送时间和接收时间,该时延即为接收时间与发送时间之差。

仿真统计量的设置方法为:以MAC 层吞吐量为例,在HB 里定义全局收到的数据包总比特数,然后除以仿真时间。

4.5 仿真结果及分析

4.5.1 MAC层吞吐量

MAC 层吞吐量如表4 所示,由表中的数据分析可知,随着各LAN 中DEV 数的增加,MAC 层吞吐量会逐渐上升,而当DEV 数达到一定数量时,MAC 层吞吐量趋于稳定,这主要是由于此时的MAC 层吞吐量已经达到了协议所支持的上限。当网络达到饱和时,SDTE-MAC 的MAC 层吞吐量较另外两种协议,至少提高了9.2%,主要原因在于:1)这种基于动态调整的时间单元链表算法能充分利用提前结束普通超帧的空闲时段以及数据传输时段的剩余时隙,提升了MAC 层吞吐量;2)网络中相同的CTRq 帧不必要重发次数减少,使其余有数据传输需求的节点竞争到时隙发送CTRq 帧的概率增大,提升了MAC 层吞吐量;3)在数据传输时段的剩余时隙不再划分有竞争申请时隙时段,而是将剩余时隙全部用于数据传输,提升了MAC 层吞吐量。

表4 几种协议在不同DEV个数下的MAC层吞吐量对比 单位:Gb·s-1Tab.4 Comparison of MAC layer throughputs among several protocols under different DEV numbers unit:Gb·s-1

4.5.2 数据平均时延

数据平均时延如表5 所示,由表5 中的数据分析可知,随着各LAN 中DEV 数的增加,数据平均时延会逐渐上升,这是由于在CAP,节点竞争接入信道发生碰撞的几率增加,导致节点不能及时申请到用于数据传输的时隙。然而,从整体上看,SDTE-MAC 的数据平均时延较另外两种协议的数据平均时延有一定程度的下降,主要原因在于:1)避免了相同CTRq帧的不必要重复发送,降低了CAP 竞争接入碰撞的几率,能够让有数据传输需求的节点成功申请到时隙;2)能充分利用CTAP 的剩余时隙来传输数据,降低数据平均时延。

表5 几种协议在不同DEV个数下的数据平均时延对比 单位:sTab.5 Comparison of average data time latency among several protocols under different DEV numbers unit:s

4.5.3 时隙利用率

时隙利用率如表6 所示,由表6 中的数据分析可知,随着各LAN 中DEV 数的增加,时隙利用率会逐渐上升,而当DEV数达到一定数量时,时隙利用率会趋于稳定。当网络达到饱和时,SDTE-MAC 的时隙利用率较另外两种协议,至少提高了10.9%,主要原因是:1)充分利用了提前结束普通超帧的空闲时段传输数据帧,用于传输数据帧的时长增大;2)CTAP的剩余时隙不再划分有竞争申请时隙时段,用于传输数据帧的时长增大。

表6 几种协议在不同DEV数下的时隙利用率对比Tab.6 Comparison of timeslot utilization among several protocols under different DEV numbers

5 结语

本文针对现有协议中存在的由于业务量较少的节点会在多个超帧的CAP 重复发送相同的CTRq 帧、heartbeat 消息晚到达导致信道时隙资源浪费以及CTAP 存在空闲时隙利用不充分等问题,提出一种低误码率环境下的双LAN 太赫兹无线局域网MAC 协议——SDTE-MAC,该协议实现一种基于动态调整的时间单元链表算法。本文比较了所提MAC 协议与另外两种协议,仿真结果表明本文所提协议提高了MAC 层吞吐量,提升了时隙利用率以及降低了数据平均时延。在未来的研究中,将以SDTE-MAC 为基础,研究在多LAN 网络中解决上述问题的方法。

猜你喜欢
网间链表赫兹
基于二进制链表的粗糙集属性约简
跟麦咭学编程
基于链表多分支路径树的云存储数据完整性验证机制
基于双频联合处理的太赫兹InISAR成像方法
太赫兹低频段随机粗糙金属板散射特性研究
太赫兹信息超材料与超表面
新背景下的电信网间互联互通工作
河南利用反诈骗新技术手段规范网间主叫号码传递
高速铁路车—网间电耦合阻抗特性及稳定性分析
链表方式集中器抄表的设计