色综合小说,久久精品中文字幕免费,男人插曲女人身体视频,综合天堂av久久久久久久,亚洲 欧美 自拍 动漫 免费

技術頻道

娓娓工業(yè)
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 基于嵌入式系統(tǒng)的網絡硬件防火墻的實現

基于嵌入式系統(tǒng)的網絡硬件防火墻的實現

時間:2008-04-21 13:45:00來源:ronggang

導語:?本文對網絡防火墻的具體分析,來討論通過嵌入式系統(tǒng)來實現網絡硬件防火墻的過程
1 引言   網絡防火墻是一種控制用戶計算機網絡訪問的軟件或硬件。通過對它的各種規(guī)則設置,使得合法的鏈路得以建立;而非法的連接將被禁止,同時通過各種手段屏蔽掉用戶的隱私信息,以保障用戶的對網絡訪問的安全。目前一般個人電腦是用的軟件防火墻,隨著微電子的快速發(fā)展,我們可以完全利用嵌入式系統(tǒng)來實現硬件防火墻,從而提高系統(tǒng)的網絡訪問性能。 2 網絡防火墻的硬件實現   2.1 網絡防火墻的硬件結構   在本系統(tǒng)中,主芯片采用菲利普的LPC2210,它是一款采用ARM7TDMI的核,工作頻率可高達60M。網絡芯片采用的Realtek公司的RTL8019AS,它是一款10M的網絡芯片。PC機的通信芯片采用Cypress的USB2.0的接口芯片CY7C68013,它可以完成PC機和硬件防火墻的高速通信。在本系統(tǒng)中還提供2M字節(jié)的FLASH和512K字節(jié)的RAM,它們分別由芯片SST39VF160和IS61LV25616AL來實現。系統(tǒng)的硬件結構如圖1:   
  2.2 主芯片LPC2210   LPC2210是基于一個支持實時仿真和嵌入式跟蹤的16/32位ARM7TDMI-S的微控制器對代碼規(guī)模有嚴格控制的應用可使用16位Thumb模式將代碼規(guī)模降低超過30%而性能的損失卻很小。   由于LPC2210的144腳封裝極低的功耗多個32位定時器8路10位ADCPWM輸出以及多達9個外部中斷使它們特別適用于工業(yè)控制醫(yī)療系統(tǒng)訪問控制和POS機 。   通過配置總線LPC2210最多可提供76個GPIO由于內置了寬范圍的串行通信接口它們也非常適合于通信網關協(xié)議轉換器嵌入式軟modern以及其它各種類型的應用。   2.3 網絡通信芯片RTL8019   RTL8019AS網絡芯片是REALTEK公司生產的,基于ISA接口的10M以太網通信芯片。 它采用全雙工方式來進行接收以太網數據,非常容易和微處理器接口。該芯片集成了以太網的物理層以及以太網的收發(fā)器,數據封包形式完全符合IEEE802.3標準。   2.4 USB2.0接口芯片CY7C68013   CY7C68013是Cypress公司生產的一款USB2.0的接口芯片。它內部集成了8051的核,可以單獨對該芯片編程。由該芯片完成USB2.0接口,跟PC機的通信速率可以高達10Mbyte/s。我們利用該款芯片來實現一個數據FIFO,即對微處理器來講,它只要將數據寫入該FIFO,然后該芯片就會將數據按照USB2.0的協(xié)議發(fā)送給PC機。 3 網絡防火墻的軟件實現   在本系統(tǒng)中,軟件一共分為兩個部分:即嵌入式系統(tǒng)實現部分和PC機用戶界面實現部分。嵌入式系統(tǒng)實現部分主要完成對網絡封包的過濾以及完成與PC的人機界面的接口。用戶可以通過USB2.0接口對網絡硬件防火墻進行設置,然后嵌入式系統(tǒng)根據用戶設置的安全規(guī)則來完成對網絡封包進行過濾。   3.1 底層軟件的實現   這部分軟件是網絡硬件防火墻實現的關鍵,它主要完成四個方面的工作,即對網絡封包的過濾,日志的記錄并發(fā)送,對用戶的報警以及跟PC機的接口。在本系統(tǒng)中我們采用實時操作系統(tǒng)UCOS,配合自己編寫的TCP/IP協(xié)議棧來實現對各個網絡層次封包的過濾。   3.1.1 UC/OSII在ARM7下的移植   UCOSII是一個完整、可移植、可固化及可剪裁的占先式實時多任務內核。它用ANSI C編寫,包含一小部分匯編代碼,使之可以供不同架構的微處理器使用。移植該實時操作系統(tǒng)是實現底層軟件的第一步。移植操作系統(tǒng)其實是一件不簡單的事情,它必須要求開發(fā)人員對目標硬件平臺有很深的了解;對UCOS的原理有相當的了解;對所使用的編譯器有較深入的了解。只有具備以上三點,才能成功移植該實時操作系統(tǒng)。要移植UCOS,只要編寫三個文件即可,它們分別是:OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。下面就簡單介紹該移植的實現過程。   第一個是編寫OS_CPU.H。在該文件中主要完成以下幾個方面的工作。首先是幾個數據類型的定義,如INT8U、INT16U、INT16S等,之所以這樣做是因為ANSI C中并沒有明確定義short、int等數據類型的實際長度,它與處理器的類型有關,隱含著不可移植性。代之以移植性強的INT8U、INT16U等數據類型,即直觀又可移植。其次就是完成兩個中斷處理宏的定義,一個是關中斷宏OS_ENTER_CRITICAL( ),另一個就是開中斷宏OS_EXIT_CRITICAL( )??紤]到不是所有版本的C語言都支持C語言級的開關中斷,所以編寫此宏來實現C語言級的開關中斷。最后就是定義棧生長方向和棧的寬度,它們分別用變量OS_STK_GROWTH和OS_STK。   第二個是編寫OS_CPU_C.C。在該文件中主要完成函數OSTaskStkInit( )的編寫,該函數主要完成任務堆棧的的初始化工作,如初始化各個寄存器的狀態(tài),以及用戶添加的一些任務變量等。   第三個是編寫OS_CPU_A.ASM。該文件的是移植的關鍵所在,在本文件中必須完成四個函數的編寫工作,它們分別為OSIntCtxSw( ),OSCtxSw( ), OSStartHighRdy( )和OSTickISR( )。其中前兩個函數是重中之重,它們必須用匯編語言編寫,主要完成任務環(huán)境的切換工作。   在ARM7硬件平臺下移植UCOSII要注意幾個問題,首先是在移植系統(tǒng)函數或者系統(tǒng)宏時要盡量的調用軟件中斷,這樣有助于簡化移植工作;其次在初始化任務堆棧時,可以添加任務變量OSEnterSum這個變量來監(jiān)視中斷開關次數,這是關于移植的一個技巧;最后要注意為了方便編寫中斷服務程序,在移植時還要提供相應的匯編宏來簡化用戶層代碼的編寫。   3.1.2 TCP/IP協(xié)議棧在UCOSII下的實現
  TCP/IP協(xié)議分為四層,分別為應用層、傳輸層、網絡層,物理層。本系統(tǒng)中物理層主要包括8019的驅動程序,網絡層包括IP協(xié)議和ARP協(xié)議,傳輸層主要包括TCP協(xié)議和UDP協(xié)議,應用層主要包括FTP、HTTP、SNMP和一些用戶應用程序。由于該協(xié)議實現很復雜,這也是本系統(tǒng)實現的難點,下面給出該協(xié)議棧實現的函數框圖: 
圖 3
  箭頭表示函數的調用關系,該協(xié)議棧是一個較完整的TCP/IP協(xié)議棧,它提供標準的SOCKET API函數,非常方便用戶來實現INTERNET通信。并集成了簡單的路由協(xié)議,可以跨越網關收發(fā)數據。TCP/TP協(xié)議棧的實現都是通過調用圖2框圖來實現的。   3.1.3 各協(xié)議層下網絡封包過濾的實現   實現了TCP/IP協(xié)議,在該基礎上實現網絡封包的過濾只是個原理的實現問題。在實現網絡封包過濾時,一般不會直接在協(xié)議里面進行數據包的過濾,而是在TCP/IP協(xié)議棧的各個層次下嵌入用戶過濾層,從而實現對改層數據包的過濾。比如要將PING程序的回顯屏蔽掉,只要在傳輸層之上嵌入用戶過濾層,該用戶層作用是,當傳輸層向用戶層提交接收到的以太網數據時,該用戶層必須對所有的IP數據包進行檢查。若檢查到某個IP數據包含有PING請求時,該用戶層就會將該數據包屏蔽掉,即它不會將該數據包提交到網絡層的。若IP數據包正常時,它就會將數據包直接提交到網絡層。這樣,添加了該層協(xié)議之后,就可以對傳輸層的協(xié)議包進行過濾。同樣的道理,可以在各個協(xié)議層下添加用戶過濾層來實現各種協(xié)議數據包的過濾。具體的實現過程見圖4:   
  3.1.4 USB2.0接口模塊的實現   該模塊采用CY7C68013,該芯片本身提供高速FIFO通道來實現通信數據到USB協(xié)議的轉換,只要在程序初始化時,將該芯片置成SLAVE FIFO模式,那該芯片就會扮演一個協(xié)議轉換器的角色。它的工作原理見圖4。   由上圖可以看出,LPC2210只要周期的查詢標志位,來判斷FIFO是滿還是空,如果接收FIFO有數據就立刻將數據讀進來進行處理;若發(fā)送FIFO滿,這時就不能將數據發(fā)送到FIFO中。CY7C68013的初始化程序片段如下:   IFCONFIG = 0xCB; //設置68013工作在SLAVE FIFO模式   PINFLAGSAB = 0x98; //將FLAGA,FLAGB分別設置成FIFO滿和空標志   FIFORESET = 0x02; //復位各個FIFO緩沖   FIFORESET = 0x04;   FIFORESET = 0x06;   FIFORESET = 0x08;   EP2FIFOCFG = 0x00; //將FIFO設置成自動輸出,并是傳輸數據寬度為16位   只要在CY7C68013中添加以上初始化程序,就可以將該芯片變成一個USB協(xié)議轉換器,其傳輸速率可達10Mbyte/S。   3.2 PC機人機界面的實現   該部分軟件可以稱為上位機軟件,主要是在WINDOWS環(huán)境下實現的用戶界面。該用戶界面一共分為四個部分:封包監(jiān)視、日志查詢、控管規(guī)則以及系統(tǒng)設置。這四個部分都是通過USB2.0接口與硬件防火墻進行通信,用戶通過它們就可以很方便的實現對具體網絡封包的過濾,對日志進行查詢以及對網絡控管規(guī)則的設置。   封包的監(jiān)視:該模塊就是指硬件防火墻根據用戶設置的控制規(guī)則對網絡封包進行過濾,當有網絡封包被攔截之后,硬件防火墻會通過USB接口模塊將攔截信息傳給該模塊。該模塊接收到攔截信息后,就會在PC機上以一定的形式顯示出來。   日志管理:該模塊是用來設置查詢條件并顯示查詢結果。該模塊是非常實用的,用戶可以從某個日志文件中查找符合條件的記錄并顯示,這極大的方便了用戶對網絡封包數據的分析。   控管規(guī)則:該模塊是人機界面的最重要部分,它用來設置和顯示應用程序以及網絡數據的控管規(guī)則,這個模塊需要提供對控管規(guī)則進行增加、修改和刪除的功能按鈕。比如,用戶希望對某個IP地址或者IP范圍進行屏蔽,就可以通過添加控制規(guī)則來實現該目的。   系統(tǒng)設置:該模塊其實是一個輔助模塊,由它來設置系統(tǒng)的配置參數。這些參數分為公共設置和報警設置,其中公共設置包括日志設置,是否自動啟動以及是否顯示歡迎界面。報警設置包括攔截時是否用聲音報警和是否閃爍圖標報警等。 4 結語   我們設計的針對個人PC用戶的硬件防火墻,具有成本低,性能優(yōu)越的優(yōu)點,它可以極大的節(jié)約系統(tǒng)資源,為個人用戶提供高效可靠的網絡環(huán)境。隨著網絡的普及,個人網絡硬件防火墻將會有很大的發(fā)展空間,它的出現將極大的保障用戶的對網絡訪問的安全。

標簽:

點贊

分享到:

上一篇:串口設備聯網服務器在電力配...

下一篇:微能WIN-V63矢量控制變頻器在...

傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(m.y3602.cn)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

相關資訊

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號