CN114513463A - 拥塞识别方法及装置 - Google Patents

拥塞识别方法及装置 Download PDF

Info

Publication number
CN114513463A
CN114513463A CN202011174189.8A CN202011174189A CN114513463A CN 114513463 A CN114513463 A CN 114513463A CN 202011174189 A CN202011174189 A CN 202011174189A CN 114513463 A CN114513463 A CN 114513463A
Authority
CN
China
Prior art keywords
queue
network device
cache queue
storage amount
congestion
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
CN202011174189.8A
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 CN202011174189.8A priority Critical patent/CN114513463A/zh
Publication of CN114513463A publication Critical patent/CN114513463A/zh
Pending legal-status Critical Current

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/11Identifying congestion
    • 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
    • H04L47/115Identifying congestion using a dedicated packet

Landscapes

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

Abstract

公开了一种拥塞识别方法及装置,属于网络技术领域。当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,网络设备不依赖于缓存队列的存储量大小条件确定缓存队列发生拥塞。由于网络设备通过缓存队列的存储量的持续增长时间判定该缓存队列是否发生拥塞,而不依赖于缓存队列的存储量大小条件,既可以防止将缓存队列的流量突发误判成该缓存队列发生拥塞,又可以识别出由于存储量在长时间内持续增长而导致拥塞的缓存队列,因此本申请对缓存队列进行拥塞识别的可靠性和准确性较高。

Description

拥塞识别方法及装置
技术领域
本申请涉及网络技术领域,特别涉及一种拥塞识别方法及装置。
背景技术
拥塞控制是提高网络资源利用率以及优化网络传输质量的重要方法。而网络设备中的缓存队列的拥塞状况是对网络设备进行拥塞控制的重要参考依据。
目前通常以网络设备的缓存队列的存储量是否达到阈值来判断该缓存队列是否拥塞。然而,缓存队列的存储量达到阈值并不一定是拥塞导致的。此外,拥塞也不一定会导致缓存队列的存储量达到阈值。
发明内容
本申请提供了一种拥塞识别方法及装置,用于实现对网络设备的缓存队列进行拥塞识别。
第一方面,提供了一种拥塞识别方法。该方法包括:当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,网络设备不依赖于缓存队列的存储量大小条件确定缓存队列发生拥塞。
本申请中,网络设备通过缓存队列的存储量的持续增长时间判定该缓存队列是否发生拥塞,而不依赖于缓存队列的存储量大小条件,既可以防止将缓存队列的流量突发误判成该缓存队列发生拥塞,又可以识别出由于存储量在长时间内持续增长而导致拥塞的缓存队列,提高了对缓存队列进行拥塞识别的可靠性和准确性。
可选地,当缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值时,该持续增长时间结束。也即是,当缓存队列的当前存储量相较于之前的存储量高点,存储量回落幅度较大时,网络设备可以确定当前该缓存队列未发生拥塞。
可选地,当缓存队列的当前存储量低于第三阈值时,该持续增长时间结束。当缓存队列的当前存储量较低时,网络设备可以确定当前该缓存队列未发生拥塞。
可选地,第三阈值为缓存队列的最小保留存储量。
在一种实现方式中,网络设备还可以对缓存队列的存储量进行采样,如果根据采样结果,缓存队列在存储量的持续增长时间中,网络设备增加缓存队列的拥塞计数。则当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,网络设备不依赖于缓存队列的存储量大小条件确定缓存队列发生拥塞的实现过程,包括:当拥塞计数大于拥塞计数阈值时,网络设备确定缓存队列发生拥塞,其中,第一阈值为拥塞计数阈值和采样周期的积。
本实现方式中,当网络设备对缓存队列的本次采样结果大于上一次采样结果时,网络设备增加该缓存队列的拥塞计数;当网络设备对缓存队列的本次采样结果小于或等于上一次采样结果但缓存队列的存储量的持续增长时间未结束时,网络设备也增加该缓存队列的拥塞计数,即当网络设备的缓存队列的当前存储量相较于之前的存储量高点,存储量回落幅度较小,和/或,网络设备的缓存队列的当前存储量仍较高(不低于第三阈值),网络设备也增加该缓存队列的拥塞计数,也即是,如果根据采样结果,网络设备的缓存队列的存储量的持续增长期间未结束,不论存储量是否减少,网络设备均增加该缓存队列的拥塞计数,可以减小将缓存队列的拥塞误判成非拥塞的概率。
在另一种实现方式中,网络设备还可以对缓存队列的存储量进行采样,如果根据采样结果,本次采样结果大于上一次采样结果,网络设备增加缓存队列的拥塞计数。则当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,网络设备不依赖于缓存队列的存储量大小条件确定缓存队列发生拥塞的实现过程,包括:当拥塞计数大于拥塞计数阈值时,网络设备确定缓存队列发生拥塞,其中,第一阈值为拥塞计数阈值和采样周期的积。
第二方面,提供了一种网络设备。所述网络设备包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第三方面,提供了一种网络设备,包括:存储器和队列管理器;
所述存储器,用于存放缓存队列;
所述队列管理器,用于当所述存储器中存放的缓存队列的存储量的持续增长时间超过第一阈值时,不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞。
可选地,队列管理器为网络处理器(network processor,NP)、流量管理器(traffic manager,TM)或中央处理器(central processing unit,CPU)等。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现上述第一方面及其各实施方式中的方法。
第五方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法。
附图说明
图1是本申请实施例提供的一种缓存队列处于非拥塞状态的存储量变化示意图;
图2是本申请实施例提供的一种缓存队列处于拥塞状态的存储量变化示意图;
图3是本申请实施例提供的又一种缓存队列的存储量变化示意图;
图4是本申请实施例提供的一种拥塞识别方法的流程示意图;
图5是本申请实施例提供的一种网络设备的结构示意图;
图6是本申请实施例提供的另一种网络设备的结构示意图;
图7是本申请实施例提供的一种网络设备的框图;
图8是本申请实施例提供的另一种网络设备的框图;
图9是本申请实施例提供的一种通信网络的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
网络设备通常包括多个缓存队列。网络设备的缓存队列的拥塞状况信息能够应用于网络设备的缓存优化、拥塞控制和服务质量(quality of service,QoS)调度等多个场景。
目前通常以网络设备的缓存队列的存储量是否达到阈值来判断该缓存队列是否拥塞。然而,缓存队列的存储量达到阈值并不一定是拥塞导致的,流量突发也会导致缓存队列的存储量急剧增长而达到阈值。由于流量突发是瞬时发生的,通常持续不到100毫秒。在流量突发场景下,缓存队列的存储量通常先急剧增长,而后会迅速下降至阈值以下,这个过程持续的时间很短。而拥塞是长期存在的,因此流量突发是一种非拥塞状态。目前仅以网络设备的缓存队列的存储量是否达到阈值来判断该缓存队列是否拥塞,容易将缓存队列的流量突发误判成该缓存队列拥塞。
此外,拥塞也不一定会立即导致缓存队列的存储量达到阈值。例如,当缓存队列的存储量在长时间内持续缓慢增长,即该缓存队列中缓存的报文越来越多,可能就是拥塞导致的。但是由于目前仅以网络设备的缓存队列的存储量是否达到阈值来判断该缓存队列是否拥塞,若缓存队列的存储量在长时间内持续增长后未达到阈值,则不会判定该缓存队列发生拥塞。
由上可知,目前对缓存队列进行拥塞识别的可靠性和准确性较低。
本申请实施例基于网络设备的缓存队列在不同拥塞状况下的存储量变化趋势不同,提供了一种针对网络设备的缓存队列的拥塞识别方法。可选地,图1和图2分别是本申请实施例提供的一种缓存队列处于非拥塞状态和拥塞状态的存储量变化示意图。其中,横坐标表示时间,纵坐标表示缓存队列的存储量,图中标出的存储量仅用于比较缓存队列处于非拥塞状态和拥塞状态的存储量区别,并不用作缓存队列中实际存储量的示例。如图1所示,当缓存队列处于非拥塞状态,该缓存队列的存储量在大部分时间是比较低的,且该缓存队列的存储量从长时间来看是非增长的,偶尔在流量突发情况下会出现存储量突增的现象,但是在短时间内存储量也会迅速下降。如图2所示,当缓存队列处于拥塞状态,该缓存队列的存储量在大部分时间是比较高的,且该缓存队列的存储量从长时间来看处于不降低的趋势,该缓存队列的存储量会在长时间内持续增长。缓存队列的存储量的持续增长期间可以包括小幅度的存储量回落。
在本申请实施例提供的拥塞识别方法中,当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,网络设备不依赖于该缓存队列的存储量大小条件确定该缓存队列发生拥塞。其中,第一阈值为最小拥塞判断时长,即判定缓存队列发生拥塞的最小持续时长。例如,该第一阈值可以取值为100毫秒。网络设备对拥塞的判定不依赖于该缓存队列的存储量大小条件,因此不会因为缓存队列的存储量大于拥塞阈值而判定该缓存队列拥塞,也不会因为缓存队列的存储量小于拥塞阈值而不判定该缓存队列拥塞(尽管依然可以因为存储量小于某个存储量阈值,如最小保留存储量,而判定该缓存队列已发生的拥塞被解除)。
本申请实施例中,网络设备通过缓存队列的存储量的持续增长时间判定该缓存队列是否发生拥塞,而不依赖于缓存队列的存储量大小条件,既可以防止将缓存队列的流量突发误判成该缓存队列发生拥塞,又可以识别出由于存储量在长时间内持续增长而导致拥塞的缓存队列,提高了对缓存队列进行拥塞识别的可靠性和准确性。缓存队列的存储量的持续增长时间是和持续增长期间的时长相关的指标。持续增长时间可以是持续增长期间的总时长(即包括小幅度的存储量回落时间),也可以是持续增长期间内存储量升高的时间之和。例如,可以在持续增长期间开始启动计时,在持续增长期间结束或判定该缓存队列拥塞时结束计时。又如,可以在持续增长期间开始启动计时,在存储量回落时暂停计时,在存储量上升时恢复计时,在持续增长期间结束或判定该缓存队列拥塞时结束计时。其中,计时是指测量持续增长时间。
可选地,网络设备在确定缓存队列发生拥塞后,将该缓存队列的状态标记为拥塞,并继续对该网络设备的缓存队列的存储量进行采样,可以实现对缓存队列的实时拥塞识别。
由于持续增长期间内可以包括小幅度的存储量回落,持续增长期间并不仅仅因为存储量降低而结束,而只会被大幅度的存储量回落结束。持续增长期间的结束条件可以包括一种或多种。例如,在网络设备的缓存队列的存储量的持续增长期间中,当该缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值时,该持续增长期间结束。或者,在网络设备的缓存队列的存储量的持续期间时间中,当该缓存队列的当前存储量低于第三阈值时,该持续增长期间结束。缓存队列的存储量的持续增长期间结束时,相应地结束该缓存队列的存储量的持续增长时间,例如将该持续增长时间清零。
当缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值时,持续增长时间结束,也即是,当缓存队列的当前存储量相较于之前的存储量高点,存储量回落幅度较大时,网络设备可以确定当前该缓存队列未发生拥塞。其中,持续增长时间结束,可以是对该持续增长时间清零。本申请实施例中,在网络设备的缓存队列的存储量的持续增长时间未超过第一阈值时,满足该持续增长时间的结束条件,可以确定该缓存队列当前未发生拥塞。
可选地,第二阈值的取值范围为[0,1]。例如,该第二阈值可以取值为0.7。缓存队列的存储量高点可以是存储量的持续增长期间内存储量的最高点,也可以是离当前时间最近的存储量的局域高点。例如,图3是本申请实施例提供的又一种缓存队列的存储量变化示意图。其中,横坐标表示时间,纵坐标表示缓存队列的存储量。如图3所示,M表示缓存队列的当前存储量,A、B和C均为缓存队列的存储量高点。上述用于与缓存队列的当前存储量进行比较的该缓存队列之前的存储量高点可以是存储量的持续增长期间内存储量的最高点(即点B),也可以是离当前时间最近的存储量高点(即点C)。由于存储量高点A所在的存储量的持续增长期间已结束,点A不参与点M所在的存储量的持续增长期间是否结束的判断。
当缓存队列的当前存储量低于第三阈值时,持续增长时间结束,也即是,当缓存队列的当前存储量较低时,网络设备可以确定当前该缓存队列未发生拥塞。
可选地,第三阈值为网络设备的缓存队列的最小保留存储量。缓存队列的最小保留存储量指给该缓存队列分配的最小可用存储空间,该部分存储空间无法被其它缓存队列侵占。不同场景下的网络设备的缓存队列的最小保留存储量可以取不同值。例如,园区网络中的网络设备的缓存队列的最小保留存储量可以取值为8cell(cell为缓存的最小单位),1cell可以等于288字节(byte)或128字节等,不同厂家定义的cell大小可能不同。网络设备的缓存队列的最小保留缓存量也可以取值为6cell或10cell等,具体取值可根据实际需求进行设置。或者,网络设备的缓存队列的最小保留存储量也可以取值为接近于0的任一数值。当缓存队列的存储量小于该缓存队列的最小保留存储量(即上述第三阈值),表示该缓存队列中缓存的报文较少,由该缓存队列转发报文的时延较小,因此可以认为该缓存队列处于未拥塞状态。
可选地,网络设备在确定缓存队列未发生拥塞后,将该缓存队列的状态标记为未拥塞,并继续对该网络设备的缓存队列的存储量进行采样,可以实现对缓存队列的实时拥塞识别。
本申请实施例中,网络设备可以对缓存队列的存储量进行采样,并根据采样结果确定该缓存队列的存储量的持续增长时间是否结束。可选地,网络设备对缓存队列的存储量进行周期性采样。该采样周期小于上述第一阈值。
在第一种实现方式中,如果根据采样结果,网络设备的缓存队列在存储量的持续增长期间中,该网络设备增加该缓存队列的拥塞计数。也即是,如果根据采样结果,网络设备的缓存队列的存储量的持续增长期间未结束,不论存储量是否减少,该网络设备增加该缓存队列的拥塞计数。
当网络设备的缓存队列在存储量的持续增长时间是持续增长期间的总时长(即包括小幅度的存储量回落时间)时,这种实现方式,也即是:如果根据采样结果,网络设备的缓存队列在存储量的持续增长时间中,该网络设备增加该缓存队列的拥塞计数。
本实现方式中,如果根据采样结果,网络设备的缓存队列的存储量的持续增长期间未结束,则无论存储量增加(即网络设备对缓存队列的本次采样结果大于上一次采样结果)、减少(即网络设备对缓存队列的本次采样结果小于上一次采样结果)还是不变(即网络设备对缓存队列的本次采样结果等于上一次采样结果),网络设备都增加该缓存队列的拥塞计数,即认为网络设备的缓存队列的存储量的持续增长期间未结束的情况均属于拥塞状况,可以减小将缓存队列的拥塞误判成非拥塞的概率。
在第二种实现方式中,如果根据采样结果,网络设备的对缓存队列的本次采样结果大于上一次采样结果,该网络设备增加该缓存队列的拥塞计数。也即是,如果根据采样结果,网络设备的缓存队列的存储量的持续增长期间未结束且该缓存队列的存储量是增长的,该网络设备增加该缓存队列的拥塞计数。
当网络设备的缓存队列在存储量的持续增长时间是持续增长期间的总时长(即包括小幅度的存储量回落时间)时,这种实现方式,包括:如果根据采样结果,网络设备的缓存队列在存储量的持续增长时间中且本次采样结果大于上一次采样结果,该网络设备增加该缓存队列的拥塞计数。当网络设备的缓存队列在存储量的持续增长时间是持续增长期间内存储量升高的时间之和,这种实现方式,包括:如果根据采样结果,网络设备的缓存队列在存储量的持续增长时间中,该网络设备增加该缓存队列的拥塞计数。
本实现方式中,当网络设备对缓存队列的本次采样结果大于上一次采样结果,网络设备增加该缓存队列的拥塞计数。当缓存队列的存储量的持续增长期间未结束,但网络设备对该缓存队列的本次采样结果不大于上一次采样结果时,网络设备可以保持该缓存队列的拥塞计数不变,即在缓存队列的存储量小幅度回落或不变时暂停计算持续增长时间。
在上述两种实现方式中,当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,网络设备不依赖于该缓存队列的存储量大小条件确定该缓存队列发生拥塞的实现过程,包括:当该缓存队列的拥塞计数大于拥塞计数阈值时,网络设备确定该缓存队列发生拥塞。其中,第一阈值可以为拥塞计数阈值和采样周期的积。也即是,拥塞计数阈值可以基于第一阈值(即最小拥塞判断时长)以及网络设备对该缓存队列的存储量的采样周期得到。例如,第一阈值取值为100毫秒,假设网络设备对缓存队列的存储量的采样周期为1毫秒,则该拥塞计数阈值等于100;或者,假设网络设备对缓存队列的存储量的采样周期为10毫秒,则该拥塞计数阈值等于10。
本申请实施例以当网络设备的缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值,或者,该缓存队列的当前存储量低于第三阈值时,缓存队列的存储量的持续增长期间结束;网络设备对缓存队列的存储量进行采样后,如果根据采样结果,该缓存队列在存储量的持续增长期间中,该网络设备增加该缓存队列的拥塞计数为例,对网络设备进行拥塞识别的实现过程进行说明。其中,第二阈值记为α,0≤α≤1。缓存队列的拥塞计数记为INC,INC的初始值取0。拥塞计数阈值记为W,第三阈值记为Tmin。可选地,图4是本申请实施例提供的一种拥塞识别方法的流程示意图。如图4所示,该方法包括:
步骤401、网络设备获取该网络设备的缓存队列的第一存储量R1和第二存储量R2。
R1为网络设备在第一采样时刻采样得到的存储量,R2为网络设备在第二采样时刻采样得到的存储量。该第二采样时刻可以是当前采样时刻。第一采样时刻在第二采样时刻之前。其中,第一采样时刻与第二采样时刻可以是连续的采样时刻。或者,第一采样时刻和第二采样时刻也可以是不连续的采样时刻,且在第一采样时刻与第二采样时刻之间采样得到的该缓存队列的存储量均满足:该存储量不大于R1,该存储量与R1的比值不低于α,且该存储量不低于Tmin。即R1为离第二采样时刻最近的存储量高点。
步骤402、若R2>R1,执行步骤405;否则,执行步骤403。
也即是,若R2≤R1,执行步骤403。
步骤403、若R2/R1<α||R2<Tmin,执行步骤404;否则,执行步骤405。
也即是,在R2≤R1的条件下,若R2/R1≥α&R2≥Tmin,执行步骤405。其中,“R2/R1”表示R2与R1的比值,“||”表示“或”,“&”表示“与”。
步骤404、网络设备使INC=0,并标记该缓存队列未发生拥塞。
可选地,当R2/R1<α||R2<Tmin,网络设备还可以令R1=R2,R2=R3,也即是将R2作为新的R1,并将在第三采样时刻采样得到的第三存储量R3作为新的R2,然后再次执行步骤402。该第三采样时刻为第二采样时刻的下一采样时刻。
步骤405、网络设备使INC=INC+1。
在一种情况下,当R2>R1,网络设备还可以令R1=R2,R2=R3,也即是将R2作为新的R1,并将在第三采样时刻采样得到的第三存储量R3作为新的R2。该第三采样时刻为第二采样时刻的下一采样时刻。
在另一种情况下,当R2≤R1&R2/R1≥α&R2≥Tmin,网络设备还可以令R2=R3,也即是保持R1不变,并将在第三采样时刻采样得到的第三存储量R3作为新的R2。该第三采样时刻为第二采样时刻的下一采样时刻。这种情况下,R1为离第三采样时刻最近的存储量高点,因此网络设备保持R1不变。
步骤406、若INC=W,执行步骤407。若INC<W,再次执行步骤402。
步骤407、网络设备标记该缓存队列发生拥塞。
可选地,网络设备在标记缓存队列发生拥塞后,可以使INC=0,然后再次执行步骤402。或者,网络设备在标记缓存队列发生拥塞后,停止对该缓存队列进行拥塞识别直至满足目标条件,再采用上述过程对该缓存队列进行拥塞识别。该目标条件可以是该缓存队列的存储量低于第三阈值,或者还可以是接收到外部输入的拥塞识别指令等。
可选地,网络设备可以采用2个寄存器分别记录在不同采样时刻的采样结果,并根据采样结果实时更新寄存器中的值,即上述R1和R2可以通过寄存器实现记录和更新。网络设备也可以采用寄存器记录INC,每当INC达到W或缓存队列满足未发生拥塞的条件时,该寄存器清零,该寄存器还可以起到控制对缓存队列进行拥塞识别的判断时长的作用。
可选地,网络设备上电后,在缓存队列有报文的初始阶段,可以默认该缓存队列发生拥塞,使得网络设备进行拥塞控制的可靠性较高;或者,也可以默认该缓存队列未发生拥塞,使得业务初始体验较好。
本申请实施例提供的拥塞识别方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。例如,本申请实施例提供的拥塞识别方法除了可以实现对缓存队列进行拥塞识别之外,还可以用于端口级(针对端口)或设备级(针对端口组)的拥塞识别。
综上所述,在本申请实施例提供的拥塞识别方法中,网络设备通过缓存队列的存储量的持续增长时间判定该缓存队列是否发生拥塞,而不依赖于缓存队列的存储量大小条件,既可以防止将缓存队列的流量突发误判成该缓存队列发生拥塞,又可以识别出由于存储量在长时间内持续增长而导致拥塞的缓存队列,提高了对缓存队列进行拥塞识别的可靠性和准确性。网络设备对拥塞的判定不依赖于该缓存队列的存储量大小条件,因此不会因为缓存队列的存储量大于拥塞阈值而判定该缓存队列拥塞,也不会因为缓存队列的存储量小于拥塞阈值而不判定该缓存队列拥塞(尽管依然可以因为存储量小于某个存储量阈值,如最小保留存储量,而判定该缓存队列已发生的拥塞被解除)。在具体实现中,当缓存队列的存储量在多个采样时刻持续增长或仅出现过小幅度回落,网络设备确定该缓存队列发生拥塞。由于网络设备采用缓存队列在多个采样时刻的存储量变化趋势确定缓存队列是否拥塞,可以降低将缓存队列的流量瞬时突发误判为拥塞的概率;又由于网络设备在缓存队列的存储量出现小幅度回落时不会认定该缓存队列的存储量的持续增长时间结束,又可以降低将缓存队列发生拥塞误判为非拥塞的概率。
图5是本申请实施例提供的一种网络设备的结构示意图。如图5所示,该网络设备50包括:
确定模块501,用于当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,不依赖于缓存队列的存储量大小条件确定缓存队列发生拥塞。
可选地,当缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值时,该持续增长时间结束。
可选地,当缓存队列的当前存储量低于第三阈值时,该持续增长时间结束。
可选地,第三阈值为缓存队列的最小保留存储量。
可选地,如图6所示,该网络设备50还包括:采样模块502和计数模块503。
在一种实现方式中,采样模块502,用于对缓存队列的存储量进行采样;计数模块503,用于如果根据采样结果,缓存队列在存储量的持续增长时间中,增加缓存队列的拥塞计数。相应地,确定模块501,用于:当拥塞计数大于拥塞计数阈值时,确定缓存队列发生拥塞,其中,第一阈值为拥塞计数阈值和采样周期的积。
在另一种实现方式中,采样模块502,用于对缓存队列的存储量进行采样;计数模块503,用于如果根据采样结果,本次采样结果大于上一次采样结果,增加缓存队列的拥塞计数。相应地,确定模块501,用于:当拥塞计数大于拥塞计数阈值时,确定缓存队列发生拥塞,其中,第一阈值为拥塞计数阈值和采样周期的积。
综上所述,在本申请实施例提供的拥塞识别方法中,网络设备通过缓存队列的存储量的持续增长时间判定该缓存队列是否发生拥塞,而不依赖于缓存队列的存储量大小条件,既可以防止将缓存队列的流量突发误判成该缓存队列发生拥塞,又可以识别出由于存储量在长时间内持续增长而导致拥塞的缓存队列,提高了对缓存队列进行拥塞识别的可靠性和准确性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种网络设备,包括:存储器和队列管理器;
所述存储器,用于存放缓存队列;
所述队列管理器,用于当所述存储器中存放的缓存队列的存储量的持续增长时间超过第一阈值时,不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞。
在一种实现方式中,所述队列管理器,还用于对所述缓存队列的存储量进行采样,如果根据采样结果,所述缓存队列在存储量的持续增长时间中,增加所述缓存队列的拥塞计数;当所述拥塞计数大于拥塞计数阈值时,确定所述缓存队列发生拥塞。
在另一种实现方式中,所述队列管理器,还用于对所述缓存队列的存储量进行采样,如果根据采样结果,本次采样结果大于上一次采样结果,增加所述缓存队列的拥塞计数;当所述拥塞计数大于拥塞计数阈值时,确定所述缓存队列发生拥塞。
可选地,队列管理器可以是网络处理器、流量管理器、CPU等具有处理能力的芯片或其组合。流量管理器具有缓存区,用于报文的缓冲和转发。存储器可以是流量处理器中的缓存区,或者可以是独立的存储器,又或者可以集成在其它芯片中。
本申请实施例以网络设备采用以下两种结构为例进行说明。
在第一种结构中,队列管理器为网络处理器,存储器为流量管理器中的缓存区。图7是本申请实施例提供的一种网络设备的框图。如图7所示,该网络设备70包括网络处理器701和流量管理器702。
参见图7,流量管理器702包括控制区7021和缓存区7022。缓存区7022存放有缓存队列。流量管理器702的控制区7021用于将流量管理器702接收到的报文存储至缓存区7022中的缓存队列。网络处理器701用于从流量管理器702的缓存区7022中读取缓存队列的缓存占用信息,例如缓存队列的存储量等;根据缓存队列的缓存占用信息分析缓存队列的缓存变化趋势,以判断缓存队列是否发生拥塞;根据缓存队列的拥塞情况计算流控参数,并将流控参数发送给流量管理器,该流控参数包括缓存水线(也可称为缓存阈值)和/或显式拥塞通知(explicit congestion notification,ECN)水线(也可称为ECN阈值);等等。流量管理器702的控制区7021还用于根据来自网络处理器701的流控参数设置缓存区7022的对应缓存参数;根据来自网络处理器701的流控参数采用对应的控制机制对通过缓存队列转发的报文进行拥塞控制;等等。
可选地,该网络设备70还包括CPU 703、通信总线704和通信接口705。
CPU 703包括一个或者一个以上处理核心,通过运行计算机程序执行各种功能应用以及数据处理。
通信接口705可以为一个或多个,通信接口705用于与其它设备进行通信。例如与存储设备或其它网络设备进行通信。
网络处理器701、流量管理器702与通信接口705分别通过通信总线704与CPU 703连接。
在第二种结构中,队列管理器为CPU。图8是本申请实施例提供的另一种网络设备的框图。如图8所示,该网络设备80包括CPU 801和存储器802。
存储器802用于存放缓存队列。该存储器802还用于存储计算机程序,该计算机程序包括程序指令。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。本申请实施例中,缓存队列和计算机程序可以存放在一个存储器中,或者缓存队列和计算机程序也可以分别独立存放在不同存储器中。
CPU 801用于调用存储器802存储的计算机程序,采用如上述方法实施例中的方法,实现对存储器802中的缓存队列进行拥塞识别。CPU 801通常为多核处理器。
可选地,该网络设备80还包括通信总线803和通信接口804。
通信接口804可以为一个或多个,通信接口804用于与其它设备进行通信。例如与存储设备或其它网络设备进行通信。
存储器802与通信接口804分别通过通信总线803与CPU 801连接。
本申请实施例所涉及的网络设备可以是通信网络中的任一网络设备。该网络设备可以是交换机或路由器等。网络设备的缓存队列可以是该网络设备中用于缓存数据的任一队列,例如可以是出端口队列或入端口队列等,本申请实施例对缓存队列的类型不作限定。
可选地,该通信网络可以是数据中心网络(data center network,DCN)、城域网络、广域网络或园区网络等,本申请实施例对通信网络的类型不做限定。通信网络可以采用二级网络架构或三级网络架构。在二级网络架构下,通信网络包括汇聚层和接入层,该通信网络也可称为两层网络,汇聚层是通信网络的高速交换主干,接入层用于将工作站接入通信网络。在三级网络架构下,通信网络包括核心层、汇聚层和接入层,该通信网络也可称为三层网络,核心层是通信网络的高速交换主干,汇聚层用于提供汇聚连接(连接接入层和核心层),接入层用于将工作站接入通信网络。其中,工作站可以包括终端、接入点(accesspoint,AP)、服务器或虚拟机(virtual machine,VM)等。终端可以是手机或电脑等。其中,处于核心层的网络设备称为核心网络设备。处于汇聚层的网络设备称为汇聚网络设备。处于接入层的网络设备称为接入网络设备。
可选地,图9是本申请实施例提供的一种通信网络的结构示意图。该通信网络为三层网络,例如该通信网络可以是园区网络。如图9所示,该通信网络包括核心网络设备001、汇聚网络设备002A-002B(统称为汇聚网络设备002)以及接入网络设备003A-003D(统称为接入网络设备003)。汇聚网络设备002A和汇聚网络设备002B分别与核心网络设备001连接。接入网络设备003A和接入网络设备003B分别与汇聚网络设备002A连接。接入网络设备003C和接入网络设备003D分别与汇聚网络设备002B连接。
核心网络设备001通常指吞吐量强大的二层交换机或者三层交换机。其承载和汇聚着通信网络中的所有传输流量,是通信网络性能的主要保障。核心网络设备001的主要功能是为汇聚网络设备002提供高速的传输和优化,相当于一个出口或总汇总。
汇聚网络设备002是多个接入网络设备003的汇聚点。它能够处理来自所连接的接入网络设备003的所有传输流量,并提供到核心层的上行链路。汇聚网络设备002与接入网络设备003相比,需要更高的性能、更少的接口和更高的交换速率。汇聚网络设备002一般用于楼宇间,相当于一个局部或重要的中转站。
接入网络设备003一般用于直接连接工作站,具有低成本和接口密度高等特性。
本申请实施例所涉及的网络设备可以是如图9所示的通信网络中的核心网络设备001、汇聚网络设备002或接入网络设备003。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现上述方法实施例所涉及的拥塞识别方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种拥塞识别方法,其特征在于,所述方法包括:
当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,所述网络设备不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞。
2.根据权利要求1所述的方法,其特征在于,当所述缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值时,所述持续增长时间结束。
3.根据权利要求1或2所述的方法,其特征在于,当所述缓存队列的当前存储量低于第三阈值时,所述持续增长时间结束。
4.根据权利要求3所述的方法,其特征在于,所述第三阈值为所述缓存队列的最小保留存储量。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
所述网络设备对所述缓存队列的存储量进行采样,如果根据采样结果,所述缓存队列在存储量的持续增长时间中,所述网络设备增加所述缓存队列的拥塞计数;
所述当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,所述网络设备不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞,包括:
当所述拥塞计数大于拥塞计数阈值时,所述网络设备确定所述缓存队列发生拥塞,其中,所述第一阈值为所述拥塞计数阈值和采样周期的积。
6.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
所述网络设备对所述缓存队列的存储量进行采样,如果根据采样结果,本次采样结果大于上一次采样结果,所述网络设备增加所述缓存队列的拥塞计数;
所述当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,所述网络设备不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞,包括:
当所述拥塞计数大于拥塞计数阈值时,所述网络设备确定所述缓存队列发生拥塞,其中,所述第一阈值为所述拥塞计数阈值和采样周期的积。
7.一种网络设备,其特征在于,包括:
确定模块,用于当网络设备的缓存队列的存储量的持续增长时间超过第一阈值时,不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞。
8.根据权利要求7所述的网络设备,其特征在于,当所述缓存队列的当前存储量和之前的存储量高点的比值低于第二阈值时,所述持续增长时间结束。
9.根据权利要求7或8所述的网络设备,其特征在于,当所述缓存队列的当前存储量低于第三阈值时,所述持续增长时间结束。
10.根据权利要求9所述的网络设备,其特征在于,所述第三阈值为所述缓存队列的最小保留存储量。
11.根据权利要求7至10任一所述的网络设备,其特征在于,所述网络设备还包括:
采样模块,用于对所述缓存队列的存储量进行采样;
计数模块,用于如果根据采样结果,所述缓存队列在存储量的持续增长时间中,增加所述缓存队列的拥塞计数;
所述确定模块,用于:当所述拥塞计数大于拥塞计数阈值时,确定所述缓存队列发生拥塞,其中,所述第一阈值为所述拥塞计数阈值和采样周期的积。
12.根据权利要求7至10任一所述的网络设备,其特征在于,所述网络设备还包括:
采样模块,用于对所述缓存队列的存储量进行采样;
计数模块,用于如果根据采样结果,本次采样结果大于上一次采样结果,增加所述缓存队列的拥塞计数;
所述确定模块,用于:当所述拥塞计数大于拥塞计数阈值时,确定所述缓存队列发生拥塞,其中,所述第一阈值为所述拥塞计数阈值和采样周期的积。
13.一种网络设备,其特征在于,包括:存储器和队列管理器;
所述存储器,用于存放缓存队列;
所述队列管理器,用于当所述存储器中存放的缓存队列的存储量的持续增长时间超过第一阈值时,不依赖于所述缓存队列的存储量大小条件确定所述缓存队列发生拥塞。
CN202011174189.8A 2020-10-28 2020-10-28 拥塞识别方法及装置 Pending CN114513463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011174189.8A CN114513463A (zh) 2020-10-28 2020-10-28 拥塞识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011174189.8A CN114513463A (zh) 2020-10-28 2020-10-28 拥塞识别方法及装置

Publications (1)

Publication Number Publication Date
CN114513463A true CN114513463A (zh) 2022-05-17

Family

ID=81546333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011174189.8A Pending CN114513463A (zh) 2020-10-28 2020-10-28 拥塞识别方法及装置

Country Status (1)

Country Link
CN (1) CN114513463A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099940A (zh) * 2014-05-05 2015-11-25 中兴通讯股份有限公司 队列管理方法和装置
CN108293067A (zh) * 2015-12-23 2018-07-17 英特尔公司 针对物联网设备管理通信拥塞
CN109428829A (zh) * 2017-08-24 2019-03-05 中兴通讯股份有限公司 多队列缓存管理方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099940A (zh) * 2014-05-05 2015-11-25 中兴通讯股份有限公司 队列管理方法和装置
CN108293067A (zh) * 2015-12-23 2018-07-17 英特尔公司 针对物联网设备管理通信拥塞
CN109428829A (zh) * 2017-08-24 2019-03-05 中兴通讯股份有限公司 多队列缓存管理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
JP3525656B2 (ja) パケット交換機、および輻輳通知方式
US8149704B2 (en) Communication apparatus and data communication method
US7911960B1 (en) Delayed-start method for minimizing internal switch congestion
US7295557B2 (en) System and method for scheduling message transmission and processing in a digital data network
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US8125902B2 (en) Method and system for congestion avoidance in packet switching devices
EP2466824B1 (en) Service scheduling method and device
US7836195B2 (en) Preserving packet order when migrating network flows between cores
EP3907944A1 (en) Congestion control measures in multi-host network adapter
US11165705B2 (en) Data transmission method, device, and computer storage medium
CN112769905B (zh) 一种基于numa架构的飞腾平台下高性能网卡性能优化方法
CN104980359A (zh) 以太网光纤通道的流量控制方法、装置及系统
WO2022089175A1 (zh) 网络拥塞控制方法及装置
US20230283578A1 (en) Method for forwarding data packet, electronic device, and storage medium for the same
CN114079638A (zh) 多协议混合网络的数据传输方法、装置和存储介质
JPH10243000A (ja) スイッチングフロー制御
CN116233018A (zh) 报文处理方法、装置、电子设备及存储介质
US6198725B1 (en) Network element delay allocation for efficient use of network resources
US6804198B1 (en) ATM cell buffer system and its congestion control method
CN112005528A (zh) 一种数据交换方法、数据交换节点及数据中心网络
CN114513463A (zh) 拥塞识别方法及装置
CN106330834B (zh) 一种虚拟通道连接建立方法及装置
EP1331757A2 (en) Processor with reduced memory requirements for high-speed routing and switching of packets
CN114531399A (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
CN110708255A (zh) 一种报文控制方法及节点设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination