0%

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

转自:RoCE、IB和TCP等网络的基本知识及差异对比

  在分布式存储网络中,我们使用的协议有RoCE、Infiniband(IB)和TCP/IP。其中RoCE和IB属于RDMA(Remote Direct Memory Access)技术。

RDMA和TCP/IP

  面对高性能计算、大数据分析等IO高并发、低时延应用,现有TCP/IP软硬件架构不能满足应用的需求,这主要体现在传统的TCP/IP网络通信是通过内核发送消息,这种通信方式存在很高的数据移动和数据复制的开销。RDMA(Remote Direct Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中服务器端数据处理的延迟而产生的。如图1-1,RDMA技术能直接通过网络接口访问内存数据,无需操作系统内核的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。

图1-1 RDMA和传统TCP/IP比较

RDMA的种类

  目前有三种RDMA网络,分别是Infiniband、RoCE、iWARP。

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

  IB(InfiniBand):基于 InfiniBand 架构的 RDMA 技术,由 IBTA(InfiniBand Trade Association)提出。搭建基于 IB 技术的 RDMA 网络需要专用的 IB 网卡和 IB 交换机。

  iWARP(Internet Wide Area RDMA Protocal):基于 TCP/IP 协议的 RDMA 技术,由IETF 标准定义。iWARP 支持在标准以太网基础设施上使用 RDMA 技术,但服务器需要使用支持 iWARP 的网卡。

  RoCE(RDMA over Converged Ethernet):基于以太网的 RDMA 技术,也是由 IBTA 提出。RoCE支持在标准以太网基础设施上使用RDMA技术,但是需要交换机支持无损以太网传输,需要服务器使用 RoCE 网卡。

图1-2 RDMA网络种类

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

/ InfiniBand iWARP RoCE
性能 最好 稍差(受TCP影响) 与InfiniBand相当
成本
稳定性 较好
交换机 IB交换机 以太网交换机 以太网交换机
表1-1 RoCE和InfiniBand比较

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

  • InfiniBand:设计之初就考虑了 RDMA,从硬件级别保证可靠传输,提供更高的带宽和更低的时延。但是成本高,需要支持IB网卡和交换机。

  • RoCE:基于 Ethernet 做 RDMA,消耗的资源比 iWARP 少,支持的特性比 iWARP 多。可以使用普通的以太网交换机,但是需要支持RoCE的网卡。

  • iWARP:基于TCP的RDMA网络,利用TCP达到可靠传输。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的内存资源,对系统规格要求更高。可以使用普通的以太网交换机,但是需要支持iWARP的网卡。

分布式存储中常用的网络协议

  • IB:常用于DPC场景中的存储前端网络。
  • RoCE:常用于存储后端网络。
  • TCP/IP:常用于业务网络。