DCQCN

RoCE采用DCQCN(Data Center Quantized Congestion Notification)算法作为拥塞控制手段。拥塞发生时,报文会有一定概率被交换机打上ECN(Explicit Congestion Notification)标志,这个概率会随拥塞程度变大而变大;带有ECN标志的报文到达接收端,接收端会回复一个CNP(Congestion Notification Packet)给发送端;发送端接收到CNP,就会降低自身的发送速率,从而减少拥塞情况。

DCQCN是一种基于速率的端到端拥塞控制算法,它融合了QCN算法和DCTCP算法,并提供了较好的公平性,实现高带宽利用率,保证低的队列缓存占用率和较少的队列缓存抖动情况,其实现原理如下:

表1 DCQCN原理说明

编号

描述

a

RP1以速率v向NP发送数据,数据包会经过CP2

b

CP会根据队列拥塞情况给经过的包设置ECN标记。

c

NP3根据接收带有ECN标记的包的情况,向RP端发送CNP包。

d

RP根据收到CNP包的情况调整发送速率v。

  1. RP:数据发送端,拥塞算法的响应端。
  2. CP:交换机,拥塞算法中的拥塞端。
  3. NP:数据接收端,拥塞算法的通知端。