基于MPC8245的嵌入式VPN的研究與開發
為使嵌入式系統復位后自動啟動VPN服務,必須進行必要的配置,包括:MAC地址設置、IP地址設置、安全策略和安全參數設置。開發平臺的Davicom網卡驅動程序在系統初始化時無法從網卡固件讀取MAC地址[2],需要在啟動腳本文件中用ifconfig命令設定。由前所述,FLASH前4M保存只讀的PPCboot、內核與RAMDISK壓縮映像,4M后為可讀寫的JFFS2文件系統,因此MAC地址可固化在RAMDISK映像中,而IP地址和安全策略等可變配置參數寫入JFFS2文件系統下的配置文件中。這些配置都寫入Linux的啟動后自動運行腳本,使系統啟動時自動讀取并執行。
為檢測開發板上安全網關的性能,對開發板進行了性能測試,測試拓撲如圖4。
圖4 嵌入式目標機安全網關性能測試拓撲圖
開發板作為安全網關1,板上ETH0、ETH1作為內、外網接口,普通PC機(PIII450MHZ,256M SDRM,安裝Fedora Core 3 Linux操作系統,開發板的主頻為333MHZ)作為安全網關2,主機A、B分別為受保護子網內的主機。測試方法為在主機A上利用“ping –s [size] 主機B”,取100次響應時間的平均值,單位為毫秒。分別測試了ICMP數據包大小分別為56、400、1000、1500字節的情況。為便于對比,同時測試了兩個安全網關均為普通PC機(配置同上)的性能。VPN的保護方式采用ESP隧道模式,加密方式采用預共享密鑰,加密算法為168位密鑰的 3DES-CBC[5]。測得數據如表1所示。
從表中數據可以看出,目標板在啟動IPsec后由于進行了隧道加密處理,傳輸速率比目標板明文傳輸時平均下降35%,說明IPsec處理增加了約 1/3的開銷;另一方面,在同樣啟動IPsec的情況下使用目標板的響應時間小于使用PC機對照組的響應時間,效率分別提高11.6%、19.8%、 23.1%和22.9%,由此可知盡管開發板MPC8245的333MHZ主頻較普通PC機的PIII 450MHZ主頻低,但基于開發板的VPN目標板整體性能相對較高,證明了基于本開發板的VPN安全網關設計方案可行,且運行效率高。
表1 系統性能測試響應時間表(單位:毫秒) |
56 | 400 | 1000 | 1500 | |
未啟動IPsec | 0.511 | 1.363 | 2.615 | 3.736 |
啟動IPsec | 0.862 | 1.959 | 3.850 | 5.738 |
啟動IPsec(對比機) | 0.975 | 2.444 | 5.011 | 7.312 |
5 結束語
本文作者創新點:實現基于HHPPC8245開發平臺的嵌入式Linux 2.6內核移植和嵌入式IPsec VPN安全網關設備的開發全過程,并給出了開發后的嵌入式VPN網關性能測試數據,經實際使用表明,開發的嵌入式VPN網關設備性能穩定,效率高,可靠性好。
參考文獻
[1] 王蕾、陳工新等.基于ARM-Linux的嵌入式系統GUI開發研究[J].微計算機信息,2007,10-2,122-124
[2] DENX Software Engineering, http://www.denx.de, 2005
[3] Karim Yaghmour著,韓存兵,龔波譯。構建嵌入式LINUX系統[M]。北京:中國電力出版社,2004
[4] 周全,都思丹,王自強。應用處理器PXA255上的嵌入式Linux開發[J]。計算機應用,2004, 24(3):158-160。
[5] Matija Nalis, Fridtjof Busse, Uwe Beck等. IPsec-HOWTO[Z]. http://www.ipsec-howto.org/
評論