本文提出了一種基于FPGA的硬件防火墻的實(shí)現(xiàn)方案,采用了FPGA來實(shí)現(xiàn)千兆線速的防火墻。傳統(tǒng)的基于X86等通用CPU的防火墻無法支撐快速增長的網(wǎng)絡(luò)速度,無法實(shí)現(xiàn)線速過濾和轉(zhuǎn)發(fā)。本文在采用FPGA可編程器件+通用CPU模式下,快速處理網(wǎng)絡(luò)數(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ù)等工作。FPGA硬件板和CPU各司所長,實(shí)現(xiàn)快速轉(zhuǎn)發(fā)的目的。 本文設(shè)計(jì)了基于FPGA的硬件板的硬件規(guī)格,提出了硬件連接跟蹤表的存儲(chǔ)模式,以及規(guī)則表的存儲(chǔ)模式和定義等; 防火墻系統(tǒng)軟件采用NetBSD操作系統(tǒng),完成了硬件板的NetBSD的驅(qū)動(dòng);在軟件系統(tǒng)完成了新建連接的建立、下發(fā)、老化等工作;在連接跟蹤上完成了規(guī)則的建立、刪除、修改等工作。 本文完成了防火墻的實(shí)現(xiàn)。實(shí)現(xiàn)了基于連接跟蹤的包過濾、地址轉(zhuǎn)換(NAT),設(shè)計(jì)了連接跟蹤的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),包過濾的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)等,重用了NetBSD操作系統(tǒng)的路由。本文針對地址轉(zhuǎn)換應(yīng)用程序的穿透問題,新增了部分實(shí)現(xiàn)。 在DoS攻擊是一種比較常見的攻擊網(wǎng)絡(luò)手段,本文采用了軟硬件結(jié)合的方法,不僅在軟件部分做了完善,也在硬件部分采取了相應(yīng)的措施,測試數(shù)據(jù)表明,對常見的Syn洪水攻擊效果明顯。 在實(shí)踐過程中,我們發(fā)現(xiàn)了NetBSD操作系統(tǒng)內(nèi)核的軟件缺陷,做了修正,使之更完善。 經(jīng)過測試分析,本方案不僅明顯的優(yōu)于X86方案,和基于NP方案、基于ASIC方案比較,具有靈活、可配置、易升級的優(yōu)點(diǎn)。
標(biāo)簽:
FPGA
硬件
防火墻
上傳時(shí)間:
2013-06-21
上傳用戶:zxh1986123