任 智,古金東*,劉 洋,陳春宇
(1.重慶郵電大學 通信與信息工程學院,重慶 400065;2.重慶郵電大學 移動通信技術重慶市重點實驗室,重慶 400065;3.重慶郵電大學 移動通信教育部工程研究中心,重慶 400065)
太赫茲波指0.1~10 THz 的電磁波[1],頻譜介于微波與遠紅外光之間[2],低波段與毫米波相鄰[3]、高波段與紅外光相鄰,位于宏觀電子學與微觀光子學的過渡區域[4]。太赫茲波具有抗干擾[5]、方向性好[6]、帶寬寬[7]、穿透性強[8]、所需天線尺寸?。?]等優點。近年來,太赫茲波段被有效用于成像應用,因為太赫茲波是非電離的,能穿透材料,并被水和有機物質吸收[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
雙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 內部節點與網間節點之間的數據幀。
經研究發現,現有雙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 層吞吐量和降低了數據時延,但在某種程度上剩余時隙的再次劃分也限制了網絡吞吐量,尤其在網絡中業務量較大時。
針對上述問題,本文提出一種基于自發數據傳輸的高效雙LAN 太赫茲無線局域網MAC 協議——SDTE-MAC(high-Efficiency MAC protocol based on Spontaneous Data Transmission)。SDTE-MAC 采用一種基于動態調整的時間單元鏈表算法,避免了相同CTRq 幀的不必要重復發送,充分利用了提前結束普通超幀網絡的信道時隙資源以及N-CTAP、P-CTAP 空余的時隙資源,進一步提高了網絡的MAC 層吞吐量,提升了信道時隙利用率及降低了數據傳輸時延。
該算法的核心思想是通過讓各節點都維護一張或多張時間單元鏈表來與其余節點能夠在網絡運行時間上達到同步,從而獲悉本節點應該在信道剩余時隙的什么位置開始發送數據幀,即減少網絡中不必要的控制幀交互,通過操作自身節點的時間單元鏈表充分利用空余時隙?;趧討B調整的時間單元鏈表算法示意圖如圖7 所示。
圖7 基于動態調整的時間單元鏈表算法示意圖Fig.7 Schematic diagram based on dynamically adjusted time-unit linked list algorithm
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操作。
上述詳細介紹了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。
本文采用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
在整個仿真驗證過程中,節點之間的數據傳輸業務量保持不變,根據DEV 節點數的不同,設置5 個場景,對比AHTMAC、IEEE 802.15.3 協議和SDTE-MAC 這3 個協議的性能。
趙玉紅充滿感情地談道,130余年的文化傳承,孕育了盛京人探索求進、勇擔重任的執著精神?!爸袊t科大學是中國工農紅軍創建的第一所醫科學校,因之而生的盛京醫院被注入紅色血脈,成為‘紅醫搖籃’。繼承傳統,以專業精神打造醫院文化是歷任領導班子的核心管理理念?!?/p>
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.1 MAC層吞吐量
MAC 層吞吐量是指在單位時間內MAC 層中各節點成功接收并向上層遞交的數據量之和。MAC 層吞吐量計算公式如下:
其中:n是雙LAN 太赫茲無線局域網中節點數;Bi是第i個節點成功接收的數據量(單位為bit);t是網絡仿真運行時間。
4.3.2 數據平均時延
數據平均時延是指數據幀從源節點產生到成功被目的節點接收的平均耗時,計算公式為:
其中:N是各節點成功接收數據幀的個數,Ti是每個被成功接收的數據幀從產生到被接收的耗時。
4.3.3 時隙利用率
時隙利用率是指各節點傳輸數據幀的耗時之和占仿真時間的比例,計算公式為:
其中:Ti是第i個數據幀所用的傳輸時間,t是仿真運行總時間。
PNC 在為全網節點分配時隙時是根據自身維護的時間單元鏈表從表頭到表尾、從前往后依次分配的,而DEV 在進行同步對齊時也是按照這個順序并根據Beacon 幀中的時隙分配情況進行對齊,因此各節點可以根據Beacon 幀實現時間單元鏈表的同步對齊,時間對齊精度設定為幾微秒級別。
節點間距離引起的時延的測量方法為:在HB 里定義全局變量發送時間和接收時間,該時延即為接收時間與發送時間之差。
仿真統計量的設置方法為:以MAC 層吞吐量為例,在HB 里定義全局收到的數據包總比特數,然后除以仿真時間。
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
本文針對現有協議中存在的由于業務量較少的節點會在多個超幀的CAP 重復發送相同的CTRq 幀、heartbeat 消息晚到達導致信道時隙資源浪費以及CTAP 存在空閑時隙利用不充分等問題,提出一種低誤碼率環境下的雙LAN 太赫茲無線局域網MAC 協議——SDTE-MAC,該協議實現一種基于動態調整的時間單元鏈表算法。本文比較了所提MAC 協議與另外兩種協議,仿真結果表明本文所提協議提高了MAC 層吞吐量,提升了時隙利用率以及降低了數據平均時延。在未來的研究中,將以SDTE-MAC 為基礎,研究在多LAN 網絡中解決上述問題的方法。