基于fpga防火墙系统设计_第1页
基于fpga防火墙系统设计_第2页
基于fpga防火墙系统设计_第3页
基于fpga防火墙系统设计_第4页
基于fpga防火墙系统设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FPGA系统设计 系统介 系统功 性能指 应用环 开发环 环 开发进 系统结构 片上系统设 设计说 设计截 系统设 FPGA逻辑模块详细设 功能说 模块框 流量统计模块 功能说 模块框 功能说 模块框 CAM接口模块 功能说 模块框 CAM模块 功能说 模块框 功能说 模块框 功能说 模块框 仿真测 板上调 工作总 系统应 展 参考文 系统介本系统由服务器控制平台和fpga硬件处理系统组成,其中fpga硬件处理系统是整个系统的部分。系统管理员通过服务器的控制平台可以对fpga硬件处理系统进行即时的配置,fpga硬件处理系统按照系统管理员的配置进知服务器,服务器会向管理员发送通知。管理员可以在服务器平台上做进一系统功本系统可以实现对10M/100M/1000M网络中流经该系统的各种类型的数据包服务器由上层做进一步分析,并报告给系统管理员。以上是系统的基本功能,在实现以上功能的基础上还可以实现的扩展功能,例如修改和数据包,可疑用户,控制网络流量,特定的服务器性能指网络流量:10M/100M/1000M丢包率:小于支持网络类型:以太应用环现阶段设计的系统主要用在局域网,用来检测并过滤来自外部的攻过滤敏感的内容,可疑用户,并可以作为测试设备来测试局域网内其他网络分分析服务互联网系统计分开发环环开放过程中主要使用了以 环境UtraEdit13.10XilinxISE8.2iXilinxEDKSE6.1bOfficeVisio2003WidpacketsOmniPeek所需硬件平fpga信向服务器发送数据和对fpga进行即时的配置,所以的需要有嵌入PowerPC内核的fpga。同时在处理的过程中需要把一些捕获的数据包缓存在SDRAMDDRSDRAMSDRAM。另外还需要硬件平台口的扩展板。所以需要在Virtex-IIPro开发平台上来实现设计的系统系统结RXCLIENTTXCLIENT348TXCLIENTRXCLIENTconfiguredata3965271RS232serialPowerPC处理器模块,对fpga进行初始化配置,通过串口和主机通收主机发送令并向主机发送数据。Configureinterface,fpgatri_mode_eth_mac_locallink,是xilinxIPtri_mode_eth_mac做的一个参考设计,把从物理MII信号转换成系统所需的数据信号。HD_RMVISL、VLANMPLS的数据包的包头去掉。LEN_CAL子模块:计算数据包的字节长度。FC子模块:1024x36fifoFlowstatistic,KeygeneratordropCAMinterface,CAMkey_genCAM中进行CAM模块,32x256的CAM,匹配规则进行关键字匹配Drop,滤模块,根据cam_if标记的对数据包的处理方式来对数据包进行处理。目前设计的系统可以支持32种处理方式,在V2.0中可以使用了部分丢弃。这样就可以对某个主机或者某个主机的某个端口的数据实施,实片上系统设设计系统主要由两大部分组成,分别是以处理器PowerPC405内核为的嵌入PPC405PLBOPBPLB2OPBbridgeRS232_Uart、PLBGPIOIPIP核。另一部分是进行流量fpgaverilogHDL语言开发,XilinxMACCoreCAMCoreXilinxISE开PowerPC405处理器平台上进行开发。RJ45PS2接口连接键盘,作为片上系总线与PS2RS232_Uart以及自己开发的IP核等低速设备连接系统的可以ram中运行。设计截设计综合结系统设根据系统设计的需要,需要使用fpga内置的处理器PowerPC在系统启通收主机发送令,对硬件逻辑进行即时的配置,并且能够向主机发送系统的的任务主要可分为:1.对系统初始化配置;2.与用户或者服务器控制台交互;3可以进行匹配、流量统计和流量控制。系统初系统在上电工作时或者复位后由对系统进行初始化配置。包括对MACCore的配置、数据包长度阈值的配置、CAM的配置、处理方式的配置和对流量上电或者复位后运行在处理器上的对硬件逻辑里的寄存器进行初始化配OPBIPmyfirewall的与硬件逻辑的CONF_IF模块的相应端口相连PPC通过总线对myfirewall中的寄存器直接进cpu_addr_cc cpu_wdat_cc5.8与用户进行交通过串口连接到服务器来对用户显示系统的工作状态,并通过键等输入设备的输入或者通过串口接收服务器发送令来对与用户进行交互。S2串口实时的向服务器发送工作状态等信息,并可以从串口接收数据。处理器PowerPC,并由处理器对fpga进行配置,使系统在工作时从每个流经的数CAM中去匹配。然后根据匹配匹配、流量结果和配置的处理方式来决定对数据包的处理方式。可以灵活地配置匹在流量管理中,通过对硬件逻辑进行配置使硬件逻辑可以按照的配将统计结果记录在相应的寄存器中。通过硬件逻辑寄存器中的统计信息地外来的或者网络的。fpga逻辑模块详细设预处理模块pre_prcs_top模块由三个子模块组成:hd_rmvlen_cal和fc功能说hd_rmv模块:a)32b)ISL,VLANMPLSlen_cala)计算数据包的长度b)fc模块 a)丢弃过长、过短和错误的数据包b)模块框rxfifo pre_prcs_top模块由三个子模块hd_rmv,len_cal和fc组成,其框图如下rmveopcalcalepkt模块接口信号定接口信方功能描系统时钟,系统复位信号,与tri_mode_eth_mac_locallink模块的接口信MACcorefifoflow_sts模式选择,eopbyte00:40110Pushbackconf_ifppcppcppcppcppcppc流量统计模块功能说sipdipspdp提供powerpc接口用以流量信模块框模块接口信号定

说明:功能描述为空的信号表示已 面模块中描述接口信方功能描系统时钟,系统复位信号,接口信方功能描与pre_prcs_top模块的接口信keyst_eop_st_dat_keyst_mod_keyst_dvld_keyconf_if关键字产生模块功能说flow_stskeycam_if模块框]模块接口信号定说明:功能描述为空的信号表示已 面模块中描述接口信方功能描系统时钟,系统复位信号,flow_stsdrop接口信方功能描cam_ifKey头(statofkey_eok_ciKey尾(endofKeyKeyCAM接口模块功能说key_genkey144camdrop模块框

模块接口信号定说明:功能描述为空的信号表示已 面模块中描述接口信方功能描系统时钟,系统复位信号,key_gencamDataincamComparedatain接口信方功能描 用来CamcamdropCamCAM模块功能说3225632cam_if模块框模块接口信号定说明:功能描述为空的信号表示已 面模块中描述接口信方功能描系统时钟,cam_if接口信方功能描包处理模块功能说cam_if328Tri-ModeEthernetMACLogiCORE模块框

模块接口信号定说明:功能描述为空的信号表示已 面模块中描述接口信方功能描系统时钟,接口信方功能描系统复位信号,key_gencam_ifconf_if与tri_mode_eth_mac_locallink模块的接口信处理器配置模块功能说从ppc单元接收配置信息,对fpga逻辑进行配置。包括配置len_cal、cam_if、drop模块。模块框UC-]]说明:功能描述为空的信号表示已 面模块中描述接口信方功能描系统时钟,系统复位信号,UCII接口信方功能描len_calcam_ifdrop系统寄存器定LEN_CAL模0x00DefaultR0x01shortpacketDefaultShortpacket0x02longpacketDefaultLongpacket0x03shortpacketDefaulttRShortpacket0x04longpacketDefault RLongpacketCAM_IF模0x10CamwriteDefaultRTheaddressofthedatatobewritetoCAM.Mustbewritenafter0x11-0x11ThedatatobewritetoDefaultThedatatobewriteto0x12ThedatatobewritetoDefaultThedatatobewritetoSip[15:0]/0x1AResulttableDefaultRedandwrite RPacketdropcontrol.SampleSampleenablecontrol0:notenableRTheaddressofthe0x1BmacmaskDefaultR3sipmatchenable2dipmatchenable1spmatchenable0dpmatchenableOneormoreofthefourbitscanbe10x1CThesampleDefaultsampleSampleenableIfthecorrespondingbitis1,andthesampleisenabled(bit11ofregister1Ais1),thepacketwillbedroped.Thebitisdeterminedby:FLOW_STS模0x30sd_slectDefaultRSelectwhattobestatistic:0001:selectsip,0010:selectdip,0100:selectsp,1000:selectdpOnlyoneofthefourregistershouldbe1.Ifmoreofthemis1,thenthehigherbithaveahigherpriority.Ifallofare0,thensipis0x31init_startDefaultR0WInitialthestatisticmemoryMustbewriteaftersystemWrite1or0bothmean0x32ppc_read_addrDefaultW PpcmustwritethisregisterbeforereadstatisticWrite1or0bothmeanRWPpcreadaddress0x33starttimeDefaultStarttimeofthe0x34starttimeDefaultStarttimeoftheThetimeunitis:0x35bytecountDefaultbytecountofthe0x36bytecountandpacketcountDefaultbytecountofthepacketcountofthe0x37packetcountDefaultPacketcountofthe0x38currenttimeDefaultCurrenttimeofthe0x39currenttimeDefaultcurrenttimeoftheThetimeunitis:MAC_IF模0x40MACcoreconfigureDefaultMACcoreconfiguredata.Formoredetail,pleaserefertopage93ofXilinx0x41MACcoreconfigureMACcoreconfiguredata.Formoredetail,pleaserefertopage93ofXilinx 0x42MACcoreconfigureMACcoreconfiguredata.Formoredetail,pleaserefertopage93ofXilinx 0x43MACcoreconfigureMACcoreconfiguredata.Formoredetail,pleaserefertopage93ofXilinx:0x44MACcoreconfigureMACcoreconfiguredata.Formoredetail,pleaserefertopage93ofXilinx:仿真测IPIP地址、源端口、目的端口、特定长度的数据包进行过滤。IP或端口的数据包予以丢弃,对长度不在规定范围内的包也予以丢IP192.168.0.2,端口为32IP地址为192.168.0.3644615369个数据包如下(为观测方便每个数据包的最后一个数据值为该报的序列12345 89当配置寄存器使得当所有地址匹配时才滤出数据包,通过观察定义的数据,可知包3与包7将会被丢弃。从 仿真结果,可以看到包3与包7确实已经被丢弃了,当配置寄存器使得当源、目的IP地址匹配时才滤出数据包,通过观察定义数据,可知包2、包3与包7将会被丢弃。 仿真结果,可以看到包2、包3与7当配置寄存器使得当目的IP地址匹配时才滤出数据包,通过观察定义的数据,可知包2、包3、包7与包8将会被丢弃。从仿真结果,可以看到包2、包3、包78确实已经被丢弃了,其他包被转发。板上调在设计上本系统有RX和TX两套,RX负责进入局域网的数据,TX负责从局域网出去的数据。这就需要两个PHY片两个MAC核,但是限与开发板的限制(只有一个PHY片一个RJ45网口)只做了一套。因此在调试的时RXTX两套逻辑是一模一样的。调试用到了如下工具:装有windows系统的PC机、双绞线(五类交叉线、WidpacketsOmniPeek发包抓包。如下图所示:PowerPowerUSBconfigureRJ45networtPS2SeriousPowersupplyUSBconfigureportFPGARJ45networkport100MPCPC机上用抓包和发包PS2interface用来接键盘,向系统输入数据,配置寄存器。SeriousportFPGA运行情况。PS2口代码,测试串口的可用性。结果:已经成功。第三步:烧写硬件代码+代码+串口代码+PS2代码。结果:能够读写寄存器、系统PC工作总现阶段是系统的第二版,在第二版中完成了对整个系统的设计,实现了widowspc机上应用串口通信软XUPVirtex-IIProDevelopmentSystem硬件平台上进行DDRSDRAM首先对设计进行了比较充分的仿真测试,在中模拟真实数据环境对系统功能进行了测试,表明完全达到了设计初期目标;其次,将设计方案综能够到FPGA的bit文件,在100M的网络环境中用WidpacketsOmniPeek发包在开发板上对系统进行了测试测试表明各种功能系统应由于本系统内核包括了PowerPc硬核因此可以在PowerPc中开发应用,流量统计:提供局域网所有主机的流量统计报表报告给网络管理员,同时根据选择的处理方式对改主机进行断网或:可以设定特定的,对应用特定端口通信的进行控制。:可以设定特定的,将从该的ip地址发送过应用至少可以实现以下具体的应用: 2)检测:可以将Snort规则配置到本系统的规则中,对有可能的数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论