● 摘要
数据包采集是网络监测、分析和网络安全防护等应用的基础和前提。随着网络带宽的急剧增长,10G甚至40G/100G高速链路的大规模部署,传统基于通用网卡的数据包采集方式因存在诸多瓶颈已经难以满足高速网络数据包的复杂处理需求。因此高性能网络数据包采集已经成为网络应用系统中需要重点解决的问题。
本论文介绍了当前数据包采集技术发展和应用情况,详细阐述了通用数据包采集机制的性能瓶颈,评测了当前主流高性能数据包采集方案,研究了高性能网络数据包采集优化技术的设计和实现,并取得了以下一些研究成果:
一、评测了基于服务器网卡的通用数据包采集方案和PF_RING、TNAPI、DNA (Direct NIC Access)、netmap、Intel DPDK等高速采集方案的性能。评测基于RFC2544规范,得出了这些方案的丢包率、吞吐率、时延等详细性能测试报告;在评测的基础上深入研究了高性能数据包采集方案的实现原理和优化技术,总结了这些方案的不足之处。
二、设计和实现了一种基于FPGA技术具有线速性能的采集方案。该方案中硬件子系统采用网络应用加速卡实现。针对当前采集方案的性能瓶颈在新方案软件子系统的实现过程中进行了大量的优化设计;经测试表明:新的方案能实现10Gbps链路数据包线速采集,并且在线速传输过程中系统各项资源占用率都保持在较低的水平。系统数据包采集能力和综合处理性能相较其他机制有大幅提升。
三、实现了一种并行优化处理结构。为充分发挥多核并行处理的优势,本文在上述性能优化的基础上,提出了三方面的并行优化:一是通过硬件加速来提升数据流归并模块效率的方法;二是将DMA控制寄存器组实现为多份来防止出现资源竞争的情况;三是减少串行部分比例,提升系统并行效率。经测试并行优化后能实现万兆链路的线速传输处理,并在处理速率、时延等其他性能参数均满足万兆链路需求。
相关内容
相关标签