高速网络(面向10Gbps-100Gbps)数据包的实时捕获与快速包处理技术,对于网络安全分析具有重要意义。目前单核CPU对网络数据包的实时处理和分析能力有限,高速网络流量常采用负载均衡技术由多核来并行处理。目前多采用软件实现负载均衡,但这种方式难以处理高速数据流且引入延时较大;其它硬件实现方法,或不能达到足够好的性能,或其ASIC(专用集成电路)功能定制缺乏灵活配置的功能,高速网络数据包处理难以达到线速,在应用中具有一定的局限性。
为解决上述问题,中科院声学所国家网络新媒体工程技术研究中心博士生赵军与郭志川研究员、曾学文研究员、宋曼谷助理研究员,通过网络数据包的五元组信息及CRC32算法提出了一种基于FPGA(Field Programmable Gate Array)的硬件负载均衡系统实现方法,可以由FPGA高速接收数据包、单路处理10Gbps或25Gbps数据并以线速均衡分配到服务器的各个CPU核中,配置灵活。该方法延时低,具有较好的均衡效果,且相同业务分配到同一核,减少了软件处理相同业务的跨核操作,有利于提升系统性能。
相关成果近期发表于通信领域国际期刊IEEE Communications Magazine(IF=10.356)。
研究人员采用FPGA设计了高速以太网收包、硬件负载均衡、多FIFO与DDR4 AXI4对接模块、高速XDMA、高性能Linux驱动等模块,系统具有高速、低延时、线速、均衡好、配置灵活的特点。该系统实现方法在高速网络实时数据捕获与安全分析中具有较好的应用前景。
图1 数据包处理流程(图/中科院声学所)
图2 算法均衡效果图举例(图/中科院声学所)
图3 系统性能图(图/中科院声学所)
关键词:
网络数据包;负载均衡;FPGA;线速;动态配置
参考文献:
ZHAO Jun, GUO Zhichuan, ZENG Xuwen, SONG Mangu. High-Performance Implementation of Dynamically Configurable Load Balancing Engine on FPGA. IEEE Communications Magazine, vol. 58, no. 1, pp. 62-67, January 2020. DOI: 10.1109/MCOM.001.1900525
论文链接: