0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是RDMA?什么是RoCE网络技术?

ZYNQ 来源:ZYNQ 2023-07-24 17:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

人们对网络的要求更加严苛。然而传统的TCP / IP以太网连接占用了大量的CPU资源,并且需要额外的数据处理,已无法再满足当前更快、更高效和可扩展性的网络需求。在这种情况下,RoCE(RDMA over Converged Ethernet )走进了人们的视野。

什么是RDMA?

RDMA(远程直接数据存取)就是为了解决网络传输中服务器端数据处理的延迟而产生的,无需使用CPU,就可以从一个主机或服务器的内存直接访问另一主机或服务器的内存。它释放了CPU去执行其应做的工作,比如运行应用程序和处理大量数据。这既提高了带宽又降低了延迟、抖动和 CPU 消耗。

ac0f91b4-2a02-11ee-a368-dac502259ad0.jpg

RDMA技术

因此,RDMA可以简单理解为利用相关的硬件和网络技术,服务器1的网卡可以直接读写服务器2的内存,最终达到高带宽、低延迟和低资源利用率的效果。

如下图所示,应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。

ac33da7e-2a02-11ee-a368-dac502259ad0.jpg

目前,大致有三类RDMA网络,分别是Infiniband、RoCE、iWARP。其中,Infiniband是一种专为RDMA设计的网络,从硬件级别保证可靠传输 ,而RoCE 和 iWARP都是基于以太网的RDMA技术,支持相应的verbs接口

什么是RoCE?

顾名思义,RoCE是在InfiniBand Trade Association(IBTA)标准中定义的网络协议,允许通过以太网络使用RDMA。简而言之,它可以看作是RDMA技术在超融合数据中心、云、存储和虚拟化环境中的应用。

RoCE的类型

RoCE协议存在RoCEv1和RoCEv2两个版本,这取决于所使用的网络适配器或网卡。

RoCE v1:RoCE v1是基于以太网链路层实现的RDMA协议(交换机需要支持PFC等流控技术,在物理层保证可靠传输),允许在同一个VLAN中的两台主机进行通信。RoCE V1协议在以太层的typeID是0x8915。

RoCE v2:RoCE v2克服了RoCE v1绑定到单个VLAN的限制。通过改变数据包封装,包括IP和UDP标头,RoCE v2现在可以跨L2和L3网络使用。

ac7fc240-2a02-11ee-a368-dac502259ad0.jpg

RoCE v1与RoCE v2数据包格式

如何实现RoCE?

通常,为了实现RoCE,可以安装支持RoCE的网卡或卡驱动程序。所有以太网NIC都需要RoCE网络适配器卡。RoCE驱动程序在Red Hat、Linux、Microsoft Windows和其他常见操作系统中使用。RoCE有两种可用方式:对于网络交换机,可以选择使用支持PFC(优先流控制)操作系统的交换机;对于机架服务器或主机,需要使用网卡。

acaa4b78-2a02-11ee-a368-dac502259ad0.jpg

RoCE的好处

低CPU占用率:访问远程交换机或服务器的内存,无需消耗远程服务器上的CPU周期,从而可以充分利用可用带宽和更高的可伸缩性。

零复制:向远程缓冲区发送数据和接收数据。

高效:由于RoCE改善了延迟和吞吐量,网络性能得到了很大提高。

节省成本:借助RoCE,无需购买新设备或更换以太网基础设施即可处理大量数据,从而大大节省了公司的资本支出。

acd373cc-2a02-11ee-a368-dac502259ad0.jpg

关于RoCE的常见问题

下面列出了一些有关RoCE的常见问题。

1. RoCE与iWARP、InfiniBand的技术对比

RDMA最早在Infiniband传输网络上实现,技术先进,但是价格高昂,后来业界厂家把RDMA移植到传统Ethernet以太网上,降低了RDMA的使用成本,推动了RDMA技术普及。在Ethernet以太网上,根据协议栈融合度的差异,分为iWARP和RoCE两种技术,而RoCE又包括RoCEv1和RoCEv2两个版本(RoCEv2的最大改进是支持IP路由),各RDMA网络协议栈的对比如下图所示。

ad144e60-2a02-11ee-a368-dac502259ad0.png

Infiniband,支持RDMA的新一代网络协议。由于这是一种新的网络技术,因此需要支持该技术的NIC和交换机。

RoCE,一个允许在以太网上执行RDMA的网络协议。其较低的网络标头是以太网标头,其较高的网络标头(包括数据)是InfiniBand标头。这支持在标准以太网基础设施(交换机)上使用RDMA。只有网卡应该是特殊的,支持RoCE。

iWARP,一个允许在TCP上执行RDMA的网络协议。IB和RoCE中存在的功能在iWARP中不受支持。这支持在标准以太网基础设施(交换机)上使用RDMA。只有网卡应该是特殊的,并且支持iWARP(如果使用CPU卸载),否则所有iWARP堆栈都可以在软件中实现,并且丧失了大部分RDMA性能优势。

RoCE和iWARP,一个是基于无连接协议UDP,一个是基于面向连接的协议(如TCP)。RoCEv1只能局限在一个二层广播域内,而RoCEv2和iWARP都能够支持三层路由。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的额内存资源,对系统规格要求更高。另外,RoCE支持组播,而iWARP还没有相关的标准定义。

2. RoCE适配器可以与其他适配器类型(例如iWARP)通信吗?

RoCE适配器只能与其他RoCE适配器通信,如果混合适配器类型配置的话,例如RoCE适配器与iWARP适配器组合,都可能会恢复为传统的TCP / IP连接。

结论

在数据中心中运行RDMA,可以减轻数据移动的负担,并为应用程序提供更高的CPU资源可用性。RoCE协议可以从RDMA的功能中受益,而无需更改其网络基础架构。通过减少以太网延迟和CPU开销,RoCE可以提高搜索、存储、数据库和高事务处理率应用程序的性能。通过提高CPU效率和应用程序性能,RoCE可以减少所需的服务器数量,从而节省能源,并减少基于以太网的数据中心的占用空间。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    41

    文章

    5928

    浏览量

    179570
  • 网络适配器
    +关注

    关注

    0

    文章

    43

    浏览量

    11993
  • VLAN技术
    +关注

    关注

    0

    文章

    45

    浏览量

    6710
  • PFC电路
    +关注

    关注

    9

    文章

    99

    浏览量

    21343
  • RDMA
    +关注

    关注

    0

    文章

    85

    浏览量

    9559

原文标题:什么是RoCE网络技术?

文章出处:【微信号:ZYNQ,微信公众号:ZYNQ】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RoCE与IB对比分析(一):协议栈层级篇

    在 AI 算力建设中, RDMA 技术是支持高吞吐、低延迟网络通信的关键。目前,RDMA技术主要通过两种方案实现:Infiniband和
    的头像 发表于 11-15 13:58 3221次阅读
    <b class='flag-5'>RoCE</b>与IB对比分析(一):协议栈层级篇

    RDMA简介1之RDMA开发必要性

    ,提供高通量、低延迟、远距离的零拷贝网络数据传输。基于融合以太网的远程直接内存访问(RoCE)提供了一种基于以太网的RDMA技术实现方法,相较于IB(InfiniBand)、互联网广域
    发表于 06-03 14:38

    RDMA简介3之四种子协议对比

    RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API,但在具体的
    发表于 06-04 16:05

    RDMA简介4之ROcE V2初析

    RoCE v2原语 (1)RDMA READ操作将远端主机内存中的数据读取到本地。具体流程为:本地主机将需要请求数据的地址、长度及对应的远程访问密钥发送给远程主机,远程主机比对密钥通过后,则将数据
    发表于 06-05 15:20

    RDMA over RoCE V2设计2:ip 整体框架设计考虑

    ,完成网络层级中网络层及应用层功能。该模块负责将来自系统控制模块的功能请求转换为RoCE v2 指令,如建链、断链、数据传输,并执行指令提交及完成机制。此外,该模块还实现了 RDMA
    发表于 07-16 08:51

    RDMA设计1:开发必要性1之设计考虑

    解决 FPGA 系统存储容量不足已成为亟待解决的问题。 远程直接内存访问技术RDMA) 是一种专为远距离网络通信设计的技术, 其通常通过光纤进行设备间连接, 提供高通量、 低延迟
    发表于 11-19 14:30

    RDMA设计5:RoCE V2 IP架构

    控制的核心模块。RoCE v2 高速数据传输IP内部集成了多种功能,包括 RDMA 建链、RDMA 队列管理、DMA 传输和系统监控等。 这些功能均由系统控制模块进行管理。为了对这些功能进行高效的管理
    发表于 11-25 10:34

    通信、网络技术会议

    第十二届无线通信、网络技术与移动计算国际学术会议(WiCOM 2016)将于2016年9月25-27日在古城西安举行。本届大会将继续遵循学术性、国际性的原则,特邀国内外无线通信、网络技术与移动计算
    发表于 04-25 17:08

    RDMA技术简介

    RDMA 指的是一种远程直接存储器访问技术。具体到协议层面,它主要包含 InfiniBand、RoCE 和 iWARP 三种协议。三种协议都符合 RDMA 标准,共享相同的上层用户接口
    的头像 发表于 04-13 10:48 5397次阅读

    RDMA技术简介

    iWARP(Internet Wide Area RDMA Protocol)是 IETF 定义的基于 TCP 的 RDMA,它和RoCE v2 都可以路由。因为 TCP 是面向连接的可靠协议,这使
    的头像 发表于 04-20 09:49 4473次阅读
    <b class='flag-5'>RDMA</b><b class='flag-5'>技术</b>简介

    RDMA和TCP/IP有什么区别

    在分布式存储网络中,我们使用的协议有RoCE、Infiniband(IB)和TCP/IP。其中RoCE和IB属于RDMA (RemoteDirect Memory Access)
    的头像 发表于 11-30 09:19 3305次阅读
    <b class='flag-5'>RDMA</b>和TCP/IP有什么区别

    以太网RDMA RoCE技术局限

    上期我们讲到了RDMA的WHY,WHAT & HOW(AI网络背景下RDMA的Why,What & How),这一期我们来谈一谈RDMA的不足。
    的头像 发表于 10-22 10:02 2273次阅读
    以太网<b class='flag-5'>RDMA</b> <b class='flag-5'>RoCE</b>的<b class='flag-5'>技术</b>局限

    加速网络性能:融合以太网 RDMA (RoCE) 的影响

    直接内存访问 (RDMA) (RoCE)。这项突破性技术促进了系统之间的直接数据传输,无需 CPU 干预,从而显着减少延迟并提高整体系统性能。[爱波]一家著名的 FPGA 设计公司处于这一进步的最前沿,通过将 AMD 的 ERN
    的头像 发表于 01-25 11:50 1813次阅读
    加速<b class='flag-5'>网络</b>性能:融合以太网 <b class='flag-5'>RDMA</b> (<b class='flag-5'>RoCE</b>) 的影响

    如何实现开源开放生态下的RDMA网络监控?

    在当今AI、大模型飞速发展的时代,RDMA(Remote Direct Memory Access,远程直接内存访问)网络技术凭借其低延迟、高吞吐量的特性,在数据中心、高性能计算等领域得到了广泛应用
    的头像 发表于 03-03 13:42 973次阅读
    如何实现开源开放生态下的<b class='flag-5'>RDMA</b><b class='flag-5'>网络</b>监控?

    RDMA over RoCE V2设计1:为什么要设计它?

    基于PC-PC或GPU-GPU之间RDMA设计已有较多厂商投入,虽然有的大厂投入几年后折羽而归,但不影响PC领域成熟应用产品的推广。这里主要讨论在FPGA上设计RDMA over RoCE V2,虽然已有xilinx的ernic
    的头像 发表于 07-15 10:58 497次阅读
    <b class='flag-5'>RDMA</b> over <b class='flag-5'>RoCE</b> V2设计1:为什么要设计它?