基于FPGA的千兆网络数据采集系统设计与实现
扫描二维码
随时随地手机看文章
摘 要: 介绍了网络流量管理中的网络数据采集系统的设计与实现。以Altera StratixGX系列FPGA为平台,结合Marvell 88E1111网络芯片,完成了网络数据采集系统。本设计采用SoPC技术,利用Altera提供的千兆以太网IP核,完成FPGA系统无缝连接千兆以太网,实现网络数据包采集。
关键词: 千兆以太网;SoPC;MAC;PCS;PMA
随着互联网的迅猛发展,对网络管理的需求日益迫切,而流量监测和统计分析是整个网络管理的基础。为了实现对网络进行综合管理,有必要及时全面地收集、管理网络的流量信息,准确获取网络流量数据,对网络流量态势进行分析,对网络健康状况及未来的发展趋势作出准确判断。然而,随着网络带宽的增加和规模的扩大,大规模网络流量采集面临着数据规模庞大和数据到达速度过快的挑战。为了克服上述困难,通常采用硬件实现完成流量采集功能[1]。当前采用硬件实现的流量采集方法(如Cisco的NetFlow或者InMon的sFlow)都是基于对数据报文周期性地采样来进行流量采集,这种方法存在处理速度缓慢、统计结果不精确、实现代价大、单个流处理访存次数多等缺点。
随着FPGA的发展,其内部资源日益丰富,速度和性能大大提高,特别是内部嵌入了大量IP核[2],这些使得在FPGA上进行高速网络流数据的采集和分析成为可能。流量管理系统主要包含网络数据采集系统、网络数据统计与分析和网络数据分流三部分,如图1所示。
本系统基于FPGA,获取RJ45端口的网络数据,然后对数据进行流量统计和分析,最后根据分析结果,将网络数据包进行分流再重新转发回网络中。
1 网络数据采集系统总体设计
本文基于FPGA,重点研