基于FPGA的千兆网络数据采集系统设计与实现
2011-08-20顾薛平
网络安全与数据管理 2011年21期
关键词:系统
朱 晴,吴 宁,顾薛平
(南京航空航天大学 电子信息工程学院,江苏 南京 210016)
随着互联网的迅猛发展,对网络管理的需求日益迫切,而流量监测和统计分析是整个网络管理的基础。为了实现对网络进行综合管理,有必要及时全面地收集、管理网络的流量信息,准确获取网络流量数据,对网络流量态势进行分析,对网络健康状况及未来的发展趋势作出准确判断。然而,随着网络带宽的增加和规模的扩大,大规模网络流量采集面临着数据规模庞大和数据到达速度过快的挑战。为了克服上述困难,通常采用硬件实现完成流量采集功能[1]。当前采用硬件实现的流量采集方法(如 Cisco的 NetFlow或者 InMon的 sFlow)都是基于对数据报文周期性地采样来进行流量采集,这种方法存在处理速度缓慢、统计结果不精确、实现代价大、单个流处理访存次数多等缺点。
随着FPGA的发展,其内部资源日益丰富,速度和性能大大提高,特别是内部嵌入了大量 IP核[2],这些使得在FPGA上进行高速网络流数据的采集和分析成为可能。流量管理系统主要包含网络数据采集系统、网络数据统计与分析和网络数据分流三部分,如图1所示。

图1 流量管理系统
本系统基于FPGA,获取RJ45端口的网络数据,然后对数据进行流量统计和分析,最后根据分析结果,将网络数据包进行分流再重新转发回网络中。
1 网络数据采集系统总体设计
本文基于FPGA,重点研究了前端网络数据采集系统,该系统总体框图如图2所示,网络数据由RJ45端口接入系统,经Marvell 88E1111和千兆以太网核的解析,获取完整的数据包,暂存在指定地址的片内RAM中进行统计和分析。……
登录APP查看全文
