亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NS-3 網(wǎng)絡模擬器的TDMA 協(xié)議仿真實現(xiàn)

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

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

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

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

        1 TDMA協(xié)議

        1.1 TDMA協(xié)議簡介

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

        每個傳輸槽之間插入保護間隔,以便傳輸不重疊。保護間隔的值通常是一個數(shù)據(jù)包傳輸?shù)街付ǖ膫鬏敺秶枰臅r間。在這個簡單的時分多址模型中,假設節(jié)點的時鐘是同步的。

        1.2 隱藏節(jié)點問題

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

        圖1 隱藏節(jié)點問題

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

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

        2 NS-3中實現(xiàn)TDMA協(xié)議

        2.1 NS-3仿真原理

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

        圖2 發(fā)送過程從連續(xù)到離散的過程

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

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

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

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

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

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

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

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

        2.2 TDMA相關類的實現(xiàn)

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

        2.2.1 TdmaMac

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

        2.2.2 TdmaQueue

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

        2.2.3 TdmaController

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

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

        圖3 Start函數(shù)調用關系

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

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

        圖4 傳輸函數(shù)執(zhí)行過程

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

        3 TDMA協(xié)議仿真測試

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

        表1 仿真參數(shù)設置

        圖5 TDMA仿真拓撲

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

        表2 吞吐率仿真結果

        4 結論

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

        无码aⅴ精品一区二区三区| 日本高清长片一区二区| 国产亚洲精品一品二品| 国产97色在线 | 国产| 亚洲乱码av中文一区二区| 欧美精品一区二区精品久久| 蜜桃视频成年人在线观看| 欧美性猛交xxx嘿人猛交| 亚洲精品92内射| 国产成人精品日本亚洲语音1| 国产精品亚洲av无人区一区蜜桃| 妃光莉中文字幕一区二区| 午夜精品久久久久久| 亚洲国产香蕉视频欧美| 国产精品美女一区二区av| 4hu四虎永久免费地址ww416| 亚洲人成亚洲精品| 无码中文字幕av免费放| 久久午夜av一区二区| 国产欧美日韩一区二区三区 | 手机在线观看亚洲av| 亚洲精品宾馆在线精品酒店| 一本色道久久综合亚洲精品不卡| 99JK无码免费| 久久久亚洲成年中文字幕| 日本va欧美va精品发布| 7878成人国产在线观看| 亚洲国产av自拍精选| 欧洲国产精品无码专区影院| 亚洲精品456在线播放狼人| 国产人成无码视频在线观看| 污污污污污污WWW网站免费| av最新版天堂在资源在线| 精品人妻av一区二区三区| 3d动漫精品一区二区三区| 国产在视频线精品视频二代| 蜜桃视频第一区免费观看| 亚洲一区二区三区播放| 婷婷色综合成人成人网小说| 中文字幕成人精品久久不卡91 | 99久久综合精品五月天|