48|电子制作2023年1月信息工程0引言随着云计算、大数据、物联网等技术的广泛应用,数据规模呈现爆炸式增长,导致对于网络带宽、延时等性能的依赖性日益增强。网络带宽每年以2~3倍的速度增长,目前10G网络已普及到各个领域,40G/100G甚至400G网络也在数据中心等流量集中的关键领域开始大规模运用。而TCP/IP协议族作为一种网络协议标准,占据着网络协议主流标准地位,其应用最为广泛。传统的TCP/IP网络协议处理由操作系统内核完成分组转发、校验、传输控制、数据分片等流程,并且对于大数据量的网络传输,会产生频繁的I/O中断以及数据拷贝,大幅增加处理器上下文切换开销和系统总线负载[1,2]。根据Thumb定律,处理1bit网络数据需要消耗1Hz的CPU处理周期,网络带宽的快速增长必将消耗大量的处理器资源,最终导致网络IO成为系统性能瓶颈。为解决高速网络通信中,对于TCP/IP网络协议的处理导致的处理器资源过载问题,通信技术领域提出了多种网络协议优化技术,其中TOE(TCP/IPOffloadEngine,TCP/IP卸载引擎)技术[3],通过将传统TCP/IP网络协议的处理流程由操作系统内核卸载至网卡,由网卡硬件执行协议栈处理,从根本上减轻了处理器工作负载,释放出更多的处理器资源。TOE技术的应用不仅能够降低主机处理器资源消耗,同时能够提升网络吞吐量及缩短网络延时[4],具有TOE功能的网络设备将成为未来数据中心构建高性能、低功耗网络基础设施的首选。而基于FPGA设计实现TOE网卡兼具灵活性及成本优势,适应于数据中心网络环境。基于FPGA硬件化实现TCP/IP协议栈,需要综合考虑FPGA资源占用率、网络性能以及可支持的连接数。目前,商用TOE网卡支持的连接数在千条量级,基于FPGA的TOE网卡使用多TCP/IP协议栈实例实现多连接,支持的连接数相对更少,且资源占用率较高。此外,对于大数据块的通信传输,主机仍然需要与TOE网卡进行频繁的交互,跟踪、控制数据发送的过程,占用了大量的处理器资源、降低了数据吞吐量,对于多连接情景、大数据量传输,情况将更加严重。云计算、大数据等业务场景下,多连接,大数据量传输频繁发生,在进行TCP/IP协议卸载的同时,还需要减少主机对于数据传输的管控频次,进一步降低网络IO对于处理器资源的占用,充分释放PCIe带宽优势,从而提升网络性能。本文提出了一种基于FPGA构建TCP/IP卸载引擎的设计方法,采用数据发送通道与接收通道分离的架构,由协议共享模块统一管理连接状态及网络通信事件,控制数据收发过程,能够处理万条量级...