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

什么是RDMA?

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

RDMA技术

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

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

目前,大致有三类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网络使用。

RoCE v1与RoCE v2数据包格式

如何实现RoCE?

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

RoCE的好处

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

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

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

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

关于RoCE的常见问题

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

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

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

  • 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可以减少所需的服务器数量,从而节省能源,并减少基于以太网的数据中心的占用空间。

推荐阅读:

重发:终极版服务器基础知识(附PDF下载)

原文链接:

https://community.fs.com/blog/roce-rdma-over-converged-ethernet.html

RDMA技术原理分析、主流实现对比和解析

转自:SDNLAB

转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。

推荐阅读

更多架构相关技术知识总结请参考“架构师技术全联盟书店”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。

全店内容持续更新,现下单“架构师技术全店打包汇总(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。

温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)”电子书资料详情。

RoCE网络技术和实现方式相关推荐

  1. 同翔网浅析RoCE网络技术

    在数据为王的时代,人们对网络的要求更加严苛.然而传统的TCP / IP以太网连接占用了大量的CPU资源,并且需要额外的数据处理,已无法再满足当前更快.更高效和可扩展性的网络需求.在这种情况下,RoCE ...

  2. 计算机和网络技术的主要应用,计算机网络技术的应用及发展

    计算机网络技术的应用及发展 计算机技术和通信技术的出现与融合,催生了计算机网络的出现和发展,当前,世界各国都已经步入到信息化时代,计算机网络技术就是这个信息爆炸时代的重要标志.下面是小编搜集整理的计算 ...

  3. 接入网的方式和PON网络技术

    接入网 就是从用户终端(如手机.电脑等终端)到运营商城域网之间的所有通信设备组成的网络.接入网的传输距离一般为几百米到几公里,因此经常被形象地称为"最后一公里". 接入网的分类 根 ...

  4. 元宇宙对未来网络技术的挑战

    最近"元宇宙"这个词非常火热.信息领域向来擅长制造概念和包装概念,而且这些概念往往都由商业公司发起,"云计算"."大数据"."工业 ...

  5. 【RDMA】RoCE网络QoS|应用层设置PFC等级|Tos|Priority|TC

    目录 1.什么是QoS 2.为什么RoCE网络需要QoS 3.为了实现每个流有不同的优先级,硬件层如何对流量分类 4. 应用层如何对流量分类 5. 应用层对流量的分类是怎么映射到硬件层上的分类 6.映 ...

  6. 元宇宙对网络技术的挑战,什么样的网络才能承载元宇宙的野心?

    来源:NASP网络实验室 最近"元宇宙"这个词非常火热.信息领域向来擅长制造概念和包装概念,而且这些概念往往都由商业公司发起,"云计算"."大数据&q ...

  7. 生成性对抗网络技术实现

    生成性对抗网络技术实现 Generative Adversarial Networks 以某种形式,使用深度神经网络学习从数据点到标签的映射.这种学习被称为区别性学习,因为希望能够区分猫和狗的照片.量 ...

  8. 什么是新IP的四层网络技术

    新IP技术共有四层:物理底层.网络服务.控制服务和编排.通过这四个层级实现网络虚拟化和软件定义网络,下面就来详细说一说什么是新IP的四层网络技术. 物理底层 新IP技术依然是一种基于硬件的技术,脱离不 ...

  9. 技术沙龙 | TeaTalk 带你深度探索 SDN 网络技术再创新

    越来越多的企业.行业和政府机关顺应企业数字化转型.云服务和国家政策等趋势将业务迁移上云.随着移动云的快速发展,对网络提供差异化的服务能力也提出了很多新的考验.大规模数据中心.虚拟化 SDN 网络技术及 ...

最新文章

  1. 利用python获取指定url在ATS中缓存对象的信息
  2. Sublime text3 快捷方式(windows平台)
  3. 9.2 协同过滤-机器学习笔记-斯坦福吴恩达教授
  4. js里的null 与undefined
  5. 一文详解 Prometheus 的高可用方案:Thanos
  6. 2016年最佳微小说系列
  7. struts2 自带的 token防止表单重复提交拦截器
  8. win2k,XP下用setupapi.dll自动安装Driver
  9. 【VRP】基于matlab改进的模拟退火和遗传算法求解车辆路径规划问题【含Matlab源码 343期】
  10. chrome浏览器小恐龙自动跑
  11. ThreadPoolExecutor线程池终止
  12. 一二线城市知名 IT 互联网公司名单公布!
  13. GIS 地图坐标系相互转换的方法学习笔记
  14. C:\ProgramData\Microsoft\VisualStudio创建软连接,腾出C盘空间
  15. 正在等待暴雪服务器响应,炉石传说无法通过暴雪战网服务进行登录,炉石传说,“游戏无法将你登陆至战网。请等待几分钟并再次尝试”...
  16. Vue中实现点击当前行变色
  17. Unity3D 200个插件免费分享
  18. EMI滤波器的matlab仿真,开关电源EMI滤波器的仿真设计
  19. 虚函数、抽象函数、抽象类、接口
  20. eMMC烧录镜像分区信息剖析

热门文章

  1. 5.elasticsearch接入
  2. 北航计算机在职研究生多少钱,在职攻读北航研究生需要多少学费?
  3. 同位语-名词性从句(基础)
  4. springboot中thymeleaf渲染html模板
  5. PHPstudy之PHP探针的查找
  6. 【论文翻译】Learning Generalizable and Identity-Discriminative Representations for Face Anti-Spoofing
  7. Unity使用Package Manager管理自定义插件
  8. 删除桌面计算机,电脑设置小技巧(多余壁纸、屏保删除方法)
  9. 腾讯,干掉 Redis 项目,正式开源、太牛逼啦
  10. 铲屎官期盼已久的电影终于来啦!~