ROCE网络中很重要的一部分是流控技术,目前常用的是DCQCN模式,主要机制是ECN+PFC能力,关于这两个功能的作用此处不再赘述,
主要来看下这两种报文携带的信息及相关设备对此类报文的处理
PFC:针对0-7队列进行整队列的停流
OPCODE:
发送方:任意开启PFC功能接口在ingress buffer触发时就会发送
触发条件:ingress buffer使用量到达阈值
解除条件:ingress buffer使用量降低到X-ON水线下阈值
接口处理行为:收到对应pasue后对对应队列全部暂停发送某一周期,周期内重复接受刷新停流周期不会叠加.
报文格式:主要信息包含需要停流的队列,停流的时间,协议规定停流时间可变,目前几个黑盒厂家实现上均采用最大的65535
停流时间:单个PFC报文停流时间65535*接口发送512bit所需要时间.
传播范围:链路级别
接口生成pasue数据帧的速率问题:
ECN:针对某一条流的限速
OPCODE:129
发送方:网卡 中间网络负责ECN标记实际是网卡生成CNP报文进行降速
触发条件:网卡接受到ECN置位报文后,网卡只会在某一周期处理一次置位,并不会收到一次就生成一个CNP报文.处理周期/发送上限
接口处理行为:对端收到后使用DCQCN算法对特定QP进行降速.
报文格式:主要信息包含QP信息,借此识别到需要降速的流
降速机制:DCQCN降速算法,比较复杂此处不再赘述.
传播范围:端到端 网卡-网卡