CN117014376A - 拥塞流识别方法、装置、设备及计算机可读存储介质 - Google Patents

拥塞流识别方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN117014376A
CN117014376A CN202210460326.7A CN202210460326A CN117014376A CN 117014376 A CN117014376 A CN 117014376A CN 202210460326 A CN202210460326 A CN 202210460326A CN 117014376 A CN117014376 A CN 117014376A
Authority
CN
China
Prior art keywords
congestion
queue
flow
egress
queues
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210460326.7A
Other languages
English (en)
Inventor
陈飞
吴涛
聂建强
吕云屏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210460326.7A priority Critical patent/CN117014376A/zh
Priority to PCT/CN2023/083873 priority patent/WO2023207461A1/zh
Publication of CN117014376A publication Critical patent/CN117014376A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种拥塞流识别方法、装置、设备及计算机可读存储介质,其中,方法包括:检测第一入口队列的状态(拥塞、空闲)和第一入口队列对应的多个出口队列的状态,多个出口队列中每个出口队列的状态为空闲、拥塞且每个出口队列的拥塞是第一入口队列拥塞的源头、拥塞且每个出口队列的拥塞不是第一入口队列拥塞的源头,若检测到多个出口队列中存在处于第一状态(指拥塞且拥塞不是第一入口队列拥塞的源头)的出口队列和空闲的出口队列,则将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流。该方法能够准确识别出拥塞流和非拥塞流,大大降低非拥塞流被误识别拥塞流的可能性。

Description

拥塞流识别方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种拥塞流识别方法、装置、设备及计算机可读存储介质。
背景技术
随着高性能计算、人工智能、分布式存储等依赖于超低时延数据中心的业务越来越多,使用者对数据中心中各网络设备(也可以称为网络节点或者节点等,如交换机、路由器、网卡等)间的数据传输时延的要求也越来越高。而在实际使用中,因为拥塞而导致的丢包,是影响业务性能的重要原因。
为减少因为拥塞而导致的丢包,可以在数据中心中的网络设备间的数据传输过程中引入基于优先级的流控(priority-based flow control,PFC)机制,然而,该机制的引入,通常会导致当前网络设备的入口队列(也可以称为接收队列或者入队列)发生头阻(head-of-line blocking,HOLB)。为了解决由PFC机制造成的入口队列发生HOLB,出现了拥塞隔离(congestion isolation,CI)技术,即当前网络设备在入口队列发生HOLB时,基于流经入口队列对应的出口队列的每条报文流的报文速率是否大于速率阈值,或者,基于出口队列中缓存的每条报文流包括的显式拥塞通知(explicit congestion notification,ECN)报文数量是否大于预设数量,确定一条报文流是否为拥塞流,在确定一条报文流为拥塞流时,将拥塞流隔离到本地的拥塞队列,并生成包括拥塞流的标识的拥塞控制消息,然后将拥塞控制消息发送给发送拥塞流给当前网络设备的上游网络设备,指示上游网络设备将拥塞流隔离到上游网络设备中的拥塞队列。
然而,本申请发明人发现,流经出口队列的非拥塞流的报文速率通常也会大于速率阈值,或者,出口队列中缓存的非拥塞流包括的ECN报文数量也可能大于预设数量,该情况下,上述拥塞隔离技术会将非拥塞流误识别为拥塞流,从而将非拥塞流也隔离到拥塞队列,严重影响非拥塞流的吞吐量和时延。
发明内容
本申请提供一种拥塞流识别方法、装置、设备及计算机可读存储介质,可以准确识别出拥塞流和非拥塞流,有效解决现有技术存在的会将非拥塞流误识别为拥塞流的问题。
第一方面,提供一种拥塞流识别方法,该方法应用于第一网络设备,该方法包括如下步骤:检测第一入口队列的状态,第一入口队列的状态为拥塞或空闲,若检测到第一入口队列拥塞,则检测多个出口队列的状态,多个出口队列中每个出口队列的状态为空闲、第一状态或者第二状态,第一状态表示每个出口队列拥塞且每个出口队列的拥塞是第一入口队列拥塞的源头,第二状态表示每个出口队列拥塞且每个出口队列的拥塞不是第一入口队列拥塞的源头,多个出口队列用于转发第一入口队列接收的报文流,多个出口队列用于转发的报文流互不相同,若检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列,则将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流。
上述方案中,一个网络设备可以通过主动检测入口队列以及入口队列对应的多个出口队列(指网络设备中用于转发该入口队列接收的报文流的出口队列)的状态(第一状态、第二状态或者空闲),并在检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列时,将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流。可以看出,本方案可以准确识别出拥塞流和非拥塞流,大大降低非拥塞流被误识别拥塞流的可能性,因而能够有效解决现有技术存在的会将非拥塞流误识别为拥塞流的问题。
在一种可能的实现方式中,具体可以通过如下方式实现检测多个出口队列的状态:检测多个出口队列是否拥塞,若检测到多个出口队列中存在拥塞的出口队列和空闲的出口队列,则检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头。
在一种可能的实现方式中,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若检测到拥塞的出口队列的带宽利用率大于利用率阈值,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头;若检测到带宽利用率小于或者等于利用率阈值,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若接收到第一网络设备的下游网络设备发送的基于优先级的流量控制PFC报文的频率小于或者等于频率阈值,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头,PFC报文为下游网络设备在检测到第二入口队列拥塞时发送,第二入口队列为下游网络设备中用于接收拥塞的出口队列转发的报文流的入口队列;若接收到下游网络设备发送的PFC报文的频率大于频率阈值,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若未接收到第一网络设备的下游网络设备发送的第二拥塞控制消息,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头,第二拥塞控制消息用于指示将第二拥塞流隔离到第一网络设备中的拥塞队列,第二拥塞流属于拥塞的出口队列转发的报文流;若接收到下游网络设备发送的第二拥塞控制消息,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,第一方面描述的方法还包括如下步骤:生成第一拥塞控制消息,并向上游网络设备发送第一拥塞控制消息,第一拥塞控制消息携带第一拥塞流的标识,第一拥塞控制消息用于指示将第一拥塞流隔离到上游网络设备中的拥塞队列,第一拥塞控制消息还携带多个出口队列的状态;在预设时长后,重新检测第一入口队列和多个出口队列的状态,基于重新检测的第一入口队列和多个出口队列的状态,确定多个出口队列转发的报文流中是否存在至少一条拥塞流,并基于检测结果生成新的第一拥塞控制消息,向上游网络设备发送新的第一拥塞控制消息;
其中,若确定所述多个出口队列转发的报文流中不存在至少一条拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列;若确定所述多个出口队列转发的报文流中存在至少一条拥塞流,且所述至少一条拥塞流不包括所述第一拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态和所述至少一条拥塞流的标识,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列,并指示将所述至少一条拥塞流隔离到所述上游网络设备中的拥塞队列。
可以看出,上述实现方式中,网络设备可以基于重新检测的第一入口队列的状态和多个出口队列的状态,确定网络设备中的拥塞流情况,在拥塞流情况不同时,生成的新的第一拥塞控制消息可以指示上游网络设备进行至少一种或多种拥塞控制操作,具有较强的灵活性。
第二方面,提供一种拥塞流识别装置,该装置应用于第一网络设备,装置包括:检测模块,用于检测第一入口队列的状态,第一入口队列的状态为拥塞或空闲;检测模块,还用于若检测到第一入口队列拥塞,则检测多个出口队列的状态,多个出口队列中每个出口队列的状态为空闲、第一状态或者第二状态,第一状态表示每个出口队列拥塞且每个出口队列的拥塞是第一入口队列拥塞的源头,第二状态表示每个出口队列拥塞且每个出口队列的拥塞不是第一入口队列拥塞的源头,多个出口队列用于转发第一入口队列接收的报文流,多个出口队列用于转发的报文流互不相同;处理模块,用于若检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列,则将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流。
在一种可能的实现方式中,检测模块,具体可以通过如下方式实现检测多个出口队列的状态:检测多个出口队列是否拥塞,若检测到多个出口队列中存在拥塞的出口队列和空闲的出口队列,则检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头。
在一种可能的实现方式中,检测模块,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若检测到拥塞的出口队列的带宽利用率大于利用率阈值,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头;若检测到带宽利用率小于或者等于利用率阈值,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,检测模块,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若接收到第一网络设备的下游网络设备发送的PFC报文的频率小于或者等于频率阈值,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头,PFC报文为下游网络设备在检测到第二入口队列拥塞时发送,第二入口队列为下游网络设备中用于接收拥塞的出口队列转发的报文流的入口队列;若接收到下游网络设备发送的PFC报文的频率大于频率阈值,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,检测模块,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若未接收到第一网络设备的下游网络设备发送的第二拥塞控制消息,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头,第二拥塞控制消息用于指示将第二拥塞流隔离到第一网络设备中的拥塞队列,第二拥塞流属于拥塞的出口队列转发的报文流;若接收到下游网络设备发送的第二拥塞控制消息,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,第二方面描述的装置还包括:发送模块,用于生成第一拥塞控制消息,并向上游网络设备发送第一拥塞控制消息,第一拥塞控制消息携带第一拥塞流的标识,第一拥塞控制消息用于指示将第一拥塞流隔离到上游网络设备中的拥塞队列,第一拥塞控制消息还携带多个出口队列的状态;检测模块,还用于在预设时长后,重新检测第一入口队列和多个出口队列的状态;处理模块,还用于基于重新检测的第一入口队列和多个出口队列的状态,确定多个出口队列转发的报文流中是否存在至少一条拥塞流;发送模块,还用于基于检测结果生成新的第一拥塞控制消息,向上游网络设备发送新的第一拥塞控制消息;
其中,若确定所述多个出口队列转发的报文流中不存在至少一条拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列;若确定所述多个出口队列转发的报文流中存在至少一条拥塞流,且所述至少一条拥塞流不包括所述第一拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态和所述至少一条拥塞流的标识,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列,并指示将所述至少一条拥塞流隔离到所述上游网络设备中的拥塞队列。
第三方面,提供一种网络设备,所述网络设备包括处理器和存储器;所述处理器用于执行所述存储器存储的指令,使得所述网络设备实现如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,所述指令用于实现如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
第五方面,提供一种计算机程序产品,包括计算机程序,当所述计算机程序被计算设备读取并执行时,使得所述计算设备执行如上述第一方面或者第一方面的任意可能的实现方式提供的方法。
附图说明
图1是本申请涉及的PFC的示意图;
图2是本申请涉及的一种网络系统的结构示意图;
图3是本申请涉及的另一种网络系统的结构示意图;
图4是本申请提供的一种拥塞流识别方法的流程示意图;
图5是本申请示例性示出的一种多个网络设备之间传输报文流的示意图;
图6是本申请示例性示出的另一种多个网络设备之间传输报文流的示意图;
图7是本申请提供的一种拥塞流识别装置的结构示意图;
图8是本申请提供的一种网络设备的结构示意图。
具体实施方式
下面将结合附图,对本申请提供的技术方案进行描述。
为了使本申请提供的技术方案更清晰,首先进行相关术语的解释。
(1)PFC,是目前应用最广泛的能够有效避免丢包的流量控制技术,是智能无损网络的基础。使用了PFC功能的队列,可以称之为无损队列。当前网络设备在检测到自身包括的无损入口队列拥塞时,会向上游网络设备发送PFC报文(也可以称为PFC反压通知、PFC反压消息等),通知上游网络设备停止向该无损入口队列发送流量,从而实现零丢包传输。
通过PFC机制,需要进行通信的两个网络设备可以在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个优先级,允许单独暂停和恢复其中任意一条虚拟通道。其中,以太网链路可以理解为两个网络设备进行通信的两个端口之间的通信链路。示例性的,如图1所示,图1示出的是网络设备A与网络设备B之间的一条以太网链路,该以太网链路上创建了8个虚拟通道,该8个虚拟通道中每个虚拟通道的两端对应两个优先级相同的无损队列:1个出口队列和1个入口队列。网络设备A在向网络设备B传输报文流时,可以标记报文流的优先级,然后网络设备A和网络设备B之间通过对应优先级的队列发送报文流和接收报文流,如,若网络设备A在向网络设备B传输报文流之前标记了报文流的优先级为1级,则网络设备A通过1级优先级的出口队列1向网络设备B发送报文流,网络设备B通过1级优先级的入口队列1接收报文流。
如果网络设备A还可以通过另一个端口和网络设备B的另一个端口与网络设备B通信,则这两个端口之间仍然可以有另一条以太网链路,该另一条以太网链路同样可以对应网络设备A中的8个出口队列和网络设备B中的8个入口队列。
需要说明的,入口队列和出口队列是基于报文流的传输方向确定的,以图1为例,若报文流的传输方向为从网络设备A传输到网络设备B,则网络设备A中的队列为出口队列,网络设备B中的队列为入口队列,反之,则网络设备A中的队列为入口队列,网络设备B中的队列为出口队列。
(2)入口队列拥塞、空闲,网络设备可以根据入口队列的队列深度(也可以称为缓存长度)确定入口队列是否拥塞。具体地,可以根据入口队列的队列深度(也可以称为缓存长度)是否超过PFC的单水线(门限Xoff),确定入口队列是否拥塞,或者,根据入口队列的队列深度是否超过PFC的双水线(门限Xoff和门限Xon),确定入口队列是否拥塞。进一步地,以网络设备检测入口队列是否拥塞采用的机制为PFC的单水线机制为例,网络设备若检测到入口队列的队列深度大于门限Xoff,则确定入口队列拥塞,反之,则确定入口队列空闲;再以网络设备检测入口队列是否拥塞采用的机制为PFC的双水线为例,网络设备若检测到入口队列的队列深度大于门限Xoff,则确定入口队列拥塞,若检测到入口队列的队列深度小于门限Xon,则确定入口队列空闲,若检测到入口队列的队列深度介于门限Xoff和门限Xon之间,则维持上一次的检测结果,即若上一次检测到入口队列拥塞,则此次也确定入口队列拥塞,反之,则确定入口队列空闲。
(3)出口队列拥塞、空闲,网络设备可以根据出口队列的队列深度确定出口队列是否拥塞。具体地,可以根据出口队列的队列深度是否超过ECN的双水线(门限Kmax和门限Kmin),确定出口队列是否拥塞。进一步地,网络设备若检测到出口队列的队列深度超过门限Kmax,则确定出口队列拥塞,若检测到出口队列的队列深度低于门限Kmin,则确定出口队列空闲,若检测到出口队列的队列深度介于门限Kmax和门限Kmin之间,可以维持上一次的判定结果,即若上一次检测到口队列是否拥塞时,确定出口队列拥塞,则此次也确定出口队列拥塞,反之,则确定出口队列空闲。可选地,也可以根据报文流在出口队列中被缓存的时长是否大于预设时长来确定出口队列是否拥塞,如大于预设时长确定出口队列拥塞,小于或者等于预设时长,确定出口队列空闲,其中,预设时长可以根据实际情况自定义。
(4)ECN报文,当一个报文到达网络设备的出口队列时,网络设备会检测到口队列的队列深度,然后根据出口队列的队列深度以及ECN的双水线机制按照一定的概率标记报文的ECN,被标记了ECN的报文可以称为ECN报文。具体地,当网络设备检测到出口队列的队列深度大于门限Kmax时,标记报文的概率为100%,当检测到出口队列的队列深度小于或者等于门限Kmax且大于门限Kmin时,标记报文的概率会随着队列深度线性增加,当确定出口队列的队列深度小于或者等于门限Kmin时,标记报文的概率为0。
(5)HOLB,是指一列报文(也可以称为数据包(packge))因为第一个报文阻塞而导致整列报文阻塞。
(6)出口队列的带宽利用率,网络设备的一个出口队列对应一个端口线速带宽,该出口队列中缓存的所有报文所占用的带宽占该出口的端口线速带宽的比率,可以作为该出口队列的带宽利用率。其中,端口线速带宽是指相应出口单位时间内所能吞吐的最大字节量,可以用于表征相应出口的转发能力。
(7)队列A的拥塞是队列B拥塞的源头,也可以称队列A是队列B的根拥塞点,指队列A最先发生拥塞,且队列A的拥塞导致了队列B拥塞。在本申请中,若一个队列最先发生拥塞,则称该队列传输的报文流为拥塞流。
(8)设备将拥塞流隔离到设备中的拥塞队列,也可以称为对设备对拥塞流进行隔离处理,指设备降低拥塞流的后续报文的优先级,然后使用降低后的优先级级别的队列接收或发送拥塞流的后续报文,降低后的优先级级别的队列即为设备中的拥塞队列。
下面介绍本申请涉及的应用场景。
本申请涉及引入PFC机制的网络系统,如引入PFC机制的数据中心、校园组网、园区组网等,网络系统可以是采用CLOS架构、Mesh架构或Torus架构等网络架构的系统,本申请对此不作具体限定。为便于描述,以下仅以CLOS架构的网络系统为例进行说明。
参见图2和图3,图2和图3为本申请示例性示出的两种CLOS架构的网络系统的结构示意图。
如图2所示,网络系统200包括服务器210、柜顶(top of rack,TOR)交换机220、SPINE交换机230。
服务器210可以是用于提供各类服务(如视频播放服务或者搜索服务等)的服务器。多个服务器210之间可以通过图2所示的各种类型的交换机(如TOR交换机220、SPINE交换机230)进行通信。
TOR交换机220可以设置在服务器210与SPINE交换机230之间的链路上,TOR交换机220的上行端口用于连接SPINE交换机230的下行端口,而TOR交换机220的下行端口则用于连接服务器210。每一个TOR交换机220均可以通过多个上行端口与多个SPINE交换机230相连。每一个服务器210可以通过至少一块网卡与TOR交换机220相连。
如图3所示,网络系统300包括服务器310、TOR交换机320、汇聚(aggregation,AGG)交换机330、SPINE交换机340。
多个服务器310之间可以通过图3所示的各种类型的交换机(如TOR交换机320、AGG交换机330、SPINE交换机340)进行通信。
TOR交换机320可以设置在服务器310与AGG交换机330之间的链路上,TOR交换机320的上行端口用于连接AGG交换机330的下行端口,而TOR交换机320的下行端口则用于连接服务器310。每一个TOR交换机320均可以通过多个上行端口与多个AGG交换机330相连。每一个服务器310可以通过至少一块网卡与TOR交换机320相连。
AGG交换机330可以设置在TOR交换机320与SPINE交换机340之间的链路上,AGG交换机330的上行端口用于连接SPINE交换机340的下行端口,每一个AGG交换机330均可以通过多个上行端口与多个SPINE交换机340相连。
应理解,图2所示的网络系统200和图3所示的网络系统300仅仅是作为示例,不应将其理解为对本申请的限定。
在图2所示的网络系统200或者图3所示的网络系统300中,由于在网络设备间的数据传输过程中引入了PFC机制,该机制的引入,通常会导致网络设备的入口队列发生HOLB。
目前,为了解决由PFC机制造成的入口队列发生,出现了拥塞隔离技术,即网络设备在入口队列发生HOLB时,基于流经入口队列对应的出口队列的每条报文流的报文速率是否大于速率阈值,或者,基于出口队列中缓存的每条报文流包括的ECN报文数量是否大于预设数量,确定一条报文流是否为拥塞流,在确定一条报文流为拥塞流时,然后将拥塞流隔离到本地的拥塞队列(以下均称为对拥塞流进行隔离处理),并生成包括拥塞流的标识的拥塞控制消息,然后将拥塞控制消息发送给上游网络设备发送拥塞控制消息,指示上游网络设备对拥塞流进行隔离处理。其中,上游网络设备可以为向当前网络设备发送拥塞流的设备,如与当前网络设备直接或者间接连接的网络设备,或者拥塞流的源设备(如图2所示的服务器210)。
假设入口队列1对应出口队列2,报文流1和报文流2均从入口队列1传输到出口队列2,在入口队列1发生HOLB时,报文流1实际是拥塞流,报文流2实际是非拥塞流,但是报文流1的报文速率以及报文流2的报文速率均大于速率阈值,则上述拥塞隔离技术会将报文流2误识别为拥塞流。
继续以入口队列1对应出口队列2,报文流1和报文流2均从入口队列1传输到出口队列2,在入口队列1发生HOLB时,报文流1实际是拥塞流,报文流2实际是非拥塞流为例,但是出口队列1中缓存的报文流1包括的ECN报文数量以及报文流2包括的ECN报文数量均大于预设数量,则上述拥塞隔离技术会将报文流2误识别为拥塞流。
可以看出,上述拥塞隔离技术存在着会将非拥塞流误识别为拥塞流的问题。可以理解,若是将非拥塞流误识别拥塞流,上述拥塞隔离技术会对非拥塞流进行隔离处理,这样会严重影响非拥塞流的吞吐量和时延的问题。
为了解决上述问题,本申请提供一种拥塞流识别方法、装置及设备。
下面分别结合对应的附图介绍本申请提供的拥塞流识别方法、装置及设备。
为了便于描述,在介绍本申请提供的拥塞流识别方法、装置时,均以应用于第一网络设备进行描述。其中,第一网络设备可以为图2所示的TOR交换机220、SPINE交换机230,或者为图3所示的AGG交换机330,具体实现中,若网络系统中负责转发报文流的网络设备为路由器或者网卡等设备,第一网络设备也可以为路由器或者网卡等,本申请对此不作具体限定。
请参见图4,图4为本申请提供的一种拥塞流识别方法的流程示意图,如图4所示,该方法包括如下步骤:
S401:检测第一入口队列的状态,第一入口队列的状态为拥塞或空闲。
其中,第一入口队列,可以为第一网络设备包括的入口队列中的任意一个。
具体实现中,第一网络设备可以采用PFC的单水线机制或者双水线机制确定第一入口队列是否拥塞,此处不作具体限定。网络设备采用PFC的单水线机制或者双水线机制确定入口队列是否拥塞的过程,已在上文进行相关描述,此处不再展开赘述。
S402:在检测到第一入口队列拥塞时,检测多个出口队列的状态,多个出口队列中每个出口队列为空闲、第一状态或者第二状态,第一状态表示每个出口队列拥塞且该出口队列的拥塞是第一入口队列拥塞的源头,第二状态表示每个出口队列拥塞且该出口队列的拥塞不是第一入口队列拥塞的源头,多个出口队列用于转发第一入口队列接收的报文流,多个出口队列用于转发的报文流互不相同。
具体实现中,上述多个出口队列可以分别转发至少一条报文流,多个出口队列的优先级与第一入口队列的优先级可以相同也可以不相同,此处不作具体限定。
在本申请具体的实施例中,第一网络设备可以参考如下S4021至S4023实现检测多个出口队列的状态:
S4021:检测多个出口队列是否拥塞,若检测到多个出口队列中存在拥塞的出口队列和空闲的出口队列,则执行S4022,若检测到多个出口队列全部拥塞,则执行S4023。
以检测第一出口队列(指多个出口队列中任意一个)是否拥塞为例,具体地,第一网络设备可以采用ECN的双水线机制确定第一出口队列是否拥塞,也可以根据报文流在第一出口队列中被缓存的时长是否大于预设时长来确定第一出口队列是否拥塞,此处不作具体限定。网络设备采用ECN的双水线机制或者根据报文流在出口队列中被缓存的时长是否大于预设时长来确定出口队列是否拥塞,已在上文进行相关描述,此处不再展开赘述。
S4022:检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头,若检测到拥塞的出口队列的拥塞是第一入口队列拥塞的源头,则确定该拥塞的出口队列处于第一状态,反之,则确定该拥塞的出口队列处于第二状态。
为了便于描述,假设第一网络设备检测到的多个出口队列中存在的拥塞的出口队列包括第一出口队列,并且多个出口队列存在空闲的出口队列。
可以理解,若第一出口队列拥塞是第二入口队列(指第一下游网络设备(指用于接收第一出口队列转发的报文流的下游网络设备)中用于接收第一出口队列转发的报文流的入口队列)拥塞导致,那么第一出口队列不是最先发生拥塞的队列,第一出口队列拥塞不是第一入口队列拥塞的源头,反之,第一出口队列是最先发生拥塞的队列,第一出口队列拥塞是第一入口队列拥塞的源头。因此,第一网络设备可以通过检测第一出口队列拥塞是否为第二入口队列拥塞导致,确定第一出口队列拥塞是否为第一入口队列拥塞的源头。
可以理解,若第二入口队列拥塞,那么第一下游网络设备会向第一网络设备发送PFC报文,通知第一网络设备暂停通过第一出口队列向第一下游网络设备发送报文,当第一网络设备停止通过第一出口队列发送报文时,第一出口队列的带宽利用率通常比较低,甚至为0,若第二入口队列空闲,那么第一下游网络设备不会向第一网络设备发送PFC报文,第一网络设备在未接收到PFC报文时,会不断地通过第一出口队列向第一下游网络设备发送报文,此时,第一出口队列的带宽利用率通常比较高,甚至为100%。因此,第一网络设备可以通过检测第一出口队列的带宽利用率是否大于利用率阈值,来判断第一出口队列拥塞是否为第二入口队列拥塞导致,从而判断第一入口队列拥塞是否为第一入口队列拥塞的源头。
具体地,第一网络设备若检测到第一出口队列的带宽利用率小于或者等于利用率阈值,则确定第一出口队列拥塞是第二入口队列拥塞导致,从而确定第一出口队列拥塞不是第一入口队列拥塞的源头,反之,则确定第一出口队列拥塞不是第二入口队列拥塞导致,从而确定第一出口队列拥塞是第一入口队列拥塞的源头。其中,利用率阈值可以根据实际情况自定义,如90%、95%等,本申请对此不作具体限定。
还可以理解,若第二入口队列拥塞程度较严重,那么第一下游网络设备向第一网络设备发送PFC报文的频率会比较高,若第二入口队列拥塞程度较轻,甚至接近空闲,那么第一下游网络设备向第一网络设备发送PFC报文的频率会比较低,在第二入口队列拥塞程度较严重时,第二入口队列拥塞通常会导致第一出口队列拥塞,在第二入口队列拥塞程度较轻时,第二入口队列拥塞通常不会导致第一出口队列拥塞。
因此,第一网络设备可以通过检测自身接收到第一下游网络设备发送的PFC报文的频率是否大于频率阈值,来判断第一出口队列拥塞是否为第二入口队列拥塞导致,从而判断第一入口队列拥塞是否为第一入口队列拥塞的源头。
具体地,第一网络设备若检测到自身接收到PFC报文的频率大于频率阈值,则确定第一出口队列拥塞是第二入口队列拥塞导致,从而确定第一出口队列拥塞不是第一入口队列拥塞的源头,反之,则确定第一出口队列拥塞不是第二入口队列拥塞导致,从而确定第一出口队列拥塞是第一入口队列拥塞的源头。其中,频率阈值可以根据实际情况自定义,如10次/秒、20次/秒等,本申请对此不作具体限定。
还可以理解,在第一网络设备执行图4所示实施例的同时,第一下游网络设备也会执行图4所示实施例,若第一下游网络设备在执行图4所示实施例时,从第二入口队列对应的多个第二出口队列转发的报文流中识别到第二拥塞流,由于多个第二出口队列转发的报文流为第一网络设备通过第一出口队列发送,那么第一下游网络设备会向第一网络设备发送用于指示对第二拥塞流进行隔离处理第二拥塞控制消息。第一下游网络设备生成第二拥塞控制消息的过程与下文所述第一网络设备生成第一拥塞控制消息的过程相类似,具体可以参考下文相关描述,此处不再展开赘述。
第一网络设备一旦接收到第一下游网络设备发送的用于指示对第二拥塞流进行隔离处理的第二拥塞控制消息,则表示第一下游网络设备已经确定了第二入口队列拥塞。在第二入口队列拥塞时,第一出口队列拥塞通常为第二入口队列拥塞导致。若第二入口队列空闲,那么第一下游网络设备不会执行图4所示实施例,从多个第二出口队列转发的报文流中识别拥塞流,第一下游网络设备也不会生成用于指示对第二拥塞流进行隔离处理的第二拥塞控制消息,并向第一网络设备发送。
因此,第一网络设备可以通过是否接收到第一下游网络设备发送的第二拥塞控制消息,来判断第一出口队列拥塞是否为第二入口队列拥塞导致,从而判断第一入口队列拥塞是否为第一入口队列拥塞的源头。
具体地,第一网络设备若接收到第一下游网络设备发送的第二拥塞控制消息,则确定第一出口队列拥塞是第二入口队列拥塞导致,从而确定第一出口队列拥塞不是第一入口队列拥塞的源头,反之,则确定第一出口队列拥塞不是第二入口队列拥塞导致,从而确定第一出口队列拥塞是第一入口队列拥塞的源头。
应理解,上述所列举的几种检测多个出口队列的状态的实现方式仅仅是作为示例,具体实现中,还可以通过其他方式检测多个出口队列的状态,如通过上述所列举的几种检测多个出口队列的状态的实现方式中的至少两种组合,实现多个出口队列的状态的检测,本申请对此不作具体限定。
S4023:确定多个出口队列的拥塞均不是第一入口队列拥塞的源头。
需要说明的,网络设备中的一个入口队列拥塞,通常伴随着网络设备中与该入口队列对应的多个出口队列中的部分或者全部拥塞,基本不存在多个出口队列全部空闲的情况,因此,在本申请中,将多个出口队列全部空闲的情况忽略。
应理解,S4023仅仅是作为一种示例,具体实现中,第一网络设备若检测到多个出口队列均拥塞,可以再次或者多次检测多个出口队列的状态,确定多个出口队列是否确实均拥塞。
S403:若检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列,则将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流。
可以理解,第一网络设备在检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列的同时,可能会检测到多个出口队列中存在处于第二状态的出口队列,若检测到多个出口队列中存在处于第二状态的出口队列,第一网络设备可以暂时将处于第二状态的出口队列转发的报文流确定为非拥塞流,后续基于是否接收到第二下游网络设备(指用于接收处于第二状态的出口队列转发的报文流的下游网络设备)发送的用于指示对第三拥塞流进行隔离处理的第三拥塞控制消息,来确定处于第二状态的出口队列转发的报文流是否为拥塞流。
可以理解,在第一网络设备执行图4所示实施例的同时,第二下游网络设备也会执行图4所示实施例,若第二下游网络设备在执行图4所示实施例时,从处于第二状态的出口队列转发的报文流中识别到第三拥塞流,则第二下游网络设备会向第一网络设备发送用于指示对第三拥塞流进行隔离处理的第三拥塞控制消息。第二下游网络设备生成第三拥塞控制消息的过程与下文所述第一网络设备生成第一拥塞控制消息的过程相类似,具体可以参考下文相关描述,此处不再展开赘述。
第一网络设备在接收到第二下游网络设备发送的第三拥塞控制消息时,基于第三拥塞控制消息可以从处于第二状态的出口队列转发的报文流中确定第三拥塞流。若第一网络设备未接收到第二下游网络设备发送的第三拥塞控制消息,表明第二下游网络设备未从处于第二状态的出口队列转发的报文流中确定第三拥塞流,那么第一网络设备一直将处于第二状态的出口队列转发的报文流确定为非拥塞流。
可以理解,第一网络设备在检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列时,还可以确定第一入口队列发生了HOLB。
S404:若检测到多个出口队列不存在处于第一状态的出口队列或者不存在空闲的出口队列,则将多个出口队列转发的报文流均确定为非拥塞流。
应理解,S404仅仅是作为一种示例,具体实现中,第一网络设备若检测到多个出口队列不存在处于第一状态的出口队列或者不存在空闲的出口队列,也可以不对多个出口队列转发的报文流进行处理,默认多个出口队列转发的报文流均为非拥塞流;或者,为了防止将拥塞流误识别为非拥塞流,可以再次或者多次检测多个出口队列的状态,确定多个出口队列是否确实不存在处于第一状态的出口队列或者不存在空闲的出口队列;或者,后续,第一网络设备可以基于是否接收到第三下游网络设备发送的用于指示对第四拥塞流进行隔离处理的第四拥塞控制消息,来确定多个出口队列中的目标出口队列转发的报文流是否为拥塞流。其中,第三下游网络设备指用于接收目标出口队列转发的报文流的下游网络设备。第三下游网络设备生成第四拥塞控制消息的过程与下文所述第一网络设备生成第一拥塞控制消息的过程相类似,具体可以参考下文相关描述,此处不再展开赘述。
在本申请具体的实施例中,第一网络设备在确定第一拥塞流之后,可以生成第一拥塞控制消息,并向上游网络设备(指发送第一拥塞流给第一网络设备的设备,如与第一网络设备直接相连且转发第一拥塞流给第一网络设备的网络设备、第一拥塞流的源设备等)发送第一拥塞控制消息,第一拥塞控制消息可以携带第一拥塞流的标识,第一拥塞控制消息用于指示上游网络设备对第一拥塞流进行隔离处理。具体地,上游网络设备在接收到第一拥塞控制消息后,可以基于第一拥塞流的标识,确定第一拥塞流,然后对第一拥塞流进行隔离处理。
其中,第一拥塞流的标识,用于上游网络设备确定唯一一个该标识对应的报文流,例如,第一拥塞流的标识可以为第一拥塞流的五元组信息(指源IP地址、目的IP地址、源端口号、目的端口号、传输层协议),或者三元组信息,或者其他类型的信息或信息组合,此处不作具体限定。
在本申请具体的实施例中,第一网络设备生成的第一拥塞控制消息还可以携带多个出口队列的状态,具体地,多个出口队列的状态可以按照多个出口队列所在的端口的顺序携带于第一拥塞控制消息;若第一网络设备确定的第一拥塞流包括至少两个处于第一状态的出口队列转发的报文流,则第一网络设备可以将至少两个处于第一状态的出口队列转发的报文流的标识,也按照多个出口队列所在的端口的顺序携带于第一拥塞控制消息。如此,可以使得上游网络设备基于第一拥塞控制消息,获知第一网络设备中的多个出口队列的状态,而且,可以获知多个出口队列中是排序第几的出口队列转发的报文流为拥塞流。
进一步地,在将多个出口队列的状态携带于第一拥塞控制消息时,可以用不同的字符串表示出口队列的不同状态,例如,用二进制的1表示出口队列处于第一状态,用二进制的0表示出口队列处于非第一状态,又例如,用00A表示出口队列处于第一状态,用00B表示出口队列处于第二状态,用00C表示出口队列空闲,本申请不对出口队列的状态携带于第一拥塞控制消息的方式进行具体限定。为了便于描述,在接下来的实施例中,均以用二进制的1表示出口队列处于第一状态,用二进制的0表示出口队列处于非第一状态,将多个出口队列的状态携带于第一拥塞控制消息为例进行描述。
示例性地,以图5为例,假设第一网络设备为图5中的网络设备B,第一入口队列为图5中的入口队列B12,多个出口队列为图5中的出口队列B32和出口队列B42,出口队列B32和出口队列B42所在的端口B3和端口B4的顺序为:B3、B4,出口队列B32处于第一状态,出口队列B42空闲,网络设备B识别出的第一拥塞流为出口队列B32转发的报文流1,报文流1的标识为ID1,则第一拥塞控制消息携带的多个出口队列的状态和第一拥塞流的标识为:10ID1,其中,10中的1表示出口队列B32处于第一状态,10中的0表示出口队列B42处于非第一状态。
上游网络设备在接收到第一拥塞控制消息后,基于第一拥塞控制消息中携带的第一拥塞流的标识可以确定第一拥塞流,然后,对第一拥塞流进行隔离处理。
继续以第一拥塞控制消息携带的多个出口队列的状态和第一拥塞流的标识为“10ID1”为例,假设上游网络设备为图5所示的网络设备A,则网络设备A在接收到第一拥塞控制消息后,基于第一拥塞控制消息携带的“10ID1”,可以确定网络设备B的2个出口队列的状态对应为第一状态、非第一状态,以及确定为第一状态的出口队列转发的第一拥塞流的标识为ID1。然后,网络设备A可以从报文流1和报文流2中,确定标识为ID1的报文流1为第一拥塞流,然后,对报文流1进行隔离处理。
在本申请具体的实施例中,第一网络设备可以周期性的执行图4所示实施例,重新检测第一入口队列和出口队列的状态,并基于重新检测的第一入口队列和多个出口队列的状态确定多个出口队列转发的报文流中是否存在至少一条拥塞流,并基于检测结果生成新的第一拥塞控制消息,然后向上游网络设备发送新的第一拥塞控制消息。
具体地,第一网络设备若确定多个出口队列转发的报文流中不存在至少一条拥塞流,则生成的新的第一拥塞控制消息携带重新检测的多个出口队列的状态,该新的第一拥塞控制消息用于指示基于重新检测的多个出口队列的状态,停止对第一拥塞流进行隔离处理。
若确定多个出口队列转发的报文流中存在至少一条拥塞流,且该至少一条拥塞流不包括第一拥塞流,则生成的新的第一拥塞控制消息携带重新检测的多个出口队列的状态和该至少一条拥塞流的标识,该新的第一拥塞控制消息用于指示基于重新检测的多个出口队列的状态,停止,对第一拥塞流进行隔离处理,并指示对该至少一条拥塞流进行隔离处理。
若确定多个出口队列转发的报文流中存在至少一条拥塞流,且该至少一条拥塞流包括第一拥塞流,则生成的新的第一拥塞控制消息携带重新检测的多个出口队列的状态和该至少一条拥塞流中除第一拥塞流之外的拥塞流的标识,该新的第一拥塞控制消息用于指示继续对第一拥塞流进行隔离处理,并指示对该至少一条拥塞流中除第一拥塞流之外的拥塞流进行隔离处理。可选地,生成的新的第一拥塞控制消息中也可以携带第一拥塞流的标识。
继续以第一网络设备为图5中的网络设备B,上游网络设备为图5中的网络设备A,第一入口队列为图5中的入口队列B12,多个出口队列为图5中的出口队列B32和出口队列B42,出口队列B32和出口队列B42所在的端口B3和端口B4的顺序为:B3、B4,出口队列B32处于第一状态,出口队列B42空闲,第一拥塞流为出口队列B32转发的报文流1,报文流1的标识为ID1为例,假设网络设备C重新检测到入口队列B12拥塞、出口队列B32空闲以及出口队列B42空闲,则网络设备C可以确定报文流1和报文流2中不存在拥塞流,并生成新的第一拥塞控制消息,该新的第一拥塞控制消息携带的出口队列B32和出口队列B42的状态为:00。
网络设备A在接收到新的第一拥塞控制消息后,基于新的第一拥塞控制消息携带的重新检测的出口队列B32和出口队列B42的状态“00”,可以确定网络设备B的2个出口队列的状态为:非第一状态、非第一状态,然后将新的第一拥塞控制消息中携带的状态“00”,与上一次接收的第一拥塞控制消息中携带的状态“10”进行比较,可以确定网络设备B中排序第一的出口队列的状态发生了变化,即从第一状态变为了非第一状态。此外,网络设备A基于上一次接收的第一拥塞控制消息,可以获知网络设备B中排序第一的出口队列转发的报文流的标识为ID1,因此,网络设备A可以从报文流1和报文流2中,确定标识为ID1的报文流1为第一拥塞流,然后,停止对报文流1进行隔离处理。
在一种可能的实施例中,第一网络设备生成的每个第一拥塞控制消息均携带多个出口队列转发的报文流的标识,具体地,多个出口队列转发的报文流的标识可以按照多个出口队列所在的端口的顺序携带于每个第一拥塞控制消息。如此,可以使得上游网络设备基于每个第一拥塞控制消息获知第一网络设备中的多个出口队列的状态,而且,可以获知多个出口队列中排序第几的出口队列发送的报文流为拥塞流以及该流的标识,还可以获知多个出口队列中排序第几的出口队列发送的报文流为非拥塞流以及该流的标识,以及基于多个出口队列的状态确定是否停止某条拥塞流的隔离处理。
可以理解,在每个第一拥塞控制消息均携带多个出口队列转发的报文流的标识的情况下,上游网络设备在接收到每个第一拥塞控制消息后,基于每个第一拥塞控制消息就可以确定哪个标识的报文流为拥塞流,哪个标识的报文流为非拥塞流,然后对应进行隔离处理或者暂停隔离处理,无需参考上一次接收到的第一拥塞控制消息。
具体实现中,上游网络设备的拥塞队列的数量可以不止一个,例如,上游网络设备的拥塞队列,可以包括上游网络设备中与第一入口队列所在的端口对应的端口中的拥塞队列,以及其他等价端口中的拥塞队列。继续以上游网络设备为图5所示的网络设备A、第一网络设备为图5所示的网络设备B为例,假设网络设备A中的两个端口(端口A3和端口A4)为等价端口,网络设备A通过这两个端口中任意一个均可以与网络设备B的端口B1通信,第一入口队列为端口B1中的入口队列B12,则网络设备A中的拥塞队列可以包括端口A3中的拥塞队列和端口A4中的拥塞队列。
继续以网络设备A包括等价端口A3中的拥塞队列和端口A4中的拥塞队列为例,假设第一拥塞流为报文流1,网络设备A在基于第一拥塞控制消息隔离报文流1时,可以在端口A3中的拥塞队列和端口A4中的拥塞队列中任选一个拥塞队列隔离报文流1,也可以基于两个拥塞队列的状态选择用于隔离报文流1的目标拥塞队列,例如,若一个拥塞队列拥塞,一个拥塞队列空闲,则选择空闲的拥塞队列,若两个拥塞队列均拥塞或者均空闲,则选择网络设备A在接收到第一拥塞控制消息之前,用来传输报文流1的端口中的拥塞队列,即端口A3中的拥塞队列。
下面继续以图5和图6为例,对图4所示实施例做进一步的说明。
图5和图6为本申请示例性示出的多个网络设备之间传输报文流的示意图,在图5和图6中,可以将网络设备B看作上述第一网络设备,将网络设备B中的入口队列B12看作上述第一入口队列,将网络设备B中的出口队列B32和出口队列B42看作上述多个出口队列,报文流1为出口队列B32转发的报文流,报文流2为出口队列B42转发的报文流,将网络设备A看作网络设备B的上游网络设备,将网络设备C看作网络设备B的下游网络设备,将网络设备C中的入口队列C12看作第二入口队列。
首先以图5为例,在图5中,入口队列B12拥塞,出口队列B32拥塞,出口队列B42空闲,入口队列C12空闲,出口队列B32的带宽利用率为90%。
则网络设备B在执行图4所示实施例中的S401和S402时,会检测到入口队列B12拥塞,出口队列B32拥塞,出口队列B42空闲,出口队列B32的带宽利用率为90%,假设利用率阈值为80%,则网络设备B可以确定出口队列B32的带宽利用率大于利用率阈值,从而确定出口队列B32的拥塞是入口队列B12拥塞的源头,即确定出口队列B32处于第一状态。此时,网络设备B会发现出口队列B32和出口队列B42中存在处于第一状态的出口队列B32和空闲的出口队列B42,因此,网络设备B会执行图4所示实施例中的S403,将出口队列B32转发的报文流1确定为拥塞流,将出口队列B42转发的报文流2确定为非拥塞流。
可以看出,网络设备B通过执行图4所示实施例,可以准确识别出报文流1为拥塞流,以及准确识别出报文流2为非拥塞流。
接下来以图6为例,在图6中,入口队列B12拥塞,出口队列B32拥塞,出口队列B42空闲,入口队列C12拥塞,出口队列B32的带宽利用率为5%。
则网络设备B在执行图4所示实施例中的S401和S402时,会检测到入口队列B12拥塞,出口队列B32拥塞,出口队列B42空闲,出口队列B32的带宽利用率为5%,假设利用率阈值为80%,则网络设备B可以确定出口队列B32的带宽利用率小于利用率阈值,从而确定出口队列B32的拥塞不是入口队列B12拥塞的源头,即确定出口队列B32处于第二状态。此时,网络设备B会发现出口队列B32和出口队列B42中不存在处于第一状态的出口队列,因此,网络设备B会执行图4所示实施例中的S404,将出口队列B32转发的报文流1和出口队列B42转发的报文流2确定为非拥塞流。
后续,网络设备B可以基于是否接收到网络设备C发送的用于指示对报文流1/报文流2进行隔离处理的拥塞控制消息,来确定报文流1或者报文流2是否为拥塞流。具体地,以网络设备B接收到网络设备C发送的用于指示对报文流1进行隔离处理的拥塞控制消息,那么,网络设备B基于该拥塞控制消息便可以确定报文流1为拥塞流。
可以看出,网络设备B通过执行图4所示实施例,可以准确识别出报文流1和报文流2是否为拥塞流。
通过上述实施例可以看出,在本申请提供的拥塞流识别方法中,一个网络设备可以通过检测入口队列以及入口队列对应的多个出口队列(指网络设备中用于转发该入口队列接收的报文流的出口队列)的状态(第一状态、第二状态或者空闲),在检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列时,将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流,其中,第一状态指出口队列拥塞且出口队列拥塞是入口队列拥塞的源头,第二状态指出口队列拥塞且出口队列拥塞不是入口队列拥塞的源头。可以看出,该方法可以准确识别出拥塞流和非拥塞流,大大降低非拥塞流被误识别拥塞流的可能性,因而能够有效解决现有技术存在的会将非拥塞流误识别为拥塞流的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
接下来,介绍本申请提供的拥塞流识别装置,应理解,拥塞流识别装置内部的单元模块也可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本申请不对其进行限制。当拥塞流识别装置包括多个单元模块时,该多个单元模块中的各个模块可以部署于同一个网络设备上,也可以部署于不同的网络设备上,本申请不作具体限定。
参见图7,图7是本申请示例性示出的一种拥塞流识别装置700的结构示意图,该装置700包括:检测模块710和处理模块720。下面对拥塞流识别装置700的各个模块的功能进行示例性地介绍。应理解,以下所举例描述的各个模块的功能仅是拥塞流识别装置700在本申请的一些实施例中可以具有的功能,本申请并不对各个模块具有的功能进行限定。
检测模块710,用于检测第一入口队列的状态,第一入口队列的状态为拥塞或空闲。
检测模块710,还用于若检测到第一入口队列拥塞,则检测多个出口队列的状态,多个出口队列中每个出口队列的状态为空闲、第一状态或者第二状态,第一状态表示每个出口队列拥塞且每个出口队列的拥塞是第一入口队列拥塞的源头,第二状态表示每个出口队列拥塞且每个出口队列的拥塞不是第一入口队列拥塞的源头,多个出口队列用于转发第一入口队列接收的报文流,多个出口队列用于转发的报文流互不相同。
处理模块720,用于若检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列,则将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流。
在一种可能的实现方式中,检测模块710,具体可以通过如下方式实现检测多个出口队列的状态:检测多个出口队列是否拥塞,若检测到多个出口队列中存在拥塞的出口队列和空闲的出口队列,则检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头。
在一种可能的实现方式中,检测模块710,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若检测到拥塞的出口队列的带宽利用率大于利用率阈值,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头;若检测到带宽利用率小于或者等于利用率阈值,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,检测模块710,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若接收到第一网络设备的下游网络设备发送的PFC报文的频率小于或者等于频率阈值,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头,PFC报文为下游网络设备在检测到第二入口队列拥塞时发送,第二入口队列为下游网络设备中用于接收拥塞的出口队列转发的报文流的入口队列;若接收到下游网络设备发送的PFC报文的频率大于频率阈值,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,检测模块710,具体可以通过如下方式实现检测拥塞的出口队列的拥塞是否为第一入口队列拥塞的源头:若未接收到第一网络设备的下游网络设备发送的第二拥塞控制消息,则确定拥塞的出口队列拥塞是第一入口队列拥塞的源头,第二拥塞控制消息用于指示将第二拥塞流隔离到第一网络设备中的拥塞队列,第二拥塞流属于拥塞的出口队列转发的报文流;若接收到下游网络设备发送的第二拥塞控制消息,则确定拥塞的出口队列拥塞不是第一入口队列拥塞的源头。
在一种可能的实现方式中,如图7所示,装置700还包括:发送模块730,用于生成第一拥塞控制消息,并向上游网络设备发送第一拥塞控制消息,第一拥塞控制消息携带第一拥塞流的标识,第一拥塞控制消息用于指示将第一拥塞流隔离到上游网络设备中的拥塞队列,第一拥塞控制消息还携带多个出口队列的状态;检测模块710,还用于在预设时长后,重新检测第一入口队列和多个出口队列的状态;处理模块720,还用于基于重新检测的第一入口队列和多个出口队列的状态,确定多个出口队列转发的报文流中是否存在至少一条拥塞流;发送模块730,还用于基于检测结果生成新的第一拥塞控制消息,向上游网络设备发送新的第一拥塞控制消息。
其中,若确定多个出口队列转发的报文流中不存在至少一条拥塞流,新的第一拥塞控制消息携带重新检测的多个出口队列的状态,新的第一拥塞控制消息用于指示基于重新检测的多个出口队列的状态,停止将第一拥塞流隔离到上游网络设备中的拥塞队列;若确定多个出口队列转发的报文流中存在至少一条拥塞流,且至少一条拥塞流不包括第一拥塞流,新的第一拥塞控制消息携带重新检测的多个出口队列的状态和至少一条拥塞流的标识,新的第一拥塞控制消息用于指示基于重新检测的多个出口队列的状态,停止将第一拥塞流隔离到上游网络设备中的拥塞队列,并指示将至少一条拥塞流隔离到上游网络设备中的拥塞队列。
具体地,上述拥塞流识别装置700执行各种操作的具体实现,可参照上述图4所示的本申请提供的拥塞流识别方法,为了说明书的简洁,这里不再赘述。
综上可知,本申请提供的拥塞流识别装置(如图7所示的装置700)可以通过检测入口队列以及入口队列对应的多个出口队列的状态(第一状态、第二状态或者空闲),在检测到多个出口队列中存在处于第一状态的出口队列和空闲的出口队列时,将处于第一状态的出口队列转发的报文流确定为第一拥塞流,将空闲的出口队列转发的报文流确定为非拥塞流,其中,第一状态指出口队列拥塞且出口队列拥塞是入口队列拥塞的源头,第二状态指出口队列拥塞且出口队列拥塞不是入口队列拥塞的源头。可以看出,该装置700可以准确识别出拥塞流和非拥塞流,大大降低非拥塞流被误识别拥塞流的可能性,因而能够有效解决现有技术存在的会将非拥塞流误识别为拥塞流的问题。
本申请还提供一种网络设备,参见图8,图8是本申请提供的一种网络设备800的结构示意图,如图8所示,设备800包括:处理器810、存储器820和通信接口830,其中,处理器810、存储器820、通信接口830之间可以通过总线840相互连接。
处理器810可以读取存储器820中存储的程序代码(包括指令),执行存储器820中存储的程序代码,使得网络设备800执行图4所示的本申请提供的拥塞流识别方法,或者使得网络设备800部署拥塞流识别装置700。
处理器810可以有多种具体实现形式,例如中央处理单元(central processingunit,简称CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器810执行各种类型的数字存储指令,例如存储在存储器820中的软件或者固件程序,它能使网络设备800提供多种服务。
存储器820用于存储程序代码,并由处理器810来控制执行。程序代码可以包括一个或多个软件模块,这一个或多个软件模块可以为图7所示实施例中提供的软件模块,如检测模块710、处理模块720和发送模块730。
存储器820可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器820也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器820还可以包括上述种类的组合。
通信接口830可以为有线接口(例如以太网接口、光纤接口、其他类型接口(例如,infiniBand接口))或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他网络设备或装置进行通信。通信接口830可以采用传输控制协议/网际协议(transmissioncontrol protocol/internet protocol,TCP/IP)之上的协议族,例如,远程函数调用(remote function call,RFC)协议、简单对象访问协议(simple object accessprotocol,SOAP)协议、简单网络管理协议(simple network management protocol,SNMP)协议、公共对象请求代理体系结构(common object request broker architecture,CORBA)协议以及分布式协议等等。
总线840可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线、扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线840可以分为地址总线、数据总线、控制总线等。总线840除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线840。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述网络设备800用于执行图4所示的本申请提供的拥塞流识别方法,其具体实现过程详见上述方法实施例,这里不再赘述。
应当理解,网络设备800仅为本申请实施例提供的一个例子,并且,网络设备800可具有比图8示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,该指令被运行时可以实现上述实施例中记载的拥塞流识别方法的部分或者全部步骤。
本申请还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,可以实现上述方法实施例中记载的拥塞流识别方法的部分或者全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (14)

1.一种拥塞流识别方法,其特征在于,所述方法应用于第一网络设备,所述方法包括:
检测第一入口队列的状态,所述第一入口队列的状态为拥塞或空闲;
若检测到所述第一入口队列拥塞,则检测多个出口队列的状态,所述多个出口队列中每个出口队列的状态为空闲、第一状态或者第二状态,所述第一状态表示所述每个出口队列拥塞且所述每个出口队列的拥塞是所述第一入口队列拥塞的源头,所述第二状态表示所述每个出口队列拥塞且所述每个出口队列的拥塞不是所述第一入口队列拥塞的源头,所述多个出口队列用于转发所述第一入口队列接收的报文流,所述多个出口队列用于转发的报文流互不相同;
若检测到所述多个出口队列中存在处于所述第一状态的出口队列和空闲的出口队列,则将所述处于所述第一状态的出口队列转发的报文流确定为第一拥塞流,将所述空闲的出口队列转发的报文流确定为非拥塞流。
2.根据权利要求1所述的方法,其特征在于,所述检测所述多个出口队列的状态,包括:
检测所述多个出口队列是否拥塞;
若检测到所述多个出口队列中存在拥塞的出口队列和空闲的出口队列,则检测所述拥塞的出口队列的拥塞是否为所述第一入口队列拥塞的源头。
3.根据权利要求2所述的方法,其特征在于,所述检测所述拥塞的出口队列的拥塞是否为所述第一入口队列拥塞的源头,包括:
若检测到所述拥塞的出口队列的带宽利用率大于利用率阈值,则确定所述拥塞的出口队列拥塞是所述第一入口队列拥塞的源头;
若检测到所述带宽利用率小于或者等于所述利用率阈值,则确定所述拥塞的出口队列拥塞不是所述第一入口队列拥塞的源头。
4.根据权利要求2所述的方法,其特征在于,所述检测所述拥塞的出口队列的拥塞是否为所述第一入口队列拥塞的源头,包括:
若接收到所述第一网络设备的下游网络设备发送的基于优先级的流量控制PFC报文的频率小于或者等于频率阈值,则确定所述拥塞的出口队列拥塞是所述第一入口队列拥塞的源头,所述PFC报文为所述下游网络设备在检测到第二入口队列拥塞时发送,所述第二入口队列为所述下游网络设备中用于接收所述拥塞的出口队列转发的报文流的入口队列;
若接收到所述下游网络设备发送的PFC报文的频率大于所述频率阈值,则确定所述拥塞的出口队列拥塞不是所述第一入口队列拥塞的源头。
5.根据权利要求2所述的方法,其特征在于,所述检测所述拥塞的出口队列的拥塞是否为所述第一入口队列拥塞的源头,包括:
若未接收到所述第一网络设备的下游网络设备发送的第二拥塞控制消息,则确定所述拥塞的出口队列拥塞是所述第一入口队列拥塞的源头,所述第二拥塞控制消息用于指示将第二拥塞流隔离到所述第一网络设备中的拥塞队列,所述第二拥塞流属于所述拥塞的出口队列转发的报文流;
若接收到所述下游网络设备发送的第二拥塞控制消息,则确定所述拥塞的出口队列拥塞不是所述第一入口队列拥塞的源头。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
生成第一拥塞控制消息,并向上游网络设备发送所述第一拥塞控制消息,所述第一拥塞控制消息携带所述第一拥塞流的标识,所述第一拥塞控制消息用于指示将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列,所述第一拥塞控制消息还携带所述多个出口队列的状态;
在预设时长后,重新检测所述第一入口队列和所述多个出口队列的状态,基于所述重新检测的第一入口队列和多个出口队列的状态,确定所述多个出口队列转发的报文流中是否存在至少一条拥塞流,并基于检测结果生成新的第一拥塞控制消息,向所述上游网络设备发送所述新的第一拥塞控制消息;
其中,若确定所述多个出口队列转发的报文流中不存在至少一条拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列;若确定所述多个出口队列转发的报文流中存在至少一条拥塞流,且所述至少一条拥塞流不包括所述第一拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态和所述至少一条拥塞流的标识,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列,并指示将所述至少一条拥塞流隔离到所述上游网络设备中的拥塞队列。
7.一种拥塞流识别装置,其特征在于,所述装置应用于第一网络设备,所述装置包括:
检测模块,用于检测第一入口队列的状态,所述第一入口队列的状态为拥塞或空闲;
检测模块,还用于若检测到所述第一入口队列拥塞,则检测多个出口队列的状态,所述多个出口队列中每个出口队列的状态为空闲、第一状态或者第二状态,所述第一状态表示所述每个出口队列拥塞且所述每个出口队列的拥塞是所述第一入口队列拥塞的源头,所述第二状态表示所述每个出口队列拥塞且所述每个出口队列的拥塞不是所述第一入口队列拥塞的源头,所述多个出口队列用于转发所述第一入口队列接收的报文流,所述多个出口队列用于转发的报文流互不相同;
处理模块,用于若检测到所述多个出口队列中存在处于所述第一状态的出口队列和空闲的出口队列,则将所述处于所述第一状态的出口队列转发的报文流确定为第一拥塞流,将所述空闲的出口队列转发的报文流确定为非拥塞流。
8.根据权利要求7所述的装置,其特征在于,所述检测模块,具体用于:
检测所述多个出口队列是否拥塞;
若检测到所述多个出口队列中存在拥塞的出口队列和空闲的出口队列,则检测所述拥塞的出口队列的拥塞是否为所述第一入口队列拥塞的源头。
9.根据权利要求8所述的装置,其特征在于,所述检测模块,具体用于:
若检测到所述拥塞的出口队列的带宽利用率大于利用率阈值,则确定所述拥塞的出口队列拥塞是所述第一入口队列拥塞的源头;
若检测到所述带宽利用率小于或者等于所述利用率阈值,则确定所述拥塞的出口队列拥塞不是所述第一入口队列拥塞的源头。
10.根据权利要求8所述的装置,其特征在于,所述检测模块,具体用于:
若接收到所述第一网络设备的下游网络设备发送的PFC报文的频率小于或者等于频率阈值,则确定所述拥塞的出口队列拥塞是所述第一入口队列拥塞的源头,所述PFC报文为所述下游网络设备在检测到第二入口队列拥塞时发送,所述第二入口队列为所述下游网络设备中用于接收所述拥塞的出口队列转发的报文流的入口队列;
若接收到所述下游网络设备发送的PFC报文的频率大于所述频率阈值,则确定所述拥塞的出口队列拥塞不是所述第一入口队列拥塞的源头。
11.根据权利要求8所述的装置,其特征在于,所述检测模块,具体用于:
若未接收到所述第一网络设备的下游网络设备发送的第二拥塞控制消息,则确定所述拥塞的出口队列拥塞是所述第一入口队列拥塞的源头,所述第二拥塞控制消息用于指示将第二拥塞流隔离到所述第一网络设备中的拥塞队列,所述第二拥塞流属于所述拥塞的出口队列转发的报文流;
若接收到所述下游网络设备发送的第二拥塞控制消息,则确定所述拥塞的出口队列拥塞不是所述第一入口队列拥塞的源头。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述装置还包括:
发送模块,用于生成第一拥塞控制消息,并向上游网络设备发送所述第一拥塞控制消息,所述第一拥塞控制消息携带所述第一拥塞流的标识,所述第一拥塞控制消息用于指示将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列,所述第一拥塞控制消息还携带所述多个出口队列的状态;
所述检测模块,还用于在预设时长后,重新检测所述第一入口队列和所述多个出口队列的状态;
所述处理模块,还用于基于所述重新检测的第一入口队列和多个出口队列的状态,确定所述多个出口队列转发的报文流中是否存在至少一条拥塞流;
所述发送模块,还用于基于检测结果生成新的第一拥塞控制消息,向所述上游网络设备发送所述新的第一拥塞控制消息;
其中,若确定所述多个出口队列转发的报文流中不存在至少一条拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列;若确定所述多个出口队列转发的报文流中存在至少一条拥塞流,且所述至少一条拥塞流不包括所述第一拥塞流,所述新的第一拥塞控制消息携带所述重新检测的多个出口队列的状态和所述至少一条拥塞流的标识,所述新的第一拥塞控制消息用于指示基于所述重新检测的多个出口队列的状态,停止将所述第一拥塞流隔离到所述上游网络设备中的拥塞队列,并指示将所述至少一条拥塞流隔离到所述上游网络设备中的拥塞队列。
13.一种网络设备,其特征在于,所述网络设备包括处理器和存储器;所述处理器用于执行所述存储器存储的指令,使得所述网络设备实现权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,所述指令用于实现权利要求1至6任一项所述的方法。
CN202210460326.7A 2022-04-28 2022-04-28 拥塞流识别方法、装置、设备及计算机可读存储介质 Pending CN117014376A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210460326.7A CN117014376A (zh) 2022-04-28 2022-04-28 拥塞流识别方法、装置、设备及计算机可读存储介质
PCT/CN2023/083873 WO2023207461A1 (zh) 2022-04-28 2023-03-24 拥塞流识别方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210460326.7A CN117014376A (zh) 2022-04-28 2022-04-28 拥塞流识别方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN117014376A true CN117014376A (zh) 2023-11-07

Family

ID=88517310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210460326.7A Pending CN117014376A (zh) 2022-04-28 2022-04-28 拥塞流识别方法、装置、设备及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN117014376A (zh)
WO (1) WO2023207461A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109660463A (zh) * 2017-10-11 2019-04-19 华为技术有限公司 一种拥塞流识别方法及网络设备
WO2020236277A1 (en) * 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating tracer packets in a data-driven intelligent network
CN112054964B (zh) * 2019-06-05 2023-11-28 中兴通讯股份有限公司 队列拥塞控制方法、装置、设备及存储介质
CN114095448A (zh) * 2020-08-05 2022-02-25 华为技术有限公司 一种拥塞流的处理方法及设备

Also Published As

Publication number Publication date
WO2023207461A1 (zh) 2023-11-02

Similar Documents

Publication Publication Date Title
US11711319B2 (en) Methods and apparatus for flow control associated with a switch fabric
CN109412964B (zh) 报文控制方法及网络装置
CN107204931B (zh) 通信装置和用于通信的方法
US8014281B1 (en) Systems and methods for limiting the rates of data to/from a buffer
US7352695B2 (en) Switch and a switching method
US7889659B2 (en) Controlling a transmission rate of packet traffic
US8274974B1 (en) Method and apparatus for providing quality of service across a switched backplane for multicast packets
US10069748B2 (en) Congestion estimation for multi-priority traffic
JP2006506845A (ja) ルータにおけるパケットに対し論理リンクを選択する方法
US9614777B2 (en) Flow control in a network
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
WO2020029819A1 (zh) 报文处理方法和装置、通信设备以及交换电路
CN111431811A (zh) 一种报文传输控制方法、装置和网络设备
US7408876B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress queue managers
US10749803B1 (en) Enhanced congestion avoidance in network devices
CN114095448A (zh) 一种拥塞流的处理方法及设备
WO2023116611A1 (zh) 一种队列控制的方法及装置
CN115462050A (zh) 一种拥塞控制方法、网络设备及系统
US7599292B1 (en) Method and apparatus for providing quality of service across a switched backplane between egress and ingress queue managers
Avci et al. Congestion aware priority flow control in data center networks
CN117014376A (zh) 拥塞流识别方法、装置、设备及计算机可读存储介质
CN110336759B (zh) 基于rdma的协议报文转发方法及装置
WO2023226603A1 (zh) 一种抑制拥塞队列产生的方法及装置
WO2023226532A1 (zh) 拥塞控制方法、节点及系统
CN111669336B (zh) 用于无损以太网的低成本拥塞隔离

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication