这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » FPGA防火墙系统设计 V2.0(1)

共1条 1/1 1 跳转至

FPGA防火墙系统设计 V2.0(1)

工程师
2008-07-13 11:20:38     打赏
1.      系统介绍

本系统由服务器软件控制平台和fpga硬件处理系统组成,其中fpga硬件处理系统是整个系统的核心部分。系统管理员通过服务器的软件控制平台可以对fpga硬件处理系统进行即时的配置,fpga硬件处理系统按照系统管理员的配置进行工作,并会在检测到异常情况或者检测到用户敏感的流量或者数据包的时候通知服务器,服务器会向管理员发送通知。管理员可以在服务器软件平台上做进一步的分析处理。

1.1       系统功能

本系统可以实现对10M/100M/1000M网络中流经该系统的各种类型的数据包进行流量统计、匹配过滤、捕获截取以及发送数据包等功能,具体如下。

Ø        流量统计:本系统能够对网络中的各类型数据包流量、各主机通信流量、通信流量与时间段的关系以及用户所关心的特定数据包类型进行流量统计。

Ø        匹配过滤:本系统能够根据管理员定义的过滤规则来对流经的数据包进行转发、捕获或者直接丢弃等处理。

Ø        流量控制:本系统能够针对流量统计模块提供的流量信息,决定相应的流量控制策略,对特定的主机进行流量控制。

Ø        捕获分析:本系统能够捕获网络中特定的数据包,进行分析,并可以发送给服务器由上层软件做进一步分析,并报告给系统管理员。

Ø        设备测试:本系统能够配置为设备测试,可以在网络中发送用户需要的数据包类型,并根据返回的数据包来测试网络中其他设备的性能。

以上是系统的基本功能,在实现以上功能的基础上还可以实现更多的扩展功能,例如修改和伪造数据包,监听可疑用户,控制网络流量,屏蔽特定的服务器等。

1.2       性能指标

网络流量:10M/100M/1000M自适应

丢包率:小于0.05%

支持网络类型:以太网

说明:以上为系统最终完成后预计的目标,系统最终的性能也与系统的硬件平台有关,经过大量完备的测试后才能确定。

1.3       应用环境

现阶段设计的系统主要用在局域网入口,用来检测并过滤来自外部的恶意攻击,保护局域网内的用户,统计分析网络的流量情况,控制调整局域网的流量,过滤敏感的内容,监听可疑用户,并可以作为测试设备来测试局域网内其他网络设备的性能。

 

图1.1:系统应用环境

如果最后实现的硬件平台支持,系统可以应用在主干网上,对主干网的数据包进行转发、过滤和捕获等处理,并可以对主干网的流量进行流量统计。

1.4       开发环境 1.4.1.   软件环境

开放过程中主要使用了以下软件环境:

UtraEdit 13.10

Xilinx ISE 8.2i

Xilinx EDK 8.2i

ModelSim SE 6.1b

Microsoft Office Visio 2003

Widpackets OmniPeek

1.4.2.   所需硬件平台

由于系统中需要处理器来对fpga进行初始化配置,并与服务器控制台进行通信向服务器发送数据和对fpga进行即时的配置,所以我们的需要有内部嵌入PowerPC内核的fpga。同时在处理的过程中需要把一些捕获的数据包缓存在SDRAM 或者DDR SDRAM,所以需要容量较大SDRAM。另外还需要硬件平台有两个网口(一个采用开发板上的网口,另外一个需要制作具有一个以上网络接口的扩展板)。所以我们需要在Virtex-II Pro开发平台上来实现我们设计的系统。

2.      系统结构图

图2:系统结构图

系统各模块说明:

(1)     PowerPC处理器模块,对fpga进行初始化配置,通过串口和主机通信,接收主机发送的命令并向主机发送数据。

(2)     Configure interface,fpga逻辑与处理器的接口模块。

(3)     tri_mode_eth_mac_locallink,是xilinx 使用IP 核tri_mode_eth_mac做的一个参考设计,把从物理芯片MII信号转换成系统所需的数据信号。

(4)     Preprocess,预处理模块,对数据包进行预处理。其包含三个子模块。

HD_RMV子模块:把包头为ISL、VLAN和MPLS的数据包的包头去掉。

LEN_CAL子模块:计算数据包的字节长度。

FC子模块:1024 x 36的fifo,缓存数据包并丢弃错误包。

(5)     Flow statistic, 流量统计模块,对局域网内的数据包流量进行统计。

(6)     Key generator,从数据包中提取匹配关键字,并转发包至drop模块。

(7)     CAM interface, CAM接口模块,把key_gen模块生成的关键字在CAM中进行匹配,并根据匹配结果标记对数据包的处理方式。

(8)     CAM模块,32 x 256的CAM,存储匹配规则进行关键字匹配。

(9)     Drop,包过滤模块,根据cam_if标记的对数据包的处理方式来对数据包进行处理。我们目前设计的系统可以支持32种处理方式,在V2.0中我们可以使用了过滤和转发两种方式,对一个流的数据包有三种处理方式:直接通过、直接丢弃、部分丢弃。这样就可以对某个主机或者某个主机的某个端口的数据实施阻止,实现对局域网流量的控制。




关键词: 防火墙     系统     设计     进行     流量     数据     网络     模块    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]