CN112822120A - 一种实现拥塞控制的方法、装置和系统 - Google Patents

一种实现拥塞控制的方法、装置和系统 Download PDF

Info

Publication number
CN112822120A
CN112822120A CN201911129885.4A CN201911129885A CN112822120A CN 112822120 A CN112822120 A CN 112822120A CN 201911129885 A CN201911129885 A CN 201911129885A CN 112822120 A CN112822120 A CN 112822120A
Authority
CN
China
Prior art keywords
rate
sending
data stream
network device
target
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.)
Granted
Application number
CN201911129885.4A
Other languages
English (en)
Other versions
CN112822120B (zh
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 CN201911129885.4A priority Critical patent/CN112822120B/zh
Priority to PCT/CN2020/116549 priority patent/WO2021098368A1/zh
Priority to EP20888801.6A priority patent/EP4050855A4/en
Publication of CN112822120A publication Critical patent/CN112822120A/zh
Priority to US17/747,281 priority patent/US20220278936A1/en
Application granted granted Critical
Publication of CN112822120B publication Critical patent/CN112822120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/521Static queue service slot or fixed bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

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

Abstract

本发明实施例公开了一种实现拥塞控制的方法,所述方法包括:获取第一网络设备的拥塞控制信息,所述拥塞控制信息包括所述第一网络设备的第一出端口的总带宽和所述第一出端口的第一队列对应的活跃流的数目,并根据所述拥塞控制信息确定所述活跃流中的第一数据流的发送速率,所述发送速率与所述总带宽正相关、与所述活跃流的数目负相关(如成反比),且所述发送速率用于所述第一数据流的发送设备发送所述第一数据流。由于用于确定数据流发送速率的信息包括该网络设备的出端口总带宽和该出端口的队列对应的活跃流的数目,可以准确反映出网络设备的状况,因此根据该实现方式确定的发送速率可以有效地实现拥塞控制。

Description

一种实现拥塞控制的方法、装置和系统
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种实现拥塞控制的方法、装置和系统。
背景技术
在通信网络中,网络拥塞是影响网络性能的重要因素。拥塞控制一直是保障网络服务质量的重要手段。
进行拥塞控制的常用方法是,数据流的接收设备根据入端口带宽的使用情况确定该数据流的发送速率,并将该发送速率发送给该数据流的发送设备,进而该发送设备根据该发送速率发送该数据流。
接收设备的状态无法准确反映出网络状况,因此根据该方法确定的发送速率无法准确地进行拥塞控制,导致拥塞控制的效果较差。
发明内容
本发明实施例提供了一种实现拥塞控制的方法、装置和系统,用于解决现有技术中存在的拥塞控制效果较差的问题。
第一方面,提供了一种实现拥塞控制的方法,所述方法包括,获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和所述第一出端口的第一队列对应的活跃流的数目,并根据所述第一信息确定所述活跃流中的第一数据流的发送速率,所述发送速率与所述总带宽正相关、与所述活跃流的数目负相关(如与所述活跃流的数目成反比),且所述发送速率用于所述第一数据流的发送设备发送所述第一数据流。
根据第一方面的实现方式,由于用于确定数据流发送速率的信息包括该网络设备的出端口总带宽和该出端口的队列对应的活跃流的数目,可以准确反映出网络设备的状况,因此根据该实现方式确定的发送速率可以有效地实现拥塞控制。
第二方面,提供了一种实现拥塞控制的方法,所述方法包括,获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备,并根据所述第一信息确定目标数据流的总发送速率,所述目标数据流为所述目标发送设备中的第一发送设备通过所述第一网络设备发送的与所述第一队列对应的全部数据流,所述总发送速率与所述总带宽正相关、与所述目标发送设备的数目负相关(如与所述目标发送设备的数目成反比),且所述总发送速率用于所述第一发送设备发送所述目标数据流。
第三方面,提供了一种实现拥塞控制的方法,所述方法包括,获取第一速率,所述第一速率用于所述第一发送设备发送目标数据流,所述目标数据流包括至少一个数据流,并根据所述第一速率确定所述目标数据流的每个数据流的发送速率。进而,对于所述目标数据流的每个数据流,根据对应的发送速率发送所述数据流,具体可以是以对应的发送速率发送所述数据流。
第四方面,提供了一种实现拥塞控制的装置,所述装置包括获取单元和确定单元。
所述获取单元,用于获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和所述第一出端口的第一队列对应的活跃流的数目。
所述确定单元,用于根据所述第一信息确定所述活跃流中的第一数据流的发送速率,所述发送速率与所述总带宽正相关、与所述活跃流的数目负相关,且所述发送速率用于所述第一数据流的发送设备发送所述第一数据流。
第五方面,提供了一种实现拥塞控制的装置,所述装置包括获取单元和确定单元。
所述获取单元,用于获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备。
所述确定单元,用于根据所述第一信息确定目标数据流的总发送速率,所述目标数据流为所述活跃流中来自所述目标发送设备中的第一发送设备的全部数据流,所述总发送速率与所述总带宽正相关、与所述目标发送设备的数目负相关,且所述总发送速率用于所述第一发送设备发送所述目标数据流。
第六方面,提供了一种实现拥塞控制的装置,所述装置包括获取单元、确定单元和通信单元。
所述获取单元用于获取第一速率,所述第一速率用于发送目标数据流,所述目标数据流包括至少一个数据流;
所述确定单元用于,根据所述第一速率确定所述目标数据流的每个数据流的发送速率。
第七方面,提供了一种实现拥塞控制的系统,所述系统包括第一发送设备和第一网络设备;
所述第一网络设备用于获取所述第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备,并用于根据所述第一信息确定目标数据流的总发送速率,所述目标数据流为所述活跃流中来自所述目标发送设备中的第一发送设备的全部数据流,所述总发送速率与所述总带宽正相关、与所述目标发送设备的数目成反比,且所述总发送速率用于所述第一发送设备发送所述目标数据流,还用于向所述第一发送设备发送所述总发送速率;
所述第一发送设备用于从所述第一网络设备接收所述总发送速率,根据所述总发送速率确定所述目标数据流的每个数据流的发送速率。
第八方面,提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如第一方面、第二方面或第三方面所述的方法。
本申请提供的技术方案带来的有益效果至少包括:由于用于确定数据流发送速率的信息包括该网络设备的出端口总带宽和该出端口的队列对应的活跃流的数目,可以准确反映出网络设备的状况,因此根据该实现方式确定的发送速率可以有效地实现拥塞控制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的通信系统100的组网结构示意图;
图2为本发明实施例提供的方法200的流程示意图;
图3为本发明实施例提供的方法300的流程示意图;
图4A-4B为本发明实施例提供的一种示例实施方式的示意图;
图5A-5B为本发明实施例提供的另一种示例实施方式的示意图;
图6为本发明实施例提供的装置600的结构示意图;
图7为本发明实施例提供的装置700的结构示意图;
图8是本发明实施例提供的装置1000的结构示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
图1为本发明实施例提供的一种通信系统100的组网结构示意图,通信系统100包括通信设备110和通信网络120。通信设备110具体可以是用户终端、服务器等。不同的通信设备110之间可以通过通信网络120进行通信。通信网络120包括多个网络设备130。网络设备130具体可以是交换机、路由器等。
通信网络120包括与通信设备110直接连接的网络设备130(如网络设备130B)和与通信设备110间接连接的网络设备130(如网络设备130E)。在本发明实施例中,网络设备和通信设备直接连接指的是,该网络设备和通信设备之间没有其它网络设备,在其它通信设备向该通信设备发送的数据流的路径上,该网络设备为该通信设备的上一跳;网络设备和通信设备间接连接指的是,该网络设备和通信设备之间存在其它网络设备,在其它通信设备向该通信设备发送的数据流的路径上,该网络设备为位于其它网络设备与该通信设备的上一跳之间的网络设备。为便于描述,后续将与通信设备直接连接的网络设备称为最后一跳节点,将与通信设备间接连接的网络设备称为中间节点。
通信网络120具体可以是数据中心网络,数据中心网络可以包含多个交换机,如骨干交换机(Spine Switch)、机架上(Top Of Rack,TOR)交换机。其中,骨干交换机为中间节点,TOR交换机为最后一跳节点。
当不同的通信设备110之间通过通信网络120通信时,发送数据流的通信设备(如网络设备110A)为该数据流的发送设备,接收该数据流的通信设备(如通信设备110B)为该数据流的接收设备。在传输该数据流的路径上,与该接收设备连接的网络设备(如网络设备130B)为该接收设备的上一跳,也可以称为该路径上的最后一跳网络设备。
在本发明实施例中,为了控制网络拥塞,可以在通信网络120的一个或多个网络设备处进行拥塞控制,即利用该网络设备的拥塞控制信息进行拥塞控制。为便于描述,后续还可以将该网络设备称为拥塞控制点。
如图1所示,如果在网络设备130E和网络设备130B处进行拥塞控制,则通信系统100中的拥塞控制点包括网络设备130E和网络设备130B。
在拥塞控制点处进行拥塞控制时,可以针对该拥塞控制点的所有出端口进行拥塞控制,即控制通过所有出端口转发的数据流的发送设备发送该数据流的速率,也可以针对该拥塞控制点的部分出端口进行拥塞控制,即控制通过该部分出端口转发的数据流的发送设备发送该数据流的速率。针对任一出端口均可以采用本发明实施例中的方法。
一个出端口可能仅对应一个队列,也可能对应多个队列。每个队列用于传输至少一个数据流的数据包。进行拥塞控制时,可以针对该出端口的所有队列进行拥塞控制,也可以针对该出端口的部分队列进行拥塞控制。针对任一出端口的任一队列均可以采用本发明实施例中的方法。
所述数据流具体可以是TCP(Transfer Control Protocol,传输控制协议)流、UDP(User Datagram Protocol,用户数据报协议)流、远程直接内存存取(Remote DirectMemory Access,RDMA)流等。
根据本发明实施例,在基于一个队列进行拥塞控制时,需要识别该队列对应的活跃数据流(简称为活跃流)。活跃流可以是指在统计周期内正在传输数据包的数据流。该队列对应的活跃流的数目,指的是该队列中的数据包所属的数据流的数目,即该队列对应的,且在统计周期内正在传输数据包的数据流。具体可以根据专利申请号为CN201811119974.6的专利申请或专利申请号为CN201811119579.8的专利申请中提供的方法识别活跃流。
下面结合图2和图3介绍本发明实施例一提供的方法200和300。
在方法200中,确定单个活跃流的发送速率,进而该活跃流的发送设备以该发送速率发送该活跃流。
在方法300中,确定发送设备发送的活跃流的总发送速率,进而该发送设备根据该总发送速率确定本设备发送的每个活跃流的发送速率,并以该发送速率发送每个活跃流。
为便于描述,后续将方法200中作为拥塞控制点的网络设备称为网络设备A。网络设备A可能包括多个出端口,每个出端口可能对应多个队列,对其中任一出端口的任一队列均可以采用方法200进行拥塞控制。为便于表述,后续在方法200中,将网络设备A的拥塞控制信息称为信息a,将网络设备A的进行拥塞控制的出端口称为出端口p,将出端口p的进行拥塞控制的队列称为队列m。网络设备A具体可以是通信系统100中的任一网络设备130。
类似地,后续将方法300中作为拥塞控制点的网络设备称为网络设备B。网络设备B可能包括多个出端口,每个出端口可能对应多个队列,对其中任一出端口的任一队列均可以采用方法300进行拥塞控制。为便于表述,后续在方法300中,将网络设备B的拥塞控制信息称为信息b,将网络设备B的进行拥塞控制的出端口称为出端口q,将出端口q的进行拥塞控制的队列称为队列n。网络设备B具体可以是通信系统100中的任一网络设备130,在一种具体实现方式中,具体可以是是通信系统100中的任一与通信设备110直接连接的网络设备130。
如图2所示,方法200包括如下步骤。
步骤201:获取网络设备A的信息a,信息a包括网络设备A的出端口p的总带宽和出端口p的队列m对应的活跃流的数目。
步骤202:根据信息a确定该活跃流中的至少一个活跃流(后续称为第一数据流)的发送速率。
该发送速率用于该第一数据流的发送设备发送该第一数据流。
该发送速率与该总带宽正相关。在具体实现时,该发送速率可以与该总带宽成正比。
该发送速率还与该活跃流的数目负相关。在具体实现时,该发送速率可以与该活跃流的数目成反比。如,直接将该总带宽与该活跃流的数目的商作为该发送速率。
如果队列m对应多个活跃流,可以确定其中部分数据流(如其中1个数据流)的发送速率,也可以确定该多个活跃流中每个数据流的发送速率,确定的各个数据流的发送速率可以相同,如,将该总带宽与该活跃流的数目的商作为每个数据流的发送速率。
为了充分利用端口p的带宽,提升端口p的吞吐率,在确定该发送速率时还可以使用出端口p的已占用带宽,即信息a还包括出端口p的已占用带宽,该发送速率与该已占用带宽负相关。
由于队列m的队列深度反应了当前的拥塞程度或拥塞风险程度,进一步地,在确定该发送速率时还可以使用队列m的队列深度。即信息a还包括队列m的队列深度,该发送速率与该队列深度负相关。
在一种实施方式(后续称为实施方式X1)中,方法200可以由网络设备A执行。相应地,在执行步骤202之后,网络设备A还向该发送设备发送该发送速率。进而,该发送设备以该发送速率发送该第一数据流。在具体实现时,如果队列m对应多个活跃流,网络设备A可以在步骤202中确定每个活跃流的发送速率,并向每个活跃流的发送设备发送该活跃流的发送速率,进而,该活跃流的发送设备以该发送速率发送该活跃流。
具体地,网络设备A可以在检测到触发条件时执行步骤202,该触发条件包括如下条件中的至少一个:
队列m对应的活跃流的数目发生变化;
队列m的队列深度超过队列深度阈值或队列m的使用率超过队列使用率阈值(如80%);
端口q的已占用带宽超过带宽阈值或端口q的带宽占用率超过带宽占用率阈值(如80%)。
在另一种实施方式(后续称为实施方式Y1)中,方法200可以由该第一数据流的发送设备执行。相应地,该第一数据流的发送设备从网络设备A接收信息a。网络设备A可以在检测到上述触发条件时向该第一数据流的发送设备发送信息a。在具体实现时,如果队列m对应多个活跃流,网络设备A可以向每个活跃流的发送设备发送信息a。相应地,该活跃流的发送设备执行步骤202确定该活跃流的发送速率,进而以该发送速率发送该活跃流。
在再一种实施方式(后续称为实施方式Z1)中,方法200可以由该第一数据流的接收设备执行。相应地,该第一数据流的接收设备从网络设备A接收信息a,并在执行方法202确定该第一数据流的发送速率之后将该第一数据流的发送速率发送给该第一数据流的发送设备。网络设备A可以在检测到上述触发条件时向该第一数据流的接收设备发送信息a。在具体实现时,如果队列m对应多个活跃流,网络设备A可以向每个活跃流的接收设备发送信息a。相应地,该活跃流的接收设备执行步骤202确定该活跃流的发送速率,将该发送速率发送给该活跃流的发送设备,进而该活跃流的发送设备以该发送速率发送该活跃流。
如图3所示,方法300包括如下步骤。
步骤301:获取网络设备B的信息b,信息b包括网络设备B的出端口q的总带宽和出端口q的队列n对应的活跃流的发送设备的数目。
为便于表述,后续将队列n对应的活跃流的发送设备称为目标发送设备。
假设队列n对应的活跃流有3条,其中两条活跃流的发送设备为设备1,一条活跃流的发送设备为设备2,则队列n对应的活跃流的发送设备的数目,即目标发送设备的数目,为2。
步骤302:根据信息b确定该目标发送设备中的至少一个发送设备(后续称为第一发送设备)发送目标数据流的总发送速率。
该目标数据流指的是该第一发送设备通过网络设备B发送的与所述第一队列对应的全部数据流。需要说明的是,该目标数据流可能包括一个数据流,也可能包括多个数据流。
网络设备B具体可以为最后一跳节点,网络设备B为上述活跃流的路径上的最后一跳网络设备,由于一个出端口仅能连接一个通信设备,因此,上述活跃流对应的是相同的接收设备。在统计该目标发送设备的数目时,网络设备B可以统计活跃数据流中对应相同目的IP(即出端口q所连接的接收设备的IP)的源IP的数目。
该总发送速率与该总带宽正相关。在具体实现时,该总发送速率可以与该总带宽成正比。
该总发送速率还与该活跃流的数目负相关。在具体实现时,该总发送速率可以与该目标发送设备的数目成反比。如,直接将该总带宽与该目标发送设备的数目的商作为该总发送速率。
如果存在多个目标发送设备,可以确定其中部分目标发送设备(如其中1个目标发送设备)对应的总发送速率,也可以确定该多个目标发送设备中每个目标发送设备对应的总发送速率,确定的各个目标发送设备对应的总发送速率可以相同,如,将该总带宽与该目标发送设备的数目的商作为每个目标发送设备对应的总发送速率。
为了充分利用端口q的带宽,提升端口q的吞吐率,在确定该总发送速率时还可以使用出端口q的已占用带宽,即信息b还包括出端口q的已占用带宽,该总发送速率与该已占用带宽负相关。
由于队列n的队列深度反应了当前的拥塞程度或拥塞风险程度,进一步地,在确定该总发送速率时还可以使用队列n的队列深度。即信息b还包括队列n的队列深度,该总发送速率与该队列深度负相关。
在一种实施方式(后续称为实施方式X2)中,方法300可以由网络设备B执行。相应地,在执行步骤302之后,网络设备B还向该第一发送设备发送该总发送速率。进而,该第一发送设备以该总发送速率发送该目标数据流,具体地,根据该总发送速率确定本设备发送的属于该目标数据流的每个数据流的发送速率,并以该发送速率发送相应数据流。如果该目标数据流仅包括一个数据流,则可以直接将该总发送速率作为该数据流的发送速率;如果该目标数据流包括多个数据流,可以将该总发送速率平均分配给该多个数据流,也可以根据各个数据流的当前发送速率分配该总发送速率,如,分配给各个数据流的发送速率的大小与该数据流的当前发送速率的大小正相关(如成正比)。
在具体实现时,如果队列n对应多个目标发送设备,网络设备B可以在步骤302中确定每个目标发送设备对应的总发送速率,并向每个目标发送设备发送对应的总发送速率,进而,该目标发送设备以该总发送速率发送对应的目标数据流。
具体地,网络设备B可以在检测到触发条件时执行步骤302,该触发条件包括如下条件中的至少一个:
队列m对应的目标发送设备的数目发生变化;
队列m的队列深度超过队列深度阈值或队列m的使用率超过队列使用率阈值(如80%);
端口q的已占用带宽超过带宽阈值或端口q的带宽占用率超过带宽占用率阈值(如80%)。
在另一种实施方式(后续称为实施方式Y2)中,方法300可以由该第一发送设备执行。相应地,该第一发送设备从网络设备B接收信息b。网络设备B可以在检测到上述触发条件时向该第一发送设备发送信息b。在具体实现时,如果队列n对应多个目标发送设备,网络设备B可以向每个目标发送设备发送信息b。相应地,该目标发送设备执行步骤202确定对应的的总发送速率,进而以该总发送速率发送对应的数据流。
在再一种实施方式(后续称为实施方式Z2)中,方法300可以由该目标数据流的接收设备执行。相应地,该目标数据流的接收设备从网络设备B接收信息b。网络设备B可以在检测到上述触发条件时向该目标数据流的接收设备发送信息b。相应地,该接收设备执行步骤302确定该目标数据流的总发送速率,将该总发送速率发送给该目标数据流的发送设备,进而该目标数据流的发送设备以该总发送速率发送该目标数据流。
下面介绍计算方法200中的发送速率和方法300中的总发送速率的具体实现方式。为便于表述,将网络设备A和网络设备B统称为目标网络设备,将出端口p和出端口q统称为目标出端口,将队列m和队列n统称为目标队列,将方法200中的发送速率和方法300中的总发送速率统称为目标速率。
在上述方法200和300中,可以根据如下公式计算该目标速率。
Figure BDA0002277998040000061
其中,rate为所述目标发送速率,C为该目标出端口的总带宽,Cout为该目标出端口的已占用带宽,qLen为该目标队列的队列深度,α和β均为大于0且小于1的常数,T为预设时长。T可以为预设的要将目标队列中的当前数据发送完的时长。可以理解为,在该目标队列无新的数据包进入的前提下,经过该预设时长后,该目标队列会清空,因此也可以将T称为队列清空时长。
该公式用于方法200时,rate为所述发送速率,C为出端口p的总带宽,Cout出端口p的已占用带宽,N为队列m对应的活跃流的数目,qLen为队列m的队列深度。
该公式用于方法300时,rate为所述总发送速率,C为出端口q的总带宽,Cout出端口q的已占用带宽,N为队列n对应的活跃流的发送设备的数目,qLen为队列n的队列深度。
在上述公式1中,C1/N用于公平分配带宽。当新数据流加入导致队列深度增大时,可以降低数据流的发送速率以排空队列,其中排空队列的力度可以通过参数β控制。为了增加出端口吞吐,可以增加数据流的发送速率,以防止出现欠吞吐问题,增速力度可以通过参数α控制。
如果该目标出端口对应不止一个队列,对于每个队列均可以采用该公式计算该目标速率。
如果其中多个队列的优先级相同但对应的权重不同,对于具有相同优先级的多个队列中的任一队列,还可以根据该队列的权重和与其具有相同优先级的其它队列的权重计算该队列的目标速率,其中,计算的该队列的目标速率与该队列的权重正相关。
如图4所示,该目标网络设备包括8个队列。队列1的优先级高于队列2,队列2的优先级高于队列3,队列3至队列6的优先级相同,队列6的优先级高于队列7,队列7的优先级高于队列8。队列1至队列8的队列深度依次为qLen1至qLen8。队列3至6采用加权循环调度(weighted round robin,WRR)算法调度,权重依次为w1、w2、w3、w4,队列3-6的整体与队列1、2、7、8采用严格优先级(strict priority,SP)算法调度。
对于队列1、2、7、8中的任一队列,均可以采用公式1计算目标速率。
对于队列3至6,可以分别采用如下公式计算目标速率。
队列3:
Figure BDA0002277998040000071
队列4:
Figure BDA0002277998040000072
队列5:
Figure BDA0002277998040000073
队列6:
Figure BDA0002277998040000074
公式2-1至2-4用于方法200时,N3至N6分别为队列3至队列6对应的活跃流的数目,用于方法300时,N3至N6分别为队列3至队列6对应的活跃流的发送设备的数目。
在方法200和方法300中,均可以控速报文携带速率(如方法200中的第一数据流的发送速率、方法300中的总发送速率)。该控速报文具体可以是拥塞通知报文(congestionnotification packet,CNP)、确认(Acknowledge,ACK)报文等。
在方法200中,该控速报文还可以包括该第一数据流的标识,如该第一数据流的五元组。
在方法300中,该控速报文还可以包括所述目标数据流的接收设备的标识,如所述接收设备的因特网协议(Internet Protocol,IP)地址,所述接收设备的标识用于所述发送设备确定属于所述目标数据流的数据流。
当端口q对应多个队列时,由于不同队列通常对应的数据流优先级不同,该控速报文还可以包括队列n对应的数据流优先级,所述数据流优先级用于所述发送设备确定属于所述目标数据流的数据流,即将具有该数据流优先级的数据流确定为属于所述目标数据流的数据流。所述数据流优先级具体可以是无线局域网(Wireless Local Network,WLAN)优先级、DSCP(Differentiated Service Code Point,差分服务码点)值等。如,队列n用于传输DSCP值为x和y的数据流,则该控速报文可以携带DSCP值x和y,相应地,该第一发送设备将DSCP值为x和y的数据流确定为属于该目标数据流的数据流。
在一种具体实施方式中,网络设备B为最后一跳节点,发送的控速报文包括该接收设备的标识,如果端口q对应多个队列,该控速报文进一步还包括队列n对应的数据流优先级。
在另一种具体实施方式中,网络设备B为中间节点,端口q对应多个队列,发送的控速报文包括队列n对应的数据流优先级。
下面结合图4A和4B介绍采用方法200的一种拥塞控制示例实施方式。
如图4A所示,在该示例实施方式中,通信设备110A通过网络设备130A、130E、130B向通信设备110B发送数据流11和数据流12,通信设备110C通过网络设备130D、130E、130C向通信设备110D发送数据流21。网络设备130E为拥塞控制点。
如图4B所示,该示例实施方式包括如下步骤。
步骤401:通信设备110A通过网络设备130E向通信设备110B发送数据流11和数据流12。
步骤402:通信设备110C通过网络设备130E向通信设备110D发送数据流21。
在该示例实施方式中,假定网络设备130E通过同一出端口的同一队列发送数据流11、12和21。
步骤403:网络设备130E执行方法200以确定数据流11的发送速率11、数据流12的发送速率12和数据流21的发送速率21。
确定的发送速率11、12和21通常是相同的速率。如,将根据公式1计算的发送速率作为发送速率11、12和21。
需要说明的是,步骤401和步骤402中发送数据流的动作均为持续性的动作,在执行步骤403时,数据流11、12和21均为活跃流。
步骤404:网络设备130E向通信设备110A发送发送速率11和发送速率12。
具体可以通过向通信设备110A发送的一个控速报文携带发送速率11和发送速率12,也可以通过向通信设备110A发送的不同控速报文分别携带发送速率11和发送速率12。
步骤405:网络设备130E向通信设备110C发送发送速率21。
步骤406:通信设备110A以发送速率11发送数据流11,并以发送速率12发送数据流12。
步骤407:通信设备110C以发送速率21发送数据流21。
需要说明的是,步骤404和步骤405没有特定的先后顺序。
下面结合图5A和5B介绍采用方法300的一种拥塞控制示例实施方式。
如图5A所示,在该示例实施方式中,通信设备110A通过网络设备130A、130E、130B向通信设备110B发送数据流11和数据流12,通信设备110C通过网络设备130D、130E、130B向通信设备110B发送数据流22。网络设备130B为拥塞控制点。
如图5B所示,该示例实施方式包括如下步骤。
步骤501:通信设备110A通过网络设备130B向通信设备110B发送数据流11和数据流12。
步骤502:通信设备110C通过网络设备130B向通信设备110B发送数据流22。
在该示例实施方式中,假定网络设备130B通过同一出端口的同一队列发送数据流11、12和22。
步骤503:网络设备130B执行方法300以确定通信设备110A发送的数据流(即数据流11和数据流12)的总发送速率1和通信设备110C发送的数据流(即数据流2)的总发送速率2。
确定的总发送速率1和总发送速率2通常是相同的速率。如,将根据公式1计算的总发送速率作为总发送速率1和总发送速率2。
需要说明的是,步骤501和步骤502中发送数据流的动作均为持续性的动作,在执行步骤503时,数据流11、12和22均为活跃流。
步骤504:网络设备130B向通信设备110A发送总发送速率1。
步骤505:网络设备130B向通信设备110C发送总发送速率2。
步骤506-507:通信设备110A根据总发送速率1确定数据流11的发送速率11和数据流12的发送速率12,并以发送速率11发送数据流11、以发送速率12发送数据流12。
步骤508-509:通信设备110C将总发送速率2确定为数据流22的发送速率22,并以发送速率22发送数据流22。
需要说明的是,步骤506-507和步骤508-509没有特定的先后顺序。
在实际的网络环境中,通常会在数据流路径上的最后一跳网络设备处发生拥塞(后续称为最后一跳拥塞)。该拥塞主要是由流量多打一导致,即,该网络设备需要将通过多个端口接收到数据流通过一个端口发送给与该网络设备直连的通信设备,从而导致拥塞。为了解决该问题,可以在与通信设备直接连接的网络设备(如网络设备130B)上基于以该网络设备为最后一跳网络设备的数据流进行拥塞控制。具体地,可以在该网络设备上实现方法300以解决最后一跳拥塞的问题。
在具体实现时,方法200和方法300可以配合使用。
如,在与通信设备直接连接的网络设备(如网络设备130B)上实现方法300,在与通信设备间接连接的网络设备(如网络设备130E)上实现方法200。
当方法200和方法300配合使用时,发送设备接收的速率可能是单个数据流的发送速率,也可能是至少一个数据流组成的目标数据流的总发送速率。因此,携带速率的控速报文还携带类型标识,该类型标识用于标识该控速报文携带的速率是单个数据流的发送速率,还是至少一个数据流组成的目标数据流的总发送速率。相应地,该发送设备根据接收的控速报文中的类型标识识别该控速报文中携带的速率的类型。如果该速率为单个数据流(即该第一数据流)的发送速率,则可以直接以该发送速率发送对应的数据流,如果该速率为至少一个数据流组成的目标数据流的总发送速率,则根据该速率确定其中单个数据流的发送速率,并以确定的单个数据流的发送速率发送对应的数据流。
需要说明的是,不管是单独采用方法200或方法300,还是方法200和方法300配合使用,当一个发送设备发送的数据流的路径上存在多个拥塞控制点时,该发送设备可能会接收到多个控速报文,则可以将该数据流对应的多个发送速率中的最小发送速率确定为发送该数据流的发送速率。如,方法200和方法300配合使用时,可能同时接收到该目标数据流的总发送速率和该第一数据流的发送速率,则在根据该目标数据流的总发送速率确定该第一数据流的发送速率后,可以以确定的该第一数据流的发送速率和接收的该第一数据流的发送速率中的最小值发送该第一数据流。
根据本发明实施例1,本发明实施例2提出了一种实现拥塞控制的装置600,装置600用于执行本发明实施例1的方法200或300。如图6所示,装置600包括:获取单元610、确定单元620和通信单元630。
装置600用于实现方式200时,获取单元610用于执行方法200的步骤201,确定单元620用于执行方法200的步骤202。
具体地,获取单元610用于获取网络设备A的信息a,信息a包括网络设备A的出端口p的总带宽和出端口p的队列m对应的活跃流的数目。确定单元620用于根据信息a确定该活跃流中的至少一个活跃流(即第一数据流)的发送速率。
在一种实施方式中,装置600具体为网络设备A,该通信单元630用于向该发送设备发送该发送速率。
在另一种实施方式中,装置600具体为该第一数据流的发送设备。该通信单元630用于从网络设备A接收信息a,并将信息a发送给该获取单元610。通信单元630还用于以该发送速率发送该第一数据流。
在再一种实施方式中,装置600具体为该第一数据流的接收设备。该通信单元630用于从网络设备A接收信息a,并将信息a发送给该获取单元610,还用于将该第一数据流的发送速率发送给该第一数据流的发送设备。
装置600用于实现方式300时,获取单元610用于执行方法300的步骤301,确定单元620用于执行方法300的步骤302。
具体地,获取单元610用于获取网络设备B的信息b,信息b包括网络设备B的出端口q的总带宽和出端口q的队列n对应的活跃流的发送设备(后续称为目标发送设备)的数目。确定单元620用于根据信息b确定该目标发送设备中的至少一个发送设备(后续称为第一发送设备)发送目标数据流的总发送速率。
在一种实施方式中,装置600具体为网络设备B,该通信单元630用于向该发送设备发送该总发送速率。
在另一种实施方式中,装置600具体为该第一发送设备。该通信单元630用于从网络设备B接收信息b。该获取单元610具体用于获取该通信单元630接收的信息b。如果该目标数据流包括多个数据流,该确定单元620还用于根据该总发送速率确定所述目标数据流的每个数据流的发送速率。该通信单元630还用于,对于所述目标数据流的每个数据流,以对应的发送速率发送所述数据流。
在再一种实施方式中,装置600具体为该目标数据流的接收设备。该通信单元630用于从网络设备B接收信息b,还用于将该目标数据流的发送速率发送给该目标数据流的发送设备。该获取单元610具体用于获取该通信单元630接收的信息b。
根据本发明实施例1,本发明实施例3提出了一种实现拥塞控制的装置700。如图7所示,装置700包括:获取单元710、确定单元720和通信单元730。
获取单元700用于获取目标数据流的总发送速率,该目标数据流可能包括一个数据流,也可能包括多个数据流。
当该目标数据流包括多个数据流时,确定单元720用于根据所述目标数据流的发送速率确定所述目标数据流的每个数据流的发送速率。相应地,通信单元730用于,对于所述目标数据流的每个数据流,根据对应的发送速率发送所述数据流,如,以对应的发送速率发送所述数据流。
当该目标数据流仅包括一个数据流(称为第一数据流)时,确定单元720用于将所述目标数据流的发送速率确定为该第一数据流的发送速率,通信单元730用于,根据所述目标数据流的发送速率发送所述第一数据流,如,以所述目标数据流的发送速率发送所述第一数据流。
该总发送速率具体可以是根据本发明实施例一的方法300确定的,即是根据在该目标数据流的路径上位于装置700和目标数据流的接收设备之间的网络设备B的信息b确定的,信息b包括网络设备B的出端口q的总带宽和出端口q的队列n对应的活跃流的发送设备(即目标发送设备)的数目。所述目标发送设备包括装置700,所述目标数据流即为来自装置700的与队列n对应的全部数据流。
如果采用本发明实施例一的实施方式X2,通信单元730还用于从网络设备B接收该总发送速率,相应地,获取单元700具体用于从该通信单元730接收该总发送速率。
如果采用实施方式Y2,通信单元730还用于从网络设备B接收信息b,相应地,获取单元700具体用于从该通信单元730接收信息b,并根据信息b确定该目标数据流的总发送速率。
如果采用本发明实施例一的实施方式Z2,通信单元730还用于从该目标网络设备的接收设备接收该总发送速率,相应地,获取单元700具体用于从该通信单元730接收该总发送速率。
在具体实现时,可以由该目标数据流的接收设备的上一跳通过方法300确定该总发送速率,另外,该目标数据流中的某个数据流(即第一数据流)的路径上的中间节点还可以通过方法200确定该第一数据流的发送速率,并采用实施方式Z1将该第一数据流的发送速率发送给装置700。
则该装置700接收的速率可能是单个数据流的发送速率,也可能是至少一个数据流组成的目标数据流的总发送速率。因此,携带速率的控速报文还携带类型标识,该类型标识用于标识该控速报文携带的速率是单个数据流的发送速率,还是至少一个数据流组成的目标数据流的总发送速率。相应地,确定单元720还用于根据接收的控速报文中的类型标识识别该控速报文中携带的速率的类型。当通信单元730同时接收到该目标数据流的总发送速率和该第一数据流的发送速率时,在根据该目标数据流的总发送速率确定该第一数据流的发送速率后,可以以确定的该第一数据流的发送速率和接收的该第一数据流的发送速率中的最小值发送该第一数据流。
根据本发明实施例1,本发明实施例4提出了一种实现拥塞控制的装置1000。装置1000具体可以是网络设备,如交换机、路由器,也可以是通信设备,如用户终端、服务器。如图8所示,装置1000包括处理器1010和通信接口1020,还可以包括存储器1030。其中,处理器1010、通信接口1020、存储器1030之间可以通过总线完成相互间的通信。
处理器1010,具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1030,具体可以是高速随机存取存储器(Random Access Memory,RAM)存储器,也可以是非易失性存储器(non-volatile memory)。
处理器1010用来执行本发明实施例1中的方法200或300中的操作,或者执行本发明实施例1中的第一数据流或目标数据流的发送设备执行的操作。具体可以是通过执行存储器1020中存放的计算机操作指令执行该操作。通信接口1020用于与其它设备通信。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (37)

1.一种实现拥塞控制的方法,其特征在于,所述方法包括:
获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和所述第一出端口的第一队列对应的活跃流的数目;
根据所述第一信息确定所述活跃流中的第一数据流的发送速率,所述发送速率与所述总带宽正相关、与所述活跃流的数目负相关,且所述发送速率用于所述第一数据流的发送设备发送所述第一数据流。
2.如权利要求1所述的方法,其特征在于,所述发送速率与所述活跃流的数目成反比。
3.如权利要求1或2所述的方法,其特征在于,所述第一信息还包括所述第一出端口的已占用带宽,所述发送速率与所述已占用带宽负相关。
4.如权利要求1-3任一所述的方法,其特征在于,所述第一信息还包括所述第一队列的队列深度,所述发送速率与所述队列深度负相关。
5.如权利要求1所述的方法,其特征在于,所述第一信息还包括所述第一出端口的已占用带宽和所述第一队列的队列深度,所述根据所述第一信息确定所述活跃流中的第一数据流的发送速率包括:
根据如下公式确定所述发送速率:
Figure FDA0002277998030000011
其中,rate为所述第一数据流的发送速率,C1为所述总带宽,Cout为所述已占用带宽,N为所述活跃流的数目,qLen为所述队列深度,T为预设时长,α和β均为大于0且小于1的常数。
6.如权利要求1-5任一所述的方法,其特征在于,所述方法由所述第一网络设备执行;
所述方法还包括,向所述发送设备发送所述发送速率。
7.如权利要求6所述的方法,其特征在于,所述根据所述第一信息确定所述活跃流中的第一数据流的发送速率包括,在检测到触发条件时根据所述第一信息确定所述发送速率,所述触发条件包括如下条件中的至少一个:
所述第一队列对应的活跃流的数目发生变化;
所述第一队列的队列深度超过队列深度阈值或所述第一队列的使用率超过队列使用率阈值;
所述第一端口的已占用带宽超过带宽阈值或所述第一端口的带宽占用率超过带宽占用率阈值。
8.如权利要求1-7任一所述的方法,其特征在于,所述方法由所述第一数据流的发送设备执行;
所述方法还包括,从所述第一网络设备接收所述第一信息。
9.如权利要求1-7任一所述的方法,其特征在于,所述方法由所述第一数据流的接收设备执行;
所述方法还包括:
从所述第一网络设备接收所述第一信息;
向所述发送设备发送所述第一速率。
10.如权利要求1-9任一所述的方法,其特征在于,在传输所述第一数据流的路径上,所述第一网络设备为位于所述发送设备和所述第一数据流的接收设备的上一跳之间的网络设备。
11.一种实现拥塞控制的方法,其特征在于,所述方法包括:
获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备;
根据所述第一信息确定目标数据流的总发送速率,所述目标数据流为所述目标发送设备中的第一发送设备通过所述第一网络设备发送的与所述第一队列对应的全部数据流,所述总发送速率与所述总带宽正相关、与所述目标发送设备的数目负相关,且所述总发送速率用于所述第一发送设备发送所述目标数据流。
12.如权利要求11所述的方法,其特征在于,所述总发送速率与所述目标发送设备的数目成反比。
13.如权利要求11或12所述的方法,其特征在于,所述第一信息还包括所述第一出端口的已占用带宽,所述总发送速率与所述已占用带宽负相关。
14.如权利要求11-13任一所述的方法,其特征在于,所述第一信息还包括所述第一队列的队列深度,所述总发送速率与所述队列深度负相关。
15.如权利要求11所述的方法,其特征在于,所述第一信息还包括所述第一出端口的已占用带宽和所述第一队列的队列深度,所述根据所述第一信息确定目标数据流的总发送速率包括:
根据如下公式确定所述总发送速率:
Figure FDA0002277998030000021
其中,rate为所述总发送速率,C1为所述总带宽,Cout为所述已占用带宽,N为所述目标发送设备的数目,qLen为所述队列深度,T为预设时长,α和β均为大于0且小于1的常数。
16.如权利要求11-15任一所述的方法,其特征在于,所述方法由所述第一网络设备执行;
所述方法还包括,向所述第一发送设备发送所述总发送速率。
17.如权利要求16所述的方法,其特征在于,所述根据所述第一信息确定目标数据流的总发送速率包括,在检测到触发条件时根据所述第一信息确定所述发送速率,所述触发条件包括如下条件中的至少一个:
所述目标发送设备的数目发生变化;
所述第一队列的队列深度超过队列深度阈值或所述第一队列的使用率超过队列使用率阈值;
所述第一端口的已占用带宽超过带宽阈值或所述第一端口的带宽占用率超过带宽占用率阈值。
18.如权利要求16或17所述的方法,其特征在于,所述向所述第一发送设备发送所述总发送速率包括:向所述第一发送设备发送控速报文,所述控速报文包括所述总发送速率;
所述控速报文还包括所述目标数据流的接收设备的标识,所述接收设备的标识用于所述发送设备确定属于所述目标数据流的数据流。
19.如权利要求18所述的方法,其特征在于,所述控速报文还包括所述第一队列对应的数据流优先级,所述接收设备的标识和所述数据流优先级用于所述发送设备确定属于所述目标数据流的数据流。
20.如权利要求11-19任一所述的方法,其特征在于,在传输所述目标数据流的路径上,所述第一网络设备为所述接收设备的上一跳。
21.一种实现拥塞控制的方法,其特征在于,所述方法由第一发送设备执行,包括:
获取第一速率,所述第一速率用于所述第一发送设备发送目标数据流,所述目标数据流包括至少一个数据流;
根据所述第一速率确定所述目标数据流的每个数据流的发送速率。
22.如权利要求21所述的方法,其特征在于,所述获取第一速率包括,接收控速报文,所述控速报文包括所述第一速率;
所述控速报文还包括所述目标数据流的接收设备的标识;
所述根据所述第一速率确定所述目标数据流的每个数据流的发送速率之前还包括,根据所述目标数据流的接收设备的标识确定属于所述目标数据流的所述多个数据流。
23.如权利要求21所述的方法,其特征在于,所述获取第一速率包括:
从所述目标数据流的传输路径上的网络设备接收第一信息,所述第一信息包括所述网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备,其中,所述目标发送设备包括所述第一发送设备;
根据所述第一信息确定所述第一速率,所述第一速率与所述总带宽正相关、且与所述目标发送设备的数目成反比。
24.如权利要求21或22所述的方法,其特征在于,所述获取第一速率包括:从第一网络设备接收所述第一速率,在所述目标数据流的传输路径上,所述第一网络设备为所述目标数据流的接收设备的上一跳;
所述方法还包括:
从第二网络设备接收第二速率,所述第二速率用于所述第一发送设备发送所述目标数据流中的第一数据流,在所述第一数据流的传输路径上,所述第二网络设备为所述第一发送设备和所述第一网络设备之间的网络设备;
以所述第二速率和根据所述第一速率确定的所述第一数据流的发送速率中的最小值发送所述第一数据流。
25.如权利要求24所述的方法,其特征在于,
所述从第一网络设备接收所述第一速率包括,从所述第一网络设备接收第一控速报文,所述第一控速报文包括所述第一速率、所述第一数据流的标识和用于标识所述第一速率为单个数据流的速率的第一类型标识;
所述从第二网络设备接收第二速率包括,从所述第二网络设备接收第二控速报文,所述第二控速报文包括所述第二速率和用于标识所述第二速率为至少一个数据流组成的所述目标发送数据流的总发送速率的第二类型标识;
所述方法还包括:根据所述第一类型标识确定所述第一速率为所述第一视频流的发送速率,根据所述第二类型标识确定所述第二速率为所述目标数据流的总发送速率。
26.一种实现拥塞控制的装置,其特征在于,所述装置包括获取单元和确定单元;
所述获取单元,用于获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和所述第一出端口的第一队列对应的活跃流的数目;
所述确定单元,用于根据所述第一信息确定所述活跃流中的第一数据流的发送速率,所述发送速率与所述总带宽正相关、与所述活跃流的数目负相关,且所述发送速率用于所述第一数据流的发送设备发送所述第一数据流。
27.如权利要求26所述的装置,其特征在于,所述装置为所述第一网络设备;所述装置还包括通信单元,用于向所述发送设备发送所述发送速率。
28.如权利要求27所述的装置,其特征在于,所述确定单元,具体用于在检测到触发条件时根据所述第一信息确定所述发送速率,所述触发条件包括如下条件中的至少一个:
所述第一队列对应的活跃流的数目发生变化;
所述第一队列的队列深度超过队列深度阈值或所述第一队列的使用率超过队列使用率阈值;
所述第一端口的已占用带宽超过带宽阈值或所述第一端口的带宽占用率超过带宽占用率阈值。
29.一种实现拥塞控制的装置,其特征在于,所述装置包括获取单元和确定单元;
所述获取单元,用于获取第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备;
所述确定单元,用于根据所述第一信息确定目标数据流的总发送速率,所述目标数据流为所述活跃流中来自所述目标发送设备中的第一发送设备的全部数据流,所述总发送速率与所述总带宽正相关、与所述目标发送设备的数目负相关,且所述总发送速率用于所述第一发送设备发送所述目标数据流。
30.如权利要求29所述的装置,其特征在于,所述装置为所述第一网络设备;所述装置还包括通信单元,用于向所述第一发送设备发送所述总发送速率。
31.如权利要求30所述的装置,其特征在于,所述确定单元,具体用于在检测到触发条件时根据所述第一信息确定所述发送速率,所述触发条件包括如下条件中的至少一个:
所述目标发送设备的数目发生变化;
所述第一队列的队列深度超过队列深度阈值或所述第一队列的使用率超过队列使用率阈值;
所述第一端口的已占用带宽超过带宽阈值或所述第一端口的带宽占用率超过带宽占用率阈值。
32.一种实现拥塞控制的装置,其特征在于,所述装置包括获取单元、确定单元和通信单元;
所述获取单元用于获取第一速率,所述第一速率用于发送目标数据流,所述目标数据流包括至少一个数据流;
所述确定单元用于,根据所述第一速率确定所述目标数据流的每个数据流的发送速率。
33.如权利要求32所述的装置,其特征在于,所述获取单元具体用于:
从所述目标数据流的传输路径上的网络设备接收第一信息,所述第一信息包括所述网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备,其中,所述目标发送设备包括所述第一发送设备;
根据所述第一信息确定所述第一速率,所述第一速率与所述总带宽正相关、且与所述目标发送设备的数目负相关。
34.如权利要求32所述的装置,其特征在于,所述装置还包括通信单元;
所述通信单元用于从第一网络设备接收所述第一速率,其中,在所述目标数据流的传输路径上,所述第一网络设备为所述目标数据流的接收设备的上一跳;
所述通信单元还用于;从第二网络设备接收第二速率,所述第二速率用于所述第一发送设备发送所述目标数据流中的第一数据流,在所述第一数据流的传输路径上,所述第二网络设备为所述第一发送设备和所述第一网络设备之间的网络设备;
所述获取单元,用于获取所述通信单元接收的所述第一速率和所述第二速率;
所述通信单元,还用于以所述第二速率和所述确定单元根据所述第一速率确定的所述第一数据流的发送速率中的最小值发送所述第一数据流。
35.如权利要求34所述的装置,其特征在于,
所述通信单元具体用于从所述第一网络设备接收第一控速报文,所述第一控速报文包括所述第一速率、所述第一数据流的标识和用于标识所述第一速率为单个数据流的速率的第一类型标识,并用于从所述第二网络设备接收第二控速报文,所述第二控速报文包括所述第二速率和用于标识所述第二速率为至少一个数据流组成的所述目标发送数据流的总发送速率的第二类型标识;
所述确定单元,还用于根据所述第一类型标识确定所述第一速率为所述第一视频流的发送速率,根据所述第二类型标识确定所述第二速率为所述目标数据流的总发送速率。
36.一种实现拥塞控制的系统,其特征在于,所述系统包括第一发送设备和第一网络设备;
所述第一网络设备用于获取所述第一网络设备的第一信息,所述第一信息包括所述第一网络设备的第一出端口的总带宽和目标发送设备的数目,所述目标发送设备为所述第一出端口的第一队列对应的活跃流的发送设备,并用于根据所述第一信息确定目标数据流的总发送速率,所述目标数据流为所述活跃流中来自所述目标发送设备中的第一发送设备的全部数据流,所述总发送速率与所述总带宽正相关、与所述目标发送设备的数目成反比,且所述总发送速率用于所述第一发送设备发送所述目标数据流,还用于向所述第一发送设备发送所述总发送速率;
所述第一发送设备用于从所述第一网络设备接收所述总发送速率,根据所述总发送速率确定所述目标数据流的每个数据流的发送速率。
37.如权利要求36所述的系统,其特征在于,所述系统还包括第二网络设备,在所述目标数据流的传输路径上,所述第一网络设备为所述目标数据流的接收设备的上一跳,所述第二网络设备为所述第一发送设备和所述第一网络设备之间的网络设备;
所述第二网络设备用于,获取第二网络设备的第二信息,所述第二信息包括所述第二网络设备的第二出端口的总带宽和所述第二出端口的第二队列对应的活跃流的数目,并用于根据所述第二信息确定所述活跃流中的第一数据流的发送速率,所述发送速率与所述总带宽正相关、与所述活跃流的数目负相关,且所述发送速率用于所述第一数据流的发送设备发送所述第一数据流,还用于向所述第一发送设备发送所述第一数据流的发送速率;
所述第一发送设备还用于从第二网络设备接收所述第一数据流的发送速率,并用于以从所述第二网络设备接收的所述第二速率和根据所述总发送速率确定的所述第一数据流的发送速率中的最小值发送所述第一数据流。
CN201911129885.4A 2019-11-18 2019-11-18 一种实现拥塞控制的方法、装置和系统 Active CN112822120B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911129885.4A CN112822120B (zh) 2019-11-18 2019-11-18 一种实现拥塞控制的方法、装置和系统
PCT/CN2020/116549 WO2021098368A1 (zh) 2019-11-18 2020-09-21 一种实现拥塞控制的方法、装置和系统
EP20888801.6A EP4050855A4 (en) 2019-11-18 2020-09-21 CONGESTION CONTROL METHOD, APPARATUS AND SYSTEM
US17/747,281 US20220278936A1 (en) 2019-11-18 2022-05-18 Method, Apparatus, and System for Implementing Congestion Control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911129885.4A CN112822120B (zh) 2019-11-18 2019-11-18 一种实现拥塞控制的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN112822120A true CN112822120A (zh) 2021-05-18
CN112822120B CN112822120B (zh) 2023-04-28

Family

ID=75852656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911129885.4A Active CN112822120B (zh) 2019-11-18 2019-11-18 一种实现拥塞控制的方法、装置和系统

Country Status (4)

Country Link
US (1) US20220278936A1 (zh)
EP (1) EP4050855A4 (zh)
CN (1) CN112822120B (zh)
WO (1) WO2021098368A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023274006A1 (zh) * 2021-06-28 2023-01-05 华为技术有限公司 一种网络设备的主动队列管理方法及网络设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978357A (en) * 1997-03-27 1999-11-02 Cabletron Systems, Inc. Phantom flow control method and apparatus with improved stability
CN101945039A (zh) * 2010-08-27 2011-01-12 华为技术有限公司 数据流的传输方法和装置
US20140226475A1 (en) * 2013-02-12 2014-08-14 Adara Networks, Inc. Controlling congestion controlled flows
CN107454015A (zh) * 2017-08-03 2017-12-08 山东省计算中心(国家超级计算济南中心) 一种基于OF‑DiffServ模型的QoS控制方法及系统
US20180131613A1 (en) * 2016-08-23 2018-05-10 Iain Kibet Fraser Congestion control
CN109067665A (zh) * 2018-09-25 2018-12-21 华为技术有限公司 拥塞控制方法和网络设备
CN109995608A (zh) * 2018-01-03 2019-07-09 华为技术有限公司 网络速率计算方法和装置
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9014264B1 (en) * 2011-11-10 2015-04-21 Google Inc. Dynamic media transmission rate control using congestion window size
KR102210738B1 (ko) * 2015-01-28 2021-02-02 삼성전자주식회사 통신 시스템에서 혼잡 제어 방법 및 장치

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978357A (en) * 1997-03-27 1999-11-02 Cabletron Systems, Inc. Phantom flow control method and apparatus with improved stability
CN101945039A (zh) * 2010-08-27 2011-01-12 华为技术有限公司 数据流的传输方法和装置
US20140226475A1 (en) * 2013-02-12 2014-08-14 Adara Networks, Inc. Controlling congestion controlled flows
US20180131613A1 (en) * 2016-08-23 2018-05-10 Iain Kibet Fraser Congestion control
CN107454015A (zh) * 2017-08-03 2017-12-08 山东省计算中心(国家超级计算济南中心) 一种基于OF‑DiffServ模型的QoS控制方法及系统
CN109995608A (zh) * 2018-01-03 2019-07-09 华为技术有限公司 网络速率计算方法和装置
CN110166366A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 网络拥塞控制方法、装置和系统
CN109067665A (zh) * 2018-09-25 2018-12-21 华为技术有限公司 拥塞控制方法和网络设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023274006A1 (zh) * 2021-06-28 2023-01-05 华为技术有限公司 一种网络设备的主动队列管理方法及网络设备

Also Published As

Publication number Publication date
WO2021098368A1 (zh) 2021-05-27
CN112822120B (zh) 2023-04-28
EP4050855A1 (en) 2022-08-31
EP4050855A4 (en) 2022-12-07
US20220278936A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
JP7173587B2 (ja) パケット伝送システムおよび方法
US7724750B2 (en) Expedited data transmission in packet based network
CN111316605B (zh) 第3层公平速率拥塞控制通知
US20170187641A1 (en) Scheduler, sender, receiver, network node and methods thereof
KR100757872B1 (ko) 네트워크에서의 혼잡 발생 예고 시스템 및 방법
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
JP4128198B2 (ja) 帯域制御装置
EP3076618A1 (en) A computer implemented method, a system and computer programs for congestion control in a transport node of a communication network
WO2018010461A1 (zh) 一种业务流量的控制方法及系统
US20160323421A1 (en) Wireless communication system, serve and base station
WO2020090474A1 (ja) パケット転送装置、方法、及びプログラム
WO2019104343A1 (en) System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions
WO2020026983A1 (ja) パケット転送装置、方法、及びプログラム
JP2014518047A (ja) 適応性の伝送キュー長を用いたデータパケット損失低減システムおよび方法
CN112822120B (zh) 一种实现拥塞控制的方法、装置和系统
US20210211384A1 (en) Congestion control
JP2007013449A (ja) シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
US20190036787A1 (en) Traffic optimization device and traffic optimization method
KR102128015B1 (ko) 네트워크 스위칭 장치 및 이를 이용한 마킹 수행 방법
JP3853784B2 (ja) データ通信管理方法
CN112887218A (zh) 一种报文转发方法及装置
JP2018148494A (ja) パケット集約装置及び伝送処理プログラム
CN114884884A (zh) 一种拥塞控制方法及装置
CN114285803A (zh) 拥塞控制方法和装置
CN113630337A (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
GR01 Patent grant
GR01 Patent grant