最后更新:2022-08-03 19:43:54 手机定位技术交流文章

远程直接存储访问(RDMA)是一种直接存储访问技术。它直接将数据从一个计算机的内存转移到另一个计算机.两个操作系统都不需要干预。RDMA最早在Infiniband传输网络上实现。后来的工业制造商将RDMA转移到传统的Ethernet Ethernet,减少RDMA使用成本,促进RDMA技术的普及.
然而,在Ethernet Ethernet中,根据堆栈集成的不同,两个技术被分为iWARP和RoCE,而RoCE还包括两个版本的RoCEv1和RoCEv2(RoCEv2的最大改进是它支持IP路由)。
随着高性能计算、大数据分析、人工智能以及物联网等技术的飞速发展,集中式存储、分布式存储以及云数据库的普及等原因,业务应用有越来越多的数据需要从网络中获取,这对数据中心网络的交换速度和性能要求越来越高。
传统的TCP/IP硬件架构和应用程序有过时的网络传输和数据处理延迟、多份数据复制和中断处理以及复杂的TCP/IP协议处理问题。RDMA(Remote Direct Memory Access,远程直接存储访问是解决网络传输中服务器端数据处理延迟的技术。
RDMA将用户应用程序中的数据直接转移到服务器的存储区,通过网络快速从系统传输数据到远程系统存储设备,消除在传输过程中进行多个数据复制和文本交换的操作,CPU负荷降低。以下图示了RDMA技术原理及其与TCP/IP架构的比较。

RDMA技术实现了在网络传输中,两个节点之间直接传输数据缓冲区数据。在这个节点中,数据可以直接通过网络传输到远程节点的内存中,绕过操作系统内多个内存拷贝,与传统的网络传输相比,RDMA不需要操作系统和TCP/IP协议的干预,它能够实现超低延迟和超高吞吐传输数据处理。不需要远程节点CPU资源来干预,在数据处理和迁移方面不需要花费太多资源。
IB(InfiniBand):基于InfiniBand架构的RDMA技术,它由IBTA(InfiniBand Trade Association)引入。建立基于IB的RDMA网络需要专门的IB网络卡和IB交换机。
iWARP(Internet Wide Area RDMA Protocal):基于 TCP/IP 协议的 RDMA 技术,它是由IETF定义的。iWARP支持RDMA技术在标准的Ethernet基础设施上使用,然而,服务器需要使用支持iWARP的网络卡。
RoCE(RDMA over Converged Ethernet):基于Ethernet的RDMA技术,它也由IBTA提供。RoCE支持RDMA技术在标准的Ethernet基础设施上的应用,但交换机需要支持无损的Ethernet传输,服务器需要使用RoCE网络卡。
https://ke.qq.com/course/417774?flowToken=1013189

InfiniBand是基于InfiniBand架构的RDMA技术,提供一种基于通道的点到点消息队列传输模型,每个应用程序可以通过创建的虚拟通道直接访问应用程序的数据消息,没有其他操作系统或协议堆。InfiniBand架构的应用程序层使用RDMA技术,可以提供远程节点之间的RDMA读写访问,完全卸载CPU工作负载;网络传输采用高带宽传输;链路层设置特定的再传输机制以确保服务质量,不需要数据缓冲。

InfiniBand必须在InfiniBand网络环境中运行,并必须使用IB开关和IB网络卡实现。
InfiniBand技术具有以下特点:
•应用程序层使用RDMA技术来减少在主机方面的数据处理的延迟。
•消息传输控制由子网管理器执行,没有像Ethernet那样复杂的协议交互计算。
链层通过重新传输机制确保服务质量,没有数据缓冲器,没有数据包丢失。
它具有低延误 、 高带宽和低加工成本的特点.
iWARP技术简介
iWARP是基于Ethernet和TCP/IP协议的RDMA技术,可以在标准的Ethernet基础设施上运行。
iWARP不指定物理层信息,因此它可以使用TCP/IP协议运行任何网络顶层。 iWARP允许多个传输类型共享相同的物理连接,例如网络、I/O、文件系统、块存储和处理器之间的消息通信。

iWARP由MPA、DDP和RDMAP三层子协议组成:
RDMAP层协议负责RDMA读写操作和RDMA消息转换,并将RDMA消息转移到DDP层。
DDP层协议负责将延迟的RDMA消息片段分发到DDP数据包中继续传输到MPA层。
MPA层在 DDP 数据段的固定标识位置增加转发后向标识、数据报文的长度以及 CRC 校验数据等字段构成 MPA 数据段交由 TCP 传输。
iWARP以多种方式减少主机侧网络负载:
• TCP/IP 处理流程从 CPU 卸载到 RDMA 网卡处理,降低了 CPU 负载。
• 删除内存复制:应用程序可以直接转移数据到应用程序的末端内存,大大降低CPU负载。
减少应用程序间的转换:应用程序可以绕过操作系统并直接在用户空间发送命令到RDMA网络卡,降低成本和大幅减少应用程序间的转换所造成的延误。
由于TCP协议提供了流量控制和拥塞管理,iWARP不需要以太网支持的无损传输,并且只能通过普通以太网交换机和iWARP网络卡实现,因此它可以应用于宽带网络,具有更好的可扩展性。
RoCE技术简介
RoCE技术支持Ethernet上的IB协议实现RDMA在Ethernet上。 RoCE和InfiniBand技术具有相同的软件应用层和传输控制层,只有网络层和Ethernet链层不同。

RoCE v1协议:基于RDMA的Ethernet支持,它只能在二进制网络上部署,其报告结构是将二进制Ethernet头条添加到现有的IB架构报告中,通过Ethertype 0x8915来识别RoCE报告。
RoCE v2协议:基于UDP/IP协议的RDMA,可部署于三层网络,它的报告结构是将UDP头衔、IP头衔和两个层的Ethernet头衔添加到原始IB架构的报告中。通过UDP端点编号4791来识别RoCE消息.RoCE v2支持基于哈希的端口编号,使用ECMP实现负载共享,增加网络利用率。
RoCE使基于Ethernet的数据传输能够:
增加数据传输吞吐量。
• 减少网络延时。
减少CPU负载。
RoCE技术可以通过一个通用的Ethernet交换机实现,但服务器需要支持RoCE网络卡,而网络侧需要支持非破坏性Ethernet网络,这是由于IB的包处理机制中的任何消息丢失会导致大量重传输,严重影响数据传输性能。
在 RoCE 网络中,需要构建无损以太网用于保证网络传输过程中不丢包,关于无损以太网技术参考文章:“FCoE全解系列”之增强型以太网技术。构建无损以太网需支持以下关键特性:
(必选)PFC(Priority-based Flow Control,基于优先级的流量控制):逐跳提供基于优先级的流量控制,能够实现在以太网链路上运行多种类型的流量而互不影响。
(必选)ECN(Explicit Congestion Notification,显示拥堵通知:当设备拥堵时,通过在消息IP标题中识别ECN域,CNP(Congestion Notification Packet)由接收器发送到发送器以降低传输速率。拥塞通知报文),全面实施交通堵塞管理,减缓拥塞扩散恶化。
(建议)DCBX(Data Center Bridging Exchange Protocol,数据中心桥梁能力交换协议:使用LLDP自动协商DCB能力参数,包括PFC和ETS等。一般用于连接服务器与接收器,与服务器网络卡进行容量协商.
(可选)ETS(Enhanced Transmission Selection,增强传输选择:按服务类型排序流量,同时为不同流量提供最低带宽保证,提高链路的利用率,保证重要的流量的带宽百分比.需要逐跳提供。
在RoCE环境中,PFC和ECN必须同时使用,以确保带宽而不丢失数据包。这两个功能分别比较如下:

虽然IBM、Ethernet ROCE和Ethernet iWARP都使用统一的API,但它们有不同的物理层和链层。在Ethernet解决方案中,RoCE比iWARP具有明显的优势,这些优点反映在延迟 、 吞吐率和CPU负载.RoCE由许多主流方案支持,它也包含在Windows服务软件中。

RDMA技术是基于传统网络的概念,但与IP网络有不同之处。最关键的区别是RDMA提供消息服务, 利用这种服务,应用程序可以在远程计算机上直接访问虚拟内存.消息服务可以用于网络中的进程间通信(IPC),与远程服务器通信,以及通过一些高级协议将数据转移到存储设备。
上层应用协议ULPs(Upper Layer Protocols)有很多,例如,iSCSI RDMA扩展(iSER)和SCSI RDMA协议(SRP),主流的SMB、Samba 、Lustre、ZFS等也支持RDMA。
RoCE和InfiniBand,其中一个定义如何在Ethernet上运行RDMA,另一个定义了如何在IBM网络中运行RDMA.RoCE预计能够将IBM应用程序(主要是基于集群的应用程序)转移到融合Ethernet,而在其他应用中,IB网络仍然能够提供比RoCE更高的带宽和较低的延迟。RoCE和IB协议之间的技术差异:
拥塞控制:RoCE所依赖的无丢包网络基于以太网流控或PFC(Priority Flow Control)来实现。RoCEv2定义了拥堵控制协议,使用ECN标记和CNP框架验证.IBM使用基于信用的算法来确保HCA和HCA之间的无线通信。
时延:当前IB交换机普遍要比以太交换机拥有更低的时延,以太网交换机一般的Port-to-Port时延在230ns,相比IB交换机在同样端口数的情况下100ns的时延,以太交换机还是要高出不少。
配置:配置一个DCB以太网络要远比配置一个IB网络要复杂的多,同理,运维也要复杂的多。
RoCE和iWARP,一种基于不连接的协议UDP,其中一种基于基于连接的协议(例如TCP)。RoCEv1只能限于两层广播区,RoCEv2和iWARP都可以支持三层路由。相比RoCE,在大型团体网络中,iWARP的大量TCP连接将占用大量的内存资源,系统规格更高。另外,RoCE支持组播,没有标准定义iWARP。

建议举办一个免费的公共课程,以开发教育的零声C/C++后端,我个人认为老师讲得很好,分享给大家: C/C++后端开发者,内容包括Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,技术内容,如DPDK,立即学习
原文:RDMA技术原则及三个实施方法
本文由 在线网速测试 整理编辑,转载请注明出处。