2、RoCE基础概念:RDMA技术概述、RoCE版本演进(RoCEv1/v2)、与InfiniBand对比
2.1 RDMA技术概述:从“拷贝”到“直达”的变革
在传统TCP/IP网络通信中,数据从一台主机发送到另一台主机,需要经过操作系统内核协议栈的多次拷贝与中断处理。以一次典型的网络读取为例,数据需要经历:网卡接收→内核缓冲区→用户缓冲区→应用处理→再次拷贝发送。每一次拷贝都消耗CPU周期,而CPU参与数据搬运的延迟通常在数十微秒量级,这对高性能计算(HPC)、分布式存储和AI训练集群而言是难以接受的瓶颈。
RDMA(Remote Direct Memory Access,远程直接内存访问)的核心思想是:允许应用程序直接读写远端主机内存,而无需双方操作系统的介入。RDMA网卡(HCA,Host Channel Adapter)内置DMA引擎,能够直接从用户态内存缓冲区收发数据,内核只负责连接建立与管理,不参与数据面传输。由此带来的收益十分显著:
- 延迟极低:端到端延迟可低至1~3微秒(而传统TCP/IP通常为10~50微秒);
- CPU卸载:数据传输几乎不消耗主机CPU,释放算力给应用本身;
- 带宽高:单端口即可支持100Gbps甚至400Gbps速率;
- 内核旁路:用户态应用直接与网卡交互,绕过协议栈。
RDMA的三种主要实现技术为:InfiniBand(专有协议与硬件)、RoCE(RDMA over Converged Ethernet,基于以太网的RDMA)以及iWARP(基于TCP的RDMA)。其中RoCE因能复用现有以太网基础设施而成为当前数据中心组网的主流选择。
2.2 RoCE版本演进:从RoCEv1到RoCEv2
RoCE(RDMA over Converged Ethernet)由InfiniBand Trade Association(IBTA)标准化,旨在让RDMA能力运行在以太网之上。其发展经历了两个关键版本,二者在封装格式和网络适应性上有本质差异。
RoCEv1:链路层承载
RoCEv1将RDMA数据包直接封装在以太网链路层中,其以太网类型字段(EtherType)为0x8915。这意味着RoCEv1报文不具备IP路由能力,只能在同一个二层广播域(VLAN)内通信,无法跨越路由器或三层网关。因此RoCEv1的组网范围被严格限制在单台交换机(或堆叠)的接入层内,这极大制约了其在大规模数据中心的应用。
RoCEv2:网络层承载
RoCEv2将RDMA报文封装进UDP/IP报文之中,使用UDP目的端口号4791作为RoCEv2的标识。RoCEv2报文结构为:以太网头 + IP头 + UDP头 + RoCEv2头(BTH+...+ICRC)。这一改动带来两个关键突破:
- 三层路由能力:IP头使得RoCEv2报文可以被标准路由器或三层交换机转发,从而支持跨网段、跨数据中心的大规模组网;
- ECMP负载均衡:UDP源端口可基于流进行哈希,使得网络设备能够通过ECMP(等价多路径)将不同RoCE流分发到多条物理链路上,提升整体带宽利用率。
┌───────────────┬───────────────┬───────────────┬──────────────────┐
│ Ethernet头 │ IP头 │ UDP头 │ RoCEv2头 │
│ (14B) │ (20B) │ (8B) │ (BTH+...+ICRC) │
│ MAC地址 │ 源/目的IP │ 目的端口4791 │ RDMA数据 │
└───────────────┴───────────────┴───────────────┴──────────────────┘
当前业界部署的RoCE网络几乎全部为RoCEv2。RoCEv1仅存在于早期实验或极小型封闭网络,已不具备实际组网价值。
2.3 RoCEv2与InfiniBand的对比
InfiniBand是RDMA技术的“原生”网络,拥有独立的链路层、网络层和传输层协议,需要专用的IB交换机、IB网卡和线缆。RoCEv2则构建在标准以太网之上。两者在技术特性与生态上各有取舍,下表从多个维度进行对比:
| 对比维度 | InfiniBand | RoCEv2 |
|---|---|---|
| 网络基础设施 | 专用IB交换机/线缆,封闭生态 | 标准以太网交换机/线缆,开放生态 |
| 路由能力 | 原生支持IB路由(LR) | 依赖IP路由,支持三层组网 |
| 拥塞控制 | IB CC(基于信用/显式速率) | 依赖DCQCN、ECN等以太网机制 |
| 最大带宽 | NDR 400Gbps/端口 | 400GE/800GE(与以太网同步) |
| 端到端延迟 | 约0.5~1μs(最低) | 约1~3μs(略高,受以太网开销影响) |
| 运维成本 | 高(专用硬件、独立运维) | 低(复用现有以太网运维体系) |
| 市场生态 | HPC/AI训练传统优势领域 | 云数据中心、AI集群快速普及 |
2.4 典型场景与选型误区
典型场景:AI训练集群的RoCEv2组网
当前主流AI训练集群(如基于NVIDIA A100/H100 GPU的集群)广泛采用RoCEv2作为GPU服务器之间的高速互联网络。以一台8卡GPU服务器为例,每台服务器配置8张200Gbps RoCEv2网卡(对应8个GPU),通过Leaf-Spine两级架构互联。服务器发出的RoCEv2流量经Leaf交换机汇聚后,由Spine交换机完成跨POD转发。整个网络依赖ECN(显式拥塞通知)标记和DCQCN(数据中心量化拥塞通知)算法实现端到端的拥塞控制,确保训练通信的稳定低延迟。
RoCEv2本身依赖以太网的流控机制。虽然RoCEv2报文可以走普通IP网络,但若交换机出现丢包,RDMA传输性能将急剧下降(重传代价极高)。因此生产环境必须启用PFC(优先级流控)或部署无损以太网配置,保证RoCE流量不丢包。
RoCEv1只能在二层网络内通信,无法跨VLAN路由;RoCEv2则具备完整的三层路由能力。在规划跨机房或跨网段组网时,必须选择RoCEv2,并确保网络设备支持UDP 4791端口的转发与哈希。
选型建议
- 若从零新建一个追求极致性能且预算充足的HPC集群,可考虑InfiniBand;
- 若希望复用现有以太网架构、降低采购与运维成本,或构建大规模云化AI基础设施,RoCEv2是更务实的选择;
- 无论选择哪种技术,无损网络保障和端到端流控都是必须优先设计的环节。