基于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/
评论