基于S3C2440的嵌入式IPv6防火墻設計(一)
1 引言
本文引用地址:http://www.j9360.com/article/148399.htm在眾多的網絡安全設施中,防火墻是行之有效的重要網絡安全設備,通過對網絡通信進行篩選屏蔽以防未經授權的訪問進出計算機網絡。防火墻是位于可信網絡和不可信網絡之間的一道安全屏障,其最核心的任務就是管理和控制進出網絡的通信量,它可以截獲中途傳輸的數據包并進行處理,然后與事先定義好的安全策略規則相比較,并最終決定轉發或丟棄該數據包。傳統的防火墻通常位于一段網絡的邊界,它可以很好的過濾外界用戶對內部網絡的訪問,但對內部網絡的攻擊卻無能為力。針對此問題近年來關于新型防火墻的研究有很多,如分布式防火墻系統,嵌入式防火墻系統等。這些系統的目的是將防火墻的邊界延伸,使其能夠遍布網絡的每一個終端設備,構建全方位的安全防護網絡。
現有防火墻系統大多是針對于IPv4開發的,由于IPv4地址空間不足,且安全性較差,現有網絡升級到IPv6是大勢所趨。IPv6 作為下一代網絡的基礎以其海量的地址空間和較強的安全特性得到廣泛的認可,因此研究支持IPv6協議的防火墻是很有必要的。
以Intel Xscale IXP425 為核心處理器設計的嵌入式IPv6 防火墻,較好的實現了對網絡中的數據包進行動態過濾。但其成本較高,且IXP425 強勁的網絡處理性能在網絡終端的應用中無法得以完全發揮。
基于U盤的嵌入式防火墻使用方便,設計新穎,但其需要依附于x86 電腦硬件平臺,且U盤的可靠性較差,不適于長期使用。
通用ARM 處理器有較高的性價比和較多的軟件支持,已廣泛應用于生產生活的各個領域。本文通過對IPv6協議、IPv6安全機制和防火墻技術等方面的分析和研究,結合現有防火墻的特點,設計并實現了一個基于S3C2440 的嵌入式IPv6 防火墻系統。下面從硬件設計、軟件設計和核心模塊設計幾個方面介紹該基于S3C2440的嵌入式IPv6防火墻。
2 嵌入式IPv6防火墻的硬件設計
嵌入式IPv6防火墻的硬件設計如圖1所示,其主控芯片采用三星公司的32 位嵌入式處理器S3C2440.該處理器以ARM920T RISC 為核心,標準工作頻率為400MHZ(最高工作頻率:533MHZ),運算能力為450MIPS,有強勁的處理能力。
圖1 嵌入式IPv6防火墻硬件框圖
S3C2440處理器內部結構復雜,功能強大,片上集成了很多硬件資源。如:外部存儲控制器,USB 接口,UART接口,內部定時器,130 個通用I/O接口,24 通道外部中斷源等。如此豐富的接口資源,可以很方便實現硬件電路的擴展。此外S3C2440 支持ARM920T 強大的指令集系統,具有獨立的內存管理單元(MMU),支持NAND Flash啟動引導,可以方便的實現Bootloader和嵌入式操作系統的移植。
系統的存儲單元主要包括SDRAM 存儲器和Flash存儲器。SDRAM為系統程序的運行提供內存空間,本系統采用兩片HY57V561620FTP-H(32M)并聯,容量可達64MB.Flash用來存儲程序,Flash分為NOR型和NAND型2種。NOR型Flash工藝復雜,成本較高,其優點是片內可執行應用程序,多用于存儲系統的Bootloader 引導程序。NAND 型Flash 具有極高的存儲密度和較快的寫入和擦除速度且成本較低,適用于存儲大容量數據和文件。考慮到S3C2440支持NAND Flash 啟動引導,故本系統選用K9F1208U0M-YCB0(64MB)的NAND型Flash作為系統的Flash存儲器。
系統的以太網接口單元采用2 顆10M/100M 自適應以太網控制器DM9000A.DM9000A 芯片是DEVICOM 公司研發的一款低功耗,高度集成,成本較低的單芯片快速以太網芯片,在嵌入式領域中使用非常廣泛。它集成了物理層接口(PHY)、以太網媒體介質訪問控制器(MAC)和外部處理器總線接口等。3.3V的工作電壓,降低了系統的功耗。DM9000A 的高度集成簡化了系統以太網電路的硬件設計,特別適合作為嵌入式IPv6防火墻的網絡接口。
3 嵌入式IPv6防火墻的軟件設計
嵌入式IPv6 防火墻系統的軟件編寫采用了模塊化程序設計的方法。模塊化編程有利于程序設計任務的劃分,使程序易于編寫和調試,便于檢驗和維護。
本系統將啟動代碼(Bootloader),Linux 操作系統(網卡驅動、協議棧),防火墻模塊(智能包過濾,狀態跟蹤等)和WEB管理模塊(Boa服務器)都編寫成獨立模塊。
系統軟件層次結構如圖2所示。
圖2 嵌入式IPv6防火墻軟件層次結構圖。
第一層:啟動代碼(Bootloader)。它是芯片復位后進入操作系統之前執行的一段代碼,主要是為操作系統的啟動提供基本的運行環境,如初始化CPU、初始化存儲器系統等。本系統選用U-Boot 作為系統的Bootloader.
第二層:Linux 操作系統,屏蔽了對底層硬件的具體操作,為上層應用提供了豐富的支持,包括底層設備驅動,網卡驅動和網絡協議棧等。在Linux操作系統下,開發者只需關注于應用軟件編程,大大節省了系統的開發時間。
第三層:防火墻模塊(智能包過濾,狀態跟蹤等),該模塊是嵌入式防火墻系統的核心,其包括動態NAT 模塊:負責對進出防火墻的數據包進行地址翻譯;狀態跟蹤模塊:維護網絡的會話連接信息,協助智能包過濾模塊進行連接狀態的跟蹤,是實現狀態檢測包過濾(動態包過濾)的關鍵模塊;智能包過濾模塊:根據訪問控制表(ACL)對進出網絡的數據包進行過濾,并對過濾規則進行統計,記憶和決策,動態優化過濾規則優先級列表,實現高速高效的包過濾處理功能。
第四層:WEB管理模塊,以CGI語言為基礎,構建Boa服務器平臺。通過該模塊用戶可以方便地查看防火墻日志,添加或修改過濾規則,調整過濾規則的優先級,監控防火墻網絡狀態等。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論