WO2022028342A1 - 一种拥塞流的处理方法及设备 - Google Patents

一种拥塞流的处理方法及设备 Download PDF

Info

Publication number
WO2022028342A1
WO2022028342A1 PCT/CN2021/109936 CN2021109936W WO2022028342A1 WO 2022028342 A1 WO2022028342 A1 WO 2022028342A1 CN 2021109936 W CN2021109936 W CN 2021109936W WO 2022028342 A1 WO2022028342 A1 WO 2022028342A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
packet
congested
queue
flow
Prior art date
Application number
PCT/CN2021/109936
Other languages
English (en)
French (fr)
Inventor
陶佩莹
于翔
郑合文
严金丰
刘和洋
徐永慧
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022028342A1 publication Critical patent/WO2022028342A1/zh

Links

Images

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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Landscapes

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

Abstract

本申请公开一种拥塞流的处理方法及设备,该方法可以应用于第一网络设备,该方法包括:获取第一报文,该第一报文包括第一指示信息,该第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,该第三网络设备为所述第一拥塞流的源设备,该第一拥塞流为第二网络设备发生拥塞的情况下,被第二网络设备识别的拥塞流;处理该第一报文。示例性的,该第一网络设备处理该第一报文的方式可以包括如根据该第一报文向第三网络设备发送第一PFC报文等。本申请公开的方法,可以避免网络中的第一网络设备或第二网络设备等中的队列的队列深度快速到达PFC门限,避免第一拥塞流出现丢包或溢出等问题。

Description

一种拥塞流的处理方法及设备
本申请要求于2020年08月05日提交中国专利局、申请号为202010780357.1、申请名称为“一种拥塞流的处理方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种拥塞流的处理方法及设备。
背景技术
一般的,当网络中的网络设备中的一个接收队列的队列深度大于或等于基于优先级的流量控制(priority-based flow control,PFC)门限如Xoff门限,该网络设备就会向其上游节点发送PFC报文,该PFC报文包括该上游节点中与该接收队列对应的发送队列被停止的时长信息。该情况下,该上游节点中的该发送队列就会被停止向该网络设备中的接收队列发送报文,但是上游节点中的该发送队列仍然会接收报文,由此容易导致该发送队列中的报文出现丢包或溢出等问题。
发明内容
本申请提供一种拥塞流的处理方法及设备,可以避免网络设备中的队列的队列深度快速到达PFC门限,避免拥塞流对应的报文出现丢包的情况。
第一方面,本申请实施例提供一种拥塞流的处理方法,所述方法应用于第一网络设备,所述方法包括:获取第一报文,所述第一报文包括第一指示信息,所述第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,所述第三网络设备为所述第一拥塞流的源设备,所述第一拥塞流为第二网络设备发生拥塞的情况下,被所述第二网络设备识别的拥塞流;处理所述第一报文。
本申请实施例中,第一报文中的第一指示信息可以用于指示调整第三网络设备发送的第一拥塞流的发送速率,通过该第一报文,第一拥塞流的源设备(即第三网络设备)可以调整第一拥塞流的发送速率,从而使得该第一拥塞流的发送速率能够与网络的拥塞程度相匹配,避免网络中的网络设备(包括第一网络设备和/或第二网络设备等)中的优先级队列快速到达PFC门限。第一网络设备通过获取该第一报文,然后处理该第一报文。示例性的,第一网络设备可以根据第一网络设备与第三网络设备之间的关系处理该第一报文,即第一网络设备与第三网络设备之间的关系(如第一网络设备是否与第三网络设备连接等)的不同,该第一网络设备处理第一报文的方式不同。尽管第一网络设备处理第一报文的方式不同,但是最终结果可使得第三网络设备调整第一拥塞流的发送速率。
在一种可能的实现方式中,所述第一报文还包括第二指示信息,所述第二指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列。
本申请实施例中,第一报文中通过包括第二指示信息,可使得第三网络设备隔离该第一拥塞流,避免该第一拥塞流与非拥塞流在同一个队列中时,由于需要反压该第一拥塞流,而导致影响非拥塞流的发送。该第二指示信息用于指示将第三网络设备发送的第一拥塞流隔离 到该第三网络设备中的拥塞队列,还可以理解为:第二指示信息用于指示将第三网络设备中的第一拥塞流隔离到(切换到)该第三网络设备中的拥塞队列,或者,还可以理解为:第二指示信息用于指示将与第三网络设备对应的第一拥塞流隔离到(切换到)该第三网络设备中的拥塞队列。
在一种可能的实现方式中,所述第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率包括:所述第一指示信息用于指示调整所述第三网络设备中的拥塞队列的发送速率。
在一种可能的实现方式中,所述获取第一报文之前,所述方法还包括:识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列;所述获取第一报文包括:在所述第一网络设备中的拥塞队列发生拥塞的情况下,生成所述第一报文。
本申请实施例中,第一网络设备可以为网络中的拥塞点所在的网络设备,或者,该第一网络设备还可以为该拥塞点所在的网络设备的上游节点。在第一网络设备中的拥塞队列发生拥塞的情况下,生成第一报文,从而指示第三网络设备调整其发送的第一拥塞流的发送速率。由此,通过判断拥塞队列是否发生拥塞,可使得第三网络设备能够更精确的根据网络中的拥塞程度去调整其发送的第一拥塞流的发送速率。同时,通过判断拥塞队列是否发生拥塞,还可以避免由于拥塞队列未发生拥塞,而调整第一拥塞流的发送速率,而影响该第一拥塞流。
在一种可能的实现方式中,所述处理所述第一报文之后,所述方法还包括:在所述第一网络设备中的拥塞队列的队列深度大于或等于基于优先级的流量控制PFC门限的情况下,向所述第一网络设备的上游节点发送第三PFC报文,所述第三PFC报文用于指示所述第一网络设备的上游节点中的拥塞队列停止发送所述第一拥塞流。
本申请实施例中,第三网络设备通过调整第一拥塞流的发送速率,可以避免第一网络设备中的拥塞队列的队列深度快速到达PFC门限,甚至尽可能避免该PFC门限的出现。
在一种可能的实现方式中,所述第一网络设备与所述第二网络设备为同一个网络设备。
本申请实施例中,在第一网络设备为网络(即该第一网络设备所在的网络)中发生拥塞的拥塞点所在的网络设备时,该第一网络设备还可以在识别到第一拥塞流,且将第一拥塞流隔离到该第一网络设备中的拥塞队列的情况下,生成第一报文。第一网络设备通过识别并隔离该第一拥塞流,可避免由于该第一拥塞流所在的队列发生拥塞,而导致其他数据流无法被缓存到该第一拥塞流所在的队列,甚至导致其他数据流对应的报文出现丢包等情况。同时,第一网络设备通过识别第一拥塞流,第一网络设备可以明确的向第三网络设备指示调整该第一拥塞流的发送速率。
在一种可能的实现方式中,所述识别所述第一拥塞流之前,所述方法还包括:接收第三报文,所述第三报文用于指示将所述第一网络设备发送的所述第一拥塞流隔离到所述第一网络设备中的拥塞队列,所述第一网络设备与所述第二网络设备为不同的网络设备;所述识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列包括:根据所述第三报文识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列。
本申请实施例中,第一网络设备还可以为第二网络设备的上游节点,该情况下,第一网络设备在接收到第三报文,识别出第一拥塞流之后,还可以根据其拥塞队列的拥塞程度,确定是否生成第一报文。
本申请实施例中,第一网络设备可以在其拥塞队列发生拥塞时,生成第一报文。由此,可提高第三网络设备调整其发送的第一拥塞流的发送速率的效率。该第一网络设备中的拥塞队列发生拥塞的情况包括:该第一网络设备中的拥塞队列的队列深度大于或等于第一深度阈 值的情况。本申请实施例中,所述识别所第一拥塞流包括:从所述第一网络设备中的拥塞队列中识别所述第一拥塞流。
在一种可能的实现方式中,所述识别所述第一拥塞流包括:从所述第一网络设备中的管理队列中识别所述第一拥塞流。
本申请实施例中,该第一拥塞流可以为第一网络设备从其管理队列中识别出的拥塞流;或者,为第一网络设备从其拥塞队列中识别出的拥塞流。
在一种可能的实现方式中,所述从所述第一网络设备中的管理队列中识别所述第一拥塞流包括:在所述第一网络设备中的管理队列发生拥塞的情况下,从所述第一网络设备中的管理队列中识别所述第一拥塞流。
本申请实施例中,第一网络设备中的管理队列发生拥塞的情况包括:该第一网络设备中的管理队列的队列深度大于或等于第二深度阈值的情况。
在一种可能的实现方式中,所述方法还包括:生成第二报文,所述第二报文用于指示所述第一网络设备的上游节点将所述第一拥塞流隔离到所述第一网络设备的上游节点中的拥塞队列;向所述第一网络设备的上游节点发送所述第二报文。
本申请实施例中,在第一网络设备识别到第一拥塞流,以及隔离该第一拥塞流时,为避免该第一拥塞流引起其他网络设备发生拥塞,因此,该第一网络设备还可以向其上游节点发送第二报文。
在一种可能的实现方式中,在所述第一网络设备中的拥塞队列发生拥塞的情况下,生成所述第二报文。
在一种可能的实现方式中,所述获取第一报文之前,所述方法还包括:接收第三报文,所述第三报文用于指示将所述第一网络设备发送的所述第一拥塞流隔离到所述第一网络设备中的拥塞队列,所述第一网络设备与所述第二网络设备为不同的网络设备;根据所述第三报文识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列。
本申请实施例中,当第一网络设备为网络中的非拥塞点所在的网络设备时,该第一网络设备还可以根据其他网络设备发送的第三报文识别该第一拥塞流,然后隔离该第一网络设备中的拥塞队列。
在一种可能的实现方式中,所述获取第一报文包括:接收来自所述第一网络设备的下游节点的所述第一报文。
本申请实施例中,第一网络设备除了可以生成第一报文,还可以接收其他网络设备发送的第一报文。可选的,第一网络设备可以在接收到第三报文,识别第一拥塞流,将该第一拥塞流隔离到该第一网络设备中的拥塞队列之后,接收该第一报文;或者,该第一网络设备还可以直接接收该第一报文,然后指示第三网络设备调整其发送的第一拥塞流的发送速率。
在一种可能的实现方式中,所述处理所述第一报文包括:根据所述第一报文生成第一PFC报文,所述第一PFC报文包括所述第三网络设备发送的所述第一拥塞流所在的队列被停止的时长信息;以及向所述第三网络设备发送所述第一PFC报文。
本申请实施例中,在第一网络设备获取到来自其下游节点的第一报文的情况下,该第一网络设备还可以向第三网络设备发送第一PFC报文,从而使得该第三网络设备根据该第一PFC报文调整其发送的第一拥塞流的发送速率。可选的,该第一PFC报文还可以理解为:包括第三网络设备发送的第一拥塞流所在的队列被反压的时长信息。本申请实施例中,第一网络设备接收到第一报文之后,可以向第三网络设备发送第一PFC报文,对于该第三网络设备来说,通过第一PFC报文指示调整其发送的第一拥塞流的发送速率,不仅简单可靠,而且易 于实现。即使该第三网络设备不支持拥塞隔离,仍然能够通过第一PFC报文调整其发送的第一拥塞流的发送速率。
在一种可能的实现方式中,所述第一拥塞流所在的队列包括所述第一拥塞流所在的拥塞队列和/或所述第一拥塞流所在的原队列。
在一种可能的实现方式中,所述处理所述第一报文包括:向所述第三网络设备发送所述第一报文;或者,根据所述第一报文生成第四报文,所述第四报文包括第四指示信息,所述第四指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列;向所述第三网络设备发送所述第四报文。
本申请实施例中,对于第四指示信息的具体说明还可以参考上述第二指示信息。
在一种可能的实现方式中,所述第一指示信息用于指示减小所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第一指示信息用于指示停止所述第三网络设备发送所述第一拥塞流。
本申请实施例中,第一指示信息用于指示停止第三网络设备发送第一拥塞流,可以理解为:该第一指示信息用于指示第三网络设备停止发送第一拥塞流;或者,该第一指示信息用于指示第三网络设备发送的第一拥塞流被停止发送等。
在一种可能的实现方式中,所述方法还包括:获取第五报文,所述第五报文包括第五指示信息,所述第五指示信息用于指示增大所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第五指示信息用于指示恢复所述第三网络设备发送所述第一拥塞流;处理所述第五报文。
本申请实施例中,第五指示信息用于指示恢复第三网络设备发送第一拥塞流,可以理解为:第一指示信息用于指示第三网络设备恢复发送第一拥塞流;或者,第一指示信息用于指示第三网络设备发送的第一拥塞流被恢复发送等。
在一种可能的实现方式中,所述获取第五报文包括:在所述第一拥塞流被识别为非拥塞流的情况下,生成所述第五报文;或者,在所述第一网络设备中的拥塞队列不拥塞的情况下,生成所述第五报文。
在一种可能的实现方式中,所述获取第五报文包括:接收来自所述第一网络设备的下游节点的所述第五报文。
在一种可能的实现方式中,所述处理所述第五报文包括:根据所述第五报文生成第二PFC报文,所述第二PFC报文用于指示所述第三网络设备发送的所述第一拥塞流所在的队列被恢复;向所述第三网络设备发送所述第二PFC报文。
在一种可能的实现方式中,所述处理所述第五报文包括:向所述第三网络设备发送所述第五报文;或者,根据所述第五报文生成第六报文,所述第六报文包括第八指示信息,所述第八指示信息用于指示将所述第三网络设备发送的所述第一拥塞流切换到所述第三网络设备中的非拥塞队列;向所述第三网络设备发送所述第六报文。
第二方面,本申请实施例还提供一种拥塞流的处理方法,所述方法应用于第三网络设备,所述方法包括:获取报文,根据报文调整所述第三网络设备发送的第一拥塞流的发送速率。
本申请实施例中,该报文可以包括第一PFC报文、第一报文、第四报文中的至少一个。
在一种可能的实现方式中,获取第一PFC报文,所述第一PFC报文包括所述第三网络设备发送的所述第一拥塞流所在的队列被停止的时长信息;根据所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率。
在一种可能的实现方式中,所述第一拥塞流所在的队列包括所述第一拥塞流所在的拥塞 队列和/或所述第一拥塞流所在的原队列。
在一种可能的实现方式中,根据所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率之前,所述方法还包括:获取第四报文,所述第四报文包括第四指示信息,所述第四指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列;根据所述第四报文(或第四报文中的第四指示信息)将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列。
在一种可能的实现方式中,所述第四报文还包括第三指示信息,所述第三指示信息用于指示调整所述第三网络设备发送的第一拥塞流的发送速率,所述第三网络设备为所述第一拥塞流的源设备,所述第一拥塞流为第二网络设备发生拥塞的情况下,被所述第二网络设备识别的拥塞流。
在一种可能的实现方式中,所述根据所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率包括:根据所述第一PFC报文和所述第四报文(或第四报文中的第三指示信息)调整所述第三网络设备发送的第一拥塞流的发送速率。
在一种可能的实现方式中,根据所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率之前,所述方法还包括:获取第一报文,根据所述第一报文和所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率,所述第一报文包括第一指示信息,所述第一指示信息用于指示调整所述第三网络设备发送的第一拥塞流的发送速率,所述第三网络设备为所述第一拥塞流的源设备,所述第一拥塞流为第二网络设备发生拥塞的情况下,被所述第二网络设备识别的拥塞流。
在一种可能的实现方式中,所述第一报文还包括第二指示信息,所述第二指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列。
在一种可能的实现方式中,所述根据所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率包括:根据所述第一报文将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列,以及根据所述第一报文和所述第一PFC报文调整所述第三网络设备发送的第一拥塞流的发送速率。
在一种可能的实现方式中,所述第一指示信息用于指示减小所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第一指示信息用于指示停止所述第一网络设备发送所述第一拥塞流。
本申请实施例中,第三网络设备还可以仅仅通过第一报文或第四报文调整其发送的第一拥塞流的发送速率。
在一种可能的实现方式中,所述方法还包括:接收第二PFC报文,所述第二PFC报文用于指示所述第三网络设备发送的所述第一拥塞流所在的队列被恢复;根据所述第二PFC报文恢复所述第一拥塞流的发送。
在一种可能的实现方式中,所述方法还包括:接收第五报文,所述第五报文包括第五指示信息,所述第五指示信息用于指示增大所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第五指示信息用于指示恢复所述第一网络设备发送所述第一拥塞流;根据所述第五报文增大所述第三网络设备发送的第一拥塞流的发送速率;或者,根据所述第五报文恢复所述第一网络设备发送所述第一拥塞流。
本申请实施例中,第五报文中还可以包括第六指示信息。
在一种可能的实现方式中,接收第六报文,所述第六报文包括第八指示信息,所述第八指示信息用于指示将所述第三网络设备发送的所述第一拥塞流切换到所述第三网络设备中的 非拥塞队列;向所述第三网络设备发送所述第六报文。
本申请实施例中,第三网络设备可以根据第六报文将第一拥塞流隔离到非拥塞队列,然后增大该第一拥塞流的发送速率或恢复该第一拥塞流的发送。或者,第六报文中还可以包括第七指示信息,从而第三网络设备根据该第六报文增大该第一拥塞流的发送速率或恢复该第一拥塞流的发送。
第二方面的有益效果可参见第一方面的有益效果,在此不赘述。
第三方面,本申请提供一种第一网络设备,用于执行第一方面或第一方面的任意可能的实现方式中的方法。该第一网络设备包括具有执行第一方面或第一方面的任意可能的实现方式中的方法的相应单元。
例如,该第一网络设备可以包括收发单元和处理单元。
第四方面,本申请提供一种第三网络设备,用于执行第二方面或第二方面的任意可能的实现方式中的方法。该第三网络设备包括具有执行第二方面或第二方面的任意可能的实现方式中的方法的相应单元。
例如,该第三网络设备可以包括收发单元和处理单元。
第五方面,本申请提供一种第一网络设备,该第一网络设备包括包括处理器,该处理器可以用于执行上述第一方面或第一方面的任意可能的实现方式所示的方法。
本申请实施例中,在执行上述方法的过程中,上述方法中有关发送报文或接收报文等(以下统称为信息)的过程,可以理解为由处理器输出信息的过程,以及处理器接收输入的信息的过程。在输出信息时,处理器将该信息输出给收发器,以便由收发器进行发射。该信息在由处理器输出之后,还可能需要进行其他的处理,然后到达收发器。类似的,处理器接收输入的信息时,收发器接收该信息,并将其输入处理器。更进一步的,在收发器收到该信息之后,该信息可能需要进行其他的处理,然后才输入处理器。
基于上述原理,示例性的,例如,发送第一报文可以理解为处理器输出该至少一个第一比特块。又例如,接收第一报文可以理解为处理器接收输入的第一报文等。
对于处理器所涉及的发送和/或接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以一般性的理解为处理器输出和接收、输入等操作。
在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该第一网络设备执行如上述第一方面或第一方面的任意可能的实现方式所示的方法。
在一种可能的实现方式中,存储器位于上述第一网络设备之外。
在一种可能的实现方式中,存储器位于上述第一网络设备之内。
本申请实施例中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可能被集成于一起。
在一种可能的实现方式中,第一网络设备还包括收发器,该收发器,用于接收报文或发送报文等。
第六方面,本申请提供一种第三网络设备,该第三网络设备包括处理器,该处理器用于执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。本申请实施例中,关于处理器的具体说明可参考上述第五方面的描述,这里不再详述。
在一种可能的实现方式中,存储器位于上述第三网络设备之外。
在一种可能的实现方式中,存储器位于上述第三网络设备之内。
在一种可能的实现方式中,第三网络设备还包括收发器,该收发器,用于接收报文或发送报文等。
第七方面,本申请提供一种第一网络设备,该第一网络设备包括逻辑电路和接口,该逻辑电路与接口耦合,该逻辑电路可以用于执行第一方面或第一方面的任意可能的实现方式所示的方法。
示例性的,该逻辑电路,用于获取第一报文;或者,该逻辑电路还可以通过接口获取输入的第一报文等,以及该逻辑电路还可以用于处理该第一报文,或者,该逻辑电路还可以通过接口输出该第一报文等。
第八方面,本申请提供一种第三网络设备,该网络设备包括逻辑电路和接口,该逻辑电路与接口耦合,该逻辑电路可以用于执行第二方面或第二方面的任意可能的实现方式所示的方法。
第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
第十方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
第十一方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
第十二方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
第十三方面,本申请提供一种计算机程序,该计算机程序在计算机上运行时,上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
第十四方面,本申请提供一种计算机程序,该计算机程序在计算机上运行时,上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
附图说明
图1是本申请实施例提供的一种PFC的流程示意图;
图2a是本申请实施例提供的一种网络架构示意图;
图2b是本申请实施例提供的一种网络架构示意图;
图3a是本申请实施例提供的一种拥塞流的处理方法的流程示意图;
图3b是本申请实施例提供的另一种拥塞流的处理方法的流程示意图;
图4a是本申请实施例提供的又一种拥塞流的处理方法的流程示意图;
图4b是本申请实施例提供的又一种拥塞流的处理方法的流程示意图;
图5a是本申请实施例提供的一种网络架构示意图;
图5b是本申请实施例提供的一种拥塞流的处理方法的流程示意图;
图5c是本申请实施例提供的队列阈值的比较示意图;
图6是本申请实施例提供的一种拥塞流的处理方法的流程示意图;
图7是本申请实施例提供的一种网络设备的结构示意图;
图8是本申请实施例提供的另一种网络设备的结构示意图;
图9是本申请实施例提供的又一种网络设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
以下详细介绍本申请涉及的术语。
1、PFC
通过PFC技术,网络设备或服务器等可以在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个优先级,允许单独暂停和恢复其中任意一条虚拟通道。其中,以太网链路可以理解为两个设备之间与对应端口对应的以太网链路。示例性的,如图1所示,图1示出的是设备A与设备B中分别包括8个优先级队列,如设备A与设备B之间的一条以太网链路可以理解为设备A通过端口A,以及设备B通过端口B连接的以太网链路。如果设备A还可以通过端口C与设备B通信,则端口C与设备B中的端口如D之间仍然可以有另一条以太网链路,该另一条以太网链路的发送队列即为设备A通过端口C对应的8个优先级队列,该以太网链路的接收队列即为设备B通过端口D对应的8个优先级队列。
这里对于优先级队列与端口之间的关系的说明同样适用于本申请示出的拥塞队列和管理队列等,对此,下文不再赘述。
2、数据流的分类
在一种可能的实现方式中,数据流可以被分为大流和小流。数据流会被先认为是老鼠流(即小流),入老鼠流队列;然后当该数据流的传输字节数超过一定门限时,该数据流会被识别为大象流(即大流),入大象流队列。
在另一种可能的实现方式中,数据流还可以被分为拥塞流和非拥塞流。数据流会被先认为是非拥塞流,入非拥塞流队列;然后当网络拥塞发生时,一旦某数据流被识别为拥塞流,则进入拥塞队列,以实现拥塞隔离。
本申请中识别拥塞流的方法:A、网络设备可以根据数据流对应的报文速率和/或该数据流对应的报文长度识别数据流是否为拥塞流。示例性的,如数据流对应的报文速率大于速率阈值,和/或,数据流对应的报文长度大于长度阈值,则该数据流可以被识别为拥塞流。其中,对于速率阈值和长度阈值的具体取值,本申请不作限定。可理解,这里所示的识别拥塞流的方法仅为示例。B、根据数据流对应的ECN报文的个数,识别该数据流是否为拥塞流。示例性的,如数据流对应的ECN报文的个数大于预设数量,则该数据流可以为识别为拥塞流。例如,在一段时长内,数据流在经过网络设备时,被标记的显示拥塞通知(explicit congestion notification,ECN)报文的个数大于预设数量,则该数据流可以被为拥塞流。可选的,在某些实现方式中,网络设备也可以将大象流识别为拥塞流。
CI过程中的一个重要步骤是通过IETF RFC 3168中指定的支持ECN的主动队列管理(active queue management,AQM)方案识别拥塞流。拥塞隔离感知转发过程(98.3)的拥塞隔离协议(congestion isolationprotocol,CIP)拥塞检测功能(98.3.1)负责实施AQM。在一些实现方式中还定义了用于检测拥塞感知桥的拥塞控制流(congestion control flow,CCF)的拥塞点(congestion point,CP)算法(30.2.1)。该方法可用于检测CI感知系统中的拥塞流。IETF RFC 7567中还讨论了许多其他可能的方法,如包括那些支持端到端ECN拥塞控制的方法。即ECN拥塞控制的方法可以和CI的方法单独被使用,但是,该ECN拥塞控制的方法还可以与CI的方法结合。
拥塞流还可以理解为:端到端拥塞控制的高层协议中,将一组帧序列视为属于在拥塞隔离感知系统中遇到拥塞的单个流。即该CI方法还可以被应用于端到端拥塞控制中。
可理解,网络中的拥塞流的个数,本申请不作限定。可选的,对于同一个网络设备来说,网络中的拥塞流可以被隔离到该网络设备中的一个拥塞队列或至少两个拥塞队列中等。
本申请中,如果某条数据流未被识别为拥塞流,则该数据流可以被称为非拥塞流。
3、拥塞队列和管理队列
用于缓存拥塞流的队列可以称为拥塞队列,用于缓存非拥塞流的队列可以称为管理队列,或也可以称为非拥塞队列等。一般的,拥塞队列的优先级可以小于管理队列的优先级。
本申请中,对于拥塞队列的优先级可以根据拥塞隔离标识长度值(tag length value,TLV)确定。或者,该拥塞队列的优先级也可以由网络设备设置等,本申请对于如何设置拥塞队列的优先级不作限定。该拥塞队列的优先级信息可以由各个网络设备根据TLV得到,或者,该拥塞队列的优先级信息可以保存于拥塞流表中,或者,该拥塞队列的优先级信息也可以包含于报文中,如第一报文或第四报文等。
4、隔离
本申请中隔离也可以理解为:调整或切换等。可选的,网络设备将其拥塞流隔离到该网络设备中的拥塞队列,也可以理解为:网络设备降低该拥塞流的优先级队列。如数据流的优先级队列为管理队列,被隔离后,该数据流可以被缓存至拥塞队列,即通过拥塞队列发送该数据流。又如拥塞流需要被隔离到网络设备中的拥塞队列,则网络设备接收到该拥塞流之后,可以根据拥塞流表将拥塞流调度到拥塞队列,通过该拥塞队列发送该拥塞流。
5、拥塞隔离消息(congestion isolation message,CIM)报文
如表1所示,表1示出的是CIM报文的封装格式,即CIM报文中可以包括以太类型(如 PDU ether type)、网络层头(如IPv4 header)、传输层头(如UDP header)和协议数据单元(protocol data unit,PDU)。可理解,表1示出的网络层头中的IP地址是以IPv4为例示出的,对于IPv6本申请同样适用。
表1
名称 字节(Octet) 长度(length)/字节
PDU以太类型(PDU ether type) 1 2
网络层头(IPv4 header) 3 20
传输层头(UDP header) 23 8
CIM PDU 31 65-529
其中,网络层头中可以包括CIM报文的源互联网协议(internet protocol,IP)地址(source address)和CIM报文的目的IP地址(destination address)。传输层头中可以包括CIM报文的源端口信息(source port)和CIM报文的目的端口信息(destination port)。CIM PDU中可以包括CIM报文的目的媒体访问控制(media access control,MAC)地址和该CIM报文的源MAC地址。其中,源IP地址、目的IP地址、源MAC地址、目的MAC地址、源端口信息和目标端口信息可以包含于拥塞隔离对等表(CI peer table)中,该CI peer table可以根据链路层发现协议(link layer discovery protocol,LLDP)和CI标识长度值(tag length value,TLV)中的信息得到。其中,拥塞流的目的IP地址、拥塞流的源IP地址、IP协议类型(包含于网络层头中)、拥塞流的源端口信息和拥塞流的目的端口信息可以被称为拥塞流的五元组信息。
可理解,表1示出的字节可以依次表示CIM报文的第1个字节、第3个字节、第23字节和第31字节。示例性的,PDU以太类型的长度为2字节,且该PDU以太类型从第1个字节开始,则网络层头从第3个字节开始,且网络层头大长度为20字节。
网络设备根据该拥塞流表中的原报文的MSDU信息以及CI peer table中的与该网络设备相邻的节点的地址信息生成CIM报文。或者,网络设备还可以根据该拥塞流表中的拥塞流的源MAC地址信息(即下文示出的第三网络设备的MAC地址信息)和原报文的MSDU信息生成CIM报文。或者,网络设备还可以根据接收到的CIM报文生成另一个CIM报文等,本申请对于网络设备如何生成CIM报文不作限定。本申请中,CIM报文中CIM PDU的内容可如表2所示。
表2
Figure PCTCN2021109936-appb-000001
本申请中,CIM报文中封装的MSDU(encapsulated MSDU)字段中可以包括与拥塞流相 关的信息。如该封装的MSDU字段中可以包括第一拥塞流在第三网络设备中的优先级队列(包括拥塞队列)、该第一拥塞流从第三网络设备(即源设备)发往另一个第三网络设备(如目的设备)途径的至少一个第一网络设备或至少一个第二网络设备的地址信息、第一拥塞流在每个第一网络设备中的优先级队列(包括拥塞队列和管理队列等)或第一拥塞流在每个第二网络设备中的优先级队列。或者,该封装的MSDU字段中包括与拥塞流相关的五元组信息。
这里重点介绍了CIM报文的共同之处,对于各个CIM报文的其他不同之处下文将结合具体实施例说明,这里先不详述。
6、拥塞流表
一般的,在网络发生拥塞时,网络设备需要识别拥塞流,创建拥塞流表。如表3所示,表3示例性的示出了拥塞流表的内容。可理解,表3仅为示例,在具体实现中,在网络发生拥塞时,网络设备还可以获取与拥塞流相关的信息,如拥塞流的目的MAC地址、拥塞流的源MAC地址(即拥塞流的源设备的MAC地址)、拥塞流的VLAN等,保存该与拥塞流相关的信息。换句话说,表3所示的内容,还可以以其他形式保存于网络设备,本申请不作限定。
表3
Figure PCTCN2021109936-appb-000002
为便于描述,下文将以拥塞流表为例说明本申请提供的拥塞流的处理方法。
7、网络设备的上游节点或网络设备的下游节点
本申请中,数据流从源节点(拥塞流表中的拥塞流的源MAC地址即为该源节点的MAC地址)发往目的节点(拥塞流表中的拥塞流的目的MAC地址即为该目的节点的MAC地址)时,该数据流可能会被多个网络设备转发,该情况下,源节点可以理解为该多个网络设备的上游节点,目的节点可以理解为该多个网络设备的下游节点。示例性的,数据流需要从网络设备1发往网络设备2,在该数据流的传输工程中,依次经过第一网络设备和第二网络设备。则该第二网络设备可以理解为该第一网络设备的下游节点,该第一网络设备可以理解为该第二网络设备的上游节点。
下文示出的各个实施例中,均以数据流从第三网络设备发出,需要发往另一个第三网络设备为例,该第三网络设备和该另一个第三网络设备之间可能包括第一网络设备和第二网络设备。例如,数据流需要从服务器1发往服务器2,且依次经过源交换机、中间交换机和目的交换机。则该源交换机可以理解为该中间交换机和该目的交换机的上游节点,相应的,目的交换机可以理解为中间交换机和源交换机的下游节点。或者,中间交换机为源交换机的下 游节点,为目的交换机的上游节点。
一般的,当网络中的网络设备中的一个接收队列的队列深度大于或等于基于优先级的流量控制(priority-based flow control,PFC)门限如Xoff门限,该网络设备就会向其上游节点发送PFC报文(也可以称为PFC帧等),该PFC报文包括该上游节点中与该接收队列对应的发送队列被停止的时长信息。该情况下,该上游节点中的该发送队列就会被停止向该网络设备中的接收队列发送报文,但是上游节点中的该发送队列仍然会接收报文,由此,导致该上游节点中的该发送队列很快到达上述Xoff门限。以此类推,通过反压方式传播拥塞(也可以称为拥塞根)从而形成“拥塞树”,最终可能会导致业务中断。或者,由于形成拥塞树的数据流也产生头阻效应,影响其他数据流也不能在被阻塞的队列中缓存等。
由此,通过拥塞隔离(congestion isolation,CI)技术,即将可能导致拥塞的数据流隔离到一个优先级较低的队列(即拥塞队列)中,可有效缓解了网络中由于PFC导致的头阻问题。在隔离过程中,当拥塞队列发生拥塞时,该拥塞队列对应的网络设备将会向其上游节点发送PFC报文,以便于该上游节点中的拥塞队列停止向该网络设备中的拥塞队列发送报文。然而,该上游节点中的非拥塞队列中可能仍然会缓存有向该网络设备中的拥塞队列发送的报文,该情况下,由于网络设备中的拥塞队列已经发生拥塞,很可能会导致丢包或报文溢出等问题。
本申请提供一种拥塞流的处理方法及设备,可以避免报文的丢失或溢出等问题。进一步的,一方面,本申请提供的方法不仅可以有效解决数据流对应的报文在传输过程中出现的丢包问题,避免PFC报文在网络中扩散,而导致网络中出现拥塞树的问题。另一方面,本申请提供的方法还可以避免网络设备中的拥塞队列和管理队均暂停发送报文,而导致非拥塞流受害的情况,保证非拥塞流的传输。
本申请提供的方法可以应用于数据中心网络、校园组网、园区组网等。可选的,本申请提供的方法还可以应用于高性能计算、高性能分布式存储、大数据、人工智能等。具体的,本申请提供的方法可以应用于网络设备,该网络设备可以为任意形态的计算机、服务器、交换机(或者称为交换设备、交换芯片等)、路由器、网卡等,本申请对于该网络设备的具体形态不作限定。可选的,本申请提供的方法还可以应用于由至少两个网络设备组成的网络架构。如该至少两个网络设备可以包括第一网络设备和第三网络设备;或者,该至少两个网络设备可以包括第一网络设备、第二网络设备和至少一个第三网络设备等,本申请实施例对于该网络架构不作限定。其中,第三网络设备可以理解为服务器,第一网络设备和第二网络设备可以理解为两个服务器之间的交换机或路由器等。
示例性的,图2b和图2b分别是本申请实施例提供的一种网络架构的示意图。图2a和图2b中,TOR可以理解为柜顶(top of rack,TOR)交换机,也可以理解为源交换机,即与服务器连接的交换机。Agg可以理解为汇聚节点(aggregation node,Agg),即Agg可以理解为汇聚交换机。图2a和图2b主要区别在于从服务器侧发出的数据流经过的交换机的个数的不同。可理解,图2a至图2b所示的网络架构仅为示意,不应将其理解为对本申请的限定。示例性的,第三网络设备可以为图2a或图2b示出的服务器,第一网络设备可以为图2a或图2b示出的任意类型的交换机,如与服务器连接的源交换机TOR、或者如图2a所示的Spine、或者如图2b所示的Agg交换机。可理解,图2a和图2b所示的网络架构仅为示例,在具体实现中,本申请实施例提供的方法还可以应用于至少两个第三网络设备,且该至少两个第三网络设备之间包括一个第一网络设备的场景。
以下将结合第一网络设备的具体位置说明本申请实施例提供的拥塞流的处理方法。
图3a是本申请实施例提供的一种拥塞流的处理方法的流程示意图,该方法可以应用于如图2a至图2b所示的网络架构。该方法可以应用于第一网络设备和第三网络设备,且该第一网络设备可以理解为该第一网络设备所在的网络发生拥塞时,拥塞点所在的网络设备。换句话说,在图3a中第一网络设备和第二网络设备(即拥塞点所在的网络设备)可以理解为是同一个网络设备。如图3a所示,该方法包括:
在一种可能的实现方式中,图3a所示的方法可以包括步骤301。
301、第一网络设备识别第一拥塞流,将该第一拥塞流隔离到第一网络设备中的拥塞队列。
第一网络设备识别到第一拥塞流之后,还可以创建拥塞流表,对于该拥塞流表的具体说明可参考上述表3,这里不再详述。该第一拥塞流为该第一网络设备识别到的拥塞流。该第一拥塞流可以为第一网络设备从其管理队列中识别到的拥塞流,或者,也可以为第一网络设备从其拥塞队列中识别到的拥塞流,下文详细说明。
在一种可能的实现方式中,第一网络设备识别第一拥塞流包括:从第一网络设备中的管理队列中识别第一拥塞流。即第一拥塞流为第一网络设备从其管理队列中识别出的拥塞流。
可选的,第一网络设备可以根据数据流对应的报文速率和/或报文长度等识别数据流是否为拥塞流。对于该说明,可参考上文描述,这里不再详述。
可选的,第一网络设备还可以在第一网络设备中的管理队列发生拥塞的情况下,识别该第一拥塞流。对于第一网络设备的管理队列发生拥塞的衡量标准,示例性的,可如下所示:
A、根据第一网络设备中的管理队列的队列深度衡量第一网络设备的管理队列是否发生拥塞。如第一网络设备的管理队列的队列深度大于或等于第二阈值,则该第一网络设备中的管理队列已发生拥塞。该队列深度用于衡量管理队列的缓存量,因此,本申请实施例对于第二阈值的具体取值不作限定。
B、根据第一网络设备中的管理队列在预设时长内,该管理队列的队列深度大于或等于第二阈值的次数大小,衡量第一网络设备的管理队列是否发生拥塞。如在预设时长内,第一网络设备中的管理队列的队列深度大于或等于第二阈值的次数大于或等于预设次数,则该第一网络设备中的管理队列已发生拥塞。对于预设时长或预设次数的具体取值,本申请实施例不作限定。
C、根据数据流在第一网络设备中的管理队列中被缓存的时长,识别该第一网络设备中的管理队列是否发生拥塞。其中,数据流在第一网络设备中的管理队列中被缓存的时长越长,则该网络设备中的管理队列发生拥塞的概率越高。
D、根据该第一网络设备中的管理队列中对应的ECN报文的个数,识别该第一网络设备中的管理队列是否发生拥塞。
可理解,以上示出的判断第一网络设备中的管理队列是否发生拥塞的方法,仅为示例,本申请实施例对此不作限定。
在第一网络设备中的管理队列发生拥塞的情况下,第一网络设备识别出第一拥塞流之后,该第一网络设备直接执行步骤304;或者,该第一网络设备还可以执行步骤302之后,执行步骤304。关于步骤302或步骤304的具体说明,可参考下文描述,这里先不详述。
在一种可能的实现方式中,第一网络设备识别第一拥塞流包括:从第一网络设备中的拥塞队列中识别第一拥塞流。即第一拥塞流为第一网络设备从其拥塞队列中识别出的拥塞流。换句话说,第一网络设备可以先识别出至少一个拥塞流,然后将该至少一个拥塞流隔离到第一网络设备中的拥塞队列。然后从该第一网络设备中的拥塞队列中识别第一拥塞流。换句话说,本申请实施例对于步骤301所示的两个步骤的先后顺序不限定。
由此,第一网络设备识别第一拥塞流的方法如下所示:
A、根据至少一个拥塞流对应的报文速率或报文长度等,从该至少一个拥塞流中识别第一拥塞流。
B、在拥塞队列发生拥塞的情况下,从该拥塞队列对应的至少一个拥塞流中识别第一拥塞流。这里关于拥塞队列是否发生拥塞的衡量标准,可以参考上述介绍的管理队列是否发生拥塞的衡量标准,这里不再一一详述。对于同一衡量标准,拥塞队列和管理队列对应的某个阈值如预设时长、预设次数或衡量队列深度的阈值等的具体取值,可能会有所不同,这里不再一一示出。可理解,本申请实施例中,关于如何从第一网络设备中的拥塞队列中识别第一拥塞流的方法,可参考上述介绍的从第一网络设备中的管理队列中识别第一拥塞流的方法,这里不再详述。在第一网络设备中的拥塞队列发生拥塞的情况下,第一网络设备识别出第一拥塞流之后,该第一网络设备直接执行步骤304;或者,该第一网络设备还可以执行步骤302之后,执行步骤304。
本申请实施例中,将该第一拥塞流隔离到第一网络设备中的拥塞队列,也可以理解为:将第一拥塞流切换到第一网络设备中的拥塞队列;或者,将第一拥塞流的发送队列调整(或切换)到该第一网络设备中的拥塞队列;或者,将第一拥塞流的发送队列从第一网络设备中的管理队列调整(或切换)到该第一网络设备中的拥塞队列。可理解,如无特殊说明,这里所示的不同表述方式,下文示出的与“将该第一拥塞流隔离到第一网络设备中的拥塞队列”类似的语句同样可以类似理解为这里所示的几种表述方式,下文不再赘述。
在一种可能的实现方式中,图3a所示的方法还可以包括步骤302和步骤303。
302、第一网络设备生成第二报文,该第二报文用于指示第一网络设备的上游节点将第一拥塞流隔离到该第一网络设备的上游节点中的拥塞队列;以及向第一网络设备的上游节点发送该第二报文。相应的,该第一网络设备的上游节点接收该第二报文。
本申请实施例中,第二报文的主要作用即用于在指示第一网络设备的上游节点隔离第一拥塞流。因此,本申请实施例对于该第二报文的具体格式不作限定。示例性的,如该第二报文可以包括第二CIM报文,该第二CIM报文的格式可以如上文示出的表1或表2。即该第一网络设备可以根据拥塞流表中的流信息以及CI peer table中的与该第一网络设备相邻的网络设备(如上游节点)的地址信息生成第二CIM报文。
结合上文关于步骤301的说明,第一网络设备生成第二报文可以包括:在第一网络设备中的管理队列发生拥塞的情况下,生成第二报文;或者,在第一网络设备中的拥塞队列发生拥塞的情况下,生成第二报文。这里所示的关于生成第二报文的两种方式,可对应参考关于步骤301的说明,这里不再详述。
上面介绍的第二报文是以表2为例示出的,但是该第二报文中CIM PDU的格式还可以如表5所示,该情况下,隔离类型字段可以用于承载第十指示信息,该第十指示信息可以用于指示第一网络设备的上游节点将第一拥塞流隔离到该第一网络设备的上游节点中的拥塞队列。可理解,该第十指示信息可以承载于虚拟局域网标识符字段。示例性的,该第十指示信息可以为隔离类型字段中的000等。
303、第一网络设备的上游节点根据第二报文将第一拥塞流隔离到该第一网络设备的上游节点中的拥塞队列。
该第一网络设备的上游节点接收到第二报文之后,还可以根据该第二报文中的拥塞流信息创建拥塞流表,以及将第一拥塞流隔离到其拥塞队列。如第二报文包括第二CIM报文时,可以根据该第二CIM报文中CIM PDU中的封装的MSDU字段获得第一拥塞流的信息。关于 该封装的MSDU字段中承载的第一拥塞流的信息的介绍,可参考上文所示的CIM报文的介绍,这里不再详述。
本申请实施例中,第一网络设备在执行步骤301之后,还可以直接执行304;或者,执行步骤301之后,执行302等,本申请实施例对于该第一网络设备具体执行的步骤不作限定。
304、第一网络设备生成第一报文,该第一报文包括第一指示信息,该第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,第三网络设备为第一拥塞流的源设备,第一拥塞流为第一网络设备发生拥塞的情况下,被第一网络设备识别的拥塞流。
该第一报文可以包括第一CIM报文,则该第一报文中CIM PDU中的封装的MSDU字段中可以包括第一拥塞流在第三网络设备中的优先级队列(包括拥塞队列)、该第一拥塞流从第三网络设备(即源设备)发往另一个第三网络设备(如目的设备)途径的至少一个第一网络设备或至少一个第二网络设备的地址信息、第一拥塞流在每个第一网络设备中的优先级队列(包括拥塞队列和管理队列等)或第一拥塞流在每个第二网络设备中的优先级队列中的至少一个。
可选的,第一报文还包括第二指示信息,第二指示信息用于指示将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列。该第一报文可以包括第一CIM报文,结合表1和表2所示的CIM报文的格式,该第一CIM报文的CIM PDU的格式可如表4和表5所示。
表4
Figure PCTCN2021109936-appb-000003
表5
Figure PCTCN2021109936-appb-000004
表4和表5示出的第一CIM报文是以第一指示信息、第二指示信息具体承载于隔离类型(congestion isolation type,CI type)字段为例示出的。可选的,从表2可以看出虚拟局域网标识符字段还剩余4比特(bit),因此该第一指示信息、第二指示信息还可以承载于第一CIM报文中的虚拟局域网标识符字段。或者,第一指示信息和第二指示信息分别承载于隔离类型字段和虚拟局域网标识符字段,本申请实施例对于该第一指示信息、第二指示信息具体承载 于哪个位置(或字段、区域)等不作限定。作为示例,第二指示信息可以为001,第一指示信息可以与该第二指示信息不同,如为100。
以上示出的第一指示信息和第二指示信息为不同的信息,在具体实现中,该第一指示信息和该第二指示信息还可能为同一个信息如001等。换句话说,第一报文中可以通过包括一个指示信息指示第三网络设备调整第三网络设备发送的第一拥塞流的发送速率和指示将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列。
在一种可能的实现方式中,第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率包括:第一指示信息用于指示调整第三网络设备中的拥塞队列的发送速率。
本申请实施例中,通过调整第三网络设备发送的第一拥塞流的发送速率可以更精确的调整该第一拥塞流的发送速率,示例性的,如可以通过数据中心量化拥塞通知(data center quantized congestion notification,DCQCN)算法达到精确调整该第一拥塞流的发送速率的目的。当通过调整第三网络设备中的拥塞队列的发送速率来达到调整第一拥塞流的发送速率的目的时,该第三网络设备发送的拥塞流还可能包括第二拥塞流,该第二拥塞流也可能被隔离到第三网络设备中的拥塞队列中。该情况下,可能会影响第二拥塞流的发送,但是,通过调整拥塞队列的发送速率,避免了网络中出现业务中断等更严重的情况,而且该种实现方式,简单易于实现。
本申请实施例中,可选的,第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率包括:第一指示信息用于指示减小第三网络设备发送的第一拥塞流的发送速率;或者,第一指示信息用于指示停止第三网络设备发送第一拥塞流。至于第一指示信息的具体作用,可通过不同的比特序列区分;或者,由第三网络设备根据第一拥塞流的信息确定第一指示信息的具体作用等,本申请实施例对此不作限定。
在一种可能的实现方式中,在第一网络设备中的拥塞队列发生拥塞的情况下,生成第一报文。这里关于第一网络设备中的拥塞队列是否发生拥塞的衡量标准,可以参考上述步骤301介绍的管理队列是否发生拥塞的衡量标准,这里不再一一详述。至于这里所示的第一网络设备中的拥塞队列发生拥塞的拥塞程度与步骤301的相关描述中第一网络设备中的拥塞队列发生拥塞的拥塞程度是否一致,本申请实施例不作限定。如果一致,则第一网络设备识别出第一拥塞流之后,便可以生成第一报文;如果不一致,如这里所示的第一网络设备中的拥塞队列发生拥塞的拥塞程度可以大于步骤301的相关描述中第一网络设备中的拥塞队列发生拥塞的拥塞程度。由此,便于第一网络设备识别出第一拥塞流,然后指示第三网络设备需要调整的哪个拥塞流。或者,如果不一致,则这里所示的第一网络设备中的拥塞队列发生拥塞的拥塞程度可以小于步骤301的相关描述中第一网络设备中的拥塞队列发生拥塞的拥塞程度。该情况下,第一网络设备可以在其拥塞队列发生拥塞的情况下,直接生成第一报文。
305、第一网络设备向其上游节点发送第一报文;相应的,该第一网络设备的上游节点接收该第一报文。
对于该第一网络设备的上游节点执行的步骤可参考图3b所示的方法,如步骤316中第一网络设备的相关说明,这里先不详述。
可理解,步骤304和步骤305示出的方法是以第一网络设备生成第一报文为例示出的,但是,在具体实现中,在步骤301至步骤303之后,第一网络设备的上游节点也可以在其拥塞队列发生拥塞的情况下,生成第一报文。然后该第一网络设备的上游节点向其上游节点发送第一报文,这里关于该第一网络设备的上游节点执行的步骤可以如图3b中的步骤316中第一网络设备的相关说明,这里不再详述。
可选的,该第一网络设备的上游节点还可以为第三网络设备。如与第三网络设备连接的源交换机或源路由器等中的拥塞队列(或管理队列)发生拥塞,该情况下,第三网络设备可以直接向第三网络设备发送第一报文等。对于该第一网络设备的具体说明,这里不再详述。
306、第三网络设备调整第三网络设备发送的第一拥塞流的发送速率。
示例性的,第三网络设备可以减小第三网络设备发送的第一拥塞流的发送速率;或者,第三网络设备可以停止第三网络设备发送第一拥塞流。
或者,步骤306还可以包括:第三网络设备将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列。
关于步骤306的具体说明,还可以参考图3b中的步骤317和步骤318,这里先不详述。
可理解,关于步骤306的具体实现方式可参考图3b所示的方法,如步骤317和步骤318的相关说明,这里先不详述。
本申请实施例中,在步骤306之后,图3a所示的方法还可以包括:
在第一网络设备中的拥塞队列的队列深度大于或等于基于优先级的流量控制PFC门限的情况下,向第一网络设备的上游节点发送第三PFC报文,第三PFC报文用于指示第一网络设备的上游节点中的拥塞队列停止发送第一拥塞流。
本申请实施例中,尽管可以最大程度的避免网络中的拥塞队列的队列深度到达Xoff门限,但是,假如第一网络设备中的拥塞队列的队列深度到达了Xoff门限,则该第一网络设备可以向其上游节点发送第三PFC报文,由此该第一网络设备的上游节点中的拥塞队列可以暂停发送第一拥塞流,避免第一网络设备中的拥塞队列出现丢包或溢出等情况。
可理解,这里所示的第一网络设备发送第三PFC报文的方法,还可以应用于网络中的其他网络设备等,本申请实施例对此不作限定。可理解,这里关于第三PFC报文的详细说明,同样适用于图3b所示的方法,下文不再详述。
本申请实施例中,第一报文中的第一指示信息可以用于指示调整第三网络设备发送的第一拥塞流的发送速率,通过该第一报文,第一拥塞流的源设备(即第三网络设备)可以调整第一拥塞流的发送速率,从而使得该第一拥塞流的发送速率能够与网络的拥塞程度相匹配,避免网络中的网络设备(包括第一网络设备和/或第二网络设备等)中的优先级队列快速到达PFC门限。
图3b是本申请实施例提供的一种拥塞流的处理方法的流程示意图,该方法可以应用于如图2a至图2b所示的网络架构。该方法可以应用于第一网络设备和第三网络设备,且该第一网络设备可以理解为该第一网络设备所在的网络发生拥塞时,非拥塞点所在的网络设备。换句话说,在图3b中第一网络设备和第二网络设备(即拥塞点所在的网络设备)不仅为不同的网络设备,而且第一网络设备为第二网络设备的上游节点。如图3b所示,该方法包括:
在一种可能的实现方式中,图3b所示的方法包括步骤311至步骤313。
311、第二网络设备识别第一拥塞流,将该第一拥塞流隔离到第二网络设备中的拥塞队列。
可理解,关于步骤311的具体说明还可以参考图3a中步骤301的描述,这里不再一一详述。
312、第二网络设备生成第三报文,该第三报文用于指示第二网络设备的上游节点将第一拥塞流隔离到该第二网络设备的上游节点中的拥塞队列;以及向第二网络设备的上游节点发送该第二报文。相应的,该第二网络设备的上游节点接收该第三报文。
本申请实施例中,关于步骤311和步骤312的具体说明,可参考图3a中的步骤301和步骤302,如第三报文可参考第二报文等,这里不再详述。
313、第一网络设备根据第三报文识别第一拥塞流。
该第三报文的CIM PDU中的封装的MSDU字段中可以包括该第一拥塞流的信息。关于封装的MSDU字段中包括的第一拥塞流的信息的具体介绍,可参考上文,这里不再详述。
本申请实施例中,当第一网络设备需要向该第一网络设备的上游节点发送第三报文时,图3b所示的方法还可以包括:第一网络设备根据第三报文生成新的第三报文,该新的第三报文中的目的地址为该第一网络设备的上游节点的地址,第三报文中的目的地址为第一网络设备的地址。
314、第一网络设备根据第三报文将第一拥塞流隔离到该第一网络设备中的拥塞队列。
在一种可能的实现方式中,图3b所示的方法还可以包括步骤315和步骤316。
本申请实施例中,第二网络设备还可以在执行步骤311之后,直接执行步骤315等,本申请实施例对此不作限定。
315、第二网络设备生成第一报文,该第一报文包括第一指示信息,该第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,第三网络设备为第一拥塞流的源设备,第一拥塞流为第二网络设备发生拥塞的情况下,被第二网络设备识别的拥塞流。
316、第二网络设备向其上游节点即第一网络设备发送第一报文;相应的,该第一网络设备的上游节点接收该第一报文。
本申请实施例中,第一网络设备在接收到该第一报文之后,还可以根据该第一网络设备与第三网络设备之间的关系进行不同的处理。如第一网络设备为与第三网络设备连接的源交换机或源路由器等,或者,第一网络设备为与第三网络设备直连的网段,则该第一网络设备可以执行步骤317。一般的,网络中的第一网络设备或第二网络设备等均能够获知其是否是与第三网络设备直连的网段。或者,网络中的第一网络设备或第二网络设备等均能够获知其是否为第三网络设备直接连接的下游节点,即第一网络设备能够获知其上游节点是否为第三网络设备。例如,第一网络设备可以根据第三网络设备的MAC地址获得其是否与第三网络设备在同一网段。示例性的,关于同一网段的定义:两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到网络号,如果网络号相同,就在同一网段,否则,不在同一网段。可理解,这里所示关于网段的说明,仅为示例,在具体实现中,第一网络设备还可以通过其他方法获知其上游节点是否为第三网络设备。
如第一网络设备不为与第三网络设备连接的源交换机或源路由器等,则该第一网络设备可以转发该第一报文,或者,生成新的第一报文等。例如,第一报文的网络层头中的目的地址为该源交换机或源路由器的地址,则该第一网络设备可以直接转发该第一报文。又例如,该第一报文的网络层头中的目的地址为第三网络设备的地址,则该第一网络设备也可以直接转发该第一报文。例如,第一报文的网络层头中的目的地址仅为该第一网络设备的地址,则该第一网络设备生成的新的第一报文中的目的地址为该第一网络设备的上游节点。换句话说,该第一网络设备需要根据该第一报文生成新的第一报文,该新的第一报文的网络层头中的源地址可以为第一网络设备的IP地址,该新的第一报文的网络层头中的目的地址可以为第一网络设备的上游节点的IP地址;该新的第一报文中的PDU中的源MAC地址可以为第一网络设备的MAC地址,该新的第一报文中的CIM PDU中的目的MAC地址可以为第一网络设备的上游节点的MAC地址。可选的,第一网络设备在接收到第一报文之后,且该第一报文中的目的地址仅仅为该第一网络设备的地址时,该第一网络设备还可以通过修改第一报文中的地址信息,得到新的第一报文。对于修改的具体方式可如上所示,如将第一报文中的网络层头中的源地址信息修改为第一网络设备的IP地址等。可理解,这里所示的修改地址仅为示例, 在具体实现中,第一网络设备还可以修改第一报文中的源端口信息等,本申请实施例对此不作限定。
上述步骤315和步骤316是以第二网络设备生成第一报文为例示出的,然而,在具体实现中,尽管第二网络设备为拥塞点所在的网络设备,但是在具体实现中,可能还会出现第一网络设备的拥塞队列发生拥塞,该情况下,第一网络设备可以生成第一报文。即在步骤311至步骤314之后,图3b所示的方法还可以包括:第一网络设备在其拥塞队列发生拥塞的情况下,生成第一报文。然后该第一网络设备向其上游节点发送第一报文,这里关于该第一网络设备生成第一报文的具体说明,可参考上述步骤316或上文中步骤304和步骤305的相关说明,这里不再详述。
317、第一网络设备根据第一报文生成第一PFC报文,第一PFC报文包括第三网络设备发送的第一拥塞流所在的队列被停止的时长信息。以及向第三网络设备发送第一PFC报文,相应的,第三网络设备接收该第一PFC报文。
本申请实施例中,该时长信息的时间单位可以为物理层芯片发送512比特数据所需的时间。换句话说,时长信息的一个时间单位表示第三网络设备的拥塞队列暂停发送与第一拥塞流对应的报文的时间为该第三网络设备的物理层芯片发送512比特数据所需的时间。或者,该时长信息的时间单元还可以为毫秒或微秒等,本申请实施例对此不作限定。示例性的,该时长信息的最大时间可以为0xFFFF。该PFC报文中除了可以包括时长信息,还可以包括与时长信息对应的优先级队列的标识。换句话说,该PFC报文中还可以包括第一拥塞流所在的队列的标识。可选的,第一网络设备可以根据其接收到的第一报文中CIM PDU中的封装的MSDU字段中获得第一拥塞流的信息。从而该第一网络设备根据该第一拥塞流的信息获知该第一拥塞流所在的队列。或者,第一网络设备还可以通过其他方式获知该第一拥塞流所在的队列等,本申请实施例对此不作限定。
可选的,第一拥塞流所在的队列包括第一拥塞流所在的拥塞队列和/或第一拥塞流所在的原队列。即对于第三网络设备来说,该第一拥塞流可能未被隔离到该第三网络设备中的拥塞队列,或者,该第一拥塞流还未完全(如该第一拥塞流对应的部分报文)被隔离到该第三网络设备中的拥塞队列,或者,该第一拥塞流可能已被隔离到该第三网络设备中的拥塞队列。
本申请实施例中,第一网络设备在接收到第一报文,可以通过向第三网络设备发送PFC报文指示调整第三网络设备发送的拥塞流的发送速率,该种方法,实现简单,且第三网络设备的可实现性高。
或者,步骤317还可以替换为:第一网络设备向第三网络设备发送第一报文,第三网络设备接收该第一报文。
本申请实施例中,第一报文中的目的地址可以为该第三网络设备的地址。示例性的,该第一报文的网络层头中的源地址可以为第三网络设备的IP地址,该第一报文的网络层头中的目的地址可以为第三网络设备的IP地址;该第一报文中的PDU中的源MAC地址可以为第三网络设备的MAC地址,该第一报文中的CIM PDU中的目的MAC地址可以为第三网络设备的MAC地址。
或者,结合步骤317,步骤317还可以包括:第一网络设备根据第一报文生成第四报文,第四报文包括第四指示信息,第四指示信息用于指示将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列。向第三网络设备发送第四报文;相应的,第三设备接收该第四报文。该情况下,第三网络设备可以根据第四报文以及第一PFC报文执行步骤318。
可选的,第四报文中还可以包括第三指示信息,对于第三指示信息的具体说明可参考第 一指示信息,对于第四指示信息的具体说明可参考第二指示信息,第四报文可参考第一报文的描述,这里不再详述。第一报文与第四报文的不同之处,在于该第一报文中的目的地址与第四报文的目的地址不同,或者,第一报文的源地址与第四报文的源地址不同等等,这里不再赘述。该情况下,第一网络设备可以单独向第三网络设备发送第四报文,可以不通过第一PFC报文就使得第三网络设备执行步骤318。
318、第三网络设备调整该第三网络设备发送的第一拥塞流的发送速率。
可选的,第三网络设备在调整该第三网络设备发送的第一拥塞流的发送速率之前,还可以将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列。
本申请实施例中,第一报文中的第一指示信息可以用于指示调整第三网络设备发送的第一拥塞流的发送速率,通过该第一报文,第一拥塞流的源设备(即第三网络设备)可以调整第一拥塞流的发送速率,从而使得该第一拥塞流的发送速率能够与网络的拥塞程度相匹配,避免网络中的网络设备(包括第一网络设备和/或第二网络设备等)中的优先级队列快速到达PFC门限。
以上示出的各个实施例是以第三网络设备减小其发送的第一拥塞流的发送速率,或者该第三网络设备停止发送第一拥塞流为例示出的,以下将介绍该第三网络设备增大其发送的第一拥塞流的发送速率或第三网络设备停止第一拥塞流的发送为例,说明本申请实施例提供的另一种拥塞流的处理方法。同样的,本申请实施例将以第一网络设备和第三网络设备为例说明该方法。
图4a是本申请实施例提供的一种拥塞流的处理方法的流程示意图,该方法可以应用于第一网络设备和第三网络设备。该方法中的第一网络设备可以与图3a所示的第一网络设备相对应。如该第一网络设备可以为识别第一拥塞流为拥塞流的网络设备等。如图4a所示,该方法包括:
401、第一网络设备生成第五报文,该第五报文包括第五指示信息,该第五指示信息用于指示增大第三网络设备发送的第一拥塞流的发送速率;或者,第五指示信息用于指示恢复第三网络设备发送第一拥塞流。
如第一指示信息用于指示第三网络设备停止发送第一拥塞流时,该第五指示信息可以用于指示恢复第三网络设备发送第一拥塞流。若第一指示信息用于指示减小第三网络设备发送的第一拥塞流的发送速率,则该第五指示信息可以用于指示增大第三网络设备发送的第一拥塞流的发送速率。
在第五报文包括第五CIM报文时,对于该第五指示信息的具体说明,可以参考表4和表5中示出第一指示信息。如该第五指示信息可以承载于表4所示的隔离类型字段,或者,虚拟局域网标识符字段等,本申请实施例对此不作限定。
可选的,第一网络设备还可以在该第一拥塞流被识别为非拥塞流的情况下,生成该第五报文;或者,该第一网络设备还可以在其拥塞队列不拥塞的情况下,生成该第五报文。
本申请实施例中,当第一网络设备识别到第一拥塞流为非拥塞流,则该第一网络设备可以生成第五报文,从而,使得第三网络设备以流为单元,增大其发送的第一拥塞流的发送速率或恢复该第一拥塞流的发送。和/或,当第一网络设备中的拥塞队列不拥塞的情况下,生成第五报文,从而,使得第三网络设备增大其发送的第一拥塞流的发送速率或恢复第一拥塞流的发送。示例性的,第一网络设备还可以根据其拥塞队列的队列深度是否小于或等于第三深度阈值,确定其拥塞队列是否已经不拥塞。该第三深度阈值可以小于上述示出的第一深度阈值。这里示出的第三深度阈值仅为一种示例,在具体实现中,还可以根据其他方法确定第一 网络设备的拥塞队列是否已经不拥塞。
在一种可能的实现方式中,第五报文中还可以包括第六指示信息,该第六指示信息用于指示将第三网络设备发送的第一拥塞流隔离到非拥塞队列。或者,也可以理解为:第六指示信息用于指示将第三网络设备发送的第一拥塞流切换到非拥塞队列等,这里不再详述。
可理解,关于第五指示信息和第六指示信息的具体说明,可类似参考上述关于第一指示信息和第二指示信息的说明。
402、第一网络设备向该第一网络设备的上游节点发送第五报文;相应的,该第一网络设备的上游节点接收该第五报文。
403、第三网络设备增大第三网络设备发送的第一拥塞流的发送速率;或者,恢复第一网络设备发送第一拥塞流。
本申请实施例中,第一网络设备生成的第五报文可以直接发送给第三网络设备,该情况下,该第五报文中的目的地址即为与第三网络设备相关的地址。或者,该第一网络设备生成的第五报文还可以发送给源交换机或源路由器等,该情况下,第三网络设备可以接收第二PFC,根据该第二PFC报文执行步骤403。或者,第三网络设备还可以通过接收到的第六报文执行步骤403。或者,第三网络设备还可以接收到的第二PFC报文和第六报文等执行步骤403。对于步骤403的具体说明,还可以参考下文示出的图4b中的步骤413的介绍,这里不再详述。与图4b中的步骤413不同的是,第三网络设备接收到的上述报文一种方式是来自于第一网络设备如步骤413;另一种方式是来自于与第三网络设备在同一个网段的另一个网络设备(如源交换机或源路由器等)。一般的,网络中的网络设备均能够获知其是否连接第三网络设备,因此,对于第一网络设备可以根据其是否连接第三网络设备执行上述不同的方法。
本申请实施例中,第三网络设备还可以将该第三网络设备发送的第一拥塞流隔离到非拥塞队列等。
可理解,关于图4a的具体说明,还可以参考图3a和图3b所示的方法,这里不再详述。
图4b是本申请实施例提供的一种拥塞流的处理方法的流程示意图,该方法可以应用于第一网络设备和第三网络设备。该情况下,第二网络设备可以识别第一拥塞流为非拥塞流,或者其拥塞队列不拥塞,且第一网络设备为第二网络设备的上游节点。如图4b所示,该方法包括:
411、第二网络设备识别第一拥塞流为非拥塞流。
412、该第二网络设备生成第五报文,以及向第二网络设备的上游节点即第一网络设备发送第五报文;相应的,该第一网络设备接收该第五报文。
该第五报文包括第五指示信息,该第五指示信息用于指示增大第三网络设备发送的第一拥塞流的发送速率,或者,用于指示恢复第三网络设备发送第一拥塞流。可选的,该第五报文还可能包括第六指示信息,该第六指示信息用于指示将第三网络设备发送的第一拥塞流隔离到该第三网络设备中的非拥塞队列。
本申请实施例中,第一网络设备接收到该第五报文时,还可以根据第一网络设备与第三网络设备之间的关系进行不同的处理。这里所示的不同处理可以对应参考图3b中步骤316中关于第一网络设备处理第一报文的描述,这里不再详述。
413、第一网络设备根据第五报文生成第二PFC报文,第二PFC报文用于指示第三网络设备发送的第一拥塞流所在的队列被恢复。以及向第三网络设备发送第二PFC报文,相应的,第三网络设备接收该第二PFC报文。该情况下,第三网络设备可以根据该第二PFC报文执行步骤414。
本申请实施例中,第二PFC报文中的时长信息可以为0,由此,第三网络设备可以在接收到该第二PFC报文之后,恢复第一拥塞流的发送。
本申请实施例中,第一拥塞流所在的队列包括第一拥塞流所在的拥塞队列和/或第一拥塞流所在的原队列。即对于第三网络设备来说,该第一拥塞流可能未被隔离到该第三网络设备中的拥塞队列,或者,该第一拥塞流还未完全被隔离到该第三网络设备中的拥塞队列,或者,该第一拥塞流可能已被隔离到该第三网络设备中的拥塞队列。
或者,步骤413还可以包括:第一网络设备向第三网络设备发送第五报文,该第三网络设备接收该第五报文。本申请实施例中,第五报文的目的地址可以为第三网络设备的地址,对于该地址的说明,可参考步骤317中介绍的第一报文中目的地址,这里不再详述。该情况下,第三网络设备可以根据第五报文以及第二PFC报文执行步骤414。或者,第一网络设备还可以直接向第三网络设备发送第五报文,该情况下,第三网络设备可以根据该第五报文执行步骤414。
或者,步骤413还可以替换为:第一网络设备根据第五报文生成第六报文,该第六报文包括第七指示信息,该第七指示信息用于指示增加第三网络设备发送的第一拥塞流的发送速率。或者,第五报文中还可以包括第八指示信息,该第八指示信息用于指示将第三网络设备发送的第一拥塞流切换到第三网络设备中的非拥塞队列。该情况下,第三网络设备可以根据第六报文执行步骤414。
414、第三网络设备增大该第三网络设备发送的第一拥塞流的发送速率,或恢复该第三网络设备的第一拥塞流的发送。
可选的,第三网络设备还可以将第三网络设备发送的第一拥塞流切换到第三网络设备中的非拥塞队列。
可理解,图4a和图4b中涉及到的第五报文或第六报文的具体说明,可参考上述示出的第一报文和第四报文的介绍,这里不再详述。
可理解,上述示出的图3a、图3b、图4a和图4b各有侧重,其中,一个实施例中未详尽描述的实现方式可参考其他实施例,这里不再一一详述。或者,以上示出的四个实施例也可以相互结合。示例性的,图3a可以分别与图4a和图4b结合;或者,图3b也可以分别与图4a和图4b结合。当图3a与图4a结合时,则识别第一拥塞流以及识别该第一拥塞流为非拥塞流均可以由第一网络设备执行。当图3a与图4b结合时,则识别第一拥塞流可以由第一网络设备执行,而识别该第一拥塞流为非拥塞流可以由第二网络设备执行。或者,图3b也可以分别与图4a和图4b结合等。
参见图5a,图5a是本申请实施例提供的一种网络架构的示意图。其中,S1至S5可以理解为服务器(server)、L1至L4可以理解为与服务器连接的交换机,如称为源交换机或简称为TOR等,s11和s12可以理解为中间交换机(或理解为如图2a所示的Spine)。不失一般性,以下示出的各个实施例将以图5a为例,因此对于图5a的具体说明下文不再一一详述。
图5a中的服务器可以用于执行上文各个实施例示出的第三网络设备的方法,L1至L4、s11和s12可以理解为上述第一网络设备或第二网络设备。
以下各个实施例中,将以图5a所示的网络发生拥塞,且拥塞点为L4,以L4、s12、L3和S3形成的链路为例说明本申请实施例提供的方法。但是对于图5a所述的网络中的其他链路上的网络设备,同样适用于本申请实施例提供的方法,下文不再详述。
图5b是本申请实施例提供的一种拥塞隔离方法的流程示意图,如图5b所示,该方法包括:
501、在L4中管理队列的队列深度大于或等于第二深度阈值的情况下,L4从管理队列中识别第一拥塞流,将该第一拥塞流隔离到L4中的拥塞队列(如拥塞队列3)。
L4将其发送的第一拥塞流隔离到L4中的拥塞队列,这里所示的拥塞队列为:L4向s12发送第三CIM报文时的发送端口对应的8个优先级队列中的至少一个拥塞队列。可理解,L4与s12之间不管是传输数据流或第三CIM报文等,该拥塞队列均可以为上述示出的L4与s12之间的端口对应的8个优先级队列中的至少一个拥塞队列。
如图5c所示,图5c示出的第二深度阈值与第一深度阈值或第三深度阈值的关系仅为示例,本申请实施例对于第二深度阈值与第一深度阈值或第三深度阈值的关系不作限定。关于第一深度阈值、第二深度阈值和第三深度阈值的说明,可参考前述实施例,这里不再详述。如图5c中的(一)所示,L4中的管理队列4的队列深度大于第二深度阈值,则L4可以将第一拥塞流隔离到拥塞队列3。
本申请实施例中,L4还可以创建拥塞流表。对于该拥塞流表的具体说明可参考上文中表2的描述,这里不再详述。
502、L4生成第二CIM报文,该第二CIM报文用于指示s12将s12发送的第一拥塞流隔离到拥塞队列,且该第二CIM报文的源IP地址为L4的地址,该第二CIM报文的目的IP地址为s12的地址。
可理解,关于L4生成第二CIM报文的方法可参考上述实施例中第一网络设备生成第二报文的方法,这里不再详述。可理解,本申请实施例示出的第二CIM报文是以点到点的方式为例示出的,但是对于第二CIM报文所适用的三跳或四跳的场景,本申请实施例同样适用。
503、L4向s12发送第二CIM报文,相应的,s12接收该第二CIM报文。
504、s12将其发送的第一拥塞流隔离到拥塞队列。
s12将其发送的第一拥塞流隔离到拥塞队列,这里所示的拥塞队列为:s12接收L4发送的第二CIM报文时的接收端口对应的8个优先级队列中的至少一个拥塞队列。
本申请实施例中,示例性的,L4中的第二深度阈值如图5c中的(一)所示、则对于s12中的管理队列的队列深度可以如图5c中的(二)或图5c中的(四)所示。换句话说,在s12将第一拥塞流隔离到拥塞队列时,该s12的管理队列的队列深度是否大于或等于第二深度阈值,本申请实施例不作限定。对于该说明,同样适用于L3等,下文不再赘述。可理解,图5c中,每个矩形可以表示一个数据流,如对于管理队列4来说,不同深度的矩形则可以表示一个数据流。例如,图5c中的(二)中,管理队列4中包括有两个数据流。如图5c中的(四)中,拥塞队列3中包括两个拥塞流。或者,也可以称为拥塞队列中缓存了两个拥塞流等。
作为示例,图5c中的第一深度阈值可以满足如下公式:
headroom=2×MTU+2×Link BW×link Propagation time×n
其中,headroom用于表示第一深度阈值与Xoff门限之间的差值;MTU用于表示最大传输单元,如该MTU可以用于表示服务器接收的数据流的最大传输单元,又如该MTU可以用于表示服务器所能接收的数据服务单元的最大尺寸;Link BW用于表示链路带宽;link Propagation time用于表示数据流(包括拥塞流)在一跳链路上(即点到点的传输方式)的传输时间,n用于表示该数据流(或也可以理解为报文)在网络中被传输的跳数。
该第一深度阈值的取值,需要保证在第一网络设备或第二网络设备未触发Xoff门限时,服务器能够有足够时间调整其发送的第一拥塞流的发送速率。换句话说,需要保证第一网络设备或第二网络设备有足够的缓存空间去吸收服务器停止发送第一拥塞流之前的飞行报文。例如,
Figure PCTCN2021109936-appb-000005
其中,1500用于表 示MTU,且1500的单位为字节,1500×8用于表示1500字节对应的比特数;100用于表示链路带宽,且100的单位为Gbit/s,100×1024×1024×1024×0.000001用于表示链路带宽为100Gbit/s时,时长为1us所传输的报文的比特数,4为跳数。
本申请实施例中,s12获取到第二CIM报文之后,还可以根据该第二CIM报文创建拥塞流表项,且当某条数据流命中该拥塞流表项时,将s12将其发送的数据流隔离到拥塞队列。其中,该某条数据流还可以被称为拥塞流。
505、s12生成第二CIM报文,该第二CIM报文用于指示L3将其发送的一拥塞流隔离到拥塞队列,且该第二CIM报文的源IP地址为s12的地址,该第二CIM报文的目的IP地址为L3的地址。
506、s12向L3发送第二CIM报文,相应的,L3接收该第二CIM报文。
507、L3将其发送的第一拥塞流隔离到拥塞队列。
L3将其发送的一拥塞流隔离到拥塞队列,这里所示的拥塞队列为:L3接收s12发送的第三CIM报文时的接收端口对应的8个优先级队列中的至少一个拥塞队列。
508、在L4中拥塞队列的队列深度大于或等于第一深度阈值的情况下,L4生成第一CIM报文,该第一CIM报文中包括第一指示信息,以及该第一CIM报文的目的地址为S3的地址。
可理解,步骤508中所示的L4仅为示例,在具体实现中,也可以根据s12或L3中拥塞队列的队列深度来生成第一CIM报文等,本申请实施例不再一一详述。可理解,本申请实施例示出的第一CIM报文的其他说明,可参考前述实施例示出的第一报文。这里所示的第一CIM报文的目的地址为S3的地址也可以理解为:该第一CIM报文的网络层头中的目的IP地址为S3的IP地址,或者,该第一CIM报文的PDU中的目的MAC地址为S3的MAC地址等,这里不再详述。
509、L4向s12发送该第一CIM报文,相应的,s12接收该第一CIM报文。
本申请实施例中,s12接收到该第一CIM报文时,该s12中的拥塞队列的队列深度与第一深度阈值的关系可以如图5c中的(二)所示或图5c中的(三)所示。
510、s12根据第一CIM报文中的目的地址向L3发送该第一CIM报文;相应的,L3接收该第一CIM报文。
511、L3根据该第一CIM报文中的目的地址向S3发送该第一CIM报文;相应的,S3接收该第一CIM报文。
513、S3减小S3发送的第一拥塞流的发送速率或停止发送第一拥塞流。
在一种可能的实现方式中,S3在接收到第一CIM报文时,可以根据该第一CIM报文中的第一指示信息隐式的确定需要停止发送第一拥塞流等。即S3在接收到第一CIM报文后,可以直接根据该第一CIM报文隔离第一拥塞流,以及停止发送第一拥塞流。
在又一种可能的实现方式中,图5b所示的方法还可以包括步骤512。
512、L3向S3发送第一PFC报文,该第一PFC报文包括S3发送的第一拥塞流所在的队列被停止的时长信息;相应的,S3接收该第一PFC报文。
示例性的,如果L4生成的第一CIM报文的目的地址为L3的地址,则L3在接收到该第一CIM报文之后,还可以直接执行步骤512。L3可以不需要向S3再发送第一CIM报文。
本申请实施例中,由于L4、s12不是第一拥塞流直连的网段,因此,L4和s12在获取到第一CIM报文时,只能够向其上游设备发送该第一CIM报文,而不能直接向上游设备发送第一PFC报文。示例性的,若L4向s12发送第一PFC报文,则s12中的拥塞队列会被停止发送报文。该情况下,s12中的拥塞队列的队列深度很快就会到达Xoff门限,导致s12向L3 发送第一PFC报文,以此类推,仍然L3中的拥塞队列的队列深度也会很快到达Xoff门限。但是服务器仍然在发送第一拥塞流,该情况下,会导致L3中拥塞队列缓存的第一拥塞流发生丢包或溢出等情况。
图6是本申请实施例提供的一种拥塞隔离方法的流程示意图,如图6所示,该方法包括:
对于步骤601至步骤607的具体说明可参考图5b所示的方法,这里不再详述。
608、在L4中拥塞队列的队列深度大于或等于第一深度阈值的情况下,生成第一CIM报文,该第一CIM报文中包括第一指示信息,以及该第一CIM报文的目的地址为s12的地址。
可理解,步骤608中所示的L4仅为示例,在具体实现中,也可以根据s12或L3中拥塞队列的队列深度来生成第一CIM报文。该情况下,s12生成的第一CIM报文的目的地址即为L3的地址。L3生成的第一CIM报文的目的地址为S3的地址。
609、L4向s12发送该第一CIM报文,相应的,s12接收该第一CIM报文。
本申请实施例中,s12接收到该第一CIM报文时,该s12中的拥塞队列的队列深度与第一深度阈值的关系可以如图5c中的(二)所示或图5c中的(三)所示。
610、s12根据第一CIM报文生成新的第一CIM报文。
611、s12向L3发送新的第一CIM报文;相应的,L3接收该新的第一CIM报文。
612、L3向S3发送第一PFC报文;相应的,S3接收该第一PFC报文。
613、S3减小S3发送的第一拥塞流的发送速率或停止发送第一拥塞流。
可理解,图5b和图6示出的方法流程仅为示例,对于其他示例可以参考图3a、图3b、图4a或图4b等,本申请实施例不再一一赘述。
本申请实施例提供的方法通过隔离类型字段,将拥塞流信息通过第一CIM报文发送给TOR交换机,TOR交换机识别第一拥塞流,且通过向服务器发送PFC报文,减少了PFC报文在网络中的扩散,避免了头阻问题,以及避免了网络中产生死锁,提高了网络性能。
以上示出的各个实施例各有侧重,其中一个实施例中未详尽描述的方法等,可参考其他实施例。
以下将介绍本申请实施例提供的设备。
图7是本申请实施例提供的一种网络设备的结构示意图,该网络设备包括处理单元701和收发单元702。
在本申请的一些实施例中,该网络设备可以用于执行上述实施例中由第一网络设备执行的步骤。
示例性的,处理单元701,用于获取第一报文,该第一报文包括第一指示信息,第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,第三网络设备为第一拥塞流的源设备,第一拥塞流为第二网络设备发生拥塞的情况下,被第二网络设备识别的拥塞流;处理单元701,还用于处理第一报文。
在一种可能的实现方式中,处理单元701,还用于识别第一拥塞流,将第一拥塞流隔离到第一网络设备中的拥塞队列;以及在第一网络设备中的拥塞队列发生拥塞的情况下,生成第一报文。
在一种可能的实现方式中,收发单元702,用于在第一网络设备中的拥塞队列的队列深度大于或等于基于优先级的流量控制PFC门限的情况下,向第一网络设备的上游节点发送第三PFC报文,第三PFC报文用于指示第一网络设备的上游节点中的拥塞队列停止发送第一拥塞流。
在一种可能的实现方式中,收发单元702,用于接收第三报文,第三报文用于指示将第 一网络设备发送的第一拥塞流隔离到第一网络设备中的拥塞队列,第一网络设备与第二网络设备为不同的网络设备;处理单元701,具体用于根据第三报文识别第一拥塞流,将第一拥塞流隔离到第一网络设备中的拥塞队列。
在一种可能的实现方式中,处理单元701,具体用于从第一网络设备中的管理队列中识别第一拥塞流。
在一种可能的实现方式中,处理单元701,具体用于在第一网络设备中的管理队列发生拥塞的情况下,从第一网络设备中的管理队列中识别第一拥塞流。
在一种可能的实现方式中,处理单元701,还用于生成第二报文,第二报文用于指示第一网络设备的上游节点将第一拥塞流隔离到第一网络设备的上游节点中的拥塞队列;收发单元702,还用于向第一网络设备的上游节点发送第二报文。
在一种可能的实现方式中,所处理单元701,具体用于在第一网络设备中的拥塞队列发生拥塞的情况下,生成第二报文。
在一种可能的实现方式中,收发单元702,用于接收第三报文,第三报文用于指示将第一网络设备发送的第一拥塞流隔离到第一网络设备中的拥塞队列,第一网络设备与第二网络设备为不同的网络设备;处理单元701,还用于根据第三报文识别第一拥塞流,将第一拥塞流隔离到第一网络设备中的拥塞队列。
在一种可能的实现方式中,处理单元701,具体用于通过收发单元702接收来自第一网络设备的下游节点的第一报文。
在一种可能的实现方式中,处理单元701,具体用于根据第一报文生成第一PFC报文,第一PFC报文包括第三网络设备发送的第一拥塞流所在的队列被停止的时长信息;以及通过收发单元向第三网络设备发送PFC报文。
在一种可能的实现方式中,处理单元701,具体用于通过收发单元向第三网络设备发送第一报文;或者,处理单元701,具体用于根据第一报文生成第四报文,第四报文包括第四指示信息,第四指示信息用于指示将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列;以及通过收发单元向第三网络设备发送第四报文。
在一种可能的实现方式中,处理单元701,还用于获取第五报文,第五报文包括第五指示信息,第五指示信息用于指示增大第三网络设备发送的第一拥塞流的发送速率;或者,第五指示信息用于指示恢复第三网络设备发送第一拥塞流;以及处理第五报文。
在一种可能的实现方式中,处理单元701,具体用于在第一拥塞流被识别为非拥塞流的情况下,生成第五报文;或者,在第一网络设备中的拥塞队列不拥塞的情况下,生成第五报文。
在一种可能的实现方式中,处理单元701,具体用于通过收发单元702接收来自第一网络设备的下游节点的第五报文。
在一种可能的实现方式中,处理单元701,具体用于根据第五报文生成第二PFC报文,第二PFC报文用于指示第三网络设备发送的第一拥塞流所在的队列被恢复;以及通过收发单元702向第三网络设备发送第二PFC报文。
在一种可能的实现方式中,处理单元701,具体用于收发单元向第三网络设备发送第五报文;或者,处理单元701,具体用于根据第五报文生成第六报文,第六报文包括第八指示信息,第八指示信息用于指示将第三网络设备发送的第一拥塞流切换到第三网络设备中的非拥塞队列;以及通过收发单元702向第三网络设备发送第六报文。
本申请实施例中,关于第一报文、第二报文、第三报文、第四报文、第一PFC报文或第 二PFC报文等的具体说明,可参考上文示出的方法实施例中的描述,这里不再一一赘述。
本申请实施例的各个实施例中示出的收发单元和处理单元的说明仅为示例,对于收发单元和处理单元的具体实现方式,还可以参考本申请示出的各个方法实施例,这里不再一一详述。例如,该收发单元和处理单元可以用于执行上述实施例中第一网络设备执行的步骤。示例性的,处理单元还可以用于执行图3a所示的步骤301、步骤302中的生成第二报文的步骤、步骤304等,收发单元还可以用于执行图3a所示的步骤302中的发送第二报文的步骤,以及步骤305等。示例性的,处理单元还可以用于执行图3b所示的步骤313、步骤314、步骤317中的生成PFC报文的步骤等,这里不再一一列举。
在本申请的另一些实施例中,该网络设备可以用于执行上述实施例中由第三网络设备执行的步骤。
在一种可能的实现方式中,处理单元701,用于获取第一PFC报文,第一PFC报文包括第三网络设备发送的第一拥塞流所在的队列被停止的时长信息;以及根据第一PFC报文调整第三网络设备发送的第一拥塞流的发送速率。
在一种可能的实现方式中,处理单元701,用于获取第四报文,以及根据第四报文(或第四报文中的第四指示信息)将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列。
在一种可能的实现方式中,处理单元701,具体用于根据第一PFC报文和第四报文(或第四报文中的第三指示信息)调整第三网络设备发送的第一拥塞流的发送速率。
在一种可能的实现方式中,处理单元701,用于获取第一报文,以及根据第一报文和第一PFC报文调整第三网络设备发送的第一拥塞流的发送速率。
示例性的,处理单元可以通过收发单元获取第一报文等,本申请实施例对此不作限定。对于处理单元的具体实现方式,可对应参考方法实施例中的相关描述。
在一种可能的实现方式中,处理单元701,用于根据第一报文将第三网络设备发送的第一拥塞流隔离到第三网络设备中的拥塞队列,以及根据第一报文和第一PFC报文调整第三网络设备发送的第一拥塞流的发送速率。
在一种可能的实现方式中,收发单元702,用于接收第二PFC报文,第二PFC报文用于指示第三网络设备发送的第一拥塞流所在的队列被恢复;根据第二PFC报文恢复第一拥塞流的发送。
在一种可能的实现方式中,收发单元702,用于接收第五报文;根据第五报文增大第三网络设备发送的第一拥塞流的发送速率;或者,根据第五报文恢复第一网络设备发送第一拥塞流。
在一种可能的实现方式中,收发单元702,用于接收第六报文,以及向第三网络设备发送第六报文。
本申请实施例中,关于第一报文、第二报文、第三报文、第四报文、第一PFC报文或第二PFC报文等的具体说明,可参考上文示出的方法实施例中的描述,这里不再一一赘述。
本申请实施例的各个实施例中示出的收发单元和处理单元的说明仅为示例,对于收发单元和处理单元的具体实现方式,还可以参考本申请示出的各个方法实施例,这里不再一一详述。例如,该收发单元和处理单元可以用于执行上述实施例中第三网络设备执行的步骤。示例性的,处理单元还可以用于执行图3a所示的步骤306,收发单元还可以用于执行图3a所示的步骤305中的接收步骤等。示例性的,处理单元还可以用于执行图3b所示的步骤318等,这里不再一一列举。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块或单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块或单元集成在一个模块或单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
在一种可能的实现方式中,当图7所示的网络设备用于执行上文中第一网络设备执行的步骤时,图7所示的网络设备可以是任意形态的计算机、交换机、路由器或网卡等;或者是任意形态的计算机、交换机、路由器或网卡等中的装置,或者是与任意形态的计算机、交换机、路由器或网卡等匹配使用的装置时,处理单元701可以是一个或多个处理器,收发单元702可以是收发器,或者收发单元702还可以是发送单元和接收单元,发送单元可以是发送器,接收单元可以是接收器,该发送单元和接收单元集成于一个器件,例如收发器。本申请实施例中,处理器和收发器可以被耦合等,对于处理器和收发器的连接方式,本申请实施例不作限定。
在一种可能的实现方式中,当图7所示的网络设备用于执行上文中第三网络设备执行的步骤时,图7所示的网络设备可以是任意形态计算机、服务器或网卡等;或者是任意形态的计算机、服务器或网卡等中的装置,或者是与任意形态的计算机、服务器或网卡等匹配使用的装置时,处理单元701可以是一个或多个处理器,收发单元702可以是收发器,或者收发单元702还可以是发送单元和接收单元,发送单元可以是发送器,接收单元可以是接收器,该发送单元和接收单元集成于一个器件,例如收发器。本申请实施例中,处理器和收发器可以被耦合等,对于处理器和收发器的连接方式,本申请实施例不作限定。
如图8所示,该网络设备80包括一个或多个处理器820和收发器810。
可选的,该处理器和收发器可用于执行上述网络设备作为第一网络设备时所执行的功能或操作等。示例性的,如处理器用于生成第一报文、第二报文、第三报文、第四报文、第一PFC报文或第二PFC报文等;收发器用于发送该第一报文、第二报文、第三报文、第四报文、第一PFC报文或第二PFC报文等。
可选的,该处理器和收发器可用于执行上述网络设备作为第三网络设备时所执行的功能或操作等。示例性的,处理器可以用于调整其发送的第一拥塞流的发送速率,或将其发送的第一拥塞流隔离到该拥塞队列。收发器可以用于接收第一PFC报文、第二PFC报文、第一报文或第四报文等。
可理解,对于收发器和/或处理器执行的功能或操作等,可以参考图7示出的各个实施例,或者,还可以参考图3a至图4b、图5b或图6所示的方法实施例等,这里不再一一详述。
在图8所示的网络设备的各个实现方式中,收发器可以包括接收机和发射机,该接收机用于执行接收的功能(或操作),该发射机用于执行发射的功能(或操作)。以及收发器用于通过传输介质和其他设备/装置进行通信。
可选的,网络设备80还可以包括一个或多个存储器830,用于存储程序指令和/或数据。存储器830和处理器820耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器820可能和存储器830协同操作。处理器820可可以执行存储器830中存储的程序指令。可选的,上述一个或多个存储器中的至少一个可以包括于处理器中。
本申请实施例中不限定上述收发器810、处理器820以及存储器830之间的具体连接介质。本申请实施例在图8中以存储器830、处理器820以及收发器810之间通过总线840连接,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以 为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成等。
本申请实施例中,存储器可包括但不限于硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等非易失性存储器,随机存储记忆体(Random Access Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、只读存储器(Read-Only Memory,ROM)或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)等等。存储器是能够用于携带或存储具有指令或数据结构形式的程序代码,并能够由计算机(如本申请示出的网络设备等)读和/或写的任何存储介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可理解,本申请实施例示出的网络设备还可以具有比图8更多的元器件等,本申请实施例对此不作限定。
可理解,以上所示的处理器和收发器所执行的方法仅为示例,对于该处理器和收发器具体所执行的步骤可参照上文介绍的方法。
在另一种可能的实现方式中,当上述网络设备是芯片系统,如交换机、路由器或网卡等中的芯片系统时,处理单元701可以是一个或多个逻辑电路,收发单元702可以是输入输出接口,又或者称为通信接口,或者接口电路,或接口等等。或者收发单元702还可以是发送单元和接收单元,发送单元可以是输出接口,接收单元可以是输入接口,该发送单元和接收单元集成于一个单元,例如输入输出接口。
其中,该逻辑电路901可以为芯片、处理电路、集成电路或片上系统(system on chip,SoC)芯片等,接口902可以为通信接口、输入输出接口等。本申请实施例中,逻辑电路和接口还可以相互耦合。对于逻辑电路和接口的具体连接方式,本申请实施例不作限定。
如图9所示,图9所示的网络设备包括逻辑电路901和接口902。即上述处理单元701可以用逻辑电路901实现,收发单元702可以用接口902实现。
可选的,该逻辑电路和接口可以用于执行上述网络设备作为第一网络设备时所执行的功能或操作等。示例性的,如逻辑电路用于生成第一报文、第二报文、第三报文、第四报文、第一PFC报文或第二PFC报文;接口用于输出该第一报文、第二报文、第三报文、第四报文、第一PFC报文或第二PFC报文。又如,逻辑电路还可以通过接口获取第一报文、第二报文、第三报文等。
可选的,该逻辑电路和接口可以用于执行上述网络设备作为第三网络设备时所执行的功能或操作等。示例性的,如逻辑电路用于调整第三网络设备输出的第一拥塞流的发送速率,或将第三网络设备输出的第一拥塞流隔离到该拥塞队列。接口可以用于输入第一PFC报文、第二PFC报文、第一报文或第四报文等。
可理解,对于接口和/或逻辑电路执行的功能或操作等,可以参考图7示出的各个实施例,或者,还可以参考图3a至图4b、图5b或图6所示的方法实施例等,这里不再一一详述。
本申请实施例中,关于第一报文、第二报文、第三报文、第四报文、第一PFC报文或第二PFC报文等的具体说明,可参考上文示出的方法实施例中的描述,这里不再一一赘述。
此外,本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的方法中由第一网络设备执行的操作和/或处理。
本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的方法中由第三网络设备执行的操作和/或处理。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的方法中由第一网络设备执行的操作和/或处理。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的方法中由第三网络设备执行的操作和/或处理。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的方法中由第一网络设备执行的操作和/或处理被执行。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的方法中由第三网络设备执行的操作和/或处理被执行。
本申请实施例还提供了一种通信系统,该通信系统包括第一网络设备和第二网络设备,可选的,该通信系统还可以包括第三网络设备。对于该第一网络设备、第二网络设备和第三让了设备执行的具体步骤,可以参考上述各个实施例,这里不再一一详述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例提供的方案的技术效果。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的配置路由域 标识的方法中由第一节点执行的操作和/或处理。
本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的配置路由域标识的方法中由第二节点执行的操作和/或处理。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的配置路由域标识的方法中由第一节点执行的操作和/或处理。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的配置路由域标识的方法中由第二节点执行的操作和/或处理。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的配置路由域标识的方法中由第一节点执行的操作和/或处理被执行。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的配置路由域标识的方法中由第二节点执行的操作和/或处理被执行。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (44)

  1. 一种拥塞流的处理方法,其特征在于,所述方法应用于第一网络设备,所述方法包括:
    获取第一报文,所述第一报文包括第一指示信息,所述第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,所述第三网络设备为所述第一拥塞流的源设备,所述第一拥塞流为第二网络设备发生拥塞的情况下,被所述第二网络设备识别的拥塞流;
    处理所述第一报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第一报文还包括第二指示信息,所述第二指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列。
  3. 根据权利要求2所述的方法,其特征在于,所述第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率包括:所述第一指示信息用于指示调整所述第三网络设备中的拥塞队列的发送速率。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取第一报文之前,所述方法还包括:
    识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列;
    所述获取第一报文包括:
    在所述第一网络设备中的拥塞队列发生拥塞的情况下,生成所述第一报文。
  5. 根据权利要求4所述的方法,其特征在于,所述处理所述第一报文之后,所述方法还包括:
    在所述第一网络设备中的拥塞队列的队列深度大于或等于基于优先级的流量控制PFC门限的情况下,向所述第一网络设备的上游节点发送第三PFC报文,所述第三PFC报文用于指示所述第一网络设备的上游节点中的拥塞队列停止发送所述第一拥塞流。
  6. 根据权利要求4所述的方法,其特征在于,所述第一网络设备与所述第二网络设备为同一个网络设备。
  7. 根据权利要求4所述的方法,其特征在于,所述识别所述第一拥塞流之前,所述方法还包括:
    接收第三报文,所述第三报文用于指示将所述第一网络设备发送的所述第一拥塞流隔离到所述第一网络设备中的拥塞队列,所述第一网络设备与所述第二网络设备为不同的网络设备;
    所述识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列包括:
    根据所述第三报文识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列。
  8. 根据权利要求6或7所述的方法,其特征在于,所述识别所述第一拥塞流包括:从所述第一网络设备中的管理队列中识别所述第一拥塞流。
  9. 根据权利要求8所述的方法,其特征在于,所述从所述第一网络设备中的管理队列中识别所述第一拥塞流包括:
    在所述第一网络设备中的管理队列发生拥塞的情况下,从所述第一网络设备中的管理队列中识别所述第一拥塞流。
  10. 根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
    生成第二报文,所述第二报文用于指示所述第一网络设备的上游节点将所述第一拥塞流隔离到所述第一网络设备的上游节点中的拥塞队列;
    向所述第一网络设备的上游节点发送所述第二报文。
  11. 根据权利要求10所述的方法,其特征在于,所述生成第二报文包括:
    在所述第一网络设备中的拥塞队列发生拥塞的情况下,生成所述第二报文。
  12. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取第一报文之前,所述方法还包括:
    接收第三报文,所述第三报文用于指示将所述第一网络设备发送的所述第一拥塞流隔离到所述第一网络设备中的拥塞队列,所述第一网络设备与所述第二网络设备为不同的网络设备;
    根据所述第三报文识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列。
  13. 根据权利要求1-3任一项所述的方法,其特征在于,所述获取第一报文包括:
    接收来自所述第一网络设备的下游节点的所述第一报文。
  14. 根据权利要求13所述的方法,其特征在于,所述处理所述第一报文包括:
    根据所述第一报文生成第一PFC报文,所述第一PFC报文包括所述第三网络设备发送的所述第一拥塞流所在的队列被停止的时长信息;
    向所述第三网络设备发送所述第一PFC报文。
  15. 根据权利要求14所述的方法,其特征在于,所述第一拥塞流所在的队列包括所述第一拥塞流所在的拥塞队列和/或所述第一拥塞流所在的原队列。
  16. 根据权利要求14或15所述的方法,其特征在于,所述处理所述第一报文包括:
    向所述第三网络设备发送所述第一报文;或者,
    根据所述第一报文生成第四报文,所述第四报文包括第四指示信息,所述第四指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列;
    向所述第三网络设备发送所述第四报文。
  17. 根据权利要求1-16任一项所述的方法,其特征在于,所述第一指示信息用于指示减小所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第一指示信息用于指示所述停止第三网络设备发送所述第一拥塞流。
  18. 根据权利要求17所述的方法,其特征在于,所述方法还包括:
    获取第五报文,所述第五报文包括第五指示信息,所述第五指示信息用于指示增大所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第五指示信息用于指示恢复所述第三网络设备发送所述第一拥塞流;
    处理所述第五报文。
  19. 根据权利要求18所述的方法,其特征在于,所述获取第五报文包括:
    在所述第一拥塞流被识别为非拥塞流的情况下,生成所述第五报文;或者,
    在所述第一网络设备中的拥塞队列不拥塞的情况下,生成所述第五报文。
  20. 根据权利要求18所述的方法,其特征在于,所述获取第五报文包括:
    接收来自所述第一网络设备的下游节点的所述第五报文。
  21. 根据权利要求18-20任一项所述的方法,其特征在于,所述处理所述第五报文包括:
    根据所述第五报文生成第二PFC报文,所述第二PFC报文用于指示所述第三网络设备发送的所述第一拥塞流所在的队列被恢复;
    向所述第三网络设备发送所述第二PFC报文。
  22. 根据权利要求18-21任一项所述的方法,其特征在于,所述处理所述第五报文包括:
    向所述第三网络设备发送所述第五报文;或者,
    根据所述第五报文生成第六报文,所述第六报文包括第八指示信息,所述第八指示信息用于指示将所述第三网络设备发送的所述第一拥塞流切换到所述第三网络设备中的非拥塞队列;
    向所述第三网络设备发送所述第六报文。
  23. 一种第一网络设备,其特征在于,包括:
    处理器,用于获取第一报文,所述第一报文包括第一指示信息,所述第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率,所述第三网络设备为所述第一拥塞流的源设备,所述第一拥塞流为第二网络设备发生拥塞的情况下,被所述第二网络设备识别的拥塞流;
    所述处理器,还用于处理所述第一报文。
  24. 根据权利要求23所述的设备,其特征在于,所述第一报文还包括第二指示信息,所述第二指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列。
  25. 根据权利要求24所述的设备,其特征在于,所述第一指示信息用于指示调整第三网络设备发送的第一拥塞流的发送速率包括:所述第一指示信息用于指示调整所述第三网络设备中的拥塞队列的发送速率。
  26. 根据权利要求23-25任一项所述的设备,其特征在于,
    所述处理器,还用于识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列;以及在所述第一网络设备中的拥塞队列发生拥塞的情况下,生成所述第一报文。
  27. 根据权利要求26所述的设备,其特征在于,所述第一网络设备还包括收发器,
    所述收发器,用于在所述第一网络设备中的拥塞队列的队列深度大于或等于基于优先级的流量控制PFC门限的情况下,向所述第一网络设备的上游节点发送第三PFC报文,所述第三PFC报文用于指示所述第一网络设备的上游节点中的拥塞队列停止发送所述第一拥塞流。
  28. 根据权利要求26所述的设备,其特征在于,所述第一网络设备与所述第二网络设备为同一个网络设备。
  29. 根据权利要求26所述的设备,其特征在于,所述第一网络设备还包括收发器,
    所述收发器,用于接收第三报文,所述第三报文用于指示将所述第一网络设备发送的所述第一拥塞流隔离到所述第一网络设备中的拥塞队列,所述第一网络设备与所述第二网络设备为不同的网络设备;
    所述处理器,具体用于根据所述第三报文识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列。
  30. 根据权利要求28或29所述的设备,其特征在于,
    所述处理器,具体用于从所述第一网络设备中的管理队列中识别所述第一拥塞流。
  31. 根据权利要求30所述的设备,其特征在于,
    所述处理器,具体用于在所述第一网络设备中的管理队列发生拥塞的情况下,从所述第一网络设备中的管理队列中识别所述第一拥塞流。
  32. 根据权利要求28或29所述的设备,其特征在于,所述第一网络设备还包括收发器,
    所述处理器,还用于生成第二报文,所述第二报文用于指示所述第一网络设备的上游节点将所述第一拥塞流隔离到所述第一网络设备的上游节点中的拥塞队列;
    所述收发器,还用于向所述第一网络设备的上游节点发送所述第二报文。
  33. 根据权利要求32所述的设备,其特征在于,
    所处理器,具体用于在所述第一网络设备中的拥塞队列发生拥塞的情况下,生成所述第二报文。
  34. 根据权利要求23-25任一项所述的设备,其特征在于,所述第一网络设备还包括:
    收发器,用于接收第三报文,所述第三报文用于指示将所述第一网络设备发送的所述第一拥塞流隔离到所述第一网络设备中的拥塞队列,所述第一网络设备与所述第二网络设备为不同的网络设备;
    所述处理器,还用于根据所述第三报文识别所述第一拥塞流,将所述第一拥塞流隔离到所述第一网络设备中的拥塞队列。
  35. 根据权利要求23-25任一项所述的设备,其特征在于,所述第一网络设备还包括:收发器;
    所述处理器,具体用于通过所述收发器接收来自所述第一网络设备的下游节点的所述第一报文。
  36. 根据权利要求35所述的设备,其特征在于,
    所述处理器,具体用于根据所述第一报文生成第一PFC报文,所述第一PFC报文包括所述第三网络设备发送的所述第一拥塞流所在的队列被停止的时长信息;以及通过所述收发器向所述第三网络设备发送所述PFC报文。
  37. 根据权利要求36所述的设备,其特征在于,所述第一拥塞流所在的队列包括所述第一拥塞流所在的拥塞队列和/或所述第一拥塞流所在的原队列。
  38. 根据权利要求36或37所述的设备,其特征在于,
    所述处理器,具体用于通过所述收发器向所述第三网络设备发送所述第一报文;或者,
    所述处理器,具体用于根据所述第一报文生成第四报文,所述第四报文包括第四指示信息,所述第四指示信息用于指示将所述第三网络设备发送的所述第一拥塞流隔离到所述第三网络设备中的拥塞队列;以及通过所述收发器向所述第三网络设备发送所述第四报文。
  39. 根据权利要求23-38任一项所述的设备,其特征在于,所述第一指示信息用于指示减小所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第一指示信息用于指示停止所述第三网络设备发送所述第一拥塞流。
  40. 根据权利要求39所述的设备,其特征在于,
    所述处理器,还用于获取第五报文,所述第五报文包括第五指示信息,所述第五指示信息用于指示增大所述第三网络设备发送的第一拥塞流的发送速率;或者,所述第五指示信息用于指示恢复所述第三网络设备发送所述第一拥塞流;以及处理所述第五报文。
  41. 根据权利要求40所述的设备,其特征在于,
    所述处理器,具体用于在所述第一拥塞流被识别为非拥塞流的情况下,生成所述第五报文;或者,在所述第一网络设备中的拥塞队列不拥塞的情况下,生成所述第五报文。
  42. 根据权利要求40所述的设备,其特征在于,所述设备还包括收发器,
    所述处理器,具体用于通过所述收发器接收来自所述第一网络设备的下游节点的所述第五报文。
  43. 根据权利要求40-42任一项所述的设备,其特征在于,所述设备还包括收发器,
    所述处理器,具体用于根据所述第五报文生成第二PFC报文,所述第二PFC报文用于指示所述第三网络设备发送的所述第一拥塞流所在的队列被恢复;以及通过所述收发器向所述第三网络设备发送所述第二PFC报文。
  44. 根据权利要求40-43任一项所述的设备,其特征在于,所述设备还包括收发器,
    所述处理器,具体用于所述收发器向所述第三网络设备发送所述第五报文;或者,
    所述处理器,具体用于根据所述第五报文生成第六报文,所述第六报文包括第八指示信息,所述第八指示信息用于指示将所述第三网络设备发送的所述第一拥塞流切换到所述第三网络设备中的非拥塞队列;以及通过所述收发器向所述第三网络设备发送所述第六报文。
PCT/CN2021/109936 2020-08-05 2021-07-31 一种拥塞流的处理方法及设备 WO2022028342A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010780357.1 2020-08-05
CN202010780357.1A CN114095448A (zh) 2020-08-05 2020-08-05 一种拥塞流的处理方法及设备

Publications (1)

Publication Number Publication Date
WO2022028342A1 true WO2022028342A1 (zh) 2022-02-10

Family

ID=80117001

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/109936 WO2022028342A1 (zh) 2020-08-05 2021-07-31 一种拥塞流的处理方法及设备

Country Status (2)

Country Link
CN (1) CN114095448A (zh)
WO (1) WO2022028342A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117014376A (zh) * 2022-04-28 2023-11-07 华为技术有限公司 拥塞流识别方法、装置、设备及计算机可读存储介质
CN117155863A (zh) * 2022-05-23 2023-12-01 华为技术有限公司 一种抑制拥塞队列产生的方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493238A (zh) * 2016-06-13 2017-12-19 华为技术有限公司 一种网络拥塞控制方法、设备及系统
CN108667739A (zh) * 2017-03-27 2018-10-16 华为技术有限公司 拥塞控制方法、装置及系统
CN109391560A (zh) * 2017-08-11 2019-02-26 华为技术有限公司 网络拥塞的通告方法、代理节点及计算机设备
CN109412964A (zh) * 2017-08-18 2019-03-01 华为技术有限公司 报文控制方法及网络装置
CN109981471A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 一种缓解拥塞的方法、设备和系统
US10389550B1 (en) * 2018-04-10 2019-08-20 Cisco Technology, Inc. Priority tagging based solutions in FC SANs independent of target priority tagging capability
CN111490943A (zh) * 2019-01-29 2020-08-04 中兴通讯股份有限公司 拥塞控制方法、终端及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493238A (zh) * 2016-06-13 2017-12-19 华为技术有限公司 一种网络拥塞控制方法、设备及系统
CN108667739A (zh) * 2017-03-27 2018-10-16 华为技术有限公司 拥塞控制方法、装置及系统
CN109391560A (zh) * 2017-08-11 2019-02-26 华为技术有限公司 网络拥塞的通告方法、代理节点及计算机设备
CN109412964A (zh) * 2017-08-18 2019-03-01 华为技术有限公司 报文控制方法及网络装置
CN109981471A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 一种缓解拥塞的方法、设备和系统
US10389550B1 (en) * 2018-04-10 2019-08-20 Cisco Technology, Inc. Priority tagging based solutions in FC SANs independent of target priority tagging capability
CN111490943A (zh) * 2019-01-29 2020-08-04 中兴通讯股份有限公司 拥塞控制方法、终端及可读存储介质

Also Published As

Publication number Publication date
CN114095448A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
US11190449B2 (en) Packet control method and network apparatus
US11032205B2 (en) Flow control method and switching device
US11218572B2 (en) Packet processing based on latency sensitivity
US8625427B1 (en) Multi-path switching with edge-to-edge flow control
US7835285B2 (en) Quality of service, policy enhanced hierarchical disruption tolerant networking system and method
CN107342906B (zh) 一种大象流的检测方法、设备及系统
WO2019029318A1 (zh) 网络拥塞的通告方法、代理节点及计算机设备
WO2019134383A1 (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
US9559960B2 (en) Network congestion management
CN104052684A (zh) 动态适配计算机网络中的最大传输单元大小的方法和系统
JP2021516012A (ja) ネットワークにおけるフロー管理
WO2022028342A1 (zh) 一种拥塞流的处理方法及设备
WO2016062106A1 (zh) 报文处理方法、装置及系统
WO2015172668A1 (zh) 网络中拥塞窗口的确定方法和装置
CN111800351A (zh) 由交换机进行的拥塞通知分组生成
US8787160B2 (en) Method, apparatus, and system for judging path congestion
US10728156B2 (en) Scalable, low latency, deep buffered switch architecture
US8422504B2 (en) Network switch port aggregation
US20240089213A1 (en) Pfc storm detection and processing method
US8467311B2 (en) Method and system for avoiding flooding of packets in switches
US20220166721A1 (en) Traffic balancing method, network device, and electronic device
CN112637705B (zh) 一种带内遥测报文的转发方法及设备
WO2021012902A1 (zh) 一种处理网络拥塞的方法以及相关装置
CN113612698A (zh) 一种数据包发送方法及装置
WO2019119836A1 (zh) 报文处理的方法和设备

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21853702

Country of ref document: EP

Kind code of ref document: A1