【rdma】RoCE、IB和TCP等网络的基本知识及差异对比

RDMA简介

目前有三种RDMA网络,分别是Infiniband、RoCE(RDMA over Converged Ethernet)、iWARP。其中,Infiniband是一种专为RDMA设计的网络,从硬件级别保证可靠传输 ,技术先进,但是成本高昂。 而RoCE 和 iWARP都是基于以太网的RDMA技术,这使高速、超低延时、极低CPU使用率的RDMA技术得以部署在目前使用最广泛的以太网上。

download

如图所示,RoCE协议有RoCEv1和RoCEv2两个版本,RoCEv1是基于以太网链路层实现的RDMA协议(交换机需要支持PFC等流控技术,在物理层保证可靠传输),而RoCEv2是以太网TCP/IP协议中UDP层实现,引入IP解决了扩展性问题。

图1-2 RDMA网络种类:

download (1)

 

  

InfiniBand

iWARP

RoCE

性能

最好

稍差(受TCP影响)

与InfiniBand相当

成本

稳定性

较好

交换机

IB交换机

以太网交换机

以太网交换机

 

协议 是否依赖 TCP 底层承载方式 说明
InfiniBand 不依赖 TCP InfiniBand 自己的链路层/网络层/传输层 IB 是独立网络协议栈,RDMA 传输直接跑在 IB Fabric 上,不走 Ethernet/TCP/IP。Red Hat 文档也把 InfiniBand 区分为物理链路层协议和 RDMA Verbs API。(Red Hat 文档)
RoCE v1 不依赖 TCP Ethernet 二层 RoCE v1 运行在以太网二层,同一广播域内通信,不能跨三层路由。(IBM)
RoCE v2 不依赖 TCP UDP/IP/Ethernet RoCE v2 可以跨子网路由,报文跑在 UDP/IPv4 或 UDP/IPv6 上,常见 UDP 目的端口是 4791。它用 UDP/IP,但不是 TCP。(维基百科)
iWARP 依赖 TCP RDMAP / DDP / MPA / TCP / IP / Ethernet iWARP 就是 RDMA over TCP/IP。Intel 文档描述 iWARP 由 RDMAP、DDP 和 MPA for TCP 等规格组成;RFC 5040 也定义 RDMAP 运行在 DDP 上。(Intel)

图解:

c624c823-974e-458b-b90e-b285340e9e67

可以简单记为:

InfiniBand:
  RDMA / IB Transport / IB Network / IB Link / IB PHY
  不走 TCP/IP

RoCE v1:
  RDMA / IB Transport over Ethernet L2
  不走 IP,不走 TCP

RoCE v2:
  RDMA / IB Transport / UDP / IP / Ethernet
  走 UDP/IP,不走 TCP

iWARP:
  RDMA / RDMAP / DDP / MPA / TCP / IP / Ethernet
  依赖 TCP

由表1-1所示,三种RDMA网络的特点总结如下:

  • InfiniBand:设计之初就考虑了 RDMA,从硬件级别保证可靠传输,提供更高的带宽和更低的时延。但是成本高,需要支持IB网卡和交换机。
  • RoCE:基于 Ethernet 做 RDMA,消耗的资源比 iWARP 少,支持的特性比 iWARP 多。可以使用普通的以太网交换机,但是需要支持RoCE的网卡。
  • iWARP:基于TCP的RDMA网络,利用TCP达到可靠传输。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的内存资源,对系统规格要求更高。可以使用普通的以太网交换机,但是需要支持iWARP的网卡。

参考资料

1. RoCE、IB和TCP等网络的基本知识及差异对比

2. RDMA基本元素

posted @ 2025-09-10 19:13  苏格拉底的落泪  阅读(541)  评论(0)    收藏  举报