一种基于FPGA的高速以太网帧重构系统技术方案

技术编号:26762279 阅读:61 留言:0更新日期:2020-12-18 23:09
本发明专利技术公开了一种基于FPGA的高速以太网帧重构系统,系统通过FPGA实现,所述系统包括:以太网接收解析模块、包解析模块、帧重构模块、DDR和数据包上传模块;以太网接收解析模块,用于从光口接收经过光电转换后的电信号,经物理层及数据链路层解析输出以太网帧数据流和控制信号,并发送至包解析模块;包解析模块,用于将以太网帧数据流发送至帧重构模块,还用于根据控制信号从以太网帧数据流中解析出包信息并发送至帧重构模块;帧重构模块,用于将解析出的包信息和以太网帧数据流经过逻辑合成,重构为新的数据帧并输入DDR存储;DDR,用于缓存数据帧;数据包上传模块,用于从DDR中获取数据帧并发送至上位机。

【技术实现步骤摘要】
一种基于FPGA的高速以太网帧重构系统
本专利技术涉及高速网络数据包处理领域,尤其涉及一种基于FPGA的高速以太网帧重构系统。
技术介绍
随着高速网络的快速发展,网络流量迅速进入10Gbps、40Gbps甚至100Gbps以上,而这种增长趋势在短时间内不会停止,因此,对高速网络流量的采集和处理提出了更高的要求。传统的数据包处理方法性能因为网络堆栈体系结构所带来的开销而受到限制,于是许多不同的软件工具和架构被提出用于解决快速数据包处理的瓶颈,例如DPDK,Netmap等。目前已有的方法,在高速情况下对于以太网小包难以达到线速,无法支持纳秒级精度的时间戳分辨率。FPGA拥有可并行、硬件可重构的突出优点,高性能的同时相比于CPU和GPU拥有更低的能耗,由于以上优点,广泛应用于网络通信各个领域,已逐渐成为高速数据处理系统的主流平台之一。
技术实现思路
针对目前的10G及以上速率商业网卡一般没有支持纳秒时间戳分辨率的功能,及难以达到线速处理数据包。本专利技术的目的在于克服上述现有技术缺陷,提出了一种基于FPGA高速以太网帧重构系统。本专利技术提出了一种基于FPGA的高速以太网帧重构系统,所述系统通过FPGA实现,所述系统包括:以太网接收解析模块、包解析模块、帧重构模块、DDR和数据包上传模块;所述以太网接收解析模块,用于从光口接收经过光电转换后的电信号,经物理层及数据链路层解析输出以太网帧数据流和控制信号,并发送至包解析模块;所述包解析模块,用于将以太网帧数据流发送至帧重构模块,还用于根据控制信号从以太网帧数据流中解析出包信息,并发送至帧重构模块;所述帧重构模块,用于将解析出的包信息和以太网帧数据流经过逻辑合成,重构为新的数据帧并输入DDR存储;所述DDR,用于缓存数据帧;所述数据包上传模块,用于从DDR中获取数据帧并发送至上位机。作为上述系统的一种改进,所述以太网接收解析模块包括:PCS_PMA子模块和MAC子模块;其中,所述PCS_PMA子模块,用于对从光口接收经过光电转换后的电信号,进行物理层协议解析,输出XGMII接口数据;所述MAC子模块,用于对XGMII接口数据进行数据链路层协议解析,输出以太网帧数据流和控制信号,并发送至包解析模块;所述控制信号包括:包开始信号SOF、包结束信号EOF和数据有效信号WENB。作为上述系统的一种改进,所述根据控制信号从以太网帧数据流中解析出包信息发送至帧重构模块;具体包括:接收一帧以太网帧数据流,当检测到以太网帧数据流的SOF为高电平时,读取64位数据信息作为前导码,并随即开始计算帧长;读取下一周期以太网帧数据流的高48位为目的MAC,并将高位填充0x00直到位宽达到64位,输出至帧重构模块;同时读取该以太网帧数据流的低16位,即源MAC的高16位存储至临时寄存器;至下一周期时,将上一周期保存的源MAC高16位和当前帧的高32位即源MAC的低32位,合并填充为64位并输出至帧重构模块;当检测到以太网帧数据流的EOF为高电平时,即代表该帧传输结束,帧长计算结束,得到帧长信息,并生成解析完成信号,将解析完成信号和帧长信息发送至帧重构模块。作为上述系统的一种改进,所述帧重构模块包括:DATAFIFO、METAFIFO和MERGEFIFO;所述DATAFIFO,用于缓存以太网帧数据流;所述METAFIFO,用于缓存包信息、前导码和帧长信息;所述MERGEFIFO,用于当收到解析完成信号时,从DATAFIFO和METAFIFO依次读出包信息,前导码、帧长信息和以太网帧数据流,并重构形为新的数据帧,并输入DDR存储。作为上述系统的一种改进,所述DATAFIFO和METAFIFO配置相同,为异步FIFO,写入时钟为以太网帧数据流的同步时钟,读出时钟为高速AXI时钟,读写数据位宽为XGMII接口总线宽度64位。作为上述系统的一种改进,所述MERGEFIFO为同步FIFO,写入时钟和读出时钟相同,为高速AXI时钟,写入数据位宽为以太网XGMII接口总线宽度64位,读出数据位宽为AXI总线宽度512位。作为上述系统的一种改进,所述新的数据帧格式为:帧头、包信息和以太网数据流;所述帧头为6字节的前导码和2字节的帧长信息。作为上述系统的一种改进,所述MERGEFIFO与DDR之间采用AXI4总线相连;所述AXI4总线通过内存控制器MIG实现对DDR的控制。作为上述系统的一种改进,所述数据包上传模块将DDR中缓存的数据经PCIE以DMA方式高速上传至上位机。与现有技术相比,本专利技术的优势在于:1、可线速收单光口10Gbps的数据包,解析包头信息,并增加数据包捕获的时间戳,可以在高速码流中快速插入所需字节,支持巨帧,且上层驱动程序CPU占用率低。2、相对于现有的网卡加软件架构全流量留存系统,在10Gbps及以上吞吐量下数据包处理特别是小包处理性能不足问题,提出使用FPGA替代传统网卡,在物理层、数据链路层解析的基础上,根据应用需求提前解析出数据包信息,减少服务器端应用的开销,使CPU从简单繁复的包解析任务中脱离,专注于控制向的任务。本架构能提升所有以包解析为应用前提的系统性能。3、对于上层的DPDK驱动,CPU占用率更低。附图说明图1是本专利技术的基于FPGA高速以太网帧重构系统框架图;图2是本专利技术的帧重构模块结构图;图3是本专利技术重构完成的帧结构示意图。具体实施方式本专利技术提出了一种基于FPGA的帧重构方法,将部署在服务器上的高速网络数据包处理功能卸载至FPGA,利用其并行的特性,提高数据包处理性能,降低CPU的负载。该方法利用硬件解析出数据包信息并合并至原始数据帧中,再通过高速DMA通道上传至服务器内存,位于服务器端的应用更轻松便捷地获取提前解析出的数据包信息,明显提高数据包处理性能。采用本专利技术的方法,可达到线速处理单光口10Gbps的数据包,解析包头信息,并增加数据包捕获的时间戳,可以在高速码流中快速插入所需字节,支持巨帧,且上层驱动程序CPU占用率低。本专利技术提出了一种基于FPGA的高速以太网帧重构方法,将数据包解析任务卸载至FPGA进行,并将解析出的包头信息和元数据(以太帧)合并重构为一种新的帧结构,通过PCIe总线高速上传至主机。本方法将包解析任务卸载至FPGA,减小了主机端应用的负载,大大提高了包处理性能,本方法的优点是:可线速收单光口10Gbps的数据包,解析包头信息,并增加数据包捕获的时间戳,可以在高速码流中快速插入所需字节,支持巨帧,且上层驱动程序CPU占用率低。所述方法及系统包括:以太网接收解析模块、包解析模块、帧重构模块、DDR和数据包上传模块。其中,以太网接收解析模块实现对以太网数据的收包;包解析模块根据应用需求解析出包头信息;帧重构模块将解析出的包信息和其余需要添加的信息(如硬件时间戳)添加至原始以太帧中本文档来自技高网...

【技术保护点】
1.一种基于FPGA的高速以太网帧重构系统,其特征在于,所述系统通过FPGA实现,所述系统包括:以太网接收解析模块、包解析模块、帧重构模块、DDR和数据包上传模块;/n所述以太网接收解析模块,用于从光口接收经过光电转换后的电信号,经物理层及数据链路层解析输出以太网帧数据流和控制信号,并发送至包解析模块;/n所述包解析模块,用于将以太网帧数据流发送至帧重构模块,还用于根据控制信号从以太网帧数据流中解析出包信息,并发送至帧重构模块;/n所述帧重构模块,用于将解析出的包信息和以太网帧数据流经过逻辑合成,重构为新的数据帧并输入DDR存储;/n所述DDR,用于缓存数据帧;/n所述数据包上传模块,用于从DDR中获取数据帧并发送至上位机。/n

【技术特征摘要】
1.一种基于FPGA的高速以太网帧重构系统,其特征在于,所述系统通过FPGA实现,所述系统包括:以太网接收解析模块、包解析模块、帧重构模块、DDR和数据包上传模块;
所述以太网接收解析模块,用于从光口接收经过光电转换后的电信号,经物理层及数据链路层解析输出以太网帧数据流和控制信号,并发送至包解析模块;
所述包解析模块,用于将以太网帧数据流发送至帧重构模块,还用于根据控制信号从以太网帧数据流中解析出包信息,并发送至帧重构模块;
所述帧重构模块,用于将解析出的包信息和以太网帧数据流经过逻辑合成,重构为新的数据帧并输入DDR存储;
所述DDR,用于缓存数据帧;
所述数据包上传模块,用于从DDR中获取数据帧并发送至上位机。


2.根据权利要求1所述的基于FPGA的高速以太网帧重构系统,其特征在于,所述以太网接收解析模块包括:PCS_PMA子模块和MAC子模块;其中,
所述PCS_PMA子模块,用于对从光口接收经过光电转换后的电信号,进行物理层协议解析,输出XGMII接口数据;
所述MAC子模块,用于对XGMII接口数据进行数据链路层协议解析,输出以太网帧数据流和控制信号,并发送至包解析模块;所述控制信号包括:包开始信号SOF、包结束信号EOF和数据有效信号WENB。


3.根据权利要求2所述的基于FPGA的高速以太网帧重构系统,其特征在于,所述根据控制信号从以太网帧数据流中解析出包信息发送至帧重构模块;具体包括:
接收一帧以太网帧数据流,当检测到以太网帧数据流的SOF为高电平时,读取64位数据信息作为前导码,并随即开始计算帧长;
读取下一周期以太网帧数据流的高48位为目的MAC,并将高位填充0x00直到位宽达到64位,输出至帧重构模块;
同时读取该以太网帧数据流的低16位,即源MAC的高16位存储至临时寄存器;
至下一周期时,将上一周期保存的源MAC高16位和当前帧的高32位即源MAC的低32位,合并填充为64位并输出至...

【专利技术属性】
技术研发人员:郭志川黄逍颖宋曼谷
申请(专利权)人:中国科学院声学研究所中科海网苏州网络科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1