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

在 AI 算力建设中, RDMA 技术是支持高吞吐、低延迟网络通信的关键。目前,RDMA技术主要通过两种方案实现:Infiniband和RoCE(基于RDMA的以太网技术,以下简称为RoCE)。

RoCE与IB网络架构概述

RoCE和InfiniBand均是InfiniBand Trade Association(IBTA)定义的网络协议栈,其中Infiniband是一种专为RDMA设计的高性能网络,它从硬件层面确保了数据传输的可靠性,为了进一步发挥RDMA的优势,IBTA在2010年定义了RoCE。RoCE则是Infiniband与以太网技术的融合,它在保持Infiniband核心优势的同时,实现了与现有以太网基础设施的兼容性。具体来说,RoCE在链路层和网络层与Infiniband有所不同,但在传输层和RDMA协议方面,RoCE继承了Infiniband的精髓。

从市场应用占比来看,2000年,IB架构规范的1.0版本正式发布,2015年,InfiniBand技术在TOP500榜单中的占比首次超过了50%,但据最新统计,在全球TOP500的超级计算机中,RoCE和IB的占比相当。以计算机数量计算,IB占比为47.8%,RoCE占比为39%;而以端口带宽总量计算,IB占比为39.2%,RoCE为48.5%。

图1 图2 超级计算机 500 强中 RoCE 和 InfiniBand 的利用率

RoCE与IB报文格式对比

  • RoCE报文格式下图所示:

其中,RoCEv1使用了IB的全局路由头(Global Routing Header),IB BTH是IB的基本传输头(Base Transport Header),ICRC是对InfiniBand层不变字段进行校验的循环冗余校验码,FCS是以太网链路层的校验序列码。

RoCEv2中添加了IP Header和UDP Headrer,引入IP解决了扩展性问题。

图3 RoCE数据包格式

  • IB报文格式如下图所示:

在一个子网(Subnet)内部,只有Local Routing Header(LRH),对应OSI的链路层。在子网之间,还有一个Global Routing Header(GRH),对应OSI的网络层。在Routing Header之上,是Transport Header,提供端到端的传输服务,包括数据的分段、重组、确认和流量控制。接着就是报文的数据部分,包含应用层数据或上层协议信息。最后是不变字段和可变字段的循环冗余校验码(CRC),用于检测报文在传输过程中的错误。

图4 IB数据包格式

RoCE与IB网络层级对比

IB与RoCE协议栈在传输层以上是相同的,在链路层与网络层有所区别:

RoCEv1中,以太网替代了IB的链路层(交换机需要支持PFC等流控技术,在物理层保证可靠传输),然而,由于RoCEv1中使用的是L2 Ethernet网络,依赖于以太网的MAC地址和VLAN

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值