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

        ?

        新網(wǎng)絡(luò)仿真器NS3的研究綜述*

        2017-03-11 09:16:10茹新宇
        關(guān)鍵詞:仿真器網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包

        茹新宇,劉 淵,陳 偉

        (1. 江蘇聯(lián)合職業(yè)技術(shù)學(xué)院 無錫交通分院,江蘇 無錫 214151; 2. 江南大學(xué) 數(shù)字媒體學(xué)院,江蘇 無錫 214122)

        新網(wǎng)絡(luò)仿真器NS3的研究綜述*

        茹新宇1,劉 淵2,陳 偉2

        (1. 江蘇聯(lián)合職業(yè)技術(shù)學(xué)院 無錫交通分院,江蘇 無錫 214151; 2. 江南大學(xué) 數(shù)字媒體學(xué)院,江蘇 無錫 214122)

        仿真可實(shí)現(xiàn)用相對較小的成本與時(shí)間研究探索并解決問題。從簡述NS2和NS3的特點(diǎn)與區(qū)別入手,分別從基本概念、核心概念及其模型三個(gè)方面詳細(xì)介紹了NS3的體系結(jié)構(gòu)、數(shù)據(jù)包傳輸過程、基本對象與類及其跟蹤模型等細(xì)節(jié)。最后從理論上深度論述了NS3在研究領(lǐng)域的TCP實(shí)現(xiàn)過程。

        網(wǎng)絡(luò)仿真器;類;模型;應(yīng)用程序接口;套接字;繼承;帶寬

        0 引言

        仿真是指當(dāng)所研究的系統(tǒng)造價(jià)昂貴、實(shí)驗(yàn)危險(xiǎn)性大或需要很長時(shí)間才能了解其參數(shù)變化所引起的后果時(shí),利用模型重現(xiàn)實(shí)況,并通過模仿一些真實(shí)的事務(wù)或過程狀態(tài)來研究已存在的或設(shè)計(jì)中的系統(tǒng)[1]。隨著仿真實(shí)驗(yàn)在多種場合的廣泛使用,其現(xiàn)已成為計(jì)算機(jī)領(lǐng)域較為普遍的評價(jià)方法之一。同樣,研究通信體系和網(wǎng)絡(luò)協(xié)議也需要網(wǎng)絡(luò)仿真器的支持。但目前許多典型的仿真器如OPNET、QualNet和REAL等,由于使用條款限制或研發(fā)成本過高而得不到廣泛應(yīng)用??紤]到實(shí)施成本、情景再現(xiàn)、現(xiàn)場難度等,安裝真實(shí)網(wǎng)絡(luò)并不可行,網(wǎng)絡(luò)仿真器NS應(yīng)運(yùn)而生。它通常用于路由、多播及AdHoc網(wǎng)絡(luò),支持當(dāng)前流行協(xié)議,為有線、無線網(wǎng)絡(luò)提供仿真結(jié)果。

        1 NS2與NS3的特點(diǎn)與區(qū)別

        網(wǎng)絡(luò)仿真器主要基于特定條件,通過提供虛擬環(huán)境,允許仿真指定節(jié)點(diǎn)或路徑的網(wǎng)絡(luò)行為,如流量建模與性能分析等。NS2是個(gè)離散事件仿真器,事件由節(jié)點(diǎn)觸發(fā)。當(dāng)數(shù)據(jù)包到達(dá)節(jié)點(diǎn)后,仿真器按事件預(yù)定的執(zhí)行時(shí)間排序隊(duì)列、按步處理。作為一款用于網(wǎng)絡(luò)教育和研究的開源軟件,NS2在學(xué)術(shù)界已大獲成功,但也存在著較多問題,如它采用分裂對象模型,由C++代碼以及腳本語言O(shè)Tcl協(xié)調(diào)完成,因而導(dǎo)致系統(tǒng)結(jié)構(gòu)松散,分析工具“各自為政”,學(xué)習(xí)難度較大。另外仿真期間,網(wǎng)絡(luò)層存在著大量抽象,導(dǎo)致不連續(xù)以及跟蹤困難,結(jié)果常需要通過解析文件來提取。

        NS3基于社區(qū)開發(fā)和維護(hù),具有良好的發(fā)展勢頭。它是用C++編寫的可選Python腳本的API離散事件網(wǎng)絡(luò)仿真器。它具有面向?qū)ο?、低耦合、互操作、適合無線管理、便捷性符合WSN協(xié)議等特點(diǎn)。同時(shí),它具有良好的開發(fā)環(huán)境,包括COM類的接口聚合與查詢、自動(dòng)內(nèi)存管理、回調(diào)對象等核心功能,便于仿真新的復(fù)雜模型。

        當(dāng)前,NS3已試圖避免重復(fù)出現(xiàn)NS2所存在的問題,如模型之間的互操作性與耦合不足、缺乏內(nèi)存管理、分裂語言對象調(diào)試等。最明顯的區(qū)別是腳本語言的選擇,NS2在OTcl中編寫腳本,仿真結(jié)果由NAM實(shí)現(xiàn)可視化,但它無法純粹地從C++運(yùn)行仿真。而NS3(包括協(xié)議和場景)完全用C++編寫,帶有可選的Python綁定,腳本編寫方便。NS3提供了全新的動(dòng)畫顯示軟件Net Anim,可勾畫出網(wǎng)絡(luò)拓?fù)浼皹?biāo)記IP地址,便于更好地演示數(shù)據(jù)包發(fā)送、傳遞以及接收過程。

        2 NS3基本概念

        2.1 NS3概述

        NS3項(xiàng)目始于2006年,目前已發(fā)展到了3.26這一穩(wěn)定版本。它是廣泛汲取了當(dāng)前主流仿真器NS2、YANS和GTNets的成功經(jīng)驗(yàn)及其他新技術(shù)綜合而成的。其核心及各功能模塊由C++代碼完成[2],仿真效率極高[3]。其在功能實(shí)現(xiàn)、版本更新、用戶使用量等方面都飛速趕超著NS2[4]。

        NS3對外提供了豐富的擴(kuò)展接口,研究者依據(jù)自身需求可更改或增減模塊。它被構(gòu)建為庫,其靜態(tài)或動(dòng)態(tài)鏈接到仿真拓?fù)洳?dòng)NS3主程序(該程序定義了拓?fù)浣Y(jié)構(gòu)和仿真啟動(dòng)時(shí)間)。NS3體系結(jié)構(gòu)的底層到頂層都是開源的,用戶可獨(dú)立擴(kuò)展相應(yīng)模塊。它還將API導(dǎo)出至Python,允許Python以與C++相同方式導(dǎo)入模型。它雖沒有NS2的所有模型,但卻增加了部分新功能。另外NS2部分模型也已移植進(jìn)了NS3,其豐富的模型幾乎涉及網(wǎng)絡(luò)技術(shù)所有方面。它包含網(wǎng)絡(luò)組件模擬接口,如網(wǎng)絡(luò)傳輸協(xié)議、通信媒介、套接字服務(wù)、客戶端/服務(wù)器端應(yīng)用程序等;擁有事件調(diào)度器,可通過執(zhí)行相關(guān)事件,模擬真實(shí)的通信“行為”。同時(shí)它還具有完整的跟蹤機(jī)制及基于文本的跟蹤日志,方便用戶通過第三方軟件來解析數(shù)據(jù)傳輸過程及結(jié)果分析。

        2.2 NS3體系結(jié)構(gòu)

        NS3由一系列層次分明的功能模塊拼接而成,其最底層核心(core)模塊實(shí)現(xiàn)了NS3的核心功能,如智能指針、動(dòng)態(tài)類型系統(tǒng)、事件調(diào)度器、回調(diào)機(jī)制、跟蹤記錄、對象聚合等功能,同時(shí)提供了額外的C++語法,使編程更容易。網(wǎng)絡(luò)(network)模塊包括數(shù)據(jù)包等網(wǎng)絡(luò)仿真對象,主要描述數(shù)據(jù)包、Pcap或Ascii文件操作及網(wǎng)卡和套接字等抽象基類、IP地址、節(jié)點(diǎn)與隊(duì)列等。核心和網(wǎng)絡(luò)這兩個(gè)模塊組成一個(gè)適用于不同網(wǎng)絡(luò)類型的通用仿真底層,當(dāng)前已實(shí)現(xiàn)了互聯(lián)網(wǎng)和移動(dòng)網(wǎng)。其他模塊(包括各種協(xié)議、應(yīng)用及設(shè)備等)都建立在這個(gè)底層模塊之上?;ヂ?lián)網(wǎng)(Internet)模塊包括IPv4/6和MAC-48 (EUI-48在IEEE 802的術(shù)語) 地址類,以及用于TCP/IP堆棧的抽象基類。移動(dòng)(mobility)模塊包含移動(dòng)模型的抽象基類,為移動(dòng)網(wǎng)絡(luò)提供了豐富的移動(dòng)模型,如靜態(tài)、恒速、恒定加速度、隨機(jī)游走、隨機(jī)路點(diǎn)和隨機(jī)方向等。

        目前,NS3具有TCP/IP、WiFi、CSMA(以太網(wǎng))和P2P(點(diǎn)對點(diǎn))等模型。其中包含有OLSR協(xié)議等路由模塊。協(xié)議棧模塊是真實(shí)協(xié)議的抽象,執(zhí)行TCP/UDP/IPv4等堆棧的連接管理、傳輸控制及路由地址等功能。設(shè)備模塊為多個(gè)NetDevice類的實(shí)現(xiàn),而應(yīng)用模塊則為應(yīng)用程序提供服務(wù)。

        Helper提供了一套簡單的C++類,可實(shí)現(xiàn)不用指針即可訪問已封裝的底層API。NS3程序可直接訪問所有的API,頂層依據(jù)底層服務(wù)所編寫的仿真腳本來運(yùn)行[5]。

        3 NS3核心概念

        3.1 基本對象與類

        TCP類在網(wǎng)絡(luò)模型中與IPv4/6協(xié)議一起駐留,實(shí)現(xiàn)彼此通信的多個(gè)類與網(wǎng)絡(luò)層之間的交互,并向應(yīng)用層提供了可靠的數(shù)據(jù)傳送。NS3為真實(shí)環(huán)境提供了較低層次的抽象來構(gòu)造網(wǎng)絡(luò)組件[6],其基本對象是節(jié)點(diǎn)、應(yīng)用、信道和網(wǎng)絡(luò)設(shè)備等,借助類來實(shí)現(xiàn)或表示。

        (1)節(jié)點(diǎn)(Node):狹義上將包含應(yīng)用程序、堆棧、網(wǎng)絡(luò)設(shè)備及具有內(nèi)存、CPU和I/O接口的計(jì)算機(jī)稱為節(jié)點(diǎn)。在NS3中把所有連接到網(wǎng)絡(luò)的基本計(jì)算單元或終端都抽象為節(jié)點(diǎn),由C++中的Node類表示,給仿真提供管理計(jì)算設(shè)備的表示方法。在進(jìn)行開發(fā)時(shí),用戶可將節(jié)點(diǎn)看作一臺主機(jī),進(jìn)行應(yīng)用、協(xié)議棧、網(wǎng)卡等添加,使其完成所需工作。

        (2)應(yīng)用(Application):它可在節(jié)點(diǎn)上運(yùn)行,并與堆棧通信,是數(shù)據(jù)包的發(fā)生器和“消費(fèi)者”。NS3不存在系統(tǒng)軟件,生成仿真活動(dòng)的用戶程序抽象成應(yīng)用,可將其部署在節(jié)點(diǎn)上來驅(qū)動(dòng)仿真器運(yùn)行。NS3應(yīng)用在C++中通過抽象Application類來實(shí)現(xiàn),該類用于管理用戶層應(yīng)用程序的多種仿真接口。開發(fā)者在實(shí)現(xiàn)自己定義的應(yīng)用時(shí),只需要繼承Application類即可。

        (3)信道(Channel):一組網(wǎng)絡(luò)設(shè)備對象間的物理連接器。NS3中把多個(gè)節(jié)點(diǎn)連在一起的對象稱為信道,在C++中,用Channel類實(shí)現(xiàn)。該類提供了管理通信子網(wǎng)和節(jié)點(diǎn)對象的連接方法,并具有模擬仿真數(shù)據(jù)包在傳輸過程中的傳播延遲和排隊(duì)延遲等功能。

        (4)網(wǎng)絡(luò)設(shè)備(NetDevice):在NS3中,要實(shí)現(xiàn)節(jié)點(diǎn)與信道交流,必須在節(jié)點(diǎn)上綁定網(wǎng)絡(luò)設(shè)備,由該設(shè)備連接節(jié)點(diǎn)和信道。網(wǎng)絡(luò)設(shè)備是仿真硬件和驅(qū)動(dòng)軟件的抽象表示,其“安裝”在節(jié)點(diǎn)內(nèi),可插入節(jié)點(diǎn)的I/O接口網(wǎng)卡,以便節(jié)點(diǎn)能通過信道與其他仿真節(jié)點(diǎn)互相通信。節(jié)點(diǎn)可經(jīng)過多個(gè)設(shè)備連接至多個(gè)信道。網(wǎng)絡(luò)設(shè)備必須綁定類型匹配的信道,其抽象由C++中的NetDevice類[7]表示,以提供管理節(jié)點(diǎn)和信道對象的連接。

        3.2 NS3代碼體系結(jié)構(gòu)

        NS3代碼由不同部分組成,從拓?fù)浣㈤_始,定義要使用的模型,而后通過賦予地址和設(shè)置其他參數(shù)來配置模型,最后執(zhí)行代碼。NS3生成Pcap包跟蹤文件,以trace格式輸出,使用Wireshark等跟蹤工具分析結(jié)果數(shù)據(jù),或使用Net Anim來實(shí)現(xiàn)可視化。

        3.3 WAF生成系統(tǒng)

        NS3中使用WAF作為編譯系統(tǒng),而不再使用“./configure;make”。waf是一個(gè)基于Python的框架,可完成配置、編譯并實(shí)現(xiàn)應(yīng)用對象。它替代了其他工具,如Autotools、ScoNS、CMake及Ant等。例如要實(shí)現(xiàn)一個(gè)P2P仿真[8],具體步驟如下:(1)使用./waf -d[optimized|debug] configure檢查編譯環(huán)境;(2)使用./waf 來完成編譯任務(wù);(3)通過./waf-run來運(yùn)行仿真。

        3.4 NS3跟蹤模型

        跟蹤是NS3的一大特色,NS3建立了獨(dú)立的跟蹤源(tracing sources)和跟蹤宿(tracing sinks)機(jī)制。它基于回調(diào)收集統(tǒng)計(jì)信息。當(dāng)某跟蹤源產(chǎn)生了一新事件時(shí),可通過回調(diào)函數(shù)來了解其正在發(fā)生的內(nèi)部模擬和設(shè)備運(yùn)行情況。該設(shè)計(jì)將多個(gè)跟蹤源連接到跟蹤宿,源宿相分離,用戶可通過修改內(nèi)核來配置自己的源和宿,實(shí)現(xiàn)自定義跟蹤或統(tǒng)計(jì)輸出,而無需重建仿真核心。可通過配置環(huán)境參數(shù)獲得“理想”網(wǎng)絡(luò),并可實(shí)時(shí)跟蹤和記錄關(guān)鍵節(jié)點(diǎn)的信息,從而獲得對網(wǎng)絡(luò)性能的評估。

        跟蹤源由其自身定義,與給它提供信息的對象類相關(guān)聯(lián),由名稱標(biāo)識,用于運(yùn)行時(shí)跟蹤所描述對象的屬性。它指示仿真中發(fā)生的事件并提供底層的數(shù)據(jù)訪問。消耗跟蹤信息的實(shí)體稱為跟蹤宿。跟蹤源是事件的發(fā)生器,跟蹤宿則是“消費(fèi)者”。NS3提供了高、中、低三級跟蹤。高級:使用內(nèi)置跟蹤源和跟蹤宿,并掛接跟蹤文件;中級:使用命名空間自定義跟蹤源/宿的行為;低級:將跟蹤源添加到命名空間或顯示跟蹤源。

        4 結(jié)論

        目前仍在大規(guī)模開發(fā)的NS3并不兼容NS2,它主要用于NS2的替換轉(zhuǎn)型,同時(shí)建設(shè)并整合新的機(jī)制。本文首先比較了網(wǎng)絡(luò)仿真器NS2和NS3之間的特點(diǎn)與差異,重點(diǎn)對NS3作了介紹和研究。該仿真器符合更多、更有彈性的網(wǎng)絡(luò)模擬需求設(shè)計(jì),其編程用到了C++語言,并且兼容時(shí)下流行的Python。而NS2除了用到C++外,還需要Tcl/OTcl的輔助,這大大增加了編程難度。

        NS3雖然不具有NS2的所有模型,相關(guān)研究目前也較少,在無線場景的網(wǎng)絡(luò)動(dòng)畫、用戶友好性、易用性以及文檔教程等諸方面都非常需要社區(qū)的廣泛支持與良好測試,但同時(shí),它擁有單一的語言、良好的架構(gòu)、基于底層的開發(fā)等特點(diǎn),使之具有更多NS2所不具備的“先天優(yōu)勢”,如節(jié)點(diǎn)多接口處理、IP尋址以及更多的因特網(wǎng)協(xié)議設(shè)計(jì)等功能。一些新的功能也正在積極地開發(fā)之中,如更詳細(xì)的802.11模型等,非常值得期待。正如NS的研發(fā)者在其著作《NS3 Tutorial》中所說的那樣,“NS3最終會(huì)逐漸取代NS2”。

        [1] 梁軍學(xué),林昭文,馬嚴(yán). 來互聯(lián)網(wǎng)試驗(yàn)平臺[J]. 計(jì)算機(jī)學(xué)報(bào),2013,36(7):1364-1374.

        [2] RILEY G F, HENDERSON T R. Modeling & tools for network simulation.[M]. Springer Berlin Heidelberg,2010.

        [3] WEINGARTNER E, VOM LEHN H, WEHRLE K. A performance comparison of recent network simulators.[C]. IEEE International Conference on Communications 2009 ICC’09,2009:1-5.

        [5] NS-3 Manual[EB/OL]. (2014-09-18)[2016-12-01].http://www.nsnam.org/.

        [6] 閔圣天, 曾文序, 李滿榮,等. 基于NS3的網(wǎng)絡(luò)協(xié)議分析與模擬[J]. 福建電腦, 2014, 30(2): 99-100.

        [7] 欒俊, 李太浩. 基于NS-3的WiFi場景仿真[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息, 2012, 1(1):18-20.

        [8] Wu Mingju, TSAI C J. A storage device emulator for system performance evaluation[J]. ACM Transactions on Embedded Computing Systems (TECS), 2015, 14(82): 1-27.

        A survey of new network simulator NS3

        Ru Xinyu1, Liu Yuan2, Chen Wei2

        (1. Wuxi Transportation College, Jiangsu Union Technical Institute, Wuxi 214151, China;2. School of Digital Media, Jiangnan University, Wuxi 214122, China)

        Simulation can be used to explore and solve problems with a relatively small cost and time. This paper introduces the characteristics and differences between NS2 and NS3, and discusses the details of the NS3 architecture, the process of data packet transmission, the basic objects and classes and their tracking models from the basic concept, core concept and model. Finally, it gets the TCP implementation process of NS3 in the research field with the theoretical depth.

        network simulator; class; model; application program interface; socket; inherit; bandwidth

        TP393

        A

        10.19358/j.issn.1674- 7720.2017.20.004

        茹新宇,劉淵,陳偉.新網(wǎng)絡(luò)仿真器NS3的研究綜述[J].微型機(jī)與應(yīng)用,2017,36(20):14-16.

        國家自然科學(xué)基金(61602213);江蘇省自然科學(xué)基金(BK20151131)

        2017-03-20)

        茹新宇(1977-),通信作者,男,碩士研究生,講師,主要研究方向:通信安全、擁塞控制及網(wǎng)絡(luò)安全。E-mail: ruxinyu21@163.com。

        劉淵(1967-),男,碩士研究生,教授,博士生導(dǎo)師,主要研究方向:無線通信管理、網(wǎng)絡(luò)測量及信息安全。

        陳偉(1981-),男,博士研究生,主要研究方向:人工智能、群體智能算法。

        猜你喜歡
        仿真器網(wǎng)絡(luò)設(shè)備數(shù)據(jù)包
        一種基于C# 的網(wǎng)絡(luò)設(shè)備自動(dòng)化登錄工具的研制
        SmartSniff
        數(shù)據(jù)中心唯“快”不破
        基于多線程的慣導(dǎo)邏輯仿真器設(shè)計(jì)
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        基于列車監(jiān)測網(wǎng)絡(luò)設(shè)備的射頻功放模塊設(shè)計(jì)
        基于三層交換技術(shù)架構(gòu)數(shù)字化校園網(wǎng)絡(luò)設(shè)備的配置與管理
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        天文測量仿真器模擬星圖精度分析
        并行片上網(wǎng)絡(luò)仿真器ParaNSim的設(shè)計(jì)及性能分析
        青草草视频在线观看华人免费| 亚洲精品老司机在线观看| 久久福利青草精品资源| 午夜精品一区二区三区视频免费看| 国产精品网站91九色| av无码av天天av天天爽| 亚洲综合色丁香婷婷六月图片| 激情亚洲的在线观看| 91乱码亚洲精品中文字幕| 色多多性虎精品无码av| 久久久精品欧美一区二区免费| 中文字幕一区二区三区人妻精品| 在线视频免费自拍亚洲| 国产乱子伦精品无码专区| 内射无码专区久久亚洲| 一区二区久久不射av| 丰满人妻被持续侵犯中出在线| 亚洲色图片区| 久久精品国产亚洲精品| 亚洲成AV人片在一线观看| 国产麻豆一区二区三区在| 国产精品久久久久9999无码| 麻豆国产成人av高清在线观看| www久久久888| 日韩av天堂一区二区| 亚洲一区二区三区香蕉| 99热免费观看| 亚洲精品中文字幕乱码人妻| 国产精品人成在线观看免费| 一本色综合久久| 91精品国产91久久久久久青草 | 久久国产精品国语对白| 日本一区二区三区免费播放| 亚洲av第一成肉网| 国产优质女主播在线观看| 一区二区视频在线观看地址| 亚洲av成人中文无码专区| 中文字幕久热精品视频免费| 国产中文字幕一区二区视频| 国产老熟女网站| 在线播放a欧美专区一区|