国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OMNET++的隨機(jī)網(wǎng)絡(luò)編碼仿真實(shí)現(xiàn)

2016-10-26 09:16:52宋小全
無線電工程 2016年10期
關(guān)鍵詞:多路徑數(shù)據(jù)包路由

胡 鵬,宋小全,孫 旭,夏 燁

(1.北京跟蹤與通信技術(shù)研究所,北京 100094;2.中國衛(wèi)星海上測控部,江蘇 江陰 214400)

?

基于OMNET++的隨機(jī)網(wǎng)絡(luò)編碼仿真實(shí)現(xiàn)

胡鵬1,宋小全1,孫旭1,夏燁2

(1.北京跟蹤與通信技術(shù)研究所,北京 100094;2.中國衛(wèi)星海上測控部,江蘇 江陰 214400)

隨機(jī)網(wǎng)絡(luò)編碼具備提高無線傳感器網(wǎng)絡(luò)的傳輸可靠性,降低網(wǎng)絡(luò)能量消耗等特點(diǎn),其應(yīng)用設(shè)計缺少網(wǎng)絡(luò)仿真驗證方法。在OMNET++仿真平臺上設(shè)計了數(shù)據(jù)包緩存處理機(jī)制,并實(shí)現(xiàn)了有限域編碼運(yùn)算。在此基礎(chǔ)上設(shè)計了獨(dú)立于其他節(jié)點(diǎn)模塊的隨機(jī)網(wǎng)絡(luò)編碼模塊,將其添加到網(wǎng)絡(luò)節(jié)點(diǎn)模型中。使用該網(wǎng)絡(luò)節(jié)點(diǎn)模型建立傳感器網(wǎng)絡(luò),在多路徑路由方式下,對應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼模塊前后數(shù)據(jù)包傳輸可靠性、延時和有效吞吐量網(wǎng)絡(luò)特性進(jìn)行評估,為設(shè)計應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼提供一種仿真設(shè)計思路。

隨機(jī)網(wǎng)絡(luò)編碼;OMNET++;多路徑傳輸;緩存機(jī)制;有限域

0 引言

隨機(jī)網(wǎng)絡(luò)編碼是一種分布式網(wǎng)絡(luò)編碼方式,它能適應(yīng)拓?fù)鋭討B(tài)變化、無中心節(jié)點(diǎn)的網(wǎng)絡(luò)。隨機(jī)網(wǎng)絡(luò)編碼提出推動了網(wǎng)絡(luò)編碼走向?qū)嵱茫沟镁W(wǎng)絡(luò)編碼不再受限于確定的網(wǎng)絡(luò)拓?fù)湟约凹惺降乃惴╗1]。在傳感器網(wǎng)絡(luò)中應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼能提升網(wǎng)絡(luò)的傳輸可靠性[2-5],降低網(wǎng)絡(luò)中的能量消耗[6]等。文獻(xiàn)[2-5]都是通過纏繞多路徑模型計算驗證了應(yīng)用網(wǎng)絡(luò)編碼后網(wǎng)絡(luò)傳輸可靠性的提升,文獻(xiàn)[6]在OMNET++上通過能量模型計算評估了應(yīng)用網(wǎng)絡(luò)編碼后的能量消耗,文獻(xiàn)[7]提出了一種基于部分網(wǎng)絡(luò)編碼的機(jī)會路由機(jī)制,都是一種數(shù)值計算結(jié)果,并未實(shí)現(xiàn)對數(shù)據(jù)包的作編碼、緩存和傳輸?shù)确抡嫣幚恚茨軐?shí)現(xiàn)網(wǎng)絡(luò)仿真。祝琳[8]針對水聲網(wǎng)絡(luò)提出了基于網(wǎng)絡(luò)編碼的路由協(xié)議,并利用NS2進(jìn)行了網(wǎng)絡(luò)仿真,但并未進(jìn)行模塊化的設(shè)計,難以擴(kuò)展。本文在OMNET++仿真平臺上設(shè)計隨機(jī)網(wǎng)絡(luò)編碼模塊,添加到網(wǎng)絡(luò)中的節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)包層級的隨機(jī)網(wǎng)絡(luò)編碼仿真,能對應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼的網(wǎng)絡(luò)數(shù)據(jù)包傳輸可靠性、延時和吞吐量等網(wǎng)絡(luò)特性進(jìn)行評估。

1 仿真平臺原理

1.1OMNET++

OMNET++[6]是一種離散事件仿真器,主要由6個部分組成:仿真內(nèi)核庫(Simulation Kernel Library,Sim)、網(wǎng)絡(luò)描述語言的編譯器(Network Description Compiler,NEDC)、圖形化的網(wǎng)絡(luò)編輯器(Graphical Network Description Editor,GNED)、仿真程序的圖形化用戶接口Tkenv、仿真程序的命令行用戶接口Cmdenv和圖形化的向量輸出工具Plove。OMNeT++具有模塊化的結(jié)構(gòu), OMNeT++的仿真體系結(jié)構(gòu)(箭頭表示2組件之間的交互)如圖1所示。 Sim為嵌入式仿真內(nèi)核,是處理和運(yùn)行仿真的核心。當(dāng)有事件發(fā)生時,仿真內(nèi)核就調(diào)用執(zhí)行模型中的模塊。在Sim和用戶接口CMDENV或TKENV之間是一個通用接口ENVIR,用戶可以通過替換用戶接口來定義仿真的運(yùn)行環(huán)境。可執(zhí)行模塊是為仿真設(shè)置的模塊,包括在模型組件庫中所有組件的實(shí)例對象(如模塊、管道等)。模型組件庫包含所有已經(jīng)編譯好的簡單模塊和復(fù)合模塊,仿真模型包含一些常用的網(wǎng)絡(luò)協(xié)議、應(yīng)用和通信模型。

圖1 OMNET的高層體系結(jié)構(gòu)

OMNeT++仿真要經(jīng)歷模型建立、模擬實(shí)現(xiàn)和結(jié)果分析3個階段[10]。OMNeT++采用混合式的建模方式,同時使用網(wǎng)絡(luò)描述(Network Discription,NED)語言和C++進(jìn)行建模。NED是模塊化的網(wǎng)絡(luò)描述語言,包括大量的對組件的描述,如通道、簡單和復(fù)合模塊的類型。NED還可以實(shí)現(xiàn)動態(tài)加載,便于更新仿真模型的拓?fù)浣Y(jié)構(gòu)。C++用來實(shí)現(xiàn)模型的仿真和消息的處理等功能NED文件可以編譯為C++代碼,連接到仿真程序中。OMNeT++中的消息通過CMessage類定義,消息傳輸由簡單模塊完成,有端口傳輸和直接傳輸2種方式。端口傳輸是通過模塊之間的端口和連接,按照一定的規(guī)則,將消息逐步傳輸?shù)侥康哪K。而直接傳輸是通過仿真內(nèi)核直接傳輸消息到目的模塊。通過這套機(jī)制,可以靈活地使用C++或者OMNeT++本身定義的幾個基本類,就可以實(shí)現(xiàn)對復(fù)雜網(wǎng)絡(luò)模型的仿真。

1.2隨機(jī)網(wǎng)絡(luò)編碼原理

信源以m為單位,將原始數(shù)據(jù)包分割,由同一原始數(shù)據(jù)包分割而來的m小個數(shù)據(jù)包X1,X2…Xm屬于同一分組,用分組號識別。從有限域Fq中隨機(jī)地選擇m個數(shù)gi1,gi2,…,gim作為編碼系數(shù),對X1,X2…Xm進(jìn)行編碼組合,編碼后變成了M(>m)個數(shù)據(jù)包,源端冗余系數(shù)α=M/m ,用Y1,Y2,…,YM表示,即

這里執(zhí)行的都是有限域的加法、乘法運(yùn)算規(guī)則。信源把編碼數(shù)據(jù)包Y1,Y2,…,YM的組標(biāo)志和相應(yīng)的編碼系數(shù)組成的編碼向量添加到數(shù)據(jù)包前發(fā)送出去。中間節(jié)點(diǎn)接收到編碼數(shù)據(jù)包后進(jìn)行再編碼后轉(zhuǎn)發(fā),目的節(jié)點(diǎn)在接收到至少m個線性無關(guān)編碼數(shù)據(jù)包后即可解碼得到原始數(shù)據(jù)包。編碼過程如圖2所示。

圖2 隨機(jī)網(wǎng)絡(luò)編碼原理

2 仿真設(shè)計

應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼時需要進(jìn)行有限域運(yùn)算,中間節(jié)點(diǎn)需要對編碼數(shù)據(jù)包進(jìn)行緩存。同時源節(jié)點(diǎn)需要通過多條傳輸路徑將編碼數(shù)據(jù)包傳輸至目的節(jié)點(diǎn),才能在中間節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)包之間的融合。因此我們需要在隨機(jī)網(wǎng)絡(luò)編碼模塊實(shí)現(xiàn)有限域運(yùn)算,建立緩存及多路徑路由機(jī)制。

2.1有限域運(yùn)算實(shí)現(xiàn)

有限域(Finite Field)F:域F中的元素是有限的,又稱為伽羅華域(Galosis Field)。通常計算機(jī)領(lǐng)域采用二進(jìn)制表示,有限域大小記為q,則相應(yīng)的有限域中記為F2q,包含了2q個元素。與整數(shù)域,實(shí)數(shù)域相比,有如下特點(diǎn):

① 只包含有限個元素,如F22={0,1,2,3},而所有運(yùn)算在該域內(nèi)是封閉的,不會超出這4個數(shù);

② 為保證有限域內(nèi)的加法和減法的封閉性,采用XOR執(zhí)行加法和減法;

③ 為保證除法和乘法的封閉性,在執(zhí)行乘法和除法時采取多項式運(yùn)算,然后模上本有限域?qū)?yīng)的本原多項式。

考慮到有限域運(yùn)算時需要模上本原多項式,復(fù)雜度較高。同時,其運(yùn)算在域內(nèi)是封閉的,將任意2個數(shù)運(yùn)算結(jié)果通過二維數(shù)組記錄,實(shí)時計算時就能通過查表方式獲得有限域內(nèi)的四則運(yùn)算結(jié)果。在此基礎(chǔ)上,實(shí)現(xiàn)有限域的矩陣運(yùn)算,包括矩陣相乘、求逆和求秩。

2.2緩存處理機(jī)制

圖3 隨機(jī)網(wǎng)絡(luò)編碼下的數(shù)據(jù)包結(jié)構(gòu)

2.3網(wǎng)絡(luò)節(jié)點(diǎn)模型

網(wǎng)絡(luò)節(jié)點(diǎn)模型如圖4所示。

圖4 網(wǎng)絡(luò)節(jié)點(diǎn)模型

網(wǎng)絡(luò)仿真時,未添加隨機(jī)網(wǎng)絡(luò)編碼模塊時節(jié)點(diǎn)模型如圖4(a)所示,網(wǎng)絡(luò)節(jié)點(diǎn)由應(yīng)用模塊產(chǎn)生數(shù)據(jù)包,傳遞給路由模塊,路由模塊按照路由協(xié)議傳輸給該數(shù)據(jù)包下一節(jié)點(diǎn)的隊列,再經(jīng)連接鏈路傳遞給下一節(jié)點(diǎn)。添加隨機(jī)網(wǎng)絡(luò)編碼模塊后節(jié)點(diǎn)模型如圖4(b)所示,應(yīng)用模塊產(chǎn)生的數(shù)據(jù)包首傳遞給網(wǎng)絡(luò)編碼模塊進(jìn)行拆分編碼,再傳遞給路由模塊。鏈路隊列接收到其他節(jié)點(diǎn)傳輸過來的數(shù)據(jù)包后,如果是普通數(shù)據(jù)包則交付給路由模塊處理;如果是編碼數(shù)據(jù)包,則交付給網(wǎng)絡(luò)編碼模塊進(jìn)行再編碼后傳遞給路由模塊進(jìn)行處理,或者解編碼后交給應(yīng)用模塊處理。網(wǎng)絡(luò)編碼模塊獨(dú)立于節(jié)點(diǎn)其他模塊,能獨(dú)立進(jìn)行數(shù)據(jù)包編碼、解編碼,只需規(guī)范好接口就能與其他模塊連接好。隨機(jī)網(wǎng)絡(luò)編碼模塊中分組大小,冗余系數(shù),有限域大小都能進(jìn)行選擇設(shè)置,仿真時就能通過調(diào)整參數(shù)獲得更加適用目標(biāo)網(wǎng)絡(luò)的參數(shù)。網(wǎng)絡(luò)編碼模塊獨(dú)立于其他模塊,在仿真時可以將其添加進(jìn)不同的網(wǎng)絡(luò)節(jié)點(diǎn),選擇不同的應(yīng)用模塊及路由模塊進(jìn)行實(shí)驗。

3 仿真實(shí)驗

通過NED語言建立的網(wǎng)絡(luò)場景如圖5所示,定義節(jié)點(diǎn)間的連接通道以及節(jié)點(diǎn)內(nèi)部模塊的連接關(guān)系。仿真時假設(shè)節(jié)點(diǎn)間通過鏈路狀態(tài)信息的交互,在本地形成了網(wǎng)絡(luò)中其他節(jié)點(diǎn)的跳數(shù)表。源節(jié)點(diǎn)傳輸數(shù)據(jù)包時,在包頭中添加到目的節(jié)點(diǎn)的跳數(shù)標(biāo)簽,每轉(zhuǎn)發(fā)一次,條數(shù)標(biāo)簽減1。中間節(jié)點(diǎn)接收到數(shù)據(jù)包后,當(dāng)判斷自身到目的節(jié)點(diǎn)的跳數(shù)比數(shù)據(jù)包中的跳數(shù)標(biāo)簽要小,則進(jìn)行轉(zhuǎn)發(fā),從而在數(shù)據(jù)轉(zhuǎn)發(fā)過程中形成了一種多路徑。如圖6所示,我們在一個矩形區(qū)域內(nèi)部署了26個網(wǎng)絡(luò)節(jié)點(diǎn),隨機(jī)選取其中2個節(jié)點(diǎn)分別為源節(jié)點(diǎn)(2號節(jié)點(diǎn))和目的節(jié)點(diǎn)(17號節(jié)點(diǎn)),形成的多路徑路由如圖中灰色節(jié)點(diǎn)(1,7,8,9,12,14,16,18號節(jié)點(diǎn))所示。

圖5 網(wǎng)絡(luò)場景

仿真參數(shù)設(shè)置如下:鏈路傳輸帶寬為2 Mb/s,文件大小為2 MB,原始數(shù)據(jù)長度為1 024 Bytes,組大小m=4,節(jié)點(diǎn)緩沖延時為10 ms,源端冗余系數(shù)α=1.25,誤碼率設(shè)置從1×10-5~9×10-5變化。

仿真時設(shè)置單個原始數(shù)據(jù)包長度為1 024 Bytes,應(yīng)用網(wǎng)絡(luò)編碼時,將原始數(shù)據(jù)包拆分為4個長度為256 Bytes的數(shù)據(jù)包進(jìn)行編碼處理。源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間傳輸一個2 MB大小的文件,設(shè)置變化的鏈路傳輸誤碼率對傳輸可靠性、延時和有效吞吐量進(jìn)行統(tǒng)計。同一網(wǎng)絡(luò),在多路徑傳輸方式下,對比應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼模塊前后數(shù)據(jù)包傳輸可靠性、延時和有效吞吐量統(tǒng)計結(jié)果如圖6所示。

圖6 仿真結(jié)果

仿真結(jié)果驗證了應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼后的多路徑傳輸方式(Network Coding Based Multipath Routing,NCMR)網(wǎng)絡(luò)傳輸可靠性和有效吞吐量都要優(yōu)于純粹的多路徑傳輸方式(Multipath Routing,MR)。應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼后,因為緩存機(jī)制的應(yīng)用,單個數(shù)據(jù)包的傳輸延時相較于純粹多路徑傳輸方式更長。純粹多路徑傳輸方式,從同一源節(jié)點(diǎn)到目的節(jié)點(diǎn),數(shù)據(jù)包若傳輸成功,則傳輸延時是一樣,但因為傳輸可靠性差,傳輸同樣大小的文件需要更多時間,也就是有效吞吐量更低。

4 結(jié)束語

本文在OMNET++仿真平臺上設(shè)計了隨機(jī)網(wǎng)絡(luò)編碼模塊,其添加到網(wǎng)絡(luò)節(jié)點(diǎn)模型中,并與多路徑傳輸方式對比,驗證了應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼后網(wǎng)絡(luò)數(shù)據(jù)包傳輸可靠性、延時和吞吐量等網(wǎng)絡(luò)特性能夠改善。隨機(jī)網(wǎng)絡(luò)編碼模塊獨(dú)立于其他節(jié)點(diǎn)模塊,可進(jìn)行參數(shù)設(shè)置,可設(shè)計不同的路由模塊、應(yīng)用層模塊和鏈路模型進(jìn)行組合,完成不同應(yīng)用場景的網(wǎng)絡(luò)仿真,為應(yīng)用隨機(jī)網(wǎng)絡(luò)編碼提供了一種仿真設(shè)計思路。

[1]CHOU P A,WU Y,JAIN K.Practical Network Coding[C]∥Allerton Conference On Communication,Control and Computing,2003:25-35.

[2]GUO Z,XIE P,CUI J H,et al.On Applying Network Coding to Underwater Sensor Networks[C]∥Proceedings of the 1st ACM International Workshop on Underwater Networks.ACM,2006:109-112.

[3]YANG Yu-wang,ZHONG Chun-shan,SUN Ya-min,et al.Network Coding Based Reliable Disjoint and Braided Multipath Routing for Sensor Networks[J].Journal of Network and Computer Applications,2010,33(4):422-432.

[4]趙煒,唐振民,紀(jì)淑標(biāo),等.基于網(wǎng)絡(luò)編碼的傳感網(wǎng)多徑模型分析[J].計算機(jī)工程與設(shè)計,2012,33(3):875-879.

[5]宋小全,胡鵬,孫旭.基于局部重傳和網(wǎng)絡(luò)編碼的可靠性傳輸機(jī)制[J].北京郵電大學(xué)學(xué)報,2014,37(4):51-55.

[6]WANG Lei,YANG Yu-wang,ZHAO Wei.Network Coding-based Multipath Routing for Energy Efficiency in Wireless Sensor Networks[J].Journal on Wireless Communicaitons and Networking,2012(1):1-15.

[7]鄔晨,何加銘,曾興斌,等.一種新的基于部分網(wǎng)絡(luò)編碼的機(jī)會路由機(jī)制[J].無線電通信技術(shù),2014,40(2):24-27.

[8]祝琳,江志浩,李迅.基于網(wǎng)絡(luò)編碼技術(shù)的水聲網(wǎng)絡(luò)路由協(xié)議研究[J].無線電通信技術(shù),2016,42(1):24-27.

[9]夏鋒.OMNET++網(wǎng)絡(luò)仿真[M].北京:清華大學(xué)出版社,2013.

[10]趙永利,張杰.OMNET++與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2012.

胡鵬男,(1989—),碩士研究生。主要研究方向:無線網(wǎng)絡(luò)、網(wǎng)絡(luò)編碼。

宋小全男,(1969—),博士,研究員。主要研究方向:雷達(dá)工程、信息網(wǎng)絡(luò)。

Simulation of Random Network Coding on OMNET++ Platform

HU Peng1,SONG Xiao-quan1,SUN Xu1,XIA Ye2

(1.BeijingInstituteofTrackingandTelecommunicationTechnology,Beijing100094,China;2.ChinaSatelliteMaritimeTrackingandControlDepartment,JiangyinJiangsu214400,China)

The application of RNC (Random Network Coding) can improve the transmission reliability and reduce energy consumption for wireless sensor network.But network simulation method is lacking for the application and design of RNC.Packets buffer mechanism is designed and finite field calculation is implemented on OMNET++ platform.Based on this work,a RNC module is designed,which is independent of other node modules.The RNC module is applied into network node model which is used to establish a sensor network.Applying multipath routing,the packet transmission reliability,delay and efficient throughput are evaluated with/without application of RNC.Our work provides a network simulation method for the application of RNC.

random network coding;OMNET++;multipath transmission;buffer mechanism;finite field

10.3969/j.issn.1003-3106.2016.10.04

2016-06-29

航天系統(tǒng)部重點(diǎn)預(yù)研基金資助項目(GFZX0303010801)。

TP391.4

A

1003-3106(2016)10-0016-04

引用格式:胡鵬,宋小全,孫旭,等.基于OMNET++的隨機(jī)網(wǎng)絡(luò)編碼仿真實(shí)現(xiàn)[J].無線電工程,2016,46(10):16-19.

猜你喜歡
多路徑數(shù)據(jù)包路由
多路徑效應(yīng)對GPS多普勒測速的影響
基于5.8G射頻的多路徑識別技術(shù)應(yīng)用探討
SmartSniff
探究路由與環(huán)路的問題
基于5.8GHz多路徑精確識別方案研究
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實(shí)現(xiàn)
PRIME和G3-PLC路由機(jī)制對比
WSN中基于等高度路由的源位置隱私保護(hù)
eNSP在路由交換課程教學(xué)改革中的應(yīng)用
河南科技(2014年5期)2014-02-27 14:08:56
華東理工大學(xué)學(xué)報(自然科學(xué)版)(2014年1期)2014-02-27 13:48:36
九龙城区| 淮安市| 涞源县| 绍兴市| 葫芦岛市| 搜索| 皋兰县| 开江县| 黄石市| 河西区| 天全县| 涿鹿县| 铅山县| 晴隆县| 景德镇市| 宁乡县| 油尖旺区| 二连浩特市| 安龙县| 舟曲县| 乌拉特前旗| 大丰市| 沭阳县| 长乐市| 嘉善县| 门源| 深州市| 贡觉县| 垦利县| 英吉沙县| 荃湾区| 文昌市| 南汇区| 柯坪县| 堆龙德庆县| 鹤壁市| 台南市| 涟水县| 云梦县| 杂多县| 玛多县|