999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NS-3 網絡模擬器的TDMA 協議仿真實現

2021-12-07 07:45:50王心源李雪妍
電子設計工程 2021年23期

王心源,程 鵬,吳 斌,李雪妍

(1.中國科學院微電子研究所,北京 100029;2.中國科學院大學,北京 100049)

WiFi是IEEE定義的一個無線網絡通信的工業標準(IEEE 802.11)[1],WiFi 是一種短程無線傳輸技術[2]。無線局域網(Wireless Local Area Networks,WLAN)技術或WiFi技術由于技術成熟、易于部署以及成本較低被廣泛地應用于短距離場景如家庭場景。但在某些遠距離特殊場景下不便于有線通信設備的安裝和部署,技術人員也渴望使用WiFi技術。增大WiFi的發射功率可以顯著增加傳輸距離,在傳輸功率方面滿足了遠距離傳輸的要求時仍存在一些問題,如隱藏節點等。這些問題的根源在于WiFi 所采用的媒體訪問控制(Media Access Control,MAC) 技術為載波監聽多路訪問/沖突避免(Carrier Sense Multiple,CSMA/CA),CSMA 基于競爭的設計原理導致了特定場景性能低下,且無法避免[3]。基于時分多址(Time Division Multiple Access,TDMA)的MAC 協議對共享的媒介在時間上進行精細的劃分,各個節點只在自己歸屬的時隙內發送數據,實現了無競爭機制,避免數據競爭信道時產生碰撞,很好地解決了遠距離傳輸下的隱藏節點問題[4]。在當前WiFi商用硬件設備上對TDMA模式支持較少。文中在開源網絡仿真器NS-3中基于WiFi組件實現了TDMA 的MAC協議仿真。

1 TDMA協議

1.1 TDMA協議簡介

時分多址是一種無爭用的介質訪問協議。網絡中所有節點共享的信道帶寬被劃分為時間槽,每一個節點循環使用時間槽。各節點只在其分配的時間段內傳輸數據,傳輸槽通常是固定的時間間隔[5-6]。

每個傳輸槽之間插入保護間隔,以便傳輸不重疊。保護間隔的值通常是一個數據包傳輸到指定的傳輸范圍所需要的時間。在這個簡單的時分多址模型中,假設節點的時鐘是同步的。

1.2 隱藏節點問題

在多節點網絡中,許多沖突都是由隱藏節點問題引起的。如圖1 所示,AP 為接入點,STA1 和STA2為兩個站點。在家庭場景中,STA1 和STA2 的距離較近,它們可以通過載波偵聽感受到彼此的存在,即STA1 或STA2 要發送數據包時會先檢測載波是否正在被使用,如果被使用會進行隨機退避,此時不會發生沖突。一旦STA1和STA2均距離AP較遠甚至為傳輸極限距離時,STA1 和STA2 將無法感受到彼此的存在,對于站點STA1 和STA2 來說載波是空閑的。若此時兩個站點同時向AP 發送數據,那么將會產生沖突導致數據的傳輸錯誤或失敗[7]。

圖1 隱藏節點問題

當兩個不在彼此傳輸范圍內的節點向同一接收器發送數據時,來自兩個發射器的數據包在接收器上發生碰撞。這就是所謂的隱藏節點問題。

IEEE 802.11 是一種基于爭用的MAC 協議,通過引入無競爭的TDMA協議可以有效地解決此類問題。

2 NS-3中實現TDMA協議

2.1 NS-3仿真原理

NS-3 將連續變化的網絡過程按照時間順序分割成一系列的離散事件[8]。完整的NS-3 網絡模擬過程就是按時間先后執行這些離散事件,如圖2 所示。

圖2 發送過程從連續到離散的過程

一個分組從節點0到節點1,其步驟可總結如下:

1)T1時刻,節點0 開始向信道中發送分組的第一個字節,這時節點0 的網絡設備被占用,無法發送其他分組;

2)T2時刻,分組的最后一個字節發送完畢。網絡設備被釋放。T1到T2時刻這段時間就是分組的傳輸延時;

3)T3時刻,分組被節點1 接收,NS-3 假設節點沒有傳輸延遲,所有到達其網絡設備的分組被立即接收。T2到T3這段時間即使分組的傳播延遲。

物理網絡中所有分組發送過程都是連續的,NS-3 將這個連續過程抽象為3 個離散事件,也就是3 個函數[9]。

T1時刻的分組發送事件,節點0 在T1開始發送分組,與物理網絡不同的是,節點0 一次性將整個分組發送給信道的C++對象,通過鎖定網絡設備,使其無法發送其他分組(后續分組將進入到網絡設備對象的緩存中),直到T2時刻新的事件發生,即網絡設備解鎖。

通過在T1時刻鎖定網絡設備和T2時刻解鎖網絡設備兩件離散時間模擬出一個連續的分組發送過程。同樣模擬分組在信道中的傳輸過程,信道在T1時刻計劃一個新的事件,在T3時刻將分組一次性的轉發給目標節點1 網絡設備的C++對象[10]。

通過在腳本中設置分組大小、傳輸速率和傳播延遲的屬性,可以模擬不同的網絡仿真。

2.2 TDMA相關類的實現

在NS-3 中將節點(node)、設備(device)、協議層(MAC)、物理層(PHY)以及信道(Channel)均抽象成一個個C++的類[11]。該文通過在NS-3 仿真平臺中加入TDMA 相關的類TdmaMac 類、TdmaQueue 類以及TdmaController 類,實現了簡單的TDMA 協議。

2.2.1 TdmaMac

上層的數據包(packe)由IP 層傳送到TdmaMac中,TdmaMac 在收到數據包后,調用Enqueue 函數將數據包放入隊列并等待。等待到屬于該節點的傳輸時隙到來,TdmaMac 通過Get QueueState 函數查詢TdmaQueue 中的入隊數據包packet,然后將數據包packet 循環地從隊列中取出,并附加上MAC 頭和尾,執行函數Start Transmission 將數據包發送給SimpleWireless Channel 類。同時在傳輸開始之前TdmaMac 中還需要根據packet 的大小(size)計算出傳輸所需的時間,把所有需要傳輸的packet 的時間總和和TdmaController 分配給該節點的傳輸時間進行比較,如果在該節點回合下不能再傳輸一個packet,則終止傳輸循環,即使還剩余一定的時間。

2.2.2 TdmaQueue

TdmaQueue 隊列主要實現丟包策略。查詢隊列的state 為full 時,將此時上層發送的packet 丟掉。TdmaQueue 中主要的兩個屬性變量為QueueLength和QueueTime。QueueLength 變量為隊列最大長度,QueueTime 為隊列最大延時。當隊列中數據包數達到QueueLength 數量時,后邊得到的數據包均丟掉。QueueTime 設定的時間為數據packet 在隊列中能夠存儲的最長時間,當數據包在隊列中存儲的時間大于QueueTime 時,數據包packet 同樣被丟掉。TdmaQueue 實現了以上兩種根據隊列長度以及數據包存儲時間的丟包策略。

2.2.3 TdmaController

TdmaController 負責管理和計劃實現TDMA 協議的控制,TdmaController 類初始化TDMA 傳輸參數,授權節點進行傳輸。在仿真開始前將分配給傳輸的插槽數量和插槽持續時間分配給每一個節點[12-14]。仿真開始后,仿真程序通過MAC 指針列表中調用TdmaMac,并指示節點它可以傳輸一個特定的SlotTime。當傳輸完成后,等待一個GuardTime,然后開始下一個節點,從列表中調用下一個節點。一旦所有節點全部遍歷完成,等待一個InterFrame Time 時間再開始下一個周期。

TdmaController 函數為Tdmacontroller 起始執行函數,Start 函數中首先啟動controller。Start 函數調用仿真器simulator 執行StartTdmaSessions 函數。Start TdmaSessions 函數在第0 秒執行ScheduleTdma Session 函數。ScheduleTdmaSession 函數中創建了一個mac 的map。在每一個slot 中不斷地循環執行ScheduleTdmaSession 函數,Start 函數調用關系如圖3 所示。

圖3 Start函數調用關系

ScheduleTdmaSession 函數通過調用 Tdma CentralMac::StartTransmission 函數,不斷地調用SendPacketDown 函數將packet 傳遞下去。Send PacketDown 函數調用lowmac 層的StartTransmission函數最終將packet傳輸出去進入到信道中[15-17]。

函數 TdmaController::CalculateTxTime 調用CalculateBytesTxTime 計算packet 的TX 時間,以供TdmaMac::StartTransmission 使用,判斷剩余packet 是否能在slot時間內傳輸完成。

圖4 傳輸函數執行過程

TdmaMac::StartTransmission 執行后,TdmaCon troller 先對packet 的傳輸時間進行計算得到packetTransmissionTime,然后將其與totalTransmi ssionSlot 進行比較。

3 TDMA協議仿真測試

該系統測試TDMA 性能采用一個接入點,4 個客戶端的應用場景,仿真參數設置如表1 所示。4 個客戶端STA1、STA2、STA3、STA4 按時隙順序分配,且時隙大小相同,每個客戶端均占用一個slottime 進行輪詢。

表1 仿真參數設置

圖5 TDMA仿真拓撲

通過配置上層的應用產生packet 的速率以及分別設置物理層的傳輸速率進行吞吐率測試,吞吐率仿真結果如表2 所示。

表2 吞吐率仿真結果

4 結論

文中對WiFi 設備在特定場景下應用的缺點進行了簡要分析,簡單介紹了隱藏節點問題的定義,其根本原因來自協議的競爭機制,因此提出使用公平接入的TDMA 協議。同時在NS-3 開源仿真器中增加了相關模塊,Tdmamac 類,TdmaQueue 類 和Tdmacontroller 類,這3 類實現了基本TDMA 協議,并對其正確性進行了驗證。如有需要,可以在此基礎上添加TDMA 調度算法。

主站蜘蛛池模板: 97在线视频免费观看| 四虎永久免费地址在线网站| 国产主播喷水| 久久久久人妻精品一区三寸蜜桃| 综合亚洲色图| 国产一区二区三区日韩精品| 国产色爱av资源综合区| 久久一级电影| 99精品欧美一区| 亚洲午夜天堂| 欧美日韩综合网| 国产极品粉嫩小泬免费看| 日韩在线永久免费播放| 欧美午夜网| 亚洲色大成网站www国产| 免费人成视网站在线不卡| 日本日韩欧美| 国产精品成人免费视频99| 狠狠色噜噜狠狠狠狠奇米777 | av在线手机播放| 国产va在线观看免费| 亚洲日韩精品无码专区| 四虎AV麻豆| 精品无码国产自产野外拍在线| 伊人久久久久久久久久| 欧美精品不卡| 国产国产人在线成免费视频狼人色| a色毛片免费视频| 国产极品粉嫩小泬免费看| 爱色欧美亚洲综合图区| 色综合久久无码网| 国产乱码精品一区二区三区中文| 欧美日韩国产在线观看一区二区三区| 国产在线精彩视频二区| 欧美高清三区| 国产成人亚洲精品蜜芽影院| 欧美成人区| 色亚洲成人| 国产精品专区第1页| 毛片网站观看| 成人免费黄色小视频| 精品无码一区二区在线观看| 青青草原国产| 亚洲国产精品成人久久综合影院| 久久精品丝袜| 无码精品福利一区二区三区| 再看日本中文字幕在线观看| 免费在线国产一区二区三区精品| 色妞www精品视频一级下载| 日韩色图区| 91精品免费久久久| 91美女视频在线| 亚洲精品无码专区在线观看| 色天堂无毒不卡| 亚洲精品视频免费| 欧美国产日韩一区二区三区精品影视 | 欧美一级专区免费大片| 九九九精品视频| 国产毛片不卡| 在线免费观看AV| 亚洲无码高清视频在线观看| 国产永久无码观看在线| 中文成人在线| 91成人在线观看| 国产超薄肉色丝袜网站| 国产精鲁鲁网在线视频| 97国产在线观看| 免费人成在线观看视频色| 深夜福利视频一区二区| 久久a级片| 又大又硬又爽免费视频| 狂欢视频在线观看不卡| 亚洲国产精品日韩av专区| 网久久综合| 在线高清亚洲精品二区| 国产手机在线观看| 精品国产免费观看一区| 一级全免费视频播放| 日本一区高清| 尤物在线观看乱码| 朝桐光一区二区| 亚洲欧美国产视频|