
摘要
在数智化时代,海量数据的跨广域网高效、安全传输已成为各行业的迫切需求。然而传统的TCP协议在广域网高延迟、丢包环境下,传输性能显著下降。本文提出了一种高效数据快递方案,结合QUIC协议和广域RDMA技术,通过协议优化、软硬协同等手段,显著提升了广域网数据传输的吞吐量和可靠性。数据快递系统支持多任务管理、断点续传、文件校验等功能,可广泛应用于科研数据交换、媒体内容分发、智算跨广域传输等场景,为各行业提供了高效、稳定、可靠的数据传输解决方案,助力用户数字化转型和业务创新。
关键词:
数据快递;QUIC;广域RDMA
引言
在数智化时代,数据已成为企业发展的核心驱动力。无论是海量科研数据、还是高清媒体内容分发,海量数据在广域网中的高效、安全传输已成为各行业的迫切需求。尤其是在智算广域网场景下,跨数据中心协同训练、敏感样本的边传边训、模型分发等场景对在线数据迁移的效率提出了更高要求。传统的TCP协议已经显现出在广域数据传输中的性能瓶颈。本文针对传统跨广域数据传输方案存在的瓶颈问题,提出了一种高效的数据快递解决方案,系统阐述了其核心特征、软件架构及技术实现原理。此外分析了数据快递在不同场景中的应用价值,并展望了其未来发展趋势,为提升跨广域数据传输效率开辟了新的路径。
1. 传统广域网数据传输方案
在广域网数据传输的场景中,用户需要传输大量数据,传输距离较远,同时需要较高的传输速率。传统广域网通用传输软件如FTP、SFTP等均采用TCP作为传输协议,面对时延、丢包重传场景时因为需要等待RTT确认会引发性能下降,尤其在广域传输网络结构复杂、延迟大、不稳定、误码率高等情况下,TCP协议性能瓶颈越发显著,导致有效吞吐量远低于可用链路的带宽,无法高效利用网络带宽。
图1 50Mbps链路TCP在不同时延、丢包率下的表现
为了保障用户的服务体验,需要在协议层面进行端到端的优化,包括:
(1)协议优化: 改进现有的TCP协议或引入新的传输协议,以提升在广域网环境下的数据传输效率和可靠性。
(2)端到端性能: 优化数据传输的端到端性能,包括减少协议开销、改进拥塞控制算法、增强数据包传输的可靠性和完整性检测机制。
通过在协议层面进行创新和优化,可以有效解决传统TCP在广域数据传输中遇到的吞吐量下降和性能不足的问题,满足数智化时代对数据传输的更高要求。
2. 数据快递传输系统
数据快递传输系统旨在解决广域网(WAN)环境下大量数据传输的需求,提供高效、安全、可靠的数据传输服务。该系统具备模块化和高扩展性,结合多种技术和协议,实现端到端的数据传输优化。系统中在应用层运行的传输软件负责控制数据传输的整体流程。通过调用底层的OFED(OpenFabrics Enterprise Distribution)和QUIC接口,实现数据的高效传输。
2.1 数据快递系统主要特性
传输协议:基于高效传输层协议,可通过优化拥塞控制算法、流控和ACK处理等手段,提升协议在大数据流场景下的性能。
文件传输控制:支持多任务传输,每个任务支持多连接文件分片传输控制算法,利用多线程充分利用多核资源,提升文件的传输速度。
写入优化:可通过文件写入优化与控制,提升文件系统的写入性能,加快文件落盘速度。
多形态:C/S架构,提供客户端软件操作界面,同时提供命令行操作入口。
2.2 数据快递系统软件架构
数据快递系统软件主要包括应用层、接口层、业务层及协议层四个部分。
图2 数据快递系统软件架构图
应用层
提供用户友好的用户界面(UI)、命令行,支持用户通过图形界面和命令行对系统进行操作和控制。同时也提供与用户现有系统集成的SDK等能力。
接口层
作为数据传输的入口,提供与外部系统或应用的接口,接收和发起数据传输请求。
业务层
多任务管理:支持同时处理多个数据传输任务,提高系统的并行处理能力和效率。
多线程管理:通过多线程技术,实现数据传输任务的并发处理,提升传输速度和性能。
上传/下载处理:处理大文件的上传和下载请求,保障数据在传输过程中的完整性和可靠性。
断点续传:文件传输过程中,允许从上次中断的位置继续传输,避免重复操作和时间浪费。
文件校验:通过文件完整性校验,防止文件被恶意修改,确保数据完整无误
文件分片管理:将大文件分成多个小分片进行传输,减少单个文件传输失败的影响,并提高传输效率。
文件读写:负责对文件进行读写操作,与文件系统交互。
磁盘/存储IO:管理硬盘或其他存储设备的输入输出操作,支持高效的数据读写。
协议层
连接/流管理:管理网络连接的建立、维持和断开,并控制数据流的发送和接收。
流量控制:通过对传输流量的监控和控制,防止网络拥塞,保证传输的稳定性。
丢包重传:对传输过程中丢失的数据包进行重传,确保数据的完整性和可靠性。
拥塞控制:利用先进的拥塞控制算法,动态调整传输速率,避免网络拥塞。
TLS加/解密:提供传输层的安全加密与解密,保障数据传输过程中的机密性和安全性。
QUIC传输:根据场景需求选择使用QUIC协议进行数据传输,适用于实时或大数据量传输需求。
RMDA:根据场景需求选择使用RDMA协议进行数据传输,适用于基于硬件实现的实时或大数据量传输需求。
网络IO:与网络硬件和驱动程序交互,处理底层的网络输入输出操作。
2.3 基于QUIC协议
QUIC全称Quick UDP Internet Connections,是一种基于 UDP 的传输层协议,QUIC 数据包 包括header 和 data 两部分:
图3 QUIC数据包格式
其中:
Header:是明文的,包含 4 个字段:Flags、Connection ID、QUIC Version、Packet Number;
Data:是加密的,可以包含 1 个或多个 frame,每个 frame 又分为 type 和 payload
图4数据帧格式
FrameType:数据帧类型包括Stream、ACK、Padding、Window_Update、Blocked 等。
Stream ID: 流ID用于标识数据包所属的流。
Offset:偏移量,表示该数据在Stream中的字节级偏移量,用于数据排序。
Data Length: 数据长度,表示实际应用数据的长度。
Data: 实际的应用数据
基于QUIC协议的数据快递方案无需依赖硬件网卡,QUIC协议进行了多方面的优化,可以在广域网中有效应对高延迟和丢包环境,显著提高数据传输的效率和可靠性。该方案不仅充分发挥了QUIC协议的快速连接、多路复用、流量控制和内置加密等优势,还利用先进拥塞控制,确保在复杂网络条件下仍能维持优异的传输性能。
快速连接:QUIC使用UDP作为底层传输协议,避免了TCP的三次握手,首次连接即可在1-RTT内完成密钥协商和数据传输,同时QUIC连接缓存当前会话的上下文,当客户端再次连接时,可直接使用缓存数据计算通信密钥加密发送应用数据,实现 0-RTT 握手传输。
图5 TCP和QUIC连接建立过程
多路复用:QUIC支持多路复用,允许多个数据流在同一个连接中并行传输,避免了TCP中的队头阻塞问题。
图6 TCP和QUIC多流传输对比
在多路径中,单纯依靠严格递增的Packet Number是无法保证数据的顺序性和可靠性,QUIC引入一个 Stream Offset 的概念,依靠 Stream 的 Offset 来保证应用数据的顺序。
图7 基于Offset 保证数据的顺序
举例:
假设Stream X的数据分三个帧发送,Offset分别为0、100、200:
Path A: 发送 [Packet 1: Stream X, Offset=0, Data=0~99字节]
Path B: 发送 [Packet 2: Stream X, Offset=100, Data=100~199字节]
Path A: 发送 [Packet 3: Stream X, Offset=200, Data=200~299字节]
接收方行为:
1. 收到Packet 2(Offset=100)时,发现Offset=0的数据未到达,缓存Packet 2。
2. 收到Packet 1(Offset=0)后,立即交付0~99字节给应用层,并检查缓存区:
-发现已缓存Offset=100的数据,继续交付100~199字节。
3. 最后收到Packet 3(Offset=200),直接交付200~299字节。
内置加密:QUIC在协议层集成了TLS加密,确保数据传输的安全性,同时减少了握手延迟。
流量控制:由于QUIC支持多路复用,所以可以支持两种级别的流量控制,即连接级和流级,QUIC是通过WINDOW_UPDATE和BLOCKED帧来实现流量控制,
接收端发送WINDOW_UPDATE帧通知对端可用接收窗口已更新,允许发送更多数据,发送端也可以发送BLOCKED帧表明数据发送受制于接收端的窗口,无法发送数据。
QUIC传输层协议通过基于UDP的设计、内置加密、多路复用和流量控制等机制,结合先进拥塞控制算法,显著提高了大数据在广域网传输的效率、可靠性和安全性。相较于传统的TCP协议软件,在延时、吞吐量、可靠性等方面具有明显优势。
2.4 基于RDMA软硬协同优化
为了进一步优化广域网大数据传输的性能,业界也正在探索基于广域的RDMA(Remote Direct Memory Access)软硬协同的优化方案。RDMA方案和QUIC方案相比,增加了对网卡硬件的需求,通过网卡硬件卸载数据处理流程,释放CPU资源,同时利用硬件高吞吐的处理能力,大幅度提升数据快递的传输能力。
图8 广域RDMA架构
在广域传输中使用RDMA技术,特别是在大时延(100ms以上)和有一定丢包率(0.1%)的网络环境中,面临一些显著的挑战。因为RDMA最初主要用于局域网或数据中心内部的高性能、低延迟环境,而广域网网络环境与RDMA的设计初衷不同,存在高时延、丢包处理、拥塞控制和网络抖动等问题,针对这些问题需进行了特定的优化,以使RDMA可以在广域上提供与数据中心内同样高效的数据处理性能。包括:
连接优化:广域网中的高延迟(100ms以上)极大地影响了RDMA的连接建立和内存注册效率。传统的RDMA连接机制常需多次RTT,在高延迟环境中效率低下。通过减少连接建立的RTT次数和内存注册有效地降低了连接建立时间,提升了初次传输效率。在某些会话中,连接时间可缩短50%以上。
优化措施:
减少握手次数:通过优化和共享连接建立方式,将连接过程分为初始化和数据传输并行进行,减少总的连接时间。
快速内存注册:优化内存注册流程,减少内存注册和映射的次数。预先注册和缓存常用内存区域,以减少重复注册开销。在初次连接时将内存区域注册信息存储到高速缓存中,为后续连接提供快速访问。
重传机制优化:传统的Go-Back-N重传机制在高丢包环境中效率低下,因为丢失一个数据包后需重传其后的所有包。高丢包率将会导致大量的重复传输,造成带宽浪费和延迟增加。选择性重传减少了不必要的包重传,减少了带宽消耗,显著改善了丢包率较高环境中的传输效率。
优化措施:
选择性重传:引入选择性重传机制,用于代替Go-Back-N重传。一旦检测到数据包丢失,仅重传丢失的包,而非整块重传,减少带宽浪费。结合ACK(确认)和NACK(否认确认)消息,让接收端通知发送端具体丢失了哪些数据包,从而只重传丢失包。
乱序重组:由于网络环境的复杂性和传输延迟的差异,数据包可能会乱序到达。在数据传输过程中,每个数据包都分配一个唯一的序列号并维护序列bitmap,在接收端可以根据序列号重新排序数据包。在广域大时延,大吞吐的场景下,合理的序列号机制、高效的缓冲区管理、超时与重传机制等最优化的乱序重组方案
拥塞控制算法优化:在广域网络中,由于时延较长,拥塞控制尤为重要,比如长时延导致的反馈滞后问题,广域网中的高延迟会导致拥塞控制算法无法及时获取网络状态信息,从而影响决策的准确性和及时性。流量公平性问题,在多个RDMA流并发的情况下,可能会出现某些流占用过多带宽而影响其他流的情况,导致带宽分配不公平。采用广域上经过验证的先进拥塞控制算法,与RDMA结合,在广域RDMA上实现流量控制的公平性,具有快速收敛和高吞吐量等性能优势。
基于FPGA 的高性能网络协处理器:利用FPGA硬件的可编程性,基于FPGA的网卡能够构建并卸载任务所需的各种数据平面功能。由于FPGA是可重编程的,这些数据平面功能可以根据实际需求进行任意配置和实时调整。这为本方案在高速广域网环境下提供了高度灵活和高效的业务处理能力。同时,所有这些卸载功能均以硬件速度而非软件速度运行,从而大幅提升了数据传输的效率和性能。
3. 数据快递应用场景与展望
数据快递作为广域网高效数据传输系统,不仅解决了传统传输的速度慢、安全性低等问题,还在各行各业中展现出广泛的应用价值。
在科研数据交换领域,它能够快速、安全地传输实验数据和模型文件,提升数据交换效率,促进跨机构、跨地域的科研合作,加速科研进程和成果转化;在媒体内容分发场景中,它能够快速传输高清视频、音频等大文件,提升媒体内容的生产和分发效率,满足媒体行业对时效性和稳定性的高效要求;同时在智算广域网场景中,它能够提供高效的数据搬移,显著提升数据传输效率,降低延迟。
图9科研大数据传输场景举例
无论是科研机构的海量数据交换,还是在智算广域场景中数据流的高效流转,数据快递为各行各业提供了高效、稳定、可靠的数据传输解决方案,满足数智化时代对数据传输的更高要求。
展望未来,随着数智化的深入和数据量的爆发式增长,数据快递将继续在技术、安全和应用场景上不断创新,为各行业提供更高效、更安全、更智能的广域网数据传输解决方案,将成为推动行业数字化转型和业务创新的重要助力。