• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      OMNeT++仿真工具的研究與應(yīng)用

      2010-09-26 01:03:10
      關(guān)鍵詞:網(wǎng)絡(luò)拓?fù)?/a>工具定義

      朱 曉 姝

      ( 玉林師范學(xué)院 教務(wù)處, 廣西 玉林 537000 )

      0 引 言

      仿真比實(shí)地實(shí)驗(yàn)在節(jié)約時(shí)間成本、資金成本、人力成本以及可適用性等方面有著不可比擬的優(yōu)勢(shì),因此仿真工具在許多不同的研究領(lǐng)域中起著非常重要的作用[1]。比如,隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,網(wǎng)絡(luò)模型的日趨復(fù)雜[2],網(wǎng)絡(luò)仿真工具在網(wǎng)絡(luò)模型改進(jìn)、網(wǎng)絡(luò)性能測(cè)試、數(shù)據(jù)分析等方面的研究中都起到了非常重要的作用。

      目前,國內(nèi)還沒有真正自主研發(fā)的網(wǎng)絡(luò)仿真工具得到大范圍的應(yīng)用,研究人員主要使用的仿真工具是國外的一些主流網(wǎng)絡(luò)仿真工具。因此,對(duì)于從事網(wǎng)絡(luò)研究工作的研究者來說,使用和掌握國外的一些網(wǎng)絡(luò)仿真工具是非常必要的。而具有代表性的網(wǎng)絡(luò)仿真工具主要有:OPNET、NS-2、OMNeT++等[3-4],其中,OPNET屬于商業(yè)軟件,NS-2和OMNeT++則屬于免費(fèi)的非商業(yè)軟件。NS-2的推出時(shí)間較長(zhǎng),功能全面,能夠應(yīng)用于各種網(wǎng)絡(luò)的仿真模擬,因此一直以來大量的研究人員使用它進(jìn)行網(wǎng)絡(luò)技術(shù)的開發(fā),但是它只能在基于LINUX環(huán)境下使用。

      在免費(fèi)的非商業(yè)仿真軟件中,OMNeT++具有更好的靈活性和可適用性,本文深入研究OMNeT++仿真工具的特性和工作原理,并設(shè)計(jì)仿真實(shí)例,應(yīng)用它對(duì)當(dāng)前新型的對(duì)等網(wǎng)絡(luò)進(jìn)行仿真,分析仿真結(jié)果和仿真性能,為研究人員掌握OMNeT++的使用,了解OMNeT++的仿真性能起到重要作用。

      1 OMNeT++仿真工具

      1.1 OMNeT++簡(jiǎn)介

      OMNeT++(Objective Modular Network Testbed in C++)[5]是面向?qū)ο蟮碾x散事件仿真工具,它是由布達(dá)佩斯大學(xué)通信工程系開發(fā)的一個(gè)開源的、基于組件的、模塊化的開放仿真平臺(tái),具有強(qiáng)大的圖形用戶界面接口和嵌入式仿真內(nèi)核。OMNeT++可以用來仿真任何離散事件的系統(tǒng),包括仿真通信協(xié)議、計(jì)算機(jī)網(wǎng)絡(luò)、并行系統(tǒng)、多處理器系統(tǒng)和分布式系統(tǒng)。它能夠建立目前幾乎所有網(wǎng)絡(luò)對(duì)象的基本模型之間的互聯(lián),并且使復(fù)雜的網(wǎng)信通信和拓?fù)浣Y(jié)構(gòu)得到容易而正確的仿真。

      1.2 OMNeT++特性

      OMNeT++在描述模型、定義網(wǎng)絡(luò)拓?fù)?、?shí)現(xiàn)模型、跟蹤支持、調(diào)試、性能等多方面都顯示出強(qiáng)大的優(yōu)勢(shì)。與同屬于非商業(yè)軟件的NS-2[6]相比,OMNET++具有更加突出的特性。①編程仿真能力和可移植性。OMNeT++和NS-2在編程能力方面的功能都很強(qiáng)大。OMNeT++可以在Windows系統(tǒng)和Linux系統(tǒng)等多種操作系統(tǒng)上運(yùn)行,它生成的仿真程序是可攜帶的,可以獨(dú)立運(yùn)行于多種操作平臺(tái)之上。OMNeT++提供NED(Network Description)和C++兩種語言來建模仿真。其中,OMNeT++用NED來描述仿真模型的拓?fù)浣Y(jié)構(gòu),它非常簡(jiǎn)單,但是具有非常強(qiáng)大的拓?fù)涠x功能,可以定義模塊、鏈路和網(wǎng)絡(luò)。NED還可以實(shí)現(xiàn)動(dòng)態(tài)加載,便于更新仿真模型的拓?fù)浣Y(jié)構(gòu);C++用來實(shí)現(xiàn)模型的仿真和消息的處理等功能。而且NED文件可以編譯為C++代碼,連接到仿真程序中。可以說,OMNeT++仿真環(huán)境是用C++實(shí)現(xiàn)的。NS-2只能運(yùn)行在Linux環(huán)境中,它使用OTc1和C++兩種建模仿真語言,它生成的仿真程序不具備可攜帶性。②可仿真模型的范圍。OMNeT++可以支持TCP/IP、SCSI和FDDI等多種協(xié)議模型,而NS-2只能支持基于TCP/IP的協(xié)議模型。③仿真效率。OMNeT++支持模塊化仿真模型,模塊可以靈活地組合,還可以多次使用。它還支持使用參量,可以在不修改源代碼和不重新編譯的情況下,直接設(shè)置參量,對(duì)不同條件下的網(wǎng)絡(luò)模型進(jìn)行仿真,因此比NS-2具有更好的仿真效率。④仿真結(jié)果輸出的性能。OMNeT++提供強(qiáng)大完善的圖形用戶界面,具有模塊輸出窗口、監(jiān)測(cè)器和自動(dòng)生成動(dòng)畫3個(gè)輸出工具,可以動(dòng)態(tài)地觀察仿真程序的運(yùn)行情況,而且內(nèi)存消耗小、速度快。NS-2也具有自動(dòng)生成動(dòng)畫效果的功能,但沒有模塊輸出窗口和監(jiān)測(cè)器。

      可以看出,OMNET++比NS-2具有更強(qiáng)大的計(jì)算機(jī)網(wǎng)絡(luò)模型仿真能力,OMNET++更適用于各種計(jì)算機(jī)網(wǎng)絡(luò)模型的仿真。

      1.3 OMNeT++工作原理

      1.3.1 網(wǎng)絡(luò)拓?fù)涿枋?/p>

      與其他仿真工具不同,OMNeT++專門提供了一個(gè)接近自然語言的NED語言和一個(gè)圖形工具GNED(Graphical Network Editor)來描述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),專門生成一個(gè).ned網(wǎng)絡(luò)拓?fù)湮募?。而已生成的某個(gè).ned文件還可以被另一個(gè)網(wǎng)絡(luò)描述文件使用輸入命令(import)導(dǎo)入使用,大大減少重復(fù)編程。.ned文件包括以下組件:①信道定義(channel definition)。信道定義指定某個(gè)特定的連接類型,它包括3個(gè)參數(shù):傳播延時(shí)(delay)、誤碼率(error)、數(shù)據(jù)傳送速率(data rate)。②簡(jiǎn)單模塊定義(simple module definition)。簡(jiǎn)單模塊是網(wǎng)絡(luò)中最基本的組成部分,是模塊分級(jí)中最小的模塊。③復(fù)合模塊定義(compound module definition)。復(fù)合模塊是由簡(jiǎn)單模塊組合而成,復(fù)合模塊與簡(jiǎn)單模塊或者其他復(fù)合模塊可以組合生成更高一級(jí)的復(fù)合模塊,這種模塊分組沒有限制。通過這種方式,可以將網(wǎng)絡(luò)中的任何實(shí)體,如節(jié)點(diǎn)、交換機(jī)等,表現(xiàn)為一個(gè)復(fù)合模塊。圖1是包含一層嵌套的復(fù)合模塊圖。④網(wǎng)絡(luò)定義(network definition)。簡(jiǎn)單模塊和復(fù)合模塊僅僅定義了模塊類型,建立一個(gè)仿真模型還需要進(jìn)行網(wǎng)絡(luò)定義,網(wǎng)絡(luò)定義是將仿真模型表示為先前定義模塊類型的一個(gè)實(shí)例。一個(gè)完整的網(wǎng)絡(luò)包括一個(gè)或多個(gè)模塊,各模塊之間通過端口(gate)來連接。

      圖1 OMNeT++模型結(jié)構(gòu)Fig.1 OMNeT++ model structure diagram

      1.3.2 網(wǎng)絡(luò)消息傳輸

      OMNeT++中的消息傳輸主要由簡(jiǎn)單模塊完成,消息傳輸有端口傳輸和直接傳輸兩種方式。端口傳輸是通過模塊之間的端口和連接,按照一定的規(guī)則,將消息逐步傳輸?shù)侥康哪K。而直接傳輸是通過仿真內(nèi)核直接傳輸消息到目的模塊。通過這套機(jī)制,可以靈活地使用C++或者OMNeT++本身定義的幾個(gè)基本類,就可以實(shí)現(xiàn)對(duì)目前幾乎所有網(wǎng)絡(luò)模型的仿真。圖2是OMNeT++運(yùn)行時(shí)的內(nèi)部結(jié)構(gòu)圖,其中SIM為嵌入式仿真內(nèi)核,它是處理和運(yùn)行仿真的核心。在SIM和用戶接口之間是一個(gè)通用接口,用戶可以通過替換用戶接口來定義仿真的運(yùn)行環(huán)境。模型元件庫包含所有已經(jīng)編譯好的簡(jiǎn)單模塊和復(fù)合模塊。仿真模型包含一些常用的網(wǎng)絡(luò)協(xié)議、應(yīng)用和通信模型。

      圖2 OMNeT++運(yùn)行內(nèi)部結(jié)構(gòu)Fig.2 OMNeT++ inner structure diagram on running

      1.3.3 仿真結(jié)果輸出

      OMNeT++提供了TKENV和CMDENV兩種用戶界面。TKENV是OMNeT++的GUI(Graphical User Interface,圖形用戶界面)用戶接口,它提供了3種仿真結(jié)果輸出工具:動(dòng)畫自動(dòng)生成、模塊輸出窗口和對(duì)象監(jiān)測(cè)器。CMDENV是純命令行的界面。

      2 仿真實(shí)例

      P2P(Peer-to-Peer,對(duì)等網(wǎng))[7-8]網(wǎng)絡(luò)是當(dāng)前應(yīng)用廣泛的一種分布式網(wǎng)絡(luò),網(wǎng)絡(luò)中節(jié)點(diǎn)全部處于對(duì)等的地位,其網(wǎng)絡(luò)特性符合OMNeT++仿真工具的仿真范圍。Freenet[9]是當(dāng)前主流使用的非結(jié)構(gòu)化P2P網(wǎng)絡(luò),因此,本文選擇Freenet模型,分別在查詢成功率和查詢響應(yīng)時(shí)間2個(gè)網(wǎng)絡(luò)性能方面使用OMNeT++進(jìn)行仿真。

      2.1 仿真步驟

      在對(duì)Freenet模型進(jìn)行仿真時(shí),具體的步驟如下:①創(chuàng)建一個(gè)仿真文件的文件夾freenet;②建立freen.ned文件,定義仿真實(shí)例Freenet網(wǎng)絡(luò)的拓?fù)洌枋鼍W(wǎng)絡(luò)中各模塊;③使用C++語言實(shí)現(xiàn)各層模塊的功能,建立freen.cpp;④建立一個(gè)omnetpp.ini(文件名不可更改),通過這個(gè)文件告知仿真工具目前所仿真網(wǎng)絡(luò)的名稱,還可以通過這個(gè)文件改變網(wǎng)絡(luò)模塊中參量的值,而不必重新編譯;⑤編譯、連接這些文件,生成一個(gè)可執(zhí)行文件freen.exe,并運(yùn)行該仿真程序;⑥記錄仿真程序運(yùn)行情況,并根據(jù)運(yùn)行結(jié)果圖中的數(shù)據(jù)分析查詢成功率和查詢響應(yīng)時(shí)間兩個(gè)方面的網(wǎng)絡(luò)性能。

      2.2 仿真環(huán)境設(shè)置

      如圖3,建立一個(gè)包含60個(gè)節(jié)點(diǎn)的非結(jié)構(gòu)網(wǎng)絡(luò),節(jié)點(diǎn)編號(hào)范圍為ret[0]~ret[59],節(jié)點(diǎn)間傳送消息時(shí)的延遲時(shí)間在(0,100)ms間隨機(jī)產(chǎn)生。圖3描述了構(gòu)建Freenet的局部拓?fù)鋱D,根據(jù)Freenet模型非結(jié)構(gòu)化的特點(diǎn),建立一個(gè)分散的、非結(jié)構(gòu)的網(wǎng)絡(luò)拓?fù)?。設(shè)定:由節(jié)點(diǎn)rte[0]發(fā)出查詢,查詢到目標(biāo)文件后,由擁有目標(biāo)文件的節(jié)點(diǎn)再發(fā)起下一次查詢。需查詢的文件關(guān)鍵字隨機(jī)產(chǎn)生,網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)擁有的文件個(gè)數(shù)和文件關(guān)鍵字個(gè)數(shù)隨機(jī)產(chǎn)生。

      圖3 Freenet局部拓?fù)浣Y(jié)構(gòu)圖Fig.3 Freenet part topology diagram

      2.3 仿真實(shí)現(xiàn)及結(jié)果分析

      (1)查詢響應(yīng)時(shí)間。從圖4可以看出,當(dāng)查詢多次后,查詢響應(yīng)時(shí)間會(huì)逐漸減小。由于Freenet查詢成功后,在將目標(biāo)文件沿查詢?cè)窂椒祷亟o發(fā)出查詢的源節(jié)點(diǎn)的過程中,會(huì)拷貝目標(biāo)文件到途經(jīng)的節(jié)點(diǎn),所以查詢多次后得查詢響應(yīng)時(shí)間會(huì)逐漸減小。

      (2)查詢成功率。從圖5可以看出,當(dāng)查詢多次后,查詢成功率會(huì)逐漸增大。產(chǎn)生這種結(jié)果的原因與經(jīng)多次查詢后,查詢響應(yīng)時(shí)間逐漸減小的一樣。

      圖4 Freenet查詢響應(yīng)時(shí)間Fig.4 Freenet query response time diagram

      圖5 Freenet查詢成功率Fig.5 Freenet query success rate

      3 結(jié) 論

      本文研究表明,OMNeT++是一個(gè)十分優(yōu)秀的可視化離散事件仿真工具,從仿真結(jié)果來看,它非常適合于分布式網(wǎng)絡(luò)的仿真。隨著越來越多的研究人員了解、使用和深入研究OMNeT++,OMNeT++的功能必將更加豐富,它也將會(huì)更加適合在P2P網(wǎng)絡(luò)仿真中的應(yīng)用。

      [1] 王智森,王洪海,房媛,等. 移動(dòng)無線信道的數(shù)學(xué)仿真計(jì)算[J]. 大連工業(yè)大學(xué)學(xué)報(bào), 2009, 28(5):370-374.

      (WANG Zhi-sen, WANG Hong-hai, FANG Yuan, et al.Mathematical simulated calculation of mobile wireless channel[J]. Journal of Dalian Polytechnic University, 2009, 28(5):370-374.)

      [2] 鄧宏鐘,吳俊,李勇,等. 復(fù)雜網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對(duì)系統(tǒng)抗毀性影響研究[J]. 系統(tǒng)工程與電子技術(shù), 2008, 30(12):2425-2428.

      [3] 葉曉國,肖甫,孫力娟,等. 基于NS-2的衛(wèi)星網(wǎng)絡(luò)仿真方法的研究[J]. 南京郵電大學(xué)學(xué)報(bào):自然科學(xué)版, 2009, 29(1):78-82.

      [4] 王衛(wèi)疆,李臘元,鄭鋒. 基于OMNeT++的Ad Hoc網(wǎng)絡(luò)跨層協(xié)議棧仿真[J]. 計(jì)算機(jī)工程, 2009, 35(9):4-10.

      [5] VARGA A. OMNeT++ discrete event simulation system user manual[EB/OL]. (2009-6-26)[2009-8-10]. http://www.omnetpp.org.

      [6] 徐雷鳴,龐博,趙 耀. NS與網(wǎng)格模擬[M ]. 北京:人民郵電出版社, 2003.

      [7] ANDROUTSELLIS-THEOTOKIS S, SPINELLIS D. A survey of peer-to-peer content distribution technologies[J]. ACM Computing Surveys, 2004, 36(4):335-371.

      [8] 黃道穎,黃建華,莊雷,等. 基于主動(dòng)網(wǎng)絡(luò)的分布式P2P網(wǎng)絡(luò)模型[J]. 軟件學(xué)報(bào), 2004, 15(7):1081-1089.

      [9] 孫笑慶,劉寶旭,馮登國. Freenet下一代路由技術(shù)分析[J]. 計(jì)算機(jī)工程, 2005, 31(17):126-128.

      猜你喜歡
      網(wǎng)絡(luò)拓?fù)?/a>工具定義
      基于通聯(lián)關(guān)系的通信網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法
      波比的工具
      波比的工具
      電子制作(2018年23期)2018-12-26 01:01:16
      “巧用”工具
      讀者(2017年18期)2017-08-29 21:22:03
      勞斯萊斯古斯特與魅影網(wǎng)絡(luò)拓?fù)鋱D
      電測(cè)與儀表(2016年5期)2016-04-22 01:13:46
      成功的定義
      山東青年(2016年1期)2016-02-28 14:25:25
      修辭學(xué)的重大定義
      山的定義
      镇安县| 隆昌县| 满洲里市| 信丰县| 玉溪市| 辽宁省| 葫芦岛市| 宁津县| 冀州市| 昌邑市| 调兵山市| 张家港市| 泗水县| 高密市| 郓城县| 通江县| 景洪市| 都兰县| 鸡泽县| 武功县| 古丈县| 剑川县| 灵台县| 河北区| 林芝县| 金坛市| 龙州县| 博爱县| 都江堰市| 高雄县| 舒兰市| 长子县| 横峰县| 建水县| 同江市| 永春县| 济阳县| 阿克| 武定县| 抚宁县| 诏安县|