【技术实现步骤摘要】
一种基于FPGA的负载均衡处理系统
本专利技术涉及网络通信
,特别涉及一种基于FPGA的负载均衡处理系统。
技术介绍
网络通信的迅速发展使得网络流量和网络速率不断提升,对网络数据进行高速的采集和处理已经成为学术界和工业界的重点。CPU单核对高速网络数据处理包处理能力有限,需要前置网络在前端分流。例如全流量留存系统采集网络中的数据包,之后对数据包进行解析。全流量留存系统需要使用负载均衡将数据包分配到不同核心上面,同时需要将相同业务的数据包尽量分配到同一个核心上,以减少不同处理器核心切换带来的开销。全流量留存系统使用传统网卡提供的RSS算法来实现负载均衡,但此算法对数据包进行负载均衡后,相同业务的数据包往往不能分配到同一个核心上,而网卡使用的RSS算法又无法对其修改;全流量留存系统也可以使用软件的方法实现负载均衡,以实现将相同业务分配到同一核心的需求,但软件实现负载均衡性能不理想,不能达到线速的要求,延迟较高,无法满足数据包实时处理的需求。FPGA经过快速发展,已经成为数据包处理的主流平台之一。使用FPGA进行数据 ...
【技术保护点】
1.一种基于FPGA的负载均衡系统,用于采集和处理高速网络数据包;其特征在于,该系统包括:FPGA加速卡和服务器,两者通过PCIe接口通信;其中,FPGA加速卡包括:解析处理模块、负载均衡模块、FIFO缓存模块、DDR缓存和DMA模块;服务器上设置DPDK驱动模块;/n所述解析处理模块,用于对数据链路层进行解析,将解析得到的数据包发送到负载均衡模块;/n所述负载均衡模块,用于提取数据包的五元组信息,根据负载均衡算法对数据包进行计算,确定该数据包所属的队列;将每个数据包和每个数据包的负载均衡结果分别发送至FIFO缓存模块;/n所述FIFO缓存模块,用于将数据包负载均衡结果插入 ...
【技术特征摘要】
1.一种基于FPGA的负载均衡系统,用于采集和处理高速网络数据包;其特征在于,该系统包括:FPGA加速卡和服务器,两者通过PCIe接口通信;其中,FPGA加速卡包括:解析处理模块、负载均衡模块、FIFO缓存模块、DDR缓存和DMA模块;服务器上设置DPDK驱动模块;
所述解析处理模块,用于对数据链路层进行解析,将解析得到的数据包发送到负载均衡模块;
所述负载均衡模块,用于提取数据包的五元组信息,根据负载均衡算法对数据包进行计算,确定该数据包所属的队列;将每个数据包和每个数据包的负载均衡结果分别发送至FIFO缓存模块;
所述FIFO缓存模块,用于将数据包负载均衡结果插入到数据包以太网前导码之后,并对合并后的数据包进行缓存;
所述DDR模块,用于缓存FIFO缓存模块通过AXI总线传输的数据;
所述DMA模块,用于将DDR的缓存数据通过DMA方式传输到服务器;
所述DPDK驱动模块,用于根据每个数据包所携带的负载均衡结果,将该数据包拷贝到相应队列中。
2.根据权利要求1所述的基于FPGA的负载均衡系统,其特征在于,所述负载均衡模块的具体实现过程为:
提取数据包的五元组信息:源IP地址,目的IP地址,源端口,目的端口和协议号;
计算五元组CRC32的校验值,将源IP地址作为CRC32输入计算校验值,将此校验值作为初始向量,同时把源端口作为输入计算第一校验值;
将目的IP地址作为CRC32输入计算校验值,将此校验值作为初始向量,同时把目的端口作为输入计算第二校验值;
将协议号作为CRC32输入计...
【专利技术属性】
技术研发人员:宋曼谷,沙猛,郭志川,王可,
申请(专利权)人:中国科学院声学研究所,中科海网苏州网络科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。