ROCEv2拥塞管理

RDMA

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

RDMA网络

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

RoCEv1 VS ROCEv2区别

RoCE是在InfiniBand Trade Association(IBTA)标准中定义的网络协议,允许通过以太网络使用RDMA。简而言之,它可以看作是RDMA技术在超融合数据中心、云、存储和虚拟化环境中的应用。
RoCE协议存在RoCEv1和RoCEv2两个版本,这取决于所使用的网络适配器或网卡。
RoCEv1因为只有Eth L2头所有只能在一个2层网络(VLAN)里通信。
RoCEv2相比v1版本通过改变数据包封装,包括IP和UDP标头,RoCE v2现在可以跨L2和L3网络使用。
在这里插入图片描述

RoCE优势

低CPU占用率:访问远程交换机或服务器的内存,无需消耗远程服务器上的CPU周期,从而可以充分利用可用带宽和更高的可伸缩性。
零复制:向远程缓冲区发送数据和接收数据。
高效:由于RoCE改善了延迟和吞吐量,网络性能得到了很大提高。
节省成本:借助RoCE,无需购买新设备或更换以太网基础设施即可处理大量数据,从而大大节省了公司的资本支出。

RoCEv2拥塞管理

重点写一下RoCEv2的拥塞管理。

Pause帧

定义在IEEE 802.3x,用一个特定的以太网帧发送到上游L2交换机,使其停止或暂停发送流量(注意是所有流量)。这也是Pause帧一般不建议使用的原因。
试想,H-J链路承载了F-G和X-Y的流量,如果A-F都发送流量到G,导致G被打满(但H-J还有充足带宽)那么SW1向SW2发送Pause帧,减少了H-J的流量势必会影响到X-Y的流量。这就是个问题了。

在这里插入图片描述

Priority Flow Control (PFC)

Pause帧的升级版,定义在IEEE 802.1bb。它可以基于COS值而不是所有流量暂停。例如:2层VLAN网络用IEEE 802.1p区分流量。
下图:假设RDMA应用是运行在 Priority 3,需要把Priority 3映射到TC1上,然后在Priority 3启用PFC。这样TC1就是希望的loss-less(TC1 buffuer不丢包)
在这里插入图片描述

Explicit Congestion Notification (ECN)

定义在RFC3168中。相比Pause帧方案,ECN是一个端到端的解决方案,直接从源头上解决了拥塞。
在DSCP的后两位做ECN,Not-ECT “00”表示不支持ECT(ECN-capable Transport);CE“11”表示发生拥塞;ECT(1)“01”一般是发送端设置,ECT(0)“10”一般是接收端设置(两者也可以互换,也就是“10”在发送端设置,“01”在接收端设置)。其实ECT(0)和ECT(1)两个编码就是一个互相验证的机制。
在这里插入图片描述

借用Mellanox官网上的图
在这里插入图片描述

1 发送端必须设置ECN,ECT标记为10;
2 RoCEv2报文进入网络设备,当然网络设备必须也支持ECN;在这里插入图片描述
3 网络设备在拥塞的情况下会检查ECN位,并开启CE bit(11),而不是直接丢包;
4 报文从网络设备到接收端时,ECN为11在这里插入图片描述
5 接收端会对开启CE位的RoCE的报文过滤,触发事件然后做正常流处理;
6-7 接收端针对每个QP(Queue Pair)产生的拥塞做汇聚,在几微秒内将一个CN(Congestion
Notification)报文发给发送端。报文ECN设置为01;
8 接收端到网络设备的CNP报文;在这里插入图片描述
9 CNP报文封在UDP里,网络设备在处理CNP报文和普通IP报文一样;在这里插入图片描述

10 发送端收到CNP报文并过滤ECN 01,然后对相应流做相应算法限制速率。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值