亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-11-17 05:04:28余慶豐
        關(guān)鍵詞:接收端報文端口

        ◆王 鵬 余慶豐

        (61764部隊 海南 572000)

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

        ◆王 鵬 余慶豐

        (61764部隊 海南 572000)

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

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

        0 引言

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

        1 實驗基本原理

        讀取報文的IP部與設(shè)定的過濾IP進(jìn)行比對,匹配的報文就丟棄不轉(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)繕?biāo)

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

        (1) 軟件測試

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

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

        (2)硬件測試

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

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

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

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

        2.2 實驗拓?fù)?/h3>

        圖1 實驗拓?fù)鋱D

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

        2.3 實驗拓?fù)?/h3>

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

        3 實驗詳細(xì)設(shè)計

        3.1 軟件部分

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

        軟件的功能是與硬件進(jìn)行溝通,往硬件UM部分寫入防火墻規(guī)則,并讀取相關(guān)信息。本軟件基于現(xiàn)有的nmac函數(shù)源碼,依據(jù)與硬件約定的寄存器和存儲器地址進(jìn)行編程,共分為三個部分。第一個部分是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)。第一個是每次與硬件溝通進(jìn)行規(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ī)則,則進(jìn)入到輸入規(guī)則的界面。進(jìn)入該界面后,需要分別輸入規(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ā)送使能信號,進(jìn)行下一個報文的上傳。(參考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)的地址空間進(jìn)行讀寫操作。如果為寫操作,則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的目標(biāo)。

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

        5 結(jié)語

        通過仿真實驗,驗證了NetMagic基于源IP的報文過濾功能。實驗表明,NetMagic能正確完成設(shè)定的功能,對于匹配規(guī)則的數(shù)據(jù)報文進(jìn)行過濾,對不匹配規(guī)則的數(shù)據(jù)報文進(jìn)行轉(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.

        猜你喜歡
        接收端報文端口
        基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        基于擾動觀察法的光通信接收端優(yōu)化策略
        頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
        一種端口故障的解決方案
        一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
        新能源科技(2021年6期)2021-04-02 22:43:34
        基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        端口阻塞與優(yōu)先級
        ATS與列車通信報文分析
        宅男666在线永久免费观看| 亚洲av午夜福利一区二区国产| 日本少妇熟女一区二区| 中文人妻熟女乱又乱精品| 99久久亚洲精品无码毛片| 国产视频网站一区二区三区| 一区二区三区四区午夜视频在线| 国产午夜激无码av毛片不卡 | 9久9久女女热精品视频免费观看| 饥渴少妇一区二区三区| 国产自拍高清在线观看| 亚洲av无码av男人的天堂| 国产91吞精一区二区三区| 亚洲天堂av中文字幕| 久久天天躁狠狠躁夜夜av浪潮| 一本加勒比hezyo无码人妻| 国产精品国产三级在线高清观看| 日本女优禁断视频中文字幕| 欧洲成人一区二区三区| 国产成人av 综合 亚洲| 无码吃奶揉捏奶头高潮视频| 成人大片免费在线观看视频| 国产一精品一av一免费| 国产91中文| 少妇激情一区二区三区久久大香香| 国产精品一区二区三区在线免费 | 亚洲一区二区综合精品| 国产尤物精品视频| 国产一级农村无码| 福利视频自拍偷拍视频| 亚洲成av人片一区二区密柚| 97se亚洲国产综合自在线| 国产91第一页| 日本成年一区久久综合| 国产精品欧美一区二区三区| 国产精品久久1024| 国产另类av一区二区三区| 99久久亚洲精品日本无码| 国产精品调教| 亚洲在中文字幕乱码熟女| 人成午夜大片免费视频77777|