• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于FPGA的硬件防火墻設(shè)計(jì)

      2017-05-02 23:17:58唐澤坤王修剛宋偉于珊珊劉超
      新校園·上旬刊 2016年10期
      關(guān)鍵詞:防火墻

      唐澤坤+王修剛+宋偉+于珊珊+劉超

      摘 要:本文提出了一種基于FPGA的硬件防火墻的實(shí)現(xiàn)方案,采用FPGA來實(shí)現(xiàn)百兆線速以上的防火墻設(shè)計(jì)。網(wǎng)絡(luò)數(shù)據(jù)在建立連接跟蹤后,由FPGA實(shí)現(xiàn)的快速處理板直接轉(zhuǎn)發(fā),實(shí)現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)的線速處理,通用CPU在操作系統(tǒng)支持下,完成網(wǎng)絡(luò)數(shù)據(jù)連接跟蹤的創(chuàng)建、維護(hù)以及對網(wǎng)絡(luò)規(guī)則表的維護(hù)等工作。

      關(guān)鍵詞:防火墻;FPGA;Verilog HDL;CPU

      一、引言

      防火墻是一種基本的網(wǎng)絡(luò)防護(hù)設(shè)備。它是一種設(shè)置在內(nèi)部網(wǎng)和外部網(wǎng)之間的安全網(wǎng)關(guān),通過安全策略和規(guī)則來控制外部用戶對內(nèi)部資源的訪問,使外部網(wǎng)和內(nèi)部網(wǎng)之間既保持連通性,又根據(jù)規(guī)則間接交換信息。防火墻所采用的硬件設(shè)備必須滿足網(wǎng)絡(luò)處理性能的需求。在早期網(wǎng)絡(luò)中,數(shù)據(jù)速率相對較低,協(xié)議也比較簡單,因此網(wǎng)絡(luò)設(shè)備通常以通用處理器配合分組處理軟件實(shí)現(xiàn)。然而,隨著數(shù)據(jù)速率的不斷提高和協(xié)議的日益復(fù)雜,通用處理器處理能力的增長逐漸落后于數(shù)據(jù)速率的增長,因此,基于通用處理器平臺(tái)的網(wǎng)絡(luò)產(chǎn)品開發(fā)者遇到了性能上的障礙。

      本文針對目前防火墻的設(shè)計(jì)方式提出了一種基于FPGA的硬件防火墻的實(shí)現(xiàn)方案,采用FPGA來實(shí)現(xiàn)百兆線速以上的防火墻設(shè)計(jì)。傳統(tǒng)的基于x86等通用CPU的防火墻無法適應(yīng)當(dāng)前快速增長的網(wǎng)絡(luò)速度,無法實(shí)現(xiàn)線速過濾與轉(zhuǎn)發(fā)。本文采用FPGA結(jié)合通用CPU模式,可以快速處理網(wǎng)絡(luò)數(shù)據(jù),能夠避免NP的不足。網(wǎng)絡(luò)數(shù)據(jù)在建立連接跟蹤后,由FPGA實(shí)現(xiàn)的快速處理板直接轉(zhuǎn)發(fā),實(shí)現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)的線速處理。通用CPU在操作系統(tǒng)支持下,完成網(wǎng)絡(luò)數(shù)據(jù)連接跟蹤的創(chuàng)建、維護(hù)以及對網(wǎng)絡(luò)規(guī)則表(端口黑名單、IP黑名單、端口白名單)的維護(hù)等工作。FPGA硬件板和CPU各司其職,實(shí)現(xiàn)快速轉(zhuǎn)發(fā)的目的。實(shí)踐證明,這是一種兼容性比較好的網(wǎng)絡(luò)安全架構(gòu)。

      二、系統(tǒng)整體設(shè)計(jì)方案

      硬件防火墻分為兩個(gè)數(shù)據(jù)通道,F(xiàn)PGA硬件板承擔(dān)網(wǎng)絡(luò)數(shù)據(jù)的按規(guī)則高速收發(fā)與轉(zhuǎn)發(fā),并按指定規(guī)則要求通過PCI-E將數(shù)據(jù)上傳至x86CPU;x86主控板承擔(dān)慢速通道工作。

      防火墻軟件系統(tǒng)根據(jù)TCP、UDP、ICMP協(xié)議實(shí)現(xiàn)不同的連接跟蹤、跟蹤表項(xiàng)的匹配、跟蹤表的動(dòng)態(tài)維護(hù);x86上防火墻軟件系統(tǒng)通過硬件驅(qū)動(dòng)程序和FPGA硬件板進(jìn)行通訊。

      圖1中所示為FPGA系統(tǒng)設(shè)計(jì)過程中網(wǎng)絡(luò)抓包實(shí)驗(yàn)中所形成的硬件架構(gòu)圖。FPGA網(wǎng)絡(luò)抓包的數(shù)據(jù)可以通過串口發(fā)送至上位機(jī),實(shí)驗(yàn)可以清晰判斷當(dāng)前網(wǎng)絡(luò)收發(fā)架構(gòu)設(shè)計(jì)是否合理,能否準(zhǔn)確地收發(fā)100Mbps的網(wǎng)絡(luò)數(shù)據(jù)。

      在實(shí)現(xiàn)了基本的數(shù)據(jù)收發(fā)后,確定防火墻系統(tǒng)整體架構(gòu)和功能模塊,如圖2所示。

      可以看出在這里主要由網(wǎng)絡(luò)接口、網(wǎng)絡(luò)控制、MAC、外網(wǎng)處理模塊、PC處理模塊、PCI-E與DDR控制模塊幾大部分構(gòu)成。

      三、系統(tǒng)HDL設(shè)計(jì)方案

      系統(tǒng)使用Verilog HDL語言完成設(shè)計(jì)。下面介紹一些主要模塊設(shè)計(jì)。

      1.外網(wǎng)控制

      本模塊的主要功能如圖3所示:

      (1)存儲(chǔ)接收到的外網(wǎng)報(bào)文;

      (2)對接收到的外網(wǎng)報(bào)文進(jìn)行關(guān)鍵字提取和識別;

      (3)對提取的結(jié)果根據(jù)用戶配置進(jìn)行過濾;

      (4)讀取存儲(chǔ)的本幀數(shù)據(jù),根據(jù)本幀過濾的結(jié)果對其進(jìn)行打包處理。

      本模塊時(shí)序圖設(shè)計(jì)如圖4所示。

      2.子模塊報(bào)文緩存功能設(shè)計(jì)

      本模塊的功能是:用于緩存接收到的報(bào)文,等待本報(bào)文的過濾結(jié)果,由報(bào)文封裝模塊讀取此報(bào)文或者丟棄報(bào)文。本模塊實(shí)質(zhì)上是一個(gè)循環(huán)的buffer,其位寬是64,深度是1024,可以存儲(chǔ)5個(gè)最大的1518Bytes報(bào)文。緩存模塊內(nèi)部維護(hù)讀寫地址和可寫的空間,當(dāng)可寫的空間小于1518Bytes時(shí),不再接收數(shù)據(jù)。

      本模塊的結(jié)構(gòu)如圖5所示:

      處理流程為:

      (1)當(dāng)報(bào)文到達(dá)時(shí),首先檢查可寫空間是否大于1518Bytes,如果大于則向RAM中存入次報(bào)文,寫地址,循環(huán)累加,寫完后將本次寫入的數(shù)據(jù)量送給可寫空間維護(hù),如果小于1518Bytes丟棄本報(bào)文,寫地址不變;

      (2)寫空間維護(hù),維護(hù)一個(gè)Counter,累加寫數(shù)據(jù)量,累減讀數(shù)據(jù)量,用RAM的總空間減去這個(gè)Counter就是可寫空間;

      (3)當(dāng)收到報(bào)文封裝模塊的讀使能時(shí),讀地址累加,讀取RAM送出讀數(shù)據(jù)。

      3.子模關(guān)鍵字提取功能設(shè)計(jì)

      本模塊的任務(wù)是:在報(bào)文中提取過濾規(guī)則的關(guān)鍵字,關(guān)鍵字為標(biāo)準(zhǔn)IP協(xié)議數(shù)據(jù)包。

      通過Type識別是否為IP報(bào)文,如果是,繼續(xù)提取Protocol、SIP、DIP;通過Protocol識別是否是TCP或者UDP報(bào)文,如果是,繼續(xù)提取SPort與DPort。報(bào)文結(jié)構(gòu)如圖6所示,但是沒有option域。另外需要獲得本報(bào)文的長度(以Byte為單位)。

      處理流程圖如圖7所示。

      四、設(shè)計(jì)仿真測試

      上述設(shè)計(jì)代碼在綜合后下載至硬件FPGA硬件板后,配合x86端測試軟件進(jìn)行測試。限于實(shí)際條件,采用自循環(huán)數(shù)據(jù)測試數(shù)據(jù)收發(fā),以及指定IP地址和端口地址的過濾測試,測試模式如圖8所示。經(jīng)實(shí)際測試,系統(tǒng)能夠完成百兆數(shù)據(jù)的線速收發(fā)和指定規(guī)則的過濾。

      五、結(jié)束語

      本文基于FPGA的防火墻設(shè)計(jì)完成了基本的設(shè)計(jì)目標(biāo),能夠正常轉(zhuǎn)發(fā)和過濾指定規(guī)則的數(shù)據(jù),能夠準(zhǔn)確進(jìn)行仿真和驗(yàn)證,但仍屬于教學(xué)演示性設(shè)計(jì),后續(xù)可以繼續(xù)進(jìn)行優(yōu)化,使系統(tǒng)更加完善。

      (通訊作者:劉超)

      參考文獻(xiàn):

      [1]夏宇聞.從算法設(shè)計(jì)到硬件邏輯的實(shí)現(xiàn)[M].北京:高等教育出版社,2001.

      [2]王金明,楊吉斌. 數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M]. 北京:電子工業(yè)出版社,2002.

      [3]鄭堯.硬件防火墻中多模式匹配算法的設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.

      [4]唐正軍,李建華.入侵檢測技術(shù)[M].北京:清華大學(xué)出版社,2004.

      [5]Wes Noonan, Ido Dubrawsky(美).防火墻基礎(chǔ)[M].北京:人民郵電出版社,2007.

      [6]胡道元.網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社,2004.

      [7]石晶林,程勝,孫江明.網(wǎng)絡(luò)處理器原理、設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2003.

      [8]肖晨陽.基于FPGA的硬件防火墻設(shè)計(jì)和實(shí)現(xiàn)[D].長沙:湖南師范大學(xué),2009.

      作者簡介:唐澤坤(1994- ),男,山西長治人,大學(xué)本科在讀,電子科學(xué)與技術(shù)專業(yè);劉超(1981- ),男,遼寧凌源人,碩士,講師,研究方向:嵌入式系統(tǒng)。

      猜你喜歡
      防火墻
      全民總動(dòng)員,筑牢防火墻
      水上消防(2020年1期)2020-07-24 09:26:12
      構(gòu)建防控金融風(fēng)險(xiǎn)“防火墻”
      下一代防火墻要做的十件事
      新漢 HENGETM工業(yè)防火墻
      筑起網(wǎng)吧“防火墻”
      中國火炬(2010年10期)2010-07-25 07:43:49
      真正強(qiáng)力四大防火墻
      武义县| 闽清县| 江都市| 利川市| 金川县| 根河市| 勃利县| 桦南县| 镶黄旗| 诸城市| 威宁| 磐安县| 固安县| 高安市| 灌南县| 靖宇县| 留坝县| 车致| 通化县| 建水县| 奈曼旗| 林口县| 子长县| 富蕴县| 屯昌县| 行唐县| 资中县| 东丰县| 太保市| 犍为县| 舞钢市| 司法| 峨眉山市| 汤阴县| 于田县| 灯塔市| 南丹县| 讷河市| 襄城县| 冷水江市| 克东县|