微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MPC8245的嵌入式VPN的研究与开发

基于MPC8245的嵌入式VPN的研究与开发

时间:03-24 来源:互联网 点击:

空间有限,为节省资源、加快启动速度,在选择内核编译选项时只需选择系统运行必须的模块,使内核尽量精简。本系统的内核应支持的文件系统为EXT2和JFFS2,网络协议需包括AH、ESP等IPsec协议,以及相关的加密、认证等算法。

3.3 引导装载程序PPCboot的分析与实现

引导装载程序的基本功能包含:初始化时钟、FLASH、SDRAM、串口等硬件,实现tftp通信协议,从宿主机下载内核映象、RAMDISK映象并烧写到flash、启动内核等。核心板上包含2片2MB的flash,第一片地址空间是FF800000~FF9FFFFF,第二片是 FF000000~FF1FFFFF,PPCboot位于地址0xFF900000处,硬件上设置成与地址0xFFF00000重叠。由于MPC8245 处理器的复位向量是0xFFF00100,因此开发板的复位向量相当于在第一片FLASH的0XFF900100地址处。开发板加电后执行 PPCboot,进行硬件初始化,随后将Linux内核解压缩到SDRAM的0xC0000000处,将RAMDISK解压缩到0xC0A00000处,最后将控制权交给Linux内核。FLASH和SDRAM空间分布如图3所示。

图3 FLASH和SDRAM空间分布示意图

3.4 文件系统的分析与实现

出于稳定性和成本考虑,嵌入式系统一般都不使用硬盘,而用FLASH代替,RAMDISK文件系统的压缩映象保存在FLASH上,系统复位时由引导装载程序解压、加载到SDRAM。本系统采用8M的RAMDISK(压缩前),其中目录主要包含/bin、/sbin、/etc、/lib、/dev、 /proc等,应用程序主要包含:精简的Shell命令集BusyBox、VPN的应用层配置工具IPsec-Tools、Linux-2.6内核的模块操作工具module-init-tools。在宿主机上使用交叉开发工具编译,为提高运行效率、节省存储空间,PPC目标代码链接时选用静态链接,并用 powerpc-linux-gnualtivec-strip精简。

FLASH上的文件系统一般采用JFFS2。JFFS2是针对以闪存为存储介质的嵌入式文件系统,充分考虑了闪存的物理局限性,具有防崩溃、负载平衡、垃圾收集等功能,且源代码公开,易于学习和使用。在FLASH的第4M~32M空间上创建JFFS2文件系统(前4M用于保存PPCboot、内核和 RAMDISK压缩映象),并在系统启动脚本中将其挂载到/jffs2目录。

4 基于MPC8245的嵌入式Linux VPN的实现和性能测试

PPCboot、内核与RAMDISK文件系统映象生成后应烧写入FLASH。PPCboot的烧写必须借助JTAG工具,烧写到地址 0XFF900000处。PPCboot正常启动后用tftp命令将远程开发机上的内核映象下载到目标板地址800000处,用fp命令烧写;同样,将远程开发机上的RAMDISK映象下载到目标板A00000处,用ff命令烧写。以上工作完成后嵌入式Linux目标系统便能正常启动,并返回 BusyBox的Shell提示符界面。

为使嵌入式系统复位后自动启动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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top