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

        ?

        無線通信與網(wǎng)絡系統(tǒng)性仿真實驗設計

        2018-12-05 02:45:48孫彥景蘆楠楠王艷芬張曉光
        實驗技術與管理 2018年11期
        關鍵詞:吞吐量數(shù)據(jù)包信道

        孫彥景, 陳 巖, 蘆楠楠, 李 松, 王艷芬, 張曉光

        (中國礦業(yè)大學 信息與控制工程學院, 江蘇 徐州 221116)

        無線通信與網(wǎng)絡發(fā)展的趨勢是從通信到上層應用網(wǎng)絡的高度融合。傳統(tǒng)的通信與網(wǎng)絡割裂式實驗教學導致學生系統(tǒng)認知不強、所學知識零散,不利于培養(yǎng)學生系統(tǒng)性與工程性思維。因此,有必要改變分別開設實驗課程和設計實驗的模式,圍繞通信系統(tǒng)與計算機網(wǎng)絡系統(tǒng)構建科學、系統(tǒng)且相對獨立的系統(tǒng)性教學實驗體系,構建起從底層通信到高層網(wǎng)絡系統(tǒng)逐步遞增模式的全過程系統(tǒng)實驗教學環(huán)節(jié),增強專業(yè)實驗的連續(xù)性,提升實驗教學質(zhì)量,使得信息與通信工程相關實驗教學符合“新工科”教學發(fā)展理念。

        本文以無線通信網(wǎng)絡協(xié)議設計仿真實驗為例,利用NS3(Network Simulator 3)軟件,針對無線局域網(wǎng)IEEE 802.11標準中的MAC協(xié)議進行了物理層到應用層的整體性仿真實驗設計。該實驗可用于無線通信及網(wǎng)絡的相關研究和教學,并可進一步開展無線局域網(wǎng)絡MAC協(xié)議的相關研究和信息與通信工程的一系列課程實驗教學。

        1 NS3簡介

        NS3是一個離散事件驅(qū)動的網(wǎng)絡模擬工具,是一種較新的開源仿真軟件,可以對網(wǎng)絡中物理層到應用層的所有研究進行仿真,因而成為研究網(wǎng)絡的有效實驗工具[1-4]。該軟件應用于實驗教學中,可以有效構建專業(yè)課程群整體連續(xù)性實驗,培養(yǎng)學生系統(tǒng)性與工程性認知[5]。

        圖1為NS3仿真實驗的基本流程[7],若現(xiàn)有模塊無法滿足仿真需要,應添加修改模塊并重新編譯。

        圖1 NS3網(wǎng)絡仿真實驗基本流程

        根據(jù)仿真需要創(chuàng)建的腳本主要包括4部分內(nèi)容:

        (1) 網(wǎng)絡仿真場景及相關參數(shù);

        (2) 事件跟蹤函數(shù),用于統(tǒng)計仿真實驗數(shù)據(jù);

        (3) 仿真參數(shù)傳遞入口,用于每次仿真向仿真腳本傳遞參數(shù)值,避免仿真腳本頻繁修改;

        (4) 信息結果處理程序,用于處理事件跟蹤函數(shù)統(tǒng)計的仿真數(shù)據(jù),并輸出當次實驗結果。

        為方便仿真不同參數(shù)下的網(wǎng)絡性能,需要借助Linux腳本語言,在不同參數(shù)下自動執(zhí)行仿真腳本,并將仿真輸出結果輸出至文件中。仿真結束后,利用腳本語言處理仿真輸出文件,輸出最終仿真結果。如果需要進一步修改實驗,可以按照上述步驟重復進行。

        2 無線局域網(wǎng)MAC協(xié)議

        一種新的無線通信技術的應用,需要與之相配套的網(wǎng)絡協(xié)議的支持;針對特定的應用場景,也需要特定的組網(wǎng)方式來保證系統(tǒng)的有效性與可靠性[8]。因此,對現(xiàn)代通信系統(tǒng)網(wǎng)絡的研究不僅是物理層點對點通信技術,網(wǎng)絡協(xié)議與資源分配也是重點研究方向。在無線網(wǎng)絡中,媒體接入控制(medium access control,MAC)層作為物理層的上一層,直接關系到通信信道的使用與分配問題。此外,MAC層向上層網(wǎng)絡傳輸正確接收到的數(shù)據(jù)包,是通信與網(wǎng)絡結合的關鍵。因此,在無線網(wǎng)絡的研究中,MAC層協(xié)議的設計與改進成為一個主要的研究方向。尤其是針對新的網(wǎng)絡應用場景與異構網(wǎng)絡融合的研究,原有的理論研究結果無法得到有效驗證。與新興技術同步進行的MAC協(xié)議設計研究在初始階段難以在硬件設備上實驗驗證[9],因此,軟件仿真成為一種有效的研究和實驗方式。

        在現(xiàn)有的IEEE802.11無線局域網(wǎng)絡中,MAC協(xié)議為分布式協(xié)調(diào)方式(distributed coordination function,DCF)[10],其中包含Basic機制和RTS/CTS機制。在Basic機制中,當節(jié)點檢測到信道空閑時間長于分布式幀間間隙(DIFS)時,節(jié)點將信道視為空閑,數(shù)據(jù)遲1個DIFS后立刻發(fā)送,如圖2所示。數(shù)據(jù)包傳輸完成,目的節(jié)點在正確接收數(shù)據(jù)后延遲SIFS時間后發(fā)送ACK幀,源節(jié)點接收到ACK后,此次傳輸完成。當信道再次空閑持續(xù)長達DIFS之后,進入下一次接入競爭。

        圖2 Basic機制

        然而當一次傳輸中同時有多個節(jié)點發(fā)送數(shù)據(jù)時,會發(fā)生沖突,使數(shù)據(jù)無法成功傳輸,浪費信道資源。浪費的時間是沖突節(jié)點中傳輸?shù)淖铋L數(shù)據(jù)的時間。

        采用CSMA/CA協(xié)議(RTS/CTS機制),可減少信道資源浪費。如圖3所示,在數(shù)據(jù)發(fā)送之前,通過發(fā)送RTS和CTS幀進行數(shù)據(jù)傳輸?shù)恼埱笈c確認。目的節(jié)點接收到數(shù)據(jù)幀后,同樣通過ACK確認此次傳輸完成。在發(fā)送RTS過程中,會發(fā)生多個節(jié)點發(fā)送沖突,造成信道資源的浪費,沖突持續(xù)時間為RTS傳輸時間加上1個DIFS時間。但RTS幀長度遠小于數(shù)據(jù)幀長度,因此沖突時間遠小于CSMA/CD機制中的沖突時間,可以有效減少信道資源浪費,因此被廣泛應用于無線網(wǎng)絡中。

        圖3 RTS/CTS機制

        此外,當網(wǎng)絡中的節(jié)點有數(shù)據(jù)要發(fā)送時,在發(fā)送之前會執(zhí)行二進制指數(shù)退避機制[10],在數(shù)據(jù)發(fā)送之前會選擇一定的退避窗口,當信道空閑時執(zhí)行退避計數(shù)器減操作。若信道忙,則退避計數(shù)器凍結,停止計數(shù)。當退避計數(shù)器減至0且信道狀態(tài)空閑則發(fā)送數(shù)據(jù),否則繼續(xù)退避。若一次發(fā)送失敗,進入下一次退避重傳,同時退避窗口翻倍,直至數(shù)據(jù)傳輸成功。若退避窗口達到最大時仍傳輸失敗,則放棄此次數(shù)據(jù)傳輸,進行丟包處理。

        對DCF協(xié)議性能的研究往往以Bianchi所提出的離散Markov模型為基礎[11]。該模型可以有效模擬DCF協(xié)議中退避過程。

        3 基于NS3的仿真實驗

        本文采用NS3中的WiFi模塊設計MAC協(xié)議性能分析的仿真實驗。在仿真實驗中,需要賦予網(wǎng)絡中各節(jié)點WiFi設備的功能。節(jié)點在NS3中為實際通信設備的抽象,包括應用程序、網(wǎng)絡設計及驅(qū)動等一系列實際設備特性。圖4為NS3中WiFi設備的結構,各模塊含義為[12]:

        圖4 NS3中WiFi設備結構

        Application:設備上所安裝的用戶應用程序的抽象,即數(shù)據(jù)的產(chǎn)生程序;

        WifiNetDevice:對實際設備中網(wǎng)絡設備的抽象,包含網(wǎng)卡硬件與驅(qū)動程序;

        MACHigh:WiFi設備高層MAC抽象,用于設置WiFi網(wǎng)絡設備類型(AP,Station,Adhoc);

        DcaTxOp與MacRxMiddle:分別用于處理發(fā)送隊列與接收隊列中數(shù)據(jù)包發(fā)送與接收;

        MacLow:涉及DCF中控制幀和數(shù)據(jù)幀的發(fā)送與接收;

        DcfManager:DCF機制的具體實現(xiàn)及節(jié)點收發(fā)狀態(tài)監(jiān)聽管理;

        WifiPhy:實際發(fā)送過程中物理層收發(fā)處理,包含物理層接收信號強度、SNR、誤碼率、發(fā)送功率等相關信息;

        WifiChannel:仿真所用信道模型。

        在NS3中實現(xiàn)WiFi網(wǎng)絡仿真場景的基本流程為:

        (1) 創(chuàng)建節(jié)點:為仿真網(wǎng)絡場景創(chuàng)建設備節(jié)點;

        (2) 創(chuàng)建Wifi類并設置協(xié)議標準;

        (3) 創(chuàng)建WifiMAC協(xié)議類并設定協(xié)議的類型與參數(shù);

        (4) 創(chuàng)建WifiPhy類并設置相關參數(shù);

        (5) 創(chuàng)建WifiNetDevice;

        (6) 創(chuàng)建WifiChannel類并設置信道傳輸模型及相關參數(shù);

        (7) 將不同的WifiMAC協(xié)議與WifiPhy類組合成WiFi類并封裝到WifiNetDevicel類中,將不同的WifiNetDevice分別安裝至不同的節(jié)點上;

        (8) 將網(wǎng)絡中的所有節(jié)點的WifiPhy類中的信道設置成所生成的WifiChannel,以將所有節(jié)點放置在一個信道內(nèi)工作;

        (9) 為每個節(jié)點分配網(wǎng)絡地址(IP地址);

        (10) 為每個節(jié)點安裝應用,包括應用類型、應用的目的節(jié)點和網(wǎng)絡接口。

        完成上述操作,可以建立一個完整的WiFi網(wǎng)絡仿真場景應用于教學實驗中,使學生掌握硬件設備實現(xiàn)各功能的方法,并通過修改仿真參數(shù)獲得不同的仿真結果。因此,需要為仿真腳本添加參數(shù)入口、數(shù)據(jù)收集、結果輸出功能。

        在NS3仿真中,通過添加“cmd.AddValue”代碼,并與命令行或“.sh”腳本聯(lián)合使用,可在不修改腳本的情況下進行不同參數(shù)的仿真,例如:

        CommandLine cmd;

        cmd.AddValue (″nwifi″,″number of station″, nwifi);

        cmd.Parse (argc, argv);

        其中cmd.AddValue函數(shù)參數(shù)分別表示:傳遞變量的形式參數(shù)名、參數(shù)注釋、腳本中對應的變量名。如上述腳本在執(zhí)行命令之后添加-nwifi=30,可將該次仿真中的nwifi變量值設置為30。

        NS3是離散事件驅(qū)動的模擬器,因此對仿真過程中的數(shù)據(jù)進行收集是通過監(jiān)聽仿真過程中的離散事件來實現(xiàn)的,通過在仿真中為相應的事件設置觸發(fā)回調(diào)函數(shù)來完成數(shù)據(jù)收集。如需要追蹤編號為0的節(jié)點上的MAC層接收到的總數(shù)據(jù)包大小,即可通過以下代碼實現(xiàn):

        Config::Connect (″/NodeList/0/DeviceList/*/Mac/MacRx″, MakeCallback (&DevRxTrace))

        將事件的觸發(fā)回調(diào)函數(shù)設置為DevRxTrace。編寫DevRxTrace函數(shù)如下:

        void

        DevRxTrace (std::string context, Ptr p)

        {

        mac_bytesTotal += p->GetSize ()

        }

        通過以上仿真設置,編號為0的節(jié)點每接收到一個數(shù)據(jù)包,總接收數(shù)據(jù)大小mac_bytesTotal加上該數(shù)據(jù)包大小,從而達到仿真信息跟蹤收集的目的。

        在程序腳本最后,對仿真過程中收集到的相關信息作計算處理并打印或?qū)懭胂嚓P文件中即可。之后利用gnuplot軟件[13-14]對仿真結果繪制圖形即可完成仿真,可直觀查看到仿真結果。

        4 實驗結果

        本文根據(jù)Bianchi的研究分別進行了系統(tǒng)平均吞吐量隨節(jié)點數(shù)、初始退避窗口大小、最大退避階數(shù)變化的性能仿真,并與理論分析結果做對比。為更好地對比Bianchi模型的理論結果,本文對實驗結果進行歸一化處理。

        圖5為DCF中不同機制與參數(shù)下系統(tǒng)平均吞吐量隨節(jié)點數(shù)變化的仿真及理論曲線,可以看出仿真實驗所得結果較接近理論計算結果。

        圖5 系統(tǒng)吞吐量與節(jié)點數(shù)關系的NS3仿真與Matlab數(shù)值計算比較

        圖6為RTS/CTS模式下的平均系統(tǒng)吞吐量與初始退避窗口大小之間關系的NS3仿真圖和Matlab數(shù)值計算圖,設置最大退避階數(shù)為6,可見兩者貼合程度較高。

        圖6 RTS/CTS模式下系統(tǒng)吞吐量與最小退避窗口關系的NS3仿真與Matlab數(shù)值計算比較

        圖7為basic模式下的平均系統(tǒng)吞吐量與初始退避窗口之間關系的NS3仿真圖和Matlab數(shù)值計算圖,設置最大退避階數(shù)為6,可見兩者的貼合程度較高。

        圖7 Basic模式下系統(tǒng)吞吐量與最小退避窗口關系的NS3仿真結果與Matlab數(shù)值計算結果

        圖8為DCF中的平均系統(tǒng)吞吐量與最大退避階數(shù)之間關系的NS3仿真圖和Matlab數(shù)值計算圖,最小退避窗口設置為32,可見仿真結果較貼近于理論計算值。

        圖8 系統(tǒng)吞吐量與最大退避階數(shù)關系的NS3仿真結果與Matlab數(shù)值計算結果

        5 總結

        本文對在NS3中搭建WiFi網(wǎng)絡MAC協(xié)議仿真的過程進行了詳細描述,具體描述仿真過程中對通信與網(wǎng)絡實現(xiàn)整體性搭建方法。實驗仿真了IEEE 802.11標準中MAC層DCF機制,仿真結果與理論計算結果貼合度較高,實驗設計成功??稍诖藢嶒灥幕A上進一步進行無線網(wǎng)絡MAC協(xié)議的研究與教學工作,以及信息與通信工程的一系列課程群整體教學實驗設計。

        猜你喜歡
        吞吐量數(shù)據(jù)包信道
        SmartSniff
        2016年10月長三角地區(qū)主要港口吞吐量
        集裝箱化(2016年11期)2017-03-29 16:15:48
        2016年11月長三角地區(qū)主要港口吞吐量
        集裝箱化(2016年12期)2017-03-20 08:32:27
        基于導頻的OFDM信道估計技術
        一種改進的基于DFT-MMSE的信道估計方法
        基于MED信道選擇和虛擬嵌入塊的YASS改進算法
        基于Libpcap的網(wǎng)絡數(shù)據(jù)包捕獲器的設計與實現(xiàn)
        2014年1月長三角地區(qū)主要港口吞吐量
        集裝箱化(2014年2期)2014-03-15 19:00:33
        一種基于GPU的數(shù)字信道化處理方法
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        精品国产一区二区三区18p| 国产成人亚洲综合| 好大好湿好硬顶到了好爽视频| 国产精品免费_区二区三区观看| 色一情一乱一伦一区二区三区日本| 中文字幕亚洲乱码熟女一区二区| 欧美a在线播放| 一本久久a久久精品综合| 美女被内射中出在线观看| 人妻少妇满足中文字幕| 亚洲国产精华液网站w| 在线a免费观看| 成人综合久久精品色婷婷 | 91精品啪在线观看国产色| 日韩女优图播一区二区| 蜜桃av精品一区二区三区| 成熟丰满熟妇高潮xxxxx视频| 国产成人8x视频网站入口| 美女一区二区三区在线观看视频| 亚洲综合自拍偷拍一区| 亚洲av无码乱码国产一区二区| 性一乱一搞一交一伦一性| 国产福利97精品一区二区| 日韩精品一区二区在线视 | 亚洲成人福利在线观看| 国产在线天堂av| 日韩av一区二区三区高清| 少妇高潮av久久久久久| 亚洲毛片αv无线播放一区| 色综合久久久久久久久五月| 免费一级欧美大片久久网| 免费国产自拍视频在线观看| 色综合天天综合网国产成人网| a级毛片无码免费真人| 欧美深夜福利网站在线观看| 亚洲免费av第一区第二区| 青青河边草免费在线看的视频 | 日韩视频在线观看| 色婷婷五月综合亚洲小说| 真人在线射美女视频在线观看| 免费高清日本一区二区|