999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NetMagic的IP報文過濾器實驗

2017-11-17 05:04:28余慶豐
關(guān)鍵詞:規(guī)則信號實驗

◆王 鵬 余慶豐

(61764部隊 海南 572000)

基于NetMagic的IP報文過濾器實驗

◆王 鵬 余慶豐

(61764部隊 海南 572000)

本實驗完成基于NetMagic的IP報文過濾。過濾IP通過NMAC協(xié)議向NetMagic寫入,具體實現(xiàn)是管理模塊對UM模塊的寄存器的寫操作。NetMagic在收到數(shù)據(jù)報文時,提取數(shù)據(jù)報文的源IP地址,與過濾IP地址進行比對,若匹配則過濾,否則轉(zhuǎn)發(fā)報文。實驗結(jié)果顯示,NetMagic有效的實現(xiàn)了過濾規(guī)則寫入和IP報文過濾的功能。

NetMagic;報文過濾;NMAC協(xié)議;管理模塊

0 引言

基于NetMagic平臺,進行報文過濾的實驗,以此觀察對特定IP(特定MAC 、IP段、特定端口、端口段)的數(shù)據(jù)報文的過濾,達到有選擇訪問和進入的目的,為探索內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)防火墻的功效打下基礎(chǔ)。

1 實驗基本原理

讀取報文的IP部與設(shè)定的過濾IP進行比對,匹配的報文就丟棄不轉(zhuǎn)發(fā)。核心機制就是規(guī)則IP的寫入和報文的處理分析。

規(guī)則IP的寫入是通過發(fā)送基于NMAC協(xié)議的規(guī)則報文,通過管理模塊對UM的寫操作;報文的處理是通過比對一般報文的源IP和規(guī)則IP,匹配的報文則丟棄不轉(zhuǎn)發(fā)。NetMagic中的UM模塊使用的轉(zhuǎn)發(fā)機制是bypass模式,報文經(jīng)由CDP轉(zhuǎn)發(fā),而不是UM轉(zhuǎn)發(fā)。因此,UM需要向CDP模塊的規(guī)則FIFO寫轉(zhuǎn)發(fā)規(guī)則,實現(xiàn)轉(zhuǎn)發(fā)或者丟包操作,轉(zhuǎn)發(fā)的報文來自CDP的數(shù)據(jù)FIFO。

2 實驗?zāi)繕?/h2>

2.1 驗證哪些關(guān)鍵機制

(1) 軟件測試

①在發(fā)送端PC1生成指定格式的報文,收端檢測報文是否成功。

②規(guī)則報文的發(fā)送,寫入規(guī)則是否成功。

(2)硬件測試

①設(shè)定過濾IP的初始值,NetMagic能正確實現(xiàn)對特定報文的識別,對于匹配規(guī)則的報文,能正確地進行丟棄而不轉(zhuǎn)發(fā)。對于不匹配的報文,能夠正確地進行轉(zhuǎn)發(fā)。在接收端對收到的報文進行抓包測試,過濾是否成功。

②接收規(guī)則報文,對特定的報文進行識別,接收端PC2抓包測試,確定是否生成規(guī)則。

通過以上實驗和步驟,既可以對報文過濾的正確性進行驗證,又可以分塊的實現(xiàn)功能,便于測試和調(diào)試。

硬件部分可以使用 Modlesim仿真來測試和驗證,通過查看輸出端的報文規(guī)則與相應(yīng)報文處理情況來進行判斷。

2.2 實驗拓撲

圖1 實驗拓撲圖

說明:PC1是發(fā)送端,既可以發(fā)送一般報文,也可以發(fā)送規(guī)則報文;PC2是接收端,對過濾后的報文進行接收。

2.3 實驗拓撲

預(yù)期NetMagic能對報文進行正確的處理。對于指定源IP的報文能進行過濾,對不匹配的報文能進行正常轉(zhuǎn)發(fā)。為了便于測試,可以發(fā)送有限條匹配和不匹配的報文并在接收端進行抓包動作。

3 實驗詳細設(shè)計

3.1 軟件部分

(1)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)與工作流程

軟件的功能是與硬件進行溝通,往硬件UM部分寫入防火墻規(guī)則,并讀取相關(guān)信息。本軟件基于現(xiàn)有的nmac函數(shù)源碼,依據(jù)與硬件約定的寄存器和存儲器地址進行編程,共分為三個部分。第一個部分是nmac函數(shù)源碼,實現(xiàn)連接硬件、輸入輸出函數(shù)、連接關(guān)閉等功能。第二個部分為規(guī)則寫入模塊,實現(xiàn)過濾器規(guī)則的界面輸入和傳輸功能。第三個模塊為過濾規(guī)則讀取模塊,實現(xiàn)過濾規(guī)則讀取與顯示功能。

下面將首先介紹過濾器規(guī)則寫入與讀取工作流程,然后再分模塊介紹。

首先需要介紹一下程序的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)——過濾規(guī)則。過濾規(guī)則是一個包含了指針的結(jié)構(gòu)體。該結(jié)構(gòu)體由源mac地址、源IP地址、源端口號、目的mac地址、目的IP地址、目的端口號、動作和指向相同結(jié)構(gòu)體的指針組成。下面是該結(jié)構(gòu)體的截圖。在controller(PC)中,可以由這樣的結(jié)構(gòu)體組成鏈表,表示一系列的規(guī)則。

此外,還需要介紹一個關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。第一個是每次與硬件溝通進行規(guī)則配置、讀取等動作前需要寫入的數(shù)據(jù)。這個數(shù)據(jù)表明了本次是讀取規(guī)則、寫入規(guī)則還是將原有的規(guī)則清除。這個數(shù)據(jù)結(jié)構(gòu)還包含了需要寫入、讀取的規(guī)則數(shù)目。

另外,還有幾個關(guān)鍵數(shù)據(jù)需要說明。它們分別是UM模塊中過濾規(guī)則首地址、存放UM模塊中“規(guī)則數(shù)量”數(shù)據(jù)的地址以及存放上面“過濾規(guī)則包”信息說明結(jié)構(gòu)(rules_packhead)的地址。在程序中,與硬件設(shè)計人員約定好這幾個地址,并在頭文件中預(yù)定義好。

寫入規(guī)則的過程是:首先從界面中輸入規(guī)則各項信息,形成規(guī)則鏈表;寫入“過濾規(guī)則包”信息說明結(jié)構(gòu);寫入規(guī)則。讀取規(guī)則的過程是:寫入“過濾規(guī)則包”信息說明結(jié)構(gòu);讀取UM模塊中規(guī)則數(shù)量;讀取規(guī)則。清除規(guī)則的過程是:寫入“過濾規(guī)則包“信息說明結(jié)構(gòu)。

(2)過濾規(guī)則寫入過程

過濾規(guī)則通過黑屏幕寫入。程序運行后,將會提示。如果選擇輸入規(guī)則,則進入到輸入規(guī)則的界面。進入該界面后,需要分別輸入規(guī)則項。對于每一項,可以選擇輸入或者不輸入。如若選擇輸入,則需按照提示的格式輸入,如果選擇不輸入,則程序?qū)⒆詣由蓴?shù)據(jù),表明該項無效。規(guī)則輸入的過程如圖2所示。

圖2 規(guī)則輸入過程

輸入規(guī)則后,將會形成一個規(guī)則鏈表。寫入規(guī)則函數(shù)將這個鏈表的內(nèi)容復(fù)制到到一個緩沖區(qū)中,然后利用nmac的寫入源函數(shù)將這個緩沖區(qū)的數(shù)據(jù)寫入UM相應(yīng)位置。在寫入UM前,需要讀取UM模塊中現(xiàn)有的規(guī)則數(shù)量,通過約定好的規(guī)則首地址知道新的規(guī)則要寫入哪個地址。

(3)過濾規(guī)則讀取和清楚過程

過濾規(guī)則讀取過程相對比較簡單。首先寫入“過濾規(guī)則包”頭部,說明要讀取過濾規(guī)則。然后讀取UM模塊中的規(guī)則數(shù)量,根據(jù)約定好的規(guī)則頭部地址讀取過濾規(guī)則。讀取后用鏈表存儲,然后在屏幕上顯示即可。

3.2 硬件部分

UM硬件實現(xiàn)分為兩部分:(1)報文識別模塊;(2)規(guī)則寫入模塊。

3.2.1報文識別模塊

(1)信號說明

信號含義如表1和表2所示。

表1 CDP2UM的信號說明表

表2 向CDP的規(guī)則FIFO寫規(guī)則的信號

注意:因為我們采用bypass模式,故um2cdp_rule[29]=1。

(2)狀態(tài)機

L_Idle狀態(tài)UM向發(fā)送cdp2um_tx_enable,然后CDP向UM發(fā)送第一條報文,并跳到CU_FIRST狀態(tài)。

CU_FIRST狀態(tài)讀取第二條報文,其中[47:16]是源 ip,跳到下一個狀態(tài),CU_SECOND等是保留狀態(tài),以便以后對mac地址、端口等做過濾。

CU_FIFTH狀態(tài)向CDP規(guī)則FIFO寫規(guī)則CU_RULE狀態(tài)數(shù)據(jù)復(fù)位:

um2cdp_rule_valid <= 1'b0;

um2cdp_rule_wrreq <= 1'b0;

cdp2um_tx_enable <= 1'b1;

然后回到CU_IDLE狀態(tài)。

圖3 報文識別模塊狀態(tài)機

(3)時序

①CDP2UM的時序

當(dāng)UM模塊資源空閑,有能力從CDP接收一個新的報文時,則給 CDP輸入控制模塊一個發(fā)送使能信號 cdp2um_tx_enable。CDP輸入控制模塊獲得該使能信號后,同時向 UM和輸入輸出FIFO發(fā)送139位寬的報文數(shù)據(jù)cdp2um_data,并發(fā)送一個報文有效信號cdp2um_data_valid,此信號表明了報文的開始、中間和結(jié)束。UM一旦獲得了報文的頭部,就可以取消使能信號cdp2um_tx_enable,直到報文接收完畢。輸入控制模塊給 UM的報文是連續(xù)的。當(dāng)一個報文發(fā)送結(jié)束后,UM可以重新產(chǎn)生發(fā)送使能信號,進行下一個報文的上傳。(參考NetMagic 08 UM設(shè)計規(guī)范)。

②寫rule的時序

UM接收到一個報文尾,且規(guī)則FIFO有剩余空間時,將規(guī)則寫信號 um2cdp_rule_wrreq置高一拍,同時把匹配規(guī)則發(fā)送給CDP輸出控制模塊。

3.2.2規(guī)則寫入模塊

(1)信號說明

表3 規(guī)則寫入模塊的信號

(2)狀態(tài)機

圖4 規(guī)則寫入模塊狀態(tài)機

①UM檢測到ale=1且wr=0,跳到addr狀態(tài)并采樣地址并判斷。如果為自己的地址空間則繼續(xù)往下執(zhí)行。如果不為自己的地址空間則不繼續(xù)往下執(zhí)行而是等待下一次操作;

②如果為自己的地址空間,則跳到wait狀態(tài);

③UM檢測到Cs_n=0&rd_wr=0,則跳到data狀態(tài)讀取數(shù)據(jù);

④UM檢測到片選信號為1之后(data讀取完畢),跳到了idle狀態(tài)。

(3)時序

管理模塊寫UM管理模塊把解析后的命令及數(shù)據(jù)發(fā)送給UM。UM獲得命令及數(shù)據(jù)后,對相應(yīng)的地址空間進行讀寫操作。如果為寫操作,則UM完成寫操作后,只需返回應(yīng)答信號即可。管理模塊時序圖如圖5所示。

圖5 管理模塊時序圖

4 實驗結(jié)果

4.1 modelsim仿真

通過檢查rule的變化判斷是否過濾成功。首先,我們發(fā)的是一條理論上不被過濾的報文,我們可以看到rule從32’b0變成32’b10000000000000000000000000000010(即 30'h20000002),這代表報文正常轉(zhuǎn)發(fā);接著,我們發(fā)了一條理論上要被過濾的報文 , 我 們 可 以 看 到 rule從 32’b10000000000000000000000000000010變 成 了 32’b10001000000000000000000000000010(即 30'h22000002),這代表報文被丟棄。rule的變化過程如圖6所示。

rule第一次變化 rule第二次變化

圖6 rule變化過程

4.2 硬件實測

通過軟件給UM發(fā)送規(guī)則報文,寫過濾IP為 192.168.1.3,經(jīng)過發(fā)送192.168.1.3的IP報文和檢驗接收端是否收到該報文,就可以檢驗規(guī)則報文是否成功寫入和過濾功能是否實現(xiàn)。

測試時,我們設(shè)定接收端PC的IP是192.168.1.2。

注意:輸入端口是port3,輸出端口是port2。也就是說,PC1連接NM的port3,PC2連接NM的port2。注意端口不要接反了,剛開始測試的時候,因為端口接反了,造成測試不成功,及時發(fā)現(xiàn)后,改正回來就OK了。

(1)設(shè)定發(fā)送端的IP是192.168.1.1。

在發(fā)送端PINK接收端,如圖7所示,發(fā)送成功。這是因為IP 192.168.1.1不是我們要過濾的報文IP。

圖7 發(fā)送測試情況

(2)設(shè)定發(fā)送端的IP是192.168.1.3。

在發(fā)送端PINK接收端,如圖8所示,發(fā)送不成功。這是因為IP 192.168.1.3就是我們要過濾的報文IP。而且,這證明了我們的規(guī)則報文也成功寫入UM。

圖8 發(fā)送測試情況

經(jīng)過多次測試,都成功完成了寫入規(guī)則和過濾IP的目標。

注意:輸入端口是port3,輸出端口是port2。注意port3發(fā)到port2要經(jīng)過過濾IP,port2到port3不經(jīng)過過濾IP,但是要建立通路,這個通路是很重要的,剛開始沒有建立這個通路,實驗沒成功;后來增加了這個通路后,完全達到了我們的設(shè)計目標。

5 結(jié)語

通過仿真實驗,驗證了NetMagic基于源IP的報文過濾功能。實驗表明,NetMagic能正確完成設(shè)定的功能,對于匹配規(guī)則的數(shù)據(jù)報文進行過濾,對不匹配規(guī)則的數(shù)據(jù)報文進行轉(zhuǎn)發(fā)。

[1] 曹成周,毛健彪,孫志剛,尹佳斌,林琦,龔小林.NetMagic平臺硬件開發(fā)方法[J].計算機工程與科學(xué),2014.

[2] 孫志剛,李韜.基于可編程實驗平臺NetMagic的路由交換原理實驗教學(xué)[J].計算機教育,2016.

[3] 楊錦,姚望.基于 NetMagic的城域網(wǎng)流量仿真研究[J].電子質(zhì)量,2012.

[4] 毛席龍,彭立宏,孫志剛,李韜.依托NetMagic平臺推動計算機網(wǎng)絡(luò)課程創(chuàng)新實踐[J].計算機教育,2013.

[5] 毛席龍,程輝.基于NetMagic的流媒體傳輸延時抖動均方差估計[J].現(xiàn)代電子技術(shù),2012.

猜你喜歡
規(guī)則信號實驗
記一次有趣的實驗
撐竿跳規(guī)則的制定
數(shù)獨的規(guī)則和演變
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
做個怪怪長實驗
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規(guī)則對我國的啟示
NO與NO2相互轉(zhuǎn)化實驗的改進
主站蜘蛛池模板: 国产sm重味一区二区三区| 直接黄91麻豆网站| 欧美一级夜夜爽| 欧美亚洲欧美| 国产精品成人一区二区| 成人免费黄色小视频| 国产成人免费观看在线视频| 欧洲熟妇精品视频| 国产欧美视频综合二区 | 女人一级毛片| 无码电影在线观看| 午夜无码一区二区三区| 日韩av高清无码一区二区三区| 欧美日韩国产在线播放| 国产91精选在线观看| 久久久91人妻无码精品蜜桃HD | 伊人久久综在合线亚洲91| V一区无码内射国产| 国产一区在线视频观看| 精品成人一区二区| 91精品啪在线观看国产| 72种姿势欧美久久久大黄蕉| 在线精品自拍| 亚洲成人在线免费| 色妺妺在线视频喷水| 99re这里只有国产中文精品国产精品 | 国产一区亚洲一区| 99er这里只有精品| 干中文字幕| 色噜噜综合网| 国产成人av大片在线播放| 91无码网站| 中文字幕伦视频| 精品自窥自偷在线看| 亚洲欧美极品| av在线5g无码天天| 久久国产香蕉| 欧洲精品视频在线观看| 日本人真淫视频一区二区三区| 国产一区免费在线观看| 四虎永久免费在线| 色欲国产一区二区日韩欧美| 色婷婷视频在线| 亚洲另类国产欧美一区二区| 日本a级免费| 国产91在线免费视频| 高清无码手机在线观看| www.日韩三级| 亚洲人人视频| 日本不卡在线播放| 伊人成人在线| 成人综合在线观看| 久久青青草原亚洲av无码| 国产精品永久久久久| 无码丝袜人妻| 福利在线不卡| 伊人狠狠丁香婷婷综合色| 精品国产电影久久九九| 青青操国产| 色哟哟国产精品一区二区| 国产成人狂喷潮在线观看2345| 亚洲 欧美 中文 AⅤ在线视频| 中文字幕免费视频| 亚洲天堂福利视频| 国产一区成人| 91国内视频在线观看| 亚洲精品午夜天堂网页| 欧美一区日韩一区中文字幕页| 亚洲无码高清视频在线观看| 亚洲午夜天堂| 国产性生交xxxxx免费| 色综合天天娱乐综合网| 中国特黄美女一级视频| 国产精品3p视频| 国产成人精品免费视频大全五级| 一区二区理伦视频| 国产黄色片在线看| 国产成人高清精品免费| 午夜福利免费视频| 成人福利在线看| 国产在线观看精品| 国产精品美人久久久久久AV|