• 
    

    
    

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

      ?

      OPNET模型自定義方法與實(shí)現(xiàn)

      2018-11-01 03:04李萍
      電腦知識與技術(shù) 2018年19期
      關(guān)鍵詞:仿真網(wǎng)絡(luò)模型

      李萍

      可以完成大多數(shù)情況下的仿真任務(wù),但是在特殊領(lǐng)域沒有現(xiàn)成模型應(yīng)用情況下,必須應(yīng)用OPNET核心函數(shù)自定義模型,完成仿真任務(wù)。在包結(jié)構(gòu)定義、鏈路定義和節(jié)點(diǎn)定義完整流程的基礎(chǔ)上,實(shí)現(xiàn)網(wǎng)絡(luò)構(gòu)建,完成仿真,加快網(wǎng)絡(luò)協(xié)議研究進(jìn)程。

      關(guān)鍵詞:OPNET;網(wǎng)絡(luò);仿真;模型;核心函數(shù)

      中圖分類號:TP399 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)19-0255-02

      Abstract:OPNET is a kind of Network simulation software that is often used to simulate the network protocol. we can complete the most simulation tasks with OPNET. However, in some special fields without any ready-made models, it is necessary to use the OPNET core function to custom model for the simulation task. On the basis of the definition of packet format, link model node model and the corresponding process to the node, we can complete the network construction and the simulation tasks, so the protocols R&D; process becomes shorter.

      Key words: OPNET; network; simulation; model; kernel function

      OPNET是一款比較成熟的網(wǎng)絡(luò)仿真軟件,集成幾乎所有的目前成熟應(yīng)用的系統(tǒng)模型,因此,普通仿真需求,使用軟件自帶模型庫可以完全滿足[1][2],但是,在一些特殊場合,比如SCPS-TP、新協(xié)議驗(yàn)證等領(lǐng)域,需要自定義包格式、鏈路模型、節(jié)點(diǎn)模型,構(gòu)建網(wǎng)絡(luò),實(shí)現(xiàn)仿真,達(dá)到改進(jìn)設(shè)計(jì)的目的。

      1 OPNET核心函數(shù)介紹

      OPNET核心函數(shù)包括7類,即分布類核心函數(shù)、事件類核心函數(shù)、控制接口類核心函數(shù)、標(biāo)識類核心函數(shù)、內(nèi)部模型訪問類核心函數(shù)、中斷類核心函數(shù)、包類核心函數(shù),比較常用的有:①包類函數(shù):op_pk_create()創(chuàng)建一個(gè)無格式的包,op_pk_create_fmt()創(chuàng)建一個(gè)有格式的包,op_pk_send()包發(fā)送函數(shù),op_pk_send_delayed()包延時(shí)發(fā)送函數(shù),op_pk_send_quiet()包靜默發(fā)送函數(shù),op_pk_get()接收包,op_pk_nfd_get()獲取包中某字段內(nèi)容,op_pk_nfd_set()設(shè)置包中某字段內(nèi)容,op_pk_creation_time_get()獲取包原始創(chuàng)建的時(shí)間,op_pk_destroy()銷毀包。②中斷類核心函數(shù):op_intrpt_strm()流中斷函數(shù),返回接收的流索引號。③分布類核心函數(shù):op_dist_load()定義一個(gè)帶參數(shù)的隨機(jī)分布函數(shù),返回指向一個(gè)分布函數(shù)的指針distribution*,op_dist_outcome()產(chǎn)生一個(gè)服從分布函數(shù)的隨機(jī)數(shù)。

      2 模型定義及網(wǎng)絡(luò)構(gòu)建方法

      遵循:包格式→鏈路模型→中心節(jié)點(diǎn)模型→用戶節(jié)點(diǎn)模型→網(wǎng)絡(luò)模型的順序,依次完成仿真網(wǎng)絡(luò)環(huán)境定義構(gòu)建。

      1) 包格式模型定義

      file→new→packet format,創(chuàng)建包格式,增加目的地址字段(field):dest_address,32bits,保存為lp_sample_format以備后用。

      2) 鏈路模型定義

      file→new→link model,創(chuàng)建鏈路模型;支持的鏈路類型(supported link type):ptdup(全雙工點(diǎn)對點(diǎn)鏈路),支持的包格式:lp_sample_format,速率(data rate):2048000bps,糾錯(cuò)模式(ecc model):ecc_zero_err(無糾錯(cuò)功能),誤碼模型(error model):error_zero_err(無誤碼),發(fā)送延時(shí)(txdel model):dpt_txdel(全雙工點(diǎn)到點(diǎn)發(fā)送延時(shí)),傳輸延時(shí)(prodel model):dpt_prodel(全雙工點(diǎn)到點(diǎn)傳輸延時(shí));由于用到dpt_txdel和dpt_prodel,必須申明外部函數(shù)文件:file→declare external files→link delay;將鏈路模型保存為:lp_sample_link。

      3) 中心節(jié)點(diǎn)模型定義

      創(chuàng)建節(jié)點(diǎn)模型: ①三對收發(fā)信機(jī),②一個(gè)包交換處理進(jìn)程③六條有向包流;選擇所有收發(fā)信機(jī),設(shè)置屬性:速率(data rate):2048000bps,包格式(packet format):lp_sample_format,并將設(shè)置值應(yīng)用于所有收發(fā)信機(jī);從菜單interfaces→node interface選擇fixed(固定);保存節(jié)點(diǎn)為lp_center_node。

      創(chuàng)建用于該節(jié)點(diǎn)的進(jìn)程模型,file→new→process model,加入一個(gè)非強(qiáng)制狀態(tài)wait,兩條到自身的狀態(tài)轉(zhuǎn)移線,一條default,默認(rèn)轉(zhuǎn)移路徑,一條PK_ARRVL/pk_switch(),處理包交換。

      頭塊:#define PK_ARRVL (op_intrpt_type==OPC_INTRPT_STRM) //包流到達(dá)觸發(fā)中斷

      函數(shù)塊:static void pk_switch()

      {

      int dest_address; //定義目的地址變量

      Packet* pkptr; //定義包指針,用于存放包

      FIN(pk_switch());

      pkptr=op_pk_get(op_intrpt_strm()); //獲取包

      op_pk_nfd_get(pkptr,”dest_address”,&dest;_address) ;

      //從包中取出字段dest_address值存入變量dest_address。

      Op_pk_send(pkptr,dest_address); //將包從流索引號為dest_address端口發(fā)送出去

      FOUT;

      }

      從菜單Interfaces→process interface中將begsim intrpt設(shè)置為enable,激活仿真中斷。

      保存進(jìn)程模型為lp_sample_proc,編譯該進(jìn)程,并將編譯好的進(jìn)程用于中心節(jié)點(diǎn)模型(lp_center_node)中的center進(jìn)程。

      4) 用戶節(jié)點(diǎn)模型定義

      用戶節(jié)點(diǎn)定義與中心節(jié)點(diǎn)定義類似,src的process model選simple source,packet format選lp_sample_format,rcv和xmt的屬性選擇:channel的value輸入2048000,packet format僅支持lp_sample_format,從菜單interfaces→node interface選擇fixed(固定);保存節(jié)點(diǎn)為lp_user_node。

      建立應(yīng)用于該節(jié)點(diǎn)的進(jìn)程模型,在proc進(jìn)程中加入強(qiáng)制狀態(tài)init和非強(qiáng)制狀態(tài)idle,建立狀態(tài)轉(zhuǎn)移條件和函數(shù)如圖3所示。

      Init狀態(tài)的入口代碼執(zhí)行初始化:

      Distribution* address_dist;

      address_dist=op_dist_load(“uniform_int”,0,2); //產(chǎn)生0-2的均勻分布的整數(shù)分布函數(shù)

      在HB(頭塊)中進(jìn)行宏定義:

      #define RCV_IN_STRM 1

      #define SRC_IN_STRM 0

      #define XMT_OUT_STRM 0

      #define SRC_ARRCL (op_intrpt_type==OPC_INTRPT_STRM&&op;_intrpt_strm==SRC_IN_STRM)

      #define RCV_ARRCL (op_intrpt_type==OPC_INTRPT_STRM&&op;_intrpt_strm==RCV_IN_STRM)

      在FB(函數(shù)塊)中定義xmt()函數(shù)關(guān)鍵代碼如下:

      Pkptr=op_pk_get(SRC_IN_STRM); //接收源發(fā)送的包

      op_pk_nfd_set_int32(pkptr,”dest_address”,(int)op_dist_outcome(address_dist));

      //產(chǎn)生0-2間的整數(shù),用該整數(shù)做目的地址,填充包中dest_address字段內(nèi)容。

      Op_pk_send(pkptr,XMT_OUT_STRM);

      //將包從流索引號為XMT_OUT_STRM的端口發(fā)送出去

      其他函數(shù)實(shí)現(xiàn)代碼從略,將接口設(shè)定進(jìn)程接口begsim intrpt屬性為enable,激活仿真中斷,編譯后保存為lp_user_proc,并應(yīng)用于lp_user_node中的proc進(jìn)程。

      5) 網(wǎng)絡(luò)模型構(gòu)建

      使用以上建立的鏈路、節(jié)點(diǎn)模型搭建仿真網(wǎng)絡(luò),實(shí)現(xiàn)仿真,觀察仿真結(jié)果的統(tǒng)計(jì)量,修改網(wǎng)絡(luò)設(shè)置參數(shù),使性能提升到滿意程度,達(dá)到協(xié)議研究與改進(jìn)的目的。

      3 結(jié)論

      OPNET可以實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)仿真,可以實(shí)現(xiàn)復(fù)雜協(xié)議仿真,通用性強(qiáng),適用性廣,是網(wǎng)絡(luò)仿真常用工具之一。OPNET仿真普遍采用既有模型,通過改變終端、服務(wù)器、鏈路、協(xié)議、應(yīng)用等屬性參數(shù),滿足仿真要求,實(shí)現(xiàn)仿真[3][4][5]。但是,特定協(xié)議或特定要求下的仿真仍然具有廣泛需求,靈活利用核心函數(shù),自定義模型構(gòu)建網(wǎng)絡(luò)進(jìn)行仿真,具有系統(tǒng)默認(rèn)模型所不具有的靈活性和優(yōu)越性。該方法用于SCPS-TP協(xié)議部分機(jī)制的調(diào)試仿真上,起到重要作用,在沒有成熟模型參考的空間通信協(xié)議的仿真上具有重要意義。

      參考文獻(xiàn):

      [1] 潘天亮,蔡澤祥,席禹,等.基于OPNET的廣域測量系統(tǒng)仿真與通信延時(shí)性能分析[J].電力系統(tǒng)保護(hù)與控制,2017(17):51-57.

      [2] 白江濤,吳巍,李文江.基于OPNET的混合關(guān)鍵性網(wǎng)絡(luò)建模與仿真分析[J].電訊技術(shù),2017(11):1301-1306.

      [3] 胡榮,李力,付艷蘭等.基于OPNET的智能變電站通信建模與組網(wǎng)研究[J].廣東電力,2017(10):75-80.

      [4] 吳冰.對基于OPNET的軍事通信網(wǎng)半實(shí)物仿真技術(shù)分析[J.中國新通信,2018(3):33-33.

      [5] 劉蘊(yùn)韜,秦元慶,周純杰.聯(lián)合仿真中OPNET統(tǒng)計(jì)量的實(shí)時(shí)導(dǎo)出方法[J].信息技術(shù),2018(5):13-17.

      猜你喜歡
      仿真網(wǎng)絡(luò)模型
      重要模型『一線三等角』
      重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
      3D打印中的模型分割與打包
      油氣集輸系統(tǒng)信息化發(fā)展形勢展望
      基于網(wǎng)絡(luò)的信息資源組織與評價(jià)現(xiàn)狀及發(fā)展趨勢研究
      基于網(wǎng)絡(luò)的中學(xué)閱讀指導(dǎo)
      FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
      平昌县| 吉木乃县| 双峰县| 环江| 益阳市| 阿拉善盟| 宜都市| 云林县| 沂南县| 武山县| 武义县| 香格里拉县| 京山县| 鄯善县| 怀远县| 夹江县| 舟曲县| 怀安县| 南丰县| 龙陵县| 延长县| 喀什市| 玉屏| 达州市| 雅江县| 都江堰市| 安多县| 会理县| 江口县| 都匀市| 习水县| 灌阳县| 长沙市| 河南省| 南昌市| 德惠市| 科尔| 兴仁县| 东至县| 康保县| 江西省|