1.一种数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,步骤包括:
检测交换机输出端口的数据分组的队列长度,根据检测到的队列长度判断输出端口的拥塞状态;
如果输出端口的拥塞状态处于无拥塞状态,则直接转发数据分组到目的输出端口以发送给主机端;
如果输出端口的拥塞状态处于持续拥塞状态,则启动ECN标记功能,对数据队列中指定数据分组进行ECN标记后通过目的输出端口发送数据分组给主机端,以根据所述ECN标记控制主机端发送速率;
如果输出端口的拥塞状态处于突发拥塞状态,且拥塞流的数据分组与非拥塞流共享输入端口,则禁用ECN标记功能直至队列长度下降指定阈值,转发数据分组到目的输出端口,同时生成拥塞通告报文CNM并直接通告拥塞流的发送端,以根据拥塞通告报文CNM控制主机端发送速率。
2.根据权利要求1所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,所述根据检测到的队列长度判断输出端口的拥塞状态包括:当所述队列长度小于预设ECN标记阈值QECN时,则判定输出端口处于无拥塞状态;当所述队列长度在预设ECN标记阈值QECN和预设突发拥塞反馈阈值QCNM之间时,则判断输出端口处于持续拥塞状态;当所述队列长度超过预设突发拥塞反馈阈值QCNM时,则判定输出端口处于突发拥塞状态。
3.根据权利要求2所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,所述如果输出端口的拥塞状态处于持续拥塞状态时,对数据队列中超过所述预设ECN标记阈值QECN的数据分组进行ECN标记。
4.根据权利要求2所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,所述如果输出端口的拥塞状态处于突发拥塞状态时,判断数据分组所属拥塞流是否与非拥塞流共享输入端口,如果是禁用ECN标记功能直到队列长度下降到所述预设ECN标记阈值QECN以下再重新开启ECN标记功能,否则直接转发数据分组。
5.根据权利要求2所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,所述突发拥塞反馈阈值QCNM的值在范围[QECN,max(QECN,QPFC/M‑3dC*(M‑1))]内,其中M为交换机出端口数量,d为链路基础延时,C为链路带宽,QPFC为预设PFC暂停阈值。
6.根据权利要求1~5中任意一项所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,还包括在接收端判断接收到的接收分组是否带有ECN标记的分组,如果是将ECN标记复制到拥塞通告分组CNP中,周期性向发送端发送所述拥塞通告分组CNP以及ACK信号,否则直接发送ACK信号给发送端。
7.根据权利要求6所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,还包括根据接收到的数据分组类型控制发送端的发送速率,当接收到所述拥塞通告分组CNP时,按照AIMD算法调节发送速率,当接收到带有拥塞通告报文CNM的数据分组时,将发送速率直接设为目标速率再发送数据分组。
8.根据权利要求7所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,所述按照AIMD算法调节发送速率包括:如果所述拥塞通告分组CNP中拥塞标记为1,则按照式 计算ECN标记比例
其中g为速率调节权重,为最近一个统计周期内的ECN标记比例,然后计算调节后的新发送速率:
如果所述拥塞通告分组CNP中拥塞标记为0,则按照式 计算ECN标记比例
然后计算调节后的新发送速率:新的发送速率=(目标速率+当前发送速率)/2。
9.根据权利要求7所述的数据中心无损网络中基于拥塞反馈的数据流传输控制方法,其特征在于,所述当接收到带有拥塞通告报文CNM的数据分组时,将发送速率直接设为C/N目标速率,其中C为链路带宽,N为带有拥塞通告报文CNM的数据分组携带的拥塞流数量。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序执行时实现如权利要求1~9中任意一项所述的方法。