RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中客户端与服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。传统的TCP/IP网络通信,数据需要通过用户空间发送到远程机器的用户空间。数据发送方需要将数据从用户应用空间Buffer复制到内核空间的Socket Buffer中。然后内核空间中添加数据包头,进行数据封装。通过一系列多层网络协议的数据包处理工作,这些协议包括传输控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)以及互联网控制消息协议(ICMP)等。数据才被Push到NIC网卡中的Buffer进行网络传输。消息接受方接受从远程机器发送的数据包后,要将数据包从NIC Buffer中复制数据到Socket Buffer。然后经过一系列的多层网络协议进行数据包的解析工作。解析后的数据被复制到相应位置的用户空间Buffer。这个时候再进行系统上下文切换,用户应用程序才被调用。以上就是传统的TCP/IP协议层的工作。目前,大致有三类RDMA网络,分别是Infiniband、RoCE、iWARP。
Infiniband是一种专为RDMA设计的网络,从硬件级别保证可靠传输。 InfiniBand 架构获得了极好的性能,但是其不仅要求在服务器上安装专门的 InfiniBand 网卡,还需要专门的交换机硬件,成本十分昂贵。而在企业界大量部署的是以太网络,为了复用现有的以太网,同时获得 InfiniBand 强大的性能,IBTA 组织推出了RoCE(RDMA over Converged Ethernet)。RoCE 支持在以太网上承载 IB 协议,实现 RDMA over Ethernet,这样一来,仅需要在服务器上安装支持 RoCE 的网卡,而在交换机和路由器仍然使用标准的以太网基础设施。
iWARP 是基于以太网和TCP/IP 协议的 RDMA 技术,可以运行在标准的以太网基础设施上。他并没有指定物理层信息,所以能够工作在任何使用TCP/IP协议的网络上层。允许很多传输类型来共享相同的物理连接,如网络、I/O、文件系统、块存储和处理器之间的消息通讯。由于 TCP 协议能够提供流量控制和拥塞管理,因此 iWARP 不需要以太网支持无损传输,仅通过普通以太网交换机和 iWARP 网卡即可实现,因此能够在广域网上应用,具有较好的扩展性。RoCE 技术支持在以太网上承载 IB协议,实现 RDMA over Ethernet。RoCE 与 InfiniBand技术有相同的软件应用层及传输控制层,仅网络层及以太网链路层存在差异。RoCE协议存在RoCEv1 (RoCE)和RoCEv2 (RRoCE)两个版本,主要区别RoCEv1是基于以太网链路层(L2)实现的RDMA协议(交换机需要支持PFC等流控技术,在物理层保证可靠传输,而RoCEv2是以太网TCP/IP协议中UDP层(L3)实现。而现在有一种创新的网络存储技术NVMe over RDMA,它将NVMe协议的高效性与RDMA的低延迟特性结合起来,为数据中心提供了一种高性能的存储访问解决方案。这种技术允许NVMe命令通过网络传输到远程存储系统,从而突破了传统NVMe协议仅限于本地存储的限制。通过使用RDMA,NVMe overRDMA实现了内存与内存之间的直接数据传输,绕过了CPU的介入,这不仅显著降低了数据传输的延迟,还提高了整体的吞吐量。这种低延迟和高吞吐量的特性,使得NVMe over RDMA非常适合高性能计算和数据分析等对存储性能要求极高的应用场景。
NVMe over RDMA的另一个显著优势是其对多种网络技术的兼容性。无论是InfiniBand、RoCE还是iWARP,只要网络支持RDMA,就可以运行NVMe over RDMA,这为数据中心提供了灵活的网络选择和配置。此外,NVMe over RDMA还有助于简化数据中心的存储架构。它减少了对专用存储网络的依赖,有助于降低成本,并且使得存储资源的管理和使用更加灵活。通过虚拟化存储资源,数据中心能够更高效地分配和扩展存储容量,以满足不断变化的业务需求。为了保证数据传输的一致性和可靠性,NVMe over RDMA技术采用了校验和、序列号等机制。这确保了即使在网络环境中,数据的完整性和准确性也能得到保障。最后,NVMe over RDMA可以与现有的存储管理和调度工具无缝集成,为存储管理员提供了灵活的存储资源管理和优化选项。这种集成不仅提高了存储管理的效率,还使得存储资源的调度更加智能和自动化。NVMe over RDMA的关键优势在于其零拷贝机制、内核旁路能力以及无CPU参与的数据传输特性。这些优势共同作用,极大缩短了数据传输路径,减少了不必要的数据复制过程,进而降低了延迟,提高了整体性能。现在大部分存储厂家如宏杉,群晖等都拥有了全闪存的产品线,都希望通过结合NVMe的高性能特性和RDMA的低延迟能力,为现代数据中心提供了一种高效、可扩展且成本效益高的存储解决方案。