一、LLR
LLR是属于UEC范畴,实现MAC层重传,其在网络层级位置如下:

LLR的发送和回复都使用以太网前导码进行传输,如下所示:

- LLR使用LLR_INIT和LLR_INIT_ECHO进行建连;
- LLR发送时使用 LLR发送帧格式传递SN;
- 接收端接收到预期的SN帧时,返回LLR_ACK,此时发送端从重传缓冲区删除该帧;
- 接收端接收到的SN不符合预期或帧错误时,返回LRR_NACK,此时发送端重传该帧。
LLR发送及接收状态机如下:

LLR属于点对点协议,光纤连接的两个port进行重传,如nic port接交换机port,就是nic port与交换机port之间的重传。
二、CBFC
CBFC是属于UEC范畴,实现MAC层重传,其在网络层级位置如下:

LLR的CF_Update使用以太网前导码进行传输,如下所示:

LLR的CC_Update传输频率较低,使用以太网数据包传输,如下所示:

CBFC CF_Update和CC_Update传输如下:


CBFC流控是交换信用值后,信用值不为0才传输数据,是传输数据之前提前交换了信用值,所以不受RTT影响,但会一定程度影响吞吐率;CBFC属于点对点协议,光纤连接的两个port进行流控,如nic port接交换机port,就是nic port与交换机port之间的流控。
三、PFC
PFC是基于优先级的流控,与常规以太网流控不同的是,常规以太网流控对整个链路进行流控,fifo快溢出时发送XOFF,fifo恢复到一定水位时发送XON,这样用接收端快溢出进行反压发送端进行流控;PFC是划分VC的流控,对每个VC进行单独的XOFF/XON流控控制,如下所示:

PFC也是点对点协议,光纤连接的两个port进行流控,如nic port接交换机port,就是nic port与交换机port之间的流控。
PFC不像CBFC是事先交换信用值,所以受RTT影响,在配置水线时需要考虑RTT的影响,如果水线过低,可能出现对端还未收到XOFF帧,就已经出现fifo溢出的情况。
三、DCQCN/CNP/ECN
ECN(Explicit Congestion Notification,RFC 3168)是IP层的拥塞感知机制,是端到端(非点对点)的流控,原理是接收端的port交换机拥堵时,交换机发出ECN到接收端,接收端再发送CNP到发送端,发送端再通过DCQCN算法降速的端到端流量控制,用于RoCEv2等网络。
交换机ECN标记过程:使用IPv4头部的ECN字段,当如下图的交换机port出现拥堵时,交换机读取ECN字段,看是否支持ECN(ECN=00不支持,ECN=10支持),如果支持则将ECN改为ECN=11,接收端接收到ECN标记后,发出CNP,CNP会发送到发送端:

发送端收到CNP就,使用DCQCN算法进行降速。
四、ECMP

云网智算篇-第三篇:无损以太网核心技术------ECN、DCQCN
2025年ETH-XScaleUp互联协议白皮书V1.0.pdf
云网智算篇-第三篇:无损以太网核心技术------ECN、DCQCN