摘要:随着网络的普及,安全问题正在威胁着每一个网络用户。由于黑客攻击和信息泄漏等安全问题并不像病毒那样直截了当的对系统进行破坏,而是故意隐藏自己的行动CONTROL ENGINEERING China版权所有,所以往往不能引起人们的重视。但是www.cechina.cn,一旦网络安全问题发生,通常会带来严重的后果。目前最常见的网络安全防范工具是软件防火墙,这种防火墙的缺点就是占用有限系统资源,随着防火墙的等级提高,该防火墙将严重阻碍通信的质量。本文对网络防火墙的具体分析,来讨论通过嵌入式系统来实现网络硬件防火墙的过程。
关键词:网络硬件防火墙,嵌入式系统,UCOSII,TCP/IP,USB2.0
1 引言
网络防火墙是一种控制用户计算机网络访问的软件或硬件。通过对它的各种规则设置,使得合法的链路得以建立;而非法的连接将被禁止,同时通过各种手段屏蔽掉用户的隐私信息,以保障用户的对网络访问的安全。目前一般个人电脑是用的软件防火墙,随着微电子的快速发展,我们可以完全利用嵌入式系统来实现硬件防火墙,从而提高系统的网络访问性能。
2 网络防火墙的硬件实现
2.1 网络防火墙的硬件结构
在本系统中,主芯片
2.2 主芯片LPC2210
LPC2210是基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-S的微控制器对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%而性能的损失却很小。
由于LPC2210的144脚封装极低的功耗多个32位定时器8路10位ADCPWM输出以及多达9个外部中断使它们特别适用于工业控制医疗系统访问控制和POS机 。
通过配置总线LPC2210最多可提供76个GPIO由于内置了宽范围的串行通信接口它们也非常适合于通信网关协议转换器嵌入式软modern以及其它各种类型的应用。
2.3 网络通信芯片RTL8019
RTL8019AS网络芯片是REALTEK公司生产的CONTROL ENGINEERING China版权所有,基于ISA接口的10M以太网通信芯片。 它采用全双工方式来进行接收以太网数据,非常容易和微处理器接口。该芯片集成了以太网的物理层以及以太网的收发器,数据封包形式完全符合IEEE802.3标准。
2.4 USB2.0接口芯片CY7C68013
CY7C68013是Cypress公司生产的一款USB2.0的接口芯片。它内部集成了8051的核,可以单独对该芯片编程。由该芯片完成USB2.0接口,跟PC机的通信速率可以高达10Mbyte/s。我们利用该款芯片来实现一个数据FIFO,即对微处理器来讲,它只要将数据写入该FIFO,然后该芯片就会将数据按照USB2.0的协议发送给PC机。
3 网络防火墙的软件实现
在本系统中,软件一共分为两个部分:即嵌入式系统实现部分和PC机用户界面实现部分。嵌入式系统实现部分主要完成对网络封包的过滤以及完成与PC的人机界面的接口。用户可以通过USB2.0接口对网络硬件防火墙进行设置控制工程网版权所有,然后嵌入式系统根据用户设置的安全规则来完成对网络封包进行过滤。
3.1 底层软件的实现
这部分软件是网络硬件防火墙实现的关键,它主要完成四个方面的工作,即对网络封包的过滤,日志的记录并发送,对用户的报警以及跟PC机的接口。在本系统中我们采用实时操作系统UCOS,配合自己编写的TCP/IP协议栈来实现对各个网络层次封包的过滤。
3.1.1 UC/OSII在ARM7下的移植
UCOSII是一个完整、可移植、可固化及可剪裁的占先式实时多任务内核。它用ANSI C编写,包含一小部分汇编代码,使之可以供不同架构的微处理器使用。移植该实时操作系统是实现底层软件的第一步。移植操作系统其实是一件不简单的事情,它必须要求开发人员对目标硬件平台有很深的了解;对UCOS的原理有相当的了解;对所使用的编译器有较深入的了解。只有具备以上三点,才能成功移植该实时操作系统。要移植UCOS,只要编写三个文件即可,它们分别是:OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。下面就简单介绍该移植的实现过程。
第一个是编写OS_CPU