Manet網(wǎng)絡(luò)的硬件仿真方法及網(wǎng)絡(luò)節(jié)點(diǎn)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種MANET網(wǎng)絡(luò)的硬件仿真方法及網(wǎng)絡(luò)節(jié)點(diǎn),使用一個(gè)FPGA模擬一個(gè)節(jié)點(diǎn),在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序;FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;FPGA獲取下發(fā)至本地物理層的PDU,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。本發(fā)明實(shí)施例能夠模擬物理環(huán)境的驗(yàn)證平臺(tái),在該平臺(tái)上可驗(yàn)證基于定向天線(xiàn)的MANET網(wǎng)絡(luò)上層協(xié)議。
【專(zhuān)利說(shuō)明】MANET網(wǎng)絡(luò)的硬件仿真方法及網(wǎng)絡(luò)節(jié)點(diǎn)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種MANET網(wǎng)絡(luò)的硬件仿真方法及網(wǎng)絡(luò)節(jié)點(diǎn)。
【背景技術(shù)】
[0002]MANET (英文全稱(chēng)為:Mobile Ad-hoc Network,中文譯文為:移動(dòng)自組織網(wǎng)絡(luò))網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)使用分布式算法協(xié)調(diào)各自的行為,在動(dòng)態(tài)拓?fù)浜投ㄏ蛱炀€(xiàn)環(huán)境下,使用定向天線(xiàn)時(shí),MAC (英文全稱(chēng)為:Media Access Control,中文譯文為:媒體接入控制)協(xié)議和路由協(xié)議都需要進(jìn)行精細(xì)的設(shè)計(jì)。但如何仿真和驗(yàn)證MAC協(xié)議和路由協(xié)議的功能成為一個(gè)關(guān)鍵問(wèn)題。多種網(wǎng)絡(luò)仿真軟件可以幫助研發(fā)人員在計(jì)算機(jī)上模擬網(wǎng)絡(luò)中的節(jié)點(diǎn)行為。
[0003]為驗(yàn)證MAC協(xié)議和路由協(xié)議算法的性能,通常進(jìn)行場(chǎng)地測(cè)試,但是,場(chǎng)地測(cè)試需要節(jié)點(diǎn)具備定向天線(xiàn),并且在廣闊的范圍展開(kāi)多節(jié)點(diǎn)實(shí)驗(yàn),并且節(jié)點(diǎn)要使用車(chē)載或其他方式以具備移動(dòng)性,耗費(fèi)巨大的財(cái)力人力物力。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種MANET網(wǎng)絡(luò)的硬件仿真方法及網(wǎng)絡(luò)節(jié)點(diǎn),能夠模擬物理環(huán)境的驗(yàn)證平臺(tái),在該平臺(tái)上可驗(yàn)證基于定向天線(xiàn)的MANET網(wǎng)絡(luò)上層協(xié)議。
[0005]本發(fā)明實(shí)施例采用如下技術(shù)方案:
[0006]一種MANET網(wǎng)絡(luò)的硬件仿真方法,包括:
[0007]使用一個(gè)FPGA模擬一個(gè)節(jié)點(diǎn),在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序;
[0008]FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;
[0009]FPGA獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。
[0010]可選的,所述FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?
[0011]FPGA通過(guò)網(wǎng)卡連接計(jì)算機(jī)接收計(jì)算機(jī)發(fā)送的當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔ⅲ?br>
[0012]或者,獲取預(yù)先存儲(chǔ)的拓?fù)湫畔ⅰ?br>
[0013]可選的,所述FPGA獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出包括:
[0014]FPGA的物理層模擬模塊確定當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向;
[0015]如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則物理層模擬模塊將PDU精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
[0016]可選的,還包括:
[0017]FPGA接收到來(lái)自不同鄰居節(jié)點(diǎn)的H)U,來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后進(jìn)入物理層模擬模塊經(jīng)過(guò)一定處理后,物理層模擬模塊判斷是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC層。
[0018]可選的,來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后匯集于物理層模擬模塊,物理層模擬模塊根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào);
[0019]若能夠正確解調(diào),則將正確的PDU發(fā)至本節(jié)點(diǎn)MAC層;
[0020]否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的I3DU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄。
[0021]一種網(wǎng)絡(luò)節(jié)點(diǎn),包括:
[0022]第一模塊,用于獲取網(wǎng)絡(luò)拓?fù)湫畔ⅲ诰W(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;
[0023]第二模塊,用于獲取下發(fā)至本地物理層的rou,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。
[0024]可選的,所述第一模塊具體用于,F(xiàn)PGA通過(guò)網(wǎng)卡連接計(jì)算機(jī)接收計(jì)算機(jī)發(fā)送的當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔ⅲ?br>
[0025]或者,所述第一模塊具體用于,獲取預(yù)先存儲(chǔ)的拓?fù)湫畔ⅰ?br>
[0026]可選的,所述第二模塊具體用于,確定當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向;如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則將PDU精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
[0027]可選的,還包括:
[0028]第三模塊,用于接收到來(lái)自不同鄰居節(jié)點(diǎn)的rou,判斷是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC層。
[0029]可選的,第三模塊具體用于,根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào);若能夠正確解調(diào),則將正確的PDU發(fā)至本節(jié)點(diǎn)MAC層;否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的I3DU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄。
[0030]基于上述技術(shù)方案,本發(fā)明實(shí)施例的MANET網(wǎng)絡(luò)的硬件仿真方法及網(wǎng)絡(luò)節(jié)點(diǎn)使用一個(gè)FPGA模擬一個(gè)節(jié)點(diǎn),在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序;FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;FPGA獲取下發(fā)至本地物理層的rou,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的rou進(jìn)行硬件仿真。能夠模擬物理環(huán)境的驗(yàn)證平臺(tái),在該平臺(tái)上可驗(yàn)證基于定向天線(xiàn)的MANET網(wǎng)絡(luò)上層協(xié)議。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0031]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1為本發(fā)明實(shí)施例1提供的一種MANET網(wǎng)絡(luò)的硬件仿真方法的流程圖;
[0033]圖2為本發(fā)明實(shí)施例1提供的一種協(xié)議棧結(jié)構(gòu)示意圖;
[0034]圖3為本發(fā)明實(shí)施例提I供的一種連接示意圖;
[0035]圖4為本發(fā)明實(shí)施例2提供的一種單節(jié)點(diǎn)結(jié)構(gòu)示意圖;
[0036]圖5為本發(fā)明實(shí)施例2提供的一種驗(yàn)證平臺(tái)整體結(jié)構(gòu)示意圖;
[0037]圖6為本發(fā)明實(shí)施例2提供的一種發(fā)送端處理流程示意圖;
[0038]圖7為本發(fā)明實(shí)施例2提供的一種接收端處理流程示意圖;
[0039]圖8為本發(fā)明實(shí)施例4提供的一種網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)示意圖;
[0040]圖9為本發(fā)明實(shí)施例4提供的另一種網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042]實(shí)施例1
[0043]如圖1所示,本發(fā)明實(shí)施例提供一種MANET網(wǎng)絡(luò)的硬件仿真方法,包括:
[0044]11、使用一個(gè) FPGA (英文全稱(chēng)為:Feild Programable Gate Array,中文譯文為:現(xiàn)場(chǎng)可編程門(mén)陣列)模擬一個(gè)節(jié)點(diǎn),在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序;
[0045]12、FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;
[0046]13、FPGA獲取下發(fā)至本地物理層的PDU (英文全稱(chēng)為:Protocol Data Unit,中文譯文為:協(xié)議數(shù)據(jù)單元),PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。
[0047]可選的,所述FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?
[0048]FPGA通過(guò)網(wǎng)卡連接計(jì)算機(jī)接收計(jì)算機(jī)發(fā)送的當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔ⅲ?br>
[0049]或者,獲取預(yù)先存儲(chǔ)的拓?fù)湫畔ⅰ?br>
[0050]可選的,所述FPGA獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出包括:
[0051]FPGA的物理層模擬模塊確定當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向;
[0052]如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則物理層模擬模塊將PDU精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
[0053]可選的,還包括:
[0054]FPGA接收到來(lái)自不同鄰居節(jié)點(diǎn)的H)U,來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后進(jìn)入物理層模擬模塊經(jīng)過(guò)一定處理后,物理層模擬模塊判斷是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC層。
[0055]可選的,來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后匯集于物理層模擬模塊,物理層模擬模塊根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào);
[0056]若能夠正確解調(diào),則將正確的PDU發(fā)至本節(jié)點(diǎn)MAC層;
[0057]否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的TOU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄。
[0058]下面詳細(xì)介紹本發(fā)明實(shí)施例的MANET網(wǎng)絡(luò)的硬件仿真方法。
[0059]步驟一:使用一個(gè)FPGA模擬一個(gè)節(jié)點(diǎn)。在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序,無(wú)需調(diào)制解調(diào)過(guò)程。協(xié)議棧結(jié)構(gòu)如圖2,其中上層協(xié)議可以運(yùn)行于FPGA或也可以運(yùn)行于與FPGA連接的其他設(shè)備上。
[0060]步驟二:FPGA通過(guò)網(wǎng)卡連接計(jì)算機(jī),計(jì)算機(jī)實(shí)時(shí)將當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔l(fā)送至FPGA,供物理層模擬模塊查詢(xún)。對(duì)于靜態(tài)的網(wǎng)絡(luò),拓?fù)湫畔⒖墒孪却鎯?chǔ)于FPGA內(nèi)部,無(wú)需上述計(jì)算機(jī)。
[0061]步驟三:將多節(jié)點(diǎn)組成的網(wǎng)絡(luò)兩兩連接。連接的方式采用FPGA管腳直連的方式,即一塊FPGA的輸出管腳通過(guò)某種連接方式直接連接在另一塊FPGA的輸入管腳上。通過(guò)管腳直連,由上層協(xié)議下發(fā)至物理層的PDU不經(jīng)過(guò)調(diào)制,以數(shù)字信號(hào)的形式在FPGA間傳送。
[0062]圖3為4節(jié)點(diǎn)網(wǎng)絡(luò)。圖3中4塊FPGA分別運(yùn)行節(jié)點(diǎn)上層協(xié)議的實(shí)現(xiàn)程序以及模擬物理層的程序,節(jié)點(diǎn)I的FPGA與節(jié)點(diǎn)2、3、4的FPGA直接相連,每條連接提供兩個(gè)節(jié)點(diǎn)間的雙向鏈路。
[0063]步驟四:由MAC層下發(fā)至物理層的PDU不經(jīng)過(guò)編碼調(diào)制等方式進(jìn)行基帶或者載波傳輸,它經(jīng)過(guò)物理層模擬模塊后可能被復(fù)制到該節(jié)點(diǎn)一條或多條與其它節(jié)點(diǎn)的連線(xiàn)上發(fā)出。物理層模擬模塊的發(fā)送機(jī)制如下:
[0064]物理層模擬模塊已知當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向。如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則物理層模擬模塊將rou精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
[0065]步驟五:接收節(jié)點(diǎn)在同一時(shí)刻可能接收到來(lái)自不同鄰居節(jié)點(diǎn)的rou。來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后,進(jìn)入物理層模擬模塊,經(jīng)過(guò)一定處理后,物理層模擬模塊決定是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC層。物理層模擬模塊的接收處理機(jī)制如下:
[0066]來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后匯集于物理層模擬模塊。物理層模擬模塊根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào)。若能夠正確解調(diào),則將正確的rou發(fā)至本節(jié)點(diǎn)MAC層;否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的PDU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄。
[0067]本實(shí)施例的方法,使用一個(gè)FPGA模擬一個(gè)節(jié)點(diǎn),在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序;FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;FPGA獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的rou進(jìn)行硬件仿真。能夠模擬物理環(huán)境的驗(yàn)證平臺(tái),在該平臺(tái)上可驗(yàn)證基于定向天線(xiàn)的MANET網(wǎng)絡(luò)上層協(xié)議。
[0068]實(shí)施例2
[0069]本實(shí)施例為一個(gè)基于定向天線(xiàn)的MANET網(wǎng)絡(luò)驗(yàn)證平臺(tái),用于驗(yàn)證MAC層以上協(xié)議的功能和性能。下面給出本實(shí)施例的詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0070]驗(yàn)證平臺(tái)單節(jié)點(diǎn)結(jié)構(gòu)如圖4。單節(jié)點(diǎn)的核心模塊是FPGA、GE_PHY芯片、RJ45接口。FPGA中的程序主要包括三方面:一是待驗(yàn)證的上層模塊,本實(shí)例中為MAC協(xié)議模塊;二是以太網(wǎng)接口模塊,負(fù)責(zé)與GE-PHY芯片的接口設(shè)計(jì),同時(shí)接收和分析來(lái)自計(jì)算機(jī)的網(wǎng)絡(luò)拓?fù)湫畔?,并將該信息傳遞給物理層模擬模塊;三是物理層模擬模塊。
[0071]MAC層協(xié)議與物理層模擬模塊之間傳遞業(yè)務(wù)和控制信息:
[0072]I)下行PDU =MAC層調(diào)用物理層服務(wù)時(shí),需要物理層發(fā)送的數(shù)據(jù)業(yè)務(wù);
[0073]2)上行rou:物理層接收的數(shù)據(jù)業(yè)務(wù),由物理層發(fā)送至MAC層;
[0074]3) MAC層對(duì)物理層的控制信息:包括當(dāng)前天線(xiàn)指向,收發(fā)狀態(tài)指示等。
[0075]物理層模擬模塊在網(wǎng)絡(luò)側(cè)有N對(duì)輸入輸出,他們均直接與FPGA管腳相連,進(jìn)而連接N對(duì)RJ45接口。其中N為網(wǎng)絡(luò)中其他節(jié)點(diǎn)的數(shù)目總和,網(wǎng)絡(luò)側(cè)指面向網(wǎng)絡(luò)中其他節(jié)點(diǎn)的一側(cè)。同時(shí)物理層模擬模塊接收來(lái)自以太網(wǎng)接口模塊的控制信息,包括:
[0076]I)天線(xiàn)主瓣寬度。
[0077]2)本節(jié)點(diǎn)與網(wǎng)絡(luò)中其他所有節(jié)點(diǎn)的聯(lián)通狀況,即是否聯(lián)通。
[0078]3)網(wǎng)絡(luò)中其他所有節(jié)點(diǎn)相對(duì)于本節(jié)點(diǎn)的相對(duì)方向。
[0079]4)本節(jié)點(diǎn)與網(wǎng)絡(luò)中其他所有節(jié)點(diǎn)間的鏈路質(zhì)量,即丟包率。
[0080]驗(yàn)證平臺(tái)整體結(jié)構(gòu)如圖5。圖5中為簡(jiǎn)便起見(jiàn),描述了擁有4個(gè)節(jié)點(diǎn)的MANET網(wǎng)絡(luò)仿真平臺(tái)結(jié)構(gòu)。每個(gè)節(jié)點(diǎn)連接三個(gè)其他節(jié)點(diǎn),連接的方式如下:
[0081]I)節(jié)點(diǎn)的3對(duì)網(wǎng)絡(luò)側(cè)輸入輸出為RJ45接口 ;
[0082]2)節(jié)點(diǎn)的3個(gè)網(wǎng)絡(luò)側(cè)輸出通過(guò)網(wǎng)線(xiàn)連接至其他3個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)側(cè)輸入;
[0083]3)節(jié)點(diǎn)的3個(gè)網(wǎng)絡(luò)側(cè)輸入通過(guò)網(wǎng)線(xiàn)連接至其他3個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)側(cè)輸出;
[0084]發(fā)送端處理流程如圖6,一個(gè)節(jié)點(diǎn)的物理層模擬模塊接到來(lái)自MAC協(xié)議的下行H)U后,需要判斷該P(yáng)DU是否能夠抵達(dá)本節(jié)點(diǎn)的鄰居節(jié)點(diǎn)1、2、3。處理流程包括:
[0085]I)將 PDU 分為 3 路;
[0086]2)每一路由發(fā)端選通模塊判斷是否選通。
[0087]下面具體介紹發(fā)端選通模塊的行為。
[0088]發(fā)端選通模塊接受的控制信號(hào)有:
[0089]I)當(dāng)前天線(xiàn)指向,該信息來(lái)自MAC層協(xié)議;
[0090]2)來(lái)自以太網(wǎng)接口模塊的控制信息:主瓣寬度、選通模塊物理上直接連接的節(jié)點(diǎn)id,此節(jié)點(diǎn)所在的方向,此節(jié)點(diǎn)是否可連通等。
[0091]發(fā)端選通模塊的判斷方式:
[0092]已知天線(xiàn)主瓣方向?yàn)棣?,天線(xiàn)主瓣寬度為ω。已知物理上直接連接的節(jié)點(diǎn)是否連通以及此節(jié)點(diǎn)所在的方向?yàn)镻。分以下兩步:
[0093]I)若物理上直接連接的節(jié)點(diǎn)是非聯(lián)通的,則發(fā)端選通模塊在網(wǎng)絡(luò)側(cè)的輸出為O ;
[0094]2)否則。若供| < 2,即天線(xiàn)主瓣覆蓋對(duì)端節(jié)點(diǎn),則網(wǎng)絡(luò)側(cè)輸出為輸入的精確復(fù)制;反之,發(fā)端選通模塊在網(wǎng)絡(luò)側(cè)的輸出為O。
[0095]接收端的處理流程如圖7。處理流程包括:
[0096]I)來(lái)自3個(gè)節(jié)點(diǎn)的信號(hào)分別進(jìn)入延時(shí)模擬模塊。延時(shí)模擬模塊的主要作用是模擬節(jié)點(diǎn)間因?yàn)榫嚯x拉開(kāi)而造成的傳播延時(shí)。
[0097]2)各路信號(hào)經(jīng)延時(shí)后進(jìn)入相應(yīng)的收端選通模塊,收端選通模塊決定其輸出為輸入的精確復(fù)制或者輸出為O。
[0098]3)三個(gè)收端選通模塊的輸出信號(hào)經(jīng)過(guò)或運(yùn)算后上發(fā)至MAC層。
[0099]可見(jiàn)當(dāng)且僅當(dāng)三個(gè)收端選通模塊中有且只有一個(gè)輸出了正確的數(shù)據(jù)時(shí),MAC層才能夠正確接收rou,否則內(nèi)部數(shù)據(jù)被破壞的PDU不會(huì)通過(guò)MAC層的CRC校驗(yàn)。
[0100]下面具體介紹收端選通模塊的行為。
[0101]收端選通模塊接受的控制信號(hào)有:
[0102]a)當(dāng)前天線(xiàn)指向,該信息來(lái)自MAC層協(xié)議;
[0103]b)來(lái)自以太網(wǎng)接口模塊的控制信息:主瓣寬度,選通模塊物理上直接連接的節(jié)點(diǎn)id,此節(jié)點(diǎn)所在的方向等,此節(jié)點(diǎn)是否連通,此節(jié)點(diǎn)對(duì)應(yīng)的鏈路質(zhì)量(丟包率)
[0104]收端選通模塊的判斷方式:
[0105]已知天線(xiàn)主瓣方向?yàn)棣?,天線(xiàn)主瓣寬度為ω。已知物理上直接連接的節(jié)點(diǎn)是否連通以及此節(jié)點(diǎn)所在的方向?yàn)镻已知與物理上直接連接的節(jié)點(diǎn)相應(yīng)的鏈路質(zhì)量(丟包率P)分以下三步:
[0106]1)若物理上直接連接的節(jié)點(diǎn)是非聯(lián)通的,則收端選通模塊不選通,輸出為O ;否則進(jìn)入下一步;
[0107]2)若|θ -φ|> ω/2即天線(xiàn)主瓣無(wú)法覆蓋對(duì)端節(jié)點(diǎn),則不選通,輸出為O ;否則進(jìn)入下一步;
[0108]3)生成一 O到I之間的隨機(jī)數(shù),查看該隨機(jī)數(shù)與丟包率P之間的大小關(guān)系,若大于P,則輸出為輸入的精確復(fù)制;否則,輸出為將輸入翻轉(zhuǎn)Ibit后的結(jié)果。
[0109]本實(shí)施例使用者無(wú)需借助物理層調(diào)制解調(diào)模塊即可完成驗(yàn)證。沒(méi)有了物理層技術(shù)的限制,上層協(xié)議不論是運(yùn)行在計(jì)算機(jī)上或者FPGA上,均可以使用本發(fā)明的驗(yàn)證平臺(tái)進(jìn)行驗(yàn)證。本實(shí)施例信號(hào)在節(jié)點(diǎn)之間的傳輸為數(shù)字電平信號(hào),而非射頻傳輸,這樣排除了射頻傳輸時(shí)實(shí)驗(yàn)環(huán)境對(duì)網(wǎng)絡(luò)性能帶來(lái)的不利影響。更有利于使用者通過(guò)多次可重復(fù)的驗(yàn)證發(fā)現(xiàn)上層協(xié)議的缺陷。另外,本本實(shí)施例可同時(shí)支持定向天線(xiàn)組網(wǎng)和全向天線(xiàn)組網(wǎng)。
[0110]實(shí)施例3
[0111]本實(shí)施例同樣適用于網(wǎng)絡(luò)中的節(jié)點(diǎn)配備全向天線(xiàn)的情況。本實(shí)施例是在全向天線(xiàn)情況下的實(shí)施例。實(shí)施例3與實(shí)施例2的技術(shù)方案基本相同,現(xiàn)將不同的地方闡述如下。
[0112]MAC層協(xié)議與物理層模擬模塊之間傳遞業(yè)務(wù)和控制信息不再包括當(dāng)前天線(xiàn)指向,物理層模擬模塊接收來(lái)自以太網(wǎng)接口模塊的控制信息不再包括天線(xiàn)主瓣寬度和網(wǎng)絡(luò)中其他節(jié)點(diǎn)的相對(duì)方向。
[0113]發(fā)端處理流程如下
[0114]發(fā)端選通模塊接受的控制信號(hào)不再包括當(dāng)前天線(xiàn)指向,天線(xiàn)主瓣寬度,以及物理上直接連接的節(jié)點(diǎn)相對(duì)方向。
[0115]發(fā)端選通模塊的判斷方式為:已知物理上直接連接的節(jié)點(diǎn)是否連通,若物理上直接連接的節(jié)點(diǎn)是非連通的,則發(fā)端選通模塊在網(wǎng)絡(luò)側(cè)的輸出為O ;否則,網(wǎng)絡(luò)側(cè)輸出為輸入的精確復(fù)制。
[0116]接收端處理流程如下
[0117]收端選通模塊接受的控制信號(hào)不再包括當(dāng)前天線(xiàn)指向,天線(xiàn)主瓣寬度,以及物理上直接連接的節(jié)點(diǎn)相對(duì)方向。
[0118]收端選通模塊的判斷方式為:
[0119]已知物理上直接連接的節(jié)點(diǎn)是否連通。已知與物理上直接連接的節(jié)點(diǎn)相應(yīng)的鏈路質(zhì)量(丟包率P )。分以下兩步:
[0120]I)若物理上直接連接的節(jié)點(diǎn)是非聯(lián)通的,則收端選通模塊不選通,輸出為O ;否則進(jìn)入下一步;
[0121]2)生成一 O到I之間的隨機(jī)數(shù),查看該隨機(jī)數(shù)與丟包率P之間的大小關(guān)系,若大于P,則輸出為輸入的精確復(fù)制;否則,輸出為將輸入翻轉(zhuǎn)Ibit后的結(jié)果。
[0122]本實(shí)施例使用者無(wú)需借助物理層調(diào)制解調(diào)模塊即可完成驗(yàn)證。沒(méi)有了物理層技術(shù)的限制,上層協(xié)議不論是運(yùn)行在計(jì)算機(jī)上或者FPGA上,均可以使用本發(fā)明的驗(yàn)證平臺(tái)進(jìn)行驗(yàn)證。本實(shí)施例信號(hào)在節(jié)點(diǎn)之間的傳輸為數(shù)字電平信號(hào),而非射頻傳輸,這樣排除了射頻傳輸時(shí)實(shí)驗(yàn)環(huán)境對(duì)網(wǎng)絡(luò)性能帶來(lái)的不利影響。更有利于使用者通過(guò)多次可重復(fù)的驗(yàn)證發(fā)現(xiàn)上層協(xié)議的缺陷。另外,本本實(shí)施例可同時(shí)支持定向天線(xiàn)組網(wǎng)和全向天線(xiàn)組網(wǎng)。
[0123]實(shí)施例4
[0124]如圖8所示,本實(shí)施例提供一種網(wǎng)絡(luò)節(jié)點(diǎn),包括:
[0125]第一模塊81,用于獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;
[0126]第二模塊82,用于獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。
[0127]可選的,所述第一模塊81具體用于,F(xiàn)PGA通過(guò)網(wǎng)卡連接計(jì)算機(jī)接收計(jì)算機(jī)發(fā)送的當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔ⅲ?br>
[0128]或者,所述第一模塊81具體用于,獲取預(yù)先存儲(chǔ)的拓?fù)湫畔ⅰ?br>
[0129]可選的,所述第二模塊82具體用于,確定當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向;如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則將PDU精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
[0130]可選的,如圖9所示,還包括:
[0131]第三模塊83,用于接收到來(lái)自不同鄰居節(jié)點(diǎn)的rou,判斷是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC層。
[0132]可選的,第三模塊83具體用于,根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào);若能夠正確解調(diào),則將正確的PDU發(fā)至本節(jié)點(diǎn)MAC層;否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的PDU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄。
[0133]本實(shí)施例的網(wǎng)絡(luò)節(jié)點(diǎn),獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接;獲取下發(fā)至本地物理層的PDU,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。能夠模擬物理環(huán)境的驗(yàn)證平臺(tái),在該平臺(tái)上可驗(yàn)證基于定向天線(xiàn)的MANET網(wǎng)絡(luò)上層協(xié)議。
[0134]本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種MANET網(wǎng)絡(luò)的硬件仿真方法,其特征在于,包括: 使用一個(gè)FPGA模擬一個(gè)節(jié)點(diǎn),在FPGA上運(yùn)行對(duì)物理層進(jìn)行模擬的程序; FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接; FPGA獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述FPGA獲取網(wǎng)絡(luò)拓?fù)湫畔? FPGA通過(guò)網(wǎng)卡連接計(jì)算機(jī)接收計(jì)算機(jī)發(fā)送的當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔ⅲ? 或者,獲取預(yù)先存儲(chǔ)的拓?fù)湫畔ⅰ?br>
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述FPGA獲取下發(fā)至本地物理層的H)U,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出包括: FPGA的物理層模擬模塊確定當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向; 如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則物理層模擬模塊將PDU精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: FPGA接收到來(lái)自不同鄰居節(jié)點(diǎn)的H)U,來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后進(jìn)入物理層模擬模塊經(jīng)過(guò)一定處理后,物理層模擬模塊判斷是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC 層。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于, 來(lái)自不同節(jié)點(diǎn)的PDU進(jìn)入FPGA后匯集于物理層模擬模塊,物理層模擬模塊根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào); 若能夠正確解調(diào),則將正確的PDU發(fā)至本節(jié)點(diǎn)MAC層; 否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的I3DU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄。
6.一種網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,包括: 第一模塊,用于獲取網(wǎng)絡(luò)拓?fù)湫畔?,基于網(wǎng)絡(luò)拓?fù)湫畔⒕W(wǎng)絡(luò)中的多節(jié)點(diǎn)兩兩連接; 第二模塊,用于獲取下發(fā)至本地物理層的rou,PDU經(jīng)過(guò)本地的物理層模擬模塊后被復(fù)制到本地與其它節(jié)點(diǎn)的一條或多條連線(xiàn)上,向其他節(jié)點(diǎn)發(fā)出;使得其他節(jié)點(diǎn)根據(jù)接收的PDU進(jìn)行硬件仿真。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述第一模塊具體用于,F(xiàn)PGA通過(guò)網(wǎng)卡連接計(jì)算機(jī)接收計(jì)算機(jī)發(fā)送的當(dāng)前網(wǎng)絡(luò)拓?fù)湫畔ⅲ? 或者,所述第一模塊具體用于,獲取預(yù)先存儲(chǔ)的拓?fù)湫畔ⅰ?br>
8.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,所述第二模塊具體用于,確定當(dāng)前時(shí)刻本節(jié)點(diǎn)的天線(xiàn)指向,以及天線(xiàn)主瓣寬度,以及每個(gè)鄰居節(jié)點(diǎn)的相對(duì)方向;如果當(dāng)前天線(xiàn)主瓣覆蓋到某個(gè)鄰居節(jié)點(diǎn),則將PDU精確復(fù)制并發(fā)送到本節(jié)點(diǎn)與該鄰居相連的連線(xiàn)上。
9.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,還包括: 第三模塊,用于接收到來(lái)自不同鄰居節(jié)點(diǎn)的rou,判斷是否成功接收某個(gè)rou,并將其發(fā)至本節(jié)點(diǎn)MAC層。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)節(jié)點(diǎn),其特征在于,第三模塊具體用于,根據(jù)已知控制信息判斷是否出現(xiàn)沖突、以及是否能夠正確解調(diào);若能夠正確解調(diào),則將正確的PDU發(fā)至本節(jié)點(diǎn)MAC層;否則將一個(gè)錯(cuò)誤的PDU發(fā)至本節(jié)點(diǎn)MAC層,錯(cuò)誤的PDU因無(wú)法通過(guò)CRC校驗(yàn)而被MAC層丟棄 。
【文檔編號(hào)】H04W84/18GK104053178SQ201410117466
【公開(kāi)日】2014年9月17日 申請(qǐng)日期:2014年3月26日 優(yōu)先權(quán)日:2014年3月26日
【發(fā)明者】張彧, 宋志群, 劉玉濤, 涂依晨, 姜龍 申請(qǐng)人:清華大學(xué), 中國(guó)電子科技集團(tuán)公司第五十四研究所