【技术实现步骤摘要】
一种基于FPGA的数据传输系统
[0001]本专利技术涉及通信
,具体涉及一种基于FPGA的数据传输系统。
技术介绍
[0002]目前,网络传输速率增速远超CPU的算力增速,同时,CPU适合对串行的复杂的指令操作进行处理,对大量并行固定模式的计算并不适合。传统的以软件方式处理网络协议的主机资源消耗逐年提高,软件方式的TCP/IP,吞吐率低,更重要的是延迟高,延迟不稳定,不能满足一些对网络延迟有要求的应用场景。
[0003]随着市场规模不断扩大,各种应用场景层出不穷,单一加速芯片设计已经难以满足复杂多样性的加速需求。FPGA(Field Programmable Gate Array)凭借其可重构、高并行、低延时等特点成为数据中心的首选可编程硬件,如在微软的ConfigurableCloud、亚马逊的AQUA
[3]等数据中心项目中,均选择FPGA作为CPU的协处理器。
[0004]Eskandari等人提出一种基于SDAccel开发的系统,使用HLS分别实现了10Gbps TCP协议和IP协议的功能,并将HLS内核映射到不同的FPGA上。但是针对特定场景,如在高频金融交易场景下,由于交易所权限限制等因素,数据需要从交换机的镜像端口获得,传统的TCP握手连接难以建立,同时将完整的TCP/IP协议进行FPGA卸载会产生冗余操作,造成信息的滞后性,这在实时性要求极高的金融交易中是难以忍受的。此外,金融交易受经济、政治等因素影响,需要频繁调整策略,修正参数,对FPGA的可重构性有很高的期望。传统 ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的数据传输系统,其特征在于:包括主机端和FPGA端;所述FPGA端包括:CMAC模块,包括以太网模块,用于接收和发送网络数据包;TCP/IP模块,包括IP模块和上层协议模块,所述IP模块用于接收网络数据包转发至对应的上层模块并将来自上层模块的数据校验封装后发送给以太网模块;所述上层协议模块包括TOE模块,所述TOE模块包括通用TOE模块和镜像TOE模块,所述通用TOE模块发送和接收TCP数据,并完成TCP拥塞控制;所述镜像TOE模块用于对交换机镜像端口开发完成TCP数据的接收和重排,并将解析出的TCP数据传输给用户自定义加速模块;用户自定义加速模块,用于部署数据加速程序硬件,处理接收到的数据,将处理完的数据发送至TCP/IP模块或主机端;其中,所述CMAC模块、TCP/IP模块和用户自定义加速模块之间采用AXI4
‑
Stream接口进行数据交互;所述主机端用于数据的读写、内存分配以及与所述FPGA之间的调度与管理。2.如权利要求1所述的一种基于FPGA的数据传输系统,其特征在于:所述以太网模块为10G/25G以太网模块,所述以太网模块在每个FPGA端单独配置;所述以太网模块通过GT引脚连接网络接口,与外部网络进行数据交互。3.如权利要求1所述的一种基于FPGA的数据传输系统,其特征在于:所述CMAC模块和所述TCP/IP模块之间通过AXI4
‑
Stream接口相连,用于接收和发送网络数据包。4.如权利要求1所述的一种基于FPGA的数据传输系统,其特征在于:所述IP模块包括IP接收模块和IP发送模块;所述IP接收模块,接收来自以太网模块的网络数据包,判别协议类型,丢弃IP和ARP以外的网络数据包,同时将ARP数据包转发至ARP模块,对IP网络数据包进行首部校验和检查以及上层协议类型检查,将数据部分转发至对应上层模块;所述IP发送模块,对ARP和IP模块分开进行处理,计算IP帧的首部校验和,将数据部分与头部进行封装后发送给CMAC模块。5.如权利要求4所述的一种基于FPGA的数据传输系统,其特征在于:所述上协议层模块包括ARP模块、ICMP模块、UDP模块和所述TOE模块;所述ARP模块用于ARP请求及响应的发送和接收,ARP映射表放在存储单元内,同时保存128组映射关系,在发出ARP请求后,在映射表中保留500ms,若未收到ARP响应,则会被删除并标记为未答复的请求;所述ICMP模块用于接收和发送请求报文和回答报文,对接收到的ICMP帧进行校验和检测和计算,封装为回送回答报文,传输至IP发送部分;所述UDP模块用于接收和发送UDP协议报文,通过主机端来设置目的IP地址、目的端口和源端口,所述UDP模块接收UDP协议报文时,会进行校验和计算,同时支持64K可编程监听端口,对于无效数据报,则直接舍弃;所述模块UDP发送UDP协议...
【专利技术属性】
技术研发人员:柴志雷,冯一飞,叶均超,赵海旭,姜博文,陈世海,
申请(专利权)人:江南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。