一种抑制拥塞队列产生的方法及装置制造方法及图纸

技术编号:39658074 阅读:22 留言:0更新日期:2023-12-09 11:27
一种抑制拥塞队列产生的方法及装置

【技术实现步骤摘要】
一种抑制拥塞队列产生的方法及装置


[0001]本专利技术涉及通信

,
尤其涉及一种抑制拥塞队列产生的方法及装置


技术介绍

[0002]一般地,数据中心及云服务提供商可以通过部署远程直接内存访问
(remote direct memory access,RDMA),
以使网络达到低延迟

高吞吐量和低
CPU
开销的目的

在可用的
RDMA
技术中,聚合以太网直接内存访问
(RDMA over converged ethernet

RoCE)
是一种很有吸引力的技术,因为它与当前的
IP
和基于以太网的数据中心网络兼容

聚合以太网
RDMA
的部署需要基于优先级的流量控制
(priority flow control,PFC)
来提供无损
L2
网络

通过使用
PFC
可以让网络设备在
buffer
溢出发生之前暂停其直接上游网络设备的数据发送,来避免数据包丢失

然而,在使用
PFC
时容易导致以太网网络出现死锁,严重时会导致整个网络被阻塞


技术实现思路

[0003]本申请提供了一种抑制拥塞队列产生的方法及装置,通过检测入端口的队列的累积情况,识别出拥塞队列,然后根据队列是否是拥塞队列以及设备的缓存占用大小一起决定上游设备需要停止的时间,保证了
CBD
环内流量有剩余缓存空间,保证了
CBD
环内数据包可以正常流动

[0004]第一方面,本申请提供了一种抑制拥塞队列产生的方法,该方法包括:确定第一网络设备的输入端口的缓存队列的队列长度

第一网络设备待接收的报文数量;根据该队列长度和待接收的报文数量确定第一时间,第一时间为第二网络设备停止向第一网络设备发送报文的时间;根据该队列长度,确定缓存队列为拥塞队列时,根据该缓存队列的拥塞程度,将第一时间更新为第二时间;将第二时间发送给第二网络设备

[0005]在上述方案中,通过检测网络设备输入端口的缓存队列的队列长度

飞行报文的数量以及当前缓存队列是否为拥塞队列来共同决定上游网络设备需要停止发送报文的停止时间

进一步地,在本专利技术申请中,可以在网络设备产生拥塞队列之前根据输入端口的缓存队列的队列长度

飞行报文的数量来确定一个第一时间,然后根据该缓存队列是否为拥塞队列来确定是否需要更新第一时间得到第二停止时间

当该缓存队列为拥塞队列时,将第二时间发送给第二网络设备设备,来减少第一网络设备中缓存队列接收报文的数量,避免拥塞队列的产生

进而保证
CBD
环内的数据包可以正常流动

[0006]在一个可能的实现方式中,当确定缓存队列不为拥塞队列时,将第一时间发送给第二网络设备

[0007]也就是说,当缓存队列不为拥塞队列时,也需要将第一时间发送给第二网络设备,以使第二网络设备停止向第一网络设备发送报文

避免第一网络设备中拥塞队列的产生

[0008]在一个可能的实现方式中,其特征在于,确定缓存队列是否为拥塞队列包括:获取缓存队列的拥塞检测判别结果
C
;其中,拥塞检测判别结果的取值为
True

False
,当
C
的取
值为
True
时,表示该缓存队列为拥塞队列,当
C
的取值为
False
时,表示该缓存队列为非拥塞队列,
C
的初始值为
False
;根据缓存队列的拥塞检测判别结果
C
的取值确定缓存队列是否为拥塞队列

[0009]也就是说,当第一网络设备根据缓存队列的队列长度和待接收的报文数量确定第一时间以后

第一网络设备可以直接获取该缓存队列的拥塞判别结果,并根据该拥塞判别结果来确定该缓存队列是否为拥塞队列

[0010]在一个可能的实现方式中,该方法还包括:获取缓存队列的拥塞检测判别标记
J
;其中,
J
的取值为
True

False
;当
J
的取值为
True
时,表示缓存队列需要进行拥塞检测,当
J
的取值为
False
时,表示缓存队列不需要进行拥塞检测,
J
的初始值为
True
;当缓存队列的拥塞检测判别标记
J
的取值为
True
时,对缓存队列进行拥塞检测;当缓存队列为拥塞队列时,更新缓存队列的拥塞检测判别结果
C
的值为
True
;或者,当缓存队列不为拥塞队列时,更新缓存队列的拥塞检测判别标记
J
的值为
False。
[0011]也就是说,在对缓存队列进行拥塞判断之前,首先对该缓存队列的判别标记进行判断

使得只有在缓存队列没有进行过拥塞检测或者进行过拥塞检测但是检测结果为拥塞队列的情况下才会再次对缓存队列进行拥塞

避免了对缓存队列进行不必要的拥塞判断,节省了系统的开销

[0012]在一个可能的实现方式中,对缓存队列进行拥塞检测,包括:确定第一网络设备中是否保存有缓存队列的初始长度;缓存队列的初始长度是指缓存队列的队列长度第一次大于能够进行拥塞队列检测的最小队列长度时的队列长度;当第一网络设备中保存有缓存队列的初始长度时,根据缓存队列的队列长度和缓存队列的初始长度确定缓存队列的队列长度是否持续积累;当缓存队列的队列长度为持续积累时,确定缓存队列为拥塞队列

[0013]也就是说,在确定当前缓存队列是否为拥塞队列之前,还需要获取该缓存队列的历史队列长度记录,根据该缓存队列的历史队列长度记录来确定该缓存队列是否为拥塞队列

[0014]在一个可能的实现方式中,当网络设备中未保存有缓存队列的初始长度时,确定缓存队列的队列长度是否大于能够进行拥塞队列检测的最小队列长度度;当缓存队列的队列长度大于能够进行拥塞队列检测的最小队列长度,将缓存队列的队列长度保存为缓存队列的初始长度

[0015]也就是说,在当前网络设备中没有保存有缓存队列的初始长度时,是不能通过缓存队列的当前长度和初始长度来对缓存队列是否为拥塞队列进行判断

因此,判断缓存队列的当前长度是否能够作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种抑制拥塞队列产生的方法,其特征在于,所述方法包括:确定第一网络设备的输入端口的缓存队列的队列长度

所述第一网络设备待接收的报文数量;根据所述队列长度和所述待接收的报文数量确定第一时间,所述第一时间为第二网络设备停止向所述第一网络设备发送报文的时间;根据所述队列长度,确定所述缓存队列为拥塞队列时,根据所述缓存队列的拥塞程度,将第一时间更新为第二时间;将所述第二时间发送给第二网络设备
。2.
根据权利要求1所述的方法,其特征在于,当确定所述缓存队列不为拥塞队列时,将所述第一时间发送给第二网络设备
。3.
根据权利要求1或2所述的方法,其特征在于,确定所述缓存队列是否为拥塞队列包括:获取所述缓存队列的拥塞检测判别结果
C
;其中,所述拥塞检测判别结果的取值为
True

False
,当
C
的取值为
True
时,表示所述缓存队列为拥塞队列,当
C
的取值为
False
时,表示所述缓存队列为非拥塞队列,
C
的初始值为
False
;根据所述缓存队列的拥塞检测判别结果
C
的取值确定所述缓存队列是否为拥塞队列
。4.
根据权利要求1或3所述的方法,其特征在于,所述方法还包括:获取所述缓存队列的拥塞检测判别标记
J
;其中,
J
的取值为
True

False
;当
J
的取值为
True
时,表示所述缓存队列需要进行拥塞检测,当
J
的取值为
False
时,表示所述缓存队列不需要进行拥塞检测,
J
的初始值为
True
;当所述缓存队列的拥塞检测判别标记
J
的取值为
True
时,对所述缓存队列进行拥塞检测;当所述缓存队列为拥塞队列时,更新所述缓存队列的拥塞检测判别结果
C
的值为
True
;或者,当所述缓存队列不为拥塞队列时,更新所述缓存队列的拥塞检测判别标记
J
的值为
False。5.
根据权利要求4所述的方法,其特征在于,所述对所述缓存队列进行拥塞检测,包括:确定所述第一网络设备中是否保存有所述缓存队列的初始长度;所述缓存队列的初始长度是指所述缓存队列的队列长度第一次大于能够进行拥塞队列检测的最小队列长度时的队列长度;当所述第一网络设备中保存有所述缓存队列的初始长度时,根据所述缓存队列的队列长度和所述缓存队列的初始长度确定所述缓存队列的队列长度是否持续积累;当所述缓存队列的队列长度为持续积累时,确定所述缓存队列为拥塞队列
。6.
根据权利要求5所述的方法,其特征在于,当所述网络设备中未保存有所述缓存队列的初始长度时,确定所述缓存队列的队列长度是否大于能够进行拥塞队列检测的最小队列长度;当所述缓存队列的队列长度大于能够进行拥塞队列检测的最小队列长度,将所述缓存队列的队列长度保存为所述缓存队列的初始长度
。7.
根据权利要求5所述的方法,其特征在于,所述根据所述缓存队列的队列长度和所述缓存队列的初始队列长度确定所述缓存队列的队列长度是否持续积累包括:根据所述缓存队列的队列长度和所述缓存队列的初始队列长度确定所述缓存队列的
入队列速率是否大于所述缓存队列的出队列速率;当所述缓存队列的入队列速率大于所述缓存队列的出队列速率,确定所述缓存队列的队列长度为持续积累
。8.
一种网络设备,其特征在于,包括:检测模块,用于确定第一网络设备的输入端口的缓存队列的队列长度以及所述第一网络设备待接收的报文数量;处理模块,用于根据所述队列长度和所述待接收的报文数量确定第一时间,所述第一为第二网络设备...

【专利技术属性】
技术研发人员:韩自发吴涛王炳权闫健韩磊顾叔衡
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1