關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 基于GAP技術的網絡隔離設備的設計

        基于GAP技術的網絡隔離設備的設計

        作者: 時間:2008-02-16 來源: 收藏

          1 引言

        本文引用地址:http://www.104case.com/article/78879.htm

          隨著電子商務的發展,網絡安全越來越重要。病毒和黑客攻擊造成的損失無法估算,防火墻、殺毒軟件等防范措施都是基于軟件的保護,并不能完全可靠地阻止外界的攻擊,因此迫切需要比傳統產品更為可靠的技術防護措施。GAP技術是一種基于硬件的保護技術。

          2 系統工作原理

          國內外快速發展的GAP技術以物理隔離為基礎,在確保安全性的同時,解決了網絡之間信息交換的困難,從而突破了因安全性造成的應用瓶頸。GAP技術是通過專用硬件使2個或者2個以上的網絡在不連通的情況下實現安全數據傳輸和資源共享的技術。它采用獨特的硬件設計,保證在任意時刻網絡間的鏈路層斷開,阻斷TCP/IP協議及其他網絡協議,能夠顯著地提高內部用戶網絡的安全強度,與防火墻、入侵檢測有很大的區別:防火墻、IDS技術從正面抗擊黑客入侵,而GAP產品以攻擊技術的物質基礎即網絡介質實現隔離,使黑客技術無用武之地。2個網絡(內部網絡和外部網絡)物理斷開,但邏輯相連。GAP的結構如圖1所示。

          

         

          專用隔離硬件與內外網處理單元構成一個GAP系統,隔離硬件由純電路構成,隔離硬件中增加暫存區的設計,滿足了數據傳輸的實時性和傳輸效率要求。筆者在GAP原理的基礎上提出基于FPGA的專用隔離硬件設計的新方案,并對關鍵技術進行了深入研究。

          3 系統方案設計

          3.1 系統結構

          該系統主要由1個超大規模邏輯器件、2個68針P電纜SCSI接口和2個SDRAM構成,系統整體硬件結構如圖2所示。

          

         

          在該系統中,FPGA要集成核心控制器、SCSI協議控制器、SDRAM控制器模塊,核心控制器從SCSI協議控制器獲得二端處理單元的命令,執行相應的動作,如檢查設備、讀寫數據等,而且將SCSI協議控制器與存儲器隔離,在任何時候,1個SCSI協議控制器只能與1個存儲器構成通路。系統中的緩沖區由兩片SDRAM構成,核心控制器通過調用SDRAM控制器IP核對其進行同步操作,從一片讀數據的同時向另一片寫數據,可以完成讀寫乒乓機制功能,有助于提高傳輸速度。專用隔離硬件進行內外網之間大量數據的傳輸,為了保證高速和實時,選用68針的P電纜線,支持16位寬SCSI。為了滿足功能的需要,FPGA選用ALTERA公司的EPlK5OQC208-3,其邏輯門和引腳資源豐富,速度大于50 MHz。其主要特性如下:2.5 V核心電壓,低功耗設計;208引腳,171個可用I/O口;內有l 728個邏輯單元和6個嵌入式RAM塊。

          3.2 SCSI協議控制器的設計

          在SCSI總線上進行任何處理都需要8個總線階段:空閑階段、仲裁階段、選擇階段、重選階段、消息輸入/輸出階段、數據輸入/輸出階段、命令階段、狀態階段。在任何時候,SCSI總線只能處于一個確定的總線階段。階段之聞的前后關聯受到嚴格限制,也就是說并不是每個階段后面都可以跟著任何階段。圖3示出了SCSI總線階段狀態的轉化,如命令和數據階段只能在消息階段之后出現,同樣,消息階段的后面必須緊跟這兩個階段,而不是其他階段。

          

         

          該協議控制器的設計嚴格按照SCSI總線階段轉化過程,由以上分析提出SCSI協議控制器的FP-GA實現方案:由于空閑、仲裁這兩個總線階段的機理簡單,故將其直接放在SCSI模塊中實現,其余每個階段都有相對應的模塊,整個系統軟件由1個頂層模塊和7個平行的底層模塊構成。模塊層次如圖4所示。

          

         

          SCSI模塊有1個有限狀態機,每個狀態對應底層的1個模塊,并用寄存器S_MODE的不同取指來表示不同模塊,通過這個狀態機實現階段轉換、消息處理、命令解釋、數據處理和狀態處理等功能。

          Sel模塊處理選擇階段的時序。啟動器將信號BSY、SEL、ATN和啟動器的ID號以及目標器的ID號置為有效,啟動器隨后釋放BSY信號,經過200ms之后目標器將BSY信號置為有效,再過2個延遲周期后啟動器釋放SEL信號并進入消息階段。

          Resel模塊處理重新選階段的時序。啟動器將信號BSY、SEI I/O和啟動器的ID號以及目標器的ID號置為有效,啟動器隨后釋放BSY信號。最多200ms之后目標器必須將BSY信號置為有效作為響應。

          Msg_out模塊處理消息出階段的時序。啟動器將ATN置為有效,目標器將信號MSG和C/D信號置為有效,I/O信號為無效。這意味著接下來要進入的是消息出相序,啟動器將發出16位寬傳輸消息。發送完信息字節后,啟動器將釋放ATN信號,根據發出的信息確定下一個階段。

          Cmd模塊處理命令階段的命令接收時序。目標器在接收到啟動器80H的消息后進入命令階段。目標器需將MSG和I/O置為無效,將C/D置為有效,接收完命令后,將根據命令判斷接下來要進入的是數據輸入階段還是數據輸出階段。

          Dat模塊處理數據階段的數據接收和發送時序。數據接收時,在命令READ、TESI UNIT READY、INQUIRY、REQUEST、SENSE、READ CAPACITY后都將進入數據進相序。此時目標器將MSG和C/D信號置為無效,將I/O信號置為有效。目標器將發送相應的數據。在命令為WRITE后將進入數據出階段,此時目標器將MSG、C/D和I/O都置為O,啟動器向目標器發送數據,之后進入消息階段。

          Status模塊處理狀態階段的時序。在命令完成后將進入狀態階段,目標器將MSG信號置為無效,將C/D和I/O信號置為有效,并發送命令執行的情況是GOOD還是CHECK CONDITON。狀態階段結束后將進入消息進階段,向啟動器說明一個COM-MAND COMPLETED。至此一個SCSI訪問結束。目標器將進入空閑階段,啟動器將可以通過1個80 H的消息觸發另外一個訪問。

          Msg_in模塊處理消息進階段的消息發送時序。目標器接收到16位寬傳輸的消息后將進入消息進時序。目標器將MSG、C/D以及I/O都置為有效,并發送重復的信息。發送完后目標器將釋放MSG信號,并根據消息確定下一個階段。

          3.3 SDRAM IP核的應用

          SDRAM是一種高速同步動態隨機存儲器,在嵌入式系統中,SDRAM因其價格低、體積小、速度快,容量大等優點而逐漸成為一種主流器件,但SDRAM的控制邏輯復雜,時序嚴格,使用不便,需要控制器提供正確命令來完成其初始化、讀寫和刷新等工作。SDRAM控制器根據SDRAM的內部狀態轉化圖進行設計,而且很多大公司都提供標準SDRAM控制器的IP核參考設計。筆者選用了WINBOND公司的W986432DH型SDRAM,它采用512 Kx4x32位架構,由4個BANK構成,每個BANK對應4 M字節,按行和列尋址,W986432DH的引腳分為控制、地址和數據信號三類。其控制器選用Lattice公司的標準SDR SDRAM IP核,由4個底層模塊sdr_ctrl、sdr_sig、sdr_data、sdr_par和頂層模塊sdr_top組成,如圖5所示。

          

        SDRAM控制器的連接

         

          8dr_ctrl模塊根據SDRAM內部狀態轉化關系建立2個有限狀態機和1個計數器,能產生正確的中間狀態作為sdr_sig模塊輸入。sdr_sig模塊產生面向SDRAM的控制、地址信號。sdr_data模塊實現FPGA與SDRAM之間的數據傳輸。sdr_par模塊完成猝發長度,延時節拍等參數設置,通過在該模塊中設置不同的參數來滿足不同的應用系統。

          sdr__top將底層4個模塊整合成1個可以調用的系統。整個IP核類似于黑匣子,不用詳細了解其內部實現細節,只需了解左邊控制信號的含義,對SDRAM的不同操作通過改變左邊控制信號的狀態即可。

          4 結束語

          本文提出了基于GAP技術的網絡保護設備設計新方案,闡述了主要模塊的實現方法,限于篇幅不能給出具體細節和源代碼。采用1個FPGA替代單片機和SCSI協議控制器,可減少電路數量,降低成本,便于升級。



        關鍵詞: GAP 網絡

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大石桥市| 广水市| 启东市| 余庆县| 图木舒克市| 卓尼县| 溆浦县| 论坛| 东山县| 云安县| 静宁县| 左云县| 盘山县| 洮南市| 将乐县| 漳浦县| 巴林右旗| 尚志市| 襄垣县| 景东| 安多县| 靖安县| 铁岭县| 礼泉县| 桃源县| 方城县| 左权县| 萨嘎县| 富阳市| 塘沽区| 韶关市| 芮城县| 新邵县| 山阳县| 富阳市| 廉江市| 红河县| 游戏| 张北县| 辽阳市| 依兰县|