CN107592271B - 通信网络内的拥塞控制 - Google Patents
通信网络内的拥塞控制 Download PDFInfo
- Publication number
- CN107592271B CN107592271B CN201710545555.8A CN201710545555A CN107592271B CN 107592271 B CN107592271 B CN 107592271B CN 201710545555 A CN201710545555 A CN 201710545555A CN 107592271 B CN107592271 B CN 107592271B
- Authority
- CN
- China
- Prior art keywords
- congestion
- link
- level
- scheme
- signal
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 27
- 238000001514 detection method Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000006855 networking Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 7
- 239000000523 sample Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 4
- 230000010355 oscillation Effects 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/129—Avoiding congestion; Recovering from congestion at the destination endpoint, e.g. reservation of terminal resources or buffer space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
根据实施例,公开了用于在通信网络内的链路上转发数据分组的分组转发设备。分组转发设备还被配置为执行以下步骤:测量链路的负载;检测所述负载是否超过指示所述链路上的拥塞水平的多个阈值中的一个阈值;以及向所述通信网络中的另一个设备发送信号以通知拥塞水平。
Description
技术领域
本公开涉及通信网络内的链路上的拥塞控制的领域。拥塞控制可以由该链路上的分组转发设备来执行。这种设备的示例是交换机,路由器和网关。
在这样的设备内,在转发分组之前,分组被临时缓冲。根据分组转发设备的某一转发策略确定哪个分组以哪个顺序被转发。
分组转发设备进一步与链路上的端点交换信息,该信息相应地适应它的分组传输。
背景技术
现在,在互联网上运行的应用的类型已经变得非常多样化了。每种类型的应用要求关于数据分组传送的不同方法,即数据分组必须在某一截止期限之前被传送。例如,面向吞吐量的应用旨在优化针对高吞吐量的数据分组的吞吐量。相反,延迟敏感的应用旨在最小化延迟以实现零排队延迟。然而,请注意,在零排队延迟和高吞吐量之间需要进行权衡。
目前基于窗口的方案专门用于减少由传输控制协议(TCP)或其变体之一引起的队列振荡,导致所谓的主动队列管理(AQM)方案。然而,这些AQM方案是随机的,导致随机拥塞窗口。因此,队列振荡仍然将导致队列在大部分时间内为空,或者发生不受控制的队列振荡导致不可预测的延迟。因此,在通信网络内的链路上转发分组的效率大大降低。
通过最小化延迟来提高效率的方法是在链路被充分利用之前向端点设备发信号通知拥塞。此外,为了更多地提高效率,可以牺牲链路的容量的一部分,使得可以更好地吸收振荡。该方法由高带宽超低延迟(HULL)架构来应用,其是数据中心传输控制协议(DCTCP)的扩展。该架构通过在端点处对数据分组进行间隔,并且在链路被充分利用之前通过信号通知拥塞,修改了遗留的基于窗口的协议。
发明内容
然而,上述AQM方案的一个缺点是使用容量的预定义的固定部分作为牺牲来吸收振荡。这导致固定的牺牲带宽,如果需要转发的数据分组的数量增加,则固定的牺牲带宽不适合吸收振荡。这可以通过牺牲更大部分的容量来解决,但这又导致效率的降低。
该固定带宽对应于阈值,使得将数据分组的数据速率与该阈值进行比较。如果超过此阈值,则丢弃或标记数据分组,以避免拥塞。
因此,目的是公开克服现有解决方案的以上识别的缺点的设备和相关方法。更具体地,目的是提供一种拥塞控制的解决方案,其不遭受过多的吞吐量振荡或牺牲部分带宽。
根据本公开的第一方面,上述限定的目标由用于在通信网络内的链路上转发分组的分组转发设备来实现,该设备包括:
a)网络监控模块,被配置为测量指示所述链路的拥塞的负载;以及
b)拥塞检测模块,被配置为检测所述负载何时超过多个阈值中的一个阈值,每个阈值指示所述链路上的拥塞水平;以及
c)拥塞控制模块,被配置为向所述网络中的另一设备发送信号以通知所述拥塞水平。
通信网络中的分组转发设备接收数据分组,并将这些数据分组作为整体或部分转发到链路上。为了做到这一点,首先,网络监控模块将主动测量链路的负载,以便具有在该链路上拥塞的指示。接下来,当所测量的负载超过多个阈值中的一个阈值时,拥塞检测模块检测拥塞水平。注意,上述阈值表示链路上的拥塞水平。随后,拥塞控制模块将向通信网络中的另一个设备发送信号以通知拥塞水平。
因此,即使在队列建立之前,由于获得链路拥塞的指示,因此有利的是测量链路的负载而不是观察队列。利用已知的技术,例如观察队列占用,将累积少量的延迟,这防止了零排队延迟。此外,由于使用了多个阈值,因此可以做出拥塞类型的分类,每个拥塞类型的分类表示一个拥塞水平。因此,通过基于拥塞水平向通信网络内的其他设备发送信号,向该设备通知关于这个拥塞水平。由于网络中的其他设备知道链路的拥塞水平,因此有利的是,可以追求以最佳方式利用链路的更合适的方法。这意味着可以做出关于零排队延迟与高吞吐量之间的权衡的更好的决定。换句话说,可以定义不同的拥塞水平,使得端点设备可以主动预见何时将发生拥塞并增量地适应其流控制方案。通过这种增量调整,可以防止振荡。此外,由于不同的拥塞水平,不需要预见进一步的带宽裕度,因为端点已经预测到较早状态的拥塞。
根据实施例,负载是在链路上转发的接收分组与该链路能够处理的最大数量分组的比率。
由于在负载定义中考虑到链路能够处理的最大数据分组,因此获得了无量纲量。不仅获得了关于是否发生拥塞的指示,而且还获得了拥塞程度的指示。使用这种无量纲量是有利的,因为当与其他模块交换时,它有助于实现。
根据实施例,网络监控设备被配置为根据指数加权移动平均来测量接收的分组。
为了对测量进行平均,使用指数加权移动平均的优点是平滑了短期波动,并突出了长期趋势,从而更好地估计接收到的分组的数量。
根据实施例,拥塞检测模块还适于取决于网络条件来改变阈值。
由于网络条件是动态变化的,有利的是,阈值不是固定的,而是可以由拥塞检测模块来适应。
根据实施例,信号被嵌入在分组的头部字段中。
因此,被转发的分组也包含具有拥塞水平的信息的信号。这样做时,优点是,不需要单独发送信号。
根据实施例,头部字段对应于因特网协议头部的显式拥塞通知(ECN)字段。
ECN允许端到端通知而不丢弃分组,并且是两个启用ECN的端点之间能够使用的可选的特征。此外,ECN是对因特网协议(IP)和传输控制协议(TCP)的扩展,这使得有利于使用它,因为它有助于实现以及与其他设备的交换。
根据第二方面,本公开涉及一种联网端点,其包括源拥塞控制模块,其被配置为根据从链路上的转发网络设备接收的拥塞信号来适应链路上的分组的传输;并且其中所述拥塞信号包括从多个拥塞水平中选择的拥塞水平的指示;并且其中所述拥塞控制模块还被配置为:
-当没有接收到拥塞信号时,根据第一探测方案探测可用带宽;以及
-当拥塞水平对应于第一低拥塞水平时,根据第二探测方案探测可用带宽;并且其中所述第二探测方案比所述第一探测方案具有较小的侵略性;以及
-当拥塞信号对应于第二高拥塞水平时,根据第三探测方案探测可用带宽;并且其中所述第三探测方案是回退探测方案。
由于可以使用多个拥塞水平,所以实现了平滑度和收敛性之间的权衡。由于这一点,端点可以基于接收的拥塞信号的类型在带宽探测期间适应其侵略性。这样就可以避免传输速率的振荡,同时传输速率的收敛速度很快。
根据实施例,拥塞控制模块还根据基于窗口的探测方案或基于速率的探测方案进行操作。
根据第三方面,本公开涉及一种系统,其包括根据第二方面的联网端点和根据第一方面的分组转发设备。
根据第四方面,本公开涉及一种用于在联网端点中适应链路上的分组的传输的方法,该方法包括以下步骤:
-从所述链路上的转发网络设备接收拥塞信号;并且其中所述拥塞信号包括从多个拥塞水平中选择的拥塞水平的指示;以及
-当没有接收到拥塞信号时,根据第一探测方案探测可用带宽;以及
-当拥塞水平对应于第一低拥塞水平时,根据第二探测方案探测可用带宽;并且其中所述第二探测方案比所述第一探测方案具有较小的侵略性;以及-当拥塞信号对应于第二高拥塞水平时,根据第三探测方案探测可用带宽;并且其中所述第三探测方案是回退探测方案。
根据第五方面,本公开涉及一种用于在通信网络内的链路上转发分组的方法,所述方法包括:
a)测量指示链路拥塞的负载;以及
b)检测何时所述负载超过多个阈值中的一个阈值,每个阈值指示所述链路上的拥塞水平;以及
c)向网络中的另一个设备发送信号以通知拥塞水平。
根据第六方面,本公开涉及一种计算机程序产品,其包括计算机可执行指令,当程序在计算机上运行时,所述计算机可执行指令执行根据第四或第五方面的方法。
根据第七方面,本公开涉及计算机可读存储介质,其包括根据第六方面的计算机程序产品。
根据第八方面,本公开涉及一种数据处理系统,其被编程用于执行根据第四或第五方面的方法。
附图说明
图1示意性地示出了根据实施例的包括端点和转发设备的通信网络中的链路;以及
图2示意性地示出了根据实施例的分组转发设备;以及
图3示出了根据实施例的包括源拥塞控制模块的联网端点;以及
图4示出了根据实施例的由联网端点执行的用于在联网端点中适应在链路上的分组的传输的步骤;以及
图5示意性地示出了根据实施例的由分组转发设备执行的步骤;以及
图6示出了根据实施例的双拥塞信号的生成的图;以及
图7示出了零排队延迟与高吞吐量之间的权衡的说明性示例;以及
图8示出了根据不同拥塞信号的吞吐量数据分组的图;以及
图9示出了根据本公开的实施例的用于联网端点和分组转发设备的合适的计算系统。
具体实施方式
根据实施例,本公开涉及一种用于在通信网络内的链路上转发分组的分组转发设备。图1是这样的通信网络的图示。在通信网络中,联网端点101向目的地端点105发送数据分组,其中诸如103的分组转发设备将经由链路102从端点101接收数据分组,并且通过链路104发送它们以转发到目的地端点105。分组转发设备103可以例如是交换机,路由器或网关。
分组转发设备103通常将与用于传入和转发数据分组的不同链路连接。图2是根据实施例的这种分组转发设备103的图示。分组转发设备103可以通过其任何网络接口210至215中的任一个网络接口接收分组,并将分组转发到网络接口210至215中的任何其他网络接口。转发模块204确定如何转发传入分组,并且在需要时应用排队或丢弃分组。
分组转发设备103包括网络监控模块201,其测量链路上的负载,例如与网络接口213连接的链路104,通过链路104数据分组需要被转发。测量的负载将指示链路的拥塞。接下来,拥塞检测模块202将检测所测量的负载是否超过多个阈值中的一个阈值,其中每个阈值指示拥塞水平。随后,根据实施例,拥塞控制模块203将信号发送到通信网络中的另一设备,例如端点105,以通知拥塞水平。信号发送可以通过丢弃分组或通过ECN标记来完成。然后,端点105将解释丢弃和标记,并将该信号转发到端点101,例如通过将拥塞信息添加到确认ACK分组的头部中。
由于拥塞控制模块203针对网络中的拥塞水平发信号通知端点101,所以端点101将基于此适应数据分组的发送。
注意,在链路中测量的负载可以例如被呈现为ρl,而在时间间隔Tg期间用于转发的接收的分组的数量可以例如被呈现为Ml。如果Cl是链路的容量,即链路在时间间隔Tg期间能够处理的最多的分组,则负载可以表示为ρl=Ml/Cl.Tg 等式1。
也可以示意性地呈现由属于分组转发设备103的模块204的平台执行的步骤。图4是这些步骤的说明。
由网络监控模块201执行的第一步是测量负载401。例如,可以通过估计在特定的时间间隔(例如Tg)期间,接收到的用于转发的分组(即,等式1中的Ml)来测量该负载。然而,由于在特定时间间隔Tg期间接收到的分组的数量可能在比Tg更短的时间间隔上波动非常大,所以这种短期波动能够导致负载的失真估计。因此,为了更好地估计接收到的分组的数量,可以计算移动平均值,例如指数加权移动平均值。这将平滑这种短期波动,并将突出长期趋势。
在下一步骤中,拥塞检测模块202将检测402这种测量的负载(无论是否是通过使用指数加权移动平均来估计)是否超过多个阈值之一。这通过两个阈值进一步说明,但是可以以类似的方式使用具有更多阈值的不同实施例。图6给出了来自这种情况的图示。在图6中,图形600示出了在步骤401中如由网络监控模块201测量的呈现在X轴上的负载603。关于负载603,定义了两个阈值,即601和602。每个阈值指示拥塞水平。随后,在下一步骤中,拥塞控制模块203向网络中的另一设备(例如101)发送信号403,通告从超过阈值导出的拥塞水平。
因此,如图6所示,如果定义了两个阈值601、602,则可以区分三种情况604、605和606。首先,如果负载603不超过第一阈值601,则不产生拥塞信号604。其次,如果负载603增加并超过第一阈值601,则产生第一信号605。该信号可以表示为例如θ1。在第三条件606中,即如果负载增加得更多并超过第二阈值602,则产生另一信号并将其呈现为θ2。
根据本公开的实施例,信号θ1或θ2之一(它们可以例如被编码在头文件中)由拥塞控制模块203发送到网络中的另一设备。可以由将该信号嵌入到分组的头部文件中,来发送该信号,其中头部文件可以例如对应于因特网协议头部的显式拥塞通知(ECN)字段。
最后,图4中的步骤401、402和403可以连续重复,使得负载被连续地监控。
图3示出了根据本公开的实施例的联网端点101的详细视图。端点101可以对应于具有网络源能力的任何联网设备,即用作诸如视频流,音频流或任何其他数据流的数据流的源的设备,源是两个联网设备之间的数据连接的一部分。端点101包括耦合到联网设备的网络栈304,其用于通过联网链路接收和传输数据分组。
端点101通过网络接口310和网络栈304接收拥塞信号,并在拥塞控制模块303中使用它们来控制未来分组的传输,以避免链路的进一步拥塞。图5示出了拥塞控制模块303为了避免链路上的拥塞而执行的步骤。
在步骤501中,拥塞控制模块303在网络接口上接收分组。在步骤502中,该模块检查分组是否包含来自网络链路中存在的分组转发设备(例如来自分组转发设备103)的拥塞信号。该拥塞信号包括如上所述的指示网络链路上的拥塞水平的信息。作为示例,将针对拥塞信号进一步描述实施例,该拥塞信号用于指示如上参考图6所述的两个拥塞水平605和606。当没有接收到拥塞信号时,拥塞检测模块假设网络链路上没有拥塞,并前进到步骤503。当接收到指示拥塞水平605的拥塞信号时,假设第一低拥塞水平605,模块303进入步骤504。当接收到指示拥塞水平606的拥塞信号时,假设第二高拥塞水平606,并且模块303前进到步骤505。
在步骤503中,当没有网络拥塞时,模块303根据第一探测方案探测可用带宽。由于假定不拥塞,所以可以侵略性地执行探测,例如通过慢开始或加性增加。在步骤504中,当网络中存在第一低拥塞水平605时,模块303根据比第一探测方案更慢或侵略性更少的第二探测方案探测可用带宽。第二探测方案可能通过使用非线性探测来减慢探测。取决于实际指示的拥塞水平,可以进一步适应第二探测方案中的实际的侵略性水平。在步骤505中,当存在第二高拥塞水平606时,使用回退探测方案,即减少链路上的分组的数据速率。当根据步骤503、504或505适应了探测方案时,模块返回到步骤501,直到其接收到下一个拥塞信号。
根据另一实施例,可以通过改变TCP窗口大小来实现探测方案,即,当应用第一和第二探测方案时增加TCP窗口大小,并在应用第三探测方案时减小TCP窗口大小。可以根据以下等式执行窗口大小的增加:
其中,
-β是大于零的选择的参数;
-wt是某个时刻t的窗口大小;
-wt+RTT是在时间间隔RTT之后应用的更新的窗口大小;
-RTT是往返时间;
-k对应于带宽探测的侵略性,并且被选择为大于零。
可以根据以下等式执行窗口大小的减小:
wt+δ←wt←βwt
其中,
-α是大于0的选择的参数;
-0<β<1;
-wt是某个时刻t的窗口大小;
-wt+δ是在时间间隔δ之后应用的更新的窗口大小;
-δ是自上次窗口更新以来用于检测拥塞信号的时间。
用于增加和减小窗口大小的上述控制函数对应于积分控制器,其中在端点处观察到的拥塞信号用于确定传输窗口的导数,即用于增加规则的用于减少规则的的不同形式表示不同类型的探测方案。例如,TCP Reno和DCTCP设置k=0,使得在每个RTT之后,窗口线性增加α(通常α=1)。根据上述实施例,k>0,使得用于增加窗口大小的等式减小到非线性窗口增量方案的类别。这些方案在带宽探测期间的侵略性较差,因此导致端点振荡较少。这也导致瓶颈链路中吞吐量的振荡较少。
具有较少振荡源的一个缺点是对公平性而言增加了收敛时间,例如,使用DCTCP/HULL的流体验更长的收敛速度,因为它取决于拥塞水平而不是具有如在TCP Reno中的窗口(β=1/2),减少窗口大小。如果窗口增量的幅度减小(k>0),则可能会发生同样的问题。通过多个拥塞阈值601、602来解决平滑度和收敛之间的权衡。因为这种情况,端点101基于接收的拥塞信号的类型,在带宽探测期间适应其侵略性。
根据可替代实施例,可以通过基于数据分组的传输速率实现探测方案,即通过增加或减少数据速率,来实现探测方案。这可以通过用关系转换上述等式来完成,其中ri对应于传输速率。这样,基于窗口的探测方案可以被改变为基于速率的探测方案。
根据本公开的实施例,图7示出了使用关于链路中的负载的多个阈值以便减少队列振荡并最小化延迟的优点。如果链路利用率呈现为与相同链路中的排队延迟有关,则尽可能多地减少队列延迟是一个目标。如果链路没有被使用,则显然没有排队延迟。该状态由点703呈现。如果链路被使用,因此链路利用率增加,则排队延迟也将增加。图形700、701和702示出对于不同的拥塞预防机制的不同的结果。图形700对应于本领域已知的基于TCP的AQM机制,图形701对应于本领域已知的HULL机制。图形702示出当使用根据本公开的实施例的拥塞控制的步骤时的结果。
图8示出了在使用两个阈值801和802的情况下,在端点101处的吞吐量。由800呈现了端点101可以在链路上共享的最大容量。图形807对应于端点101处的窗口大小或速率的改变。在开始803处,当在端点101处没有接收到拥塞信号时,窗口/速率以慢启动或通过加性增加到水平802而侵略性地增加。当超过第一阈值802时,窗口/速率具有非线性增量806。如果在端点101处接收到第二拥塞信号,则窗口/速率将下降804,之后窗口/速率可以加性地增加805。
图9示出了用于执行根据上述实施例的步骤的合适的计算系统900。计算系统900可以用作端点101或分组转发设备103。计算系统900通常可以形成为合适的通用计算机,并且包括总线910,处理器902,本地存储器904,一个或多个可选的输入接口914,一个或多个可选输出接口916,通信接口912,存储元件接口906和一个或多个存储元件908。总线910可以包括允许计算系统900的组件之间的通信的一个或多个导体。处理器902可以包括解释和执行编程指令的任何类型的常规处理器或微处理器。本地存储器904可以包括随机存取存储器(RAM)、或存储用于由处理器902执行的信息和指令的另一类型的动态存储设备、和/或只读存储器(ROM)或存储由处理器902使用的静态信息和指令的另一类型的静态存储设备。输入接口914可以包括一个或多个常规机制,其允许操作者将信息输入到计算设备900,诸如键盘920,鼠标930,笔,语音识别和/或生物测定机构等。输出接口916可以包括将信息输出到操作者的一个或多个常规机构,诸如显示器940等。通信接口912可以包括任何类似收发器的机构,例如一个或多个以太网接口,其使能计算系统900与其他设备和/或系统960进行通信。计算系统900的通信接口912可以通过局域网(LAN)或广域网(WAN)(例如互联网)连接到此类的另一个计算系统。通信接口912可以对应于网络接口210-215或310。存储元件接口906可以包括存储接口,例如串行高级技术附件(SATA)接口或小型计算机系统接口(SCSI),用于将总线910连接到一个或多个存储元件908,诸如一个或多个本地磁盘,例如SATA磁盘驱动器,并且控制向和/或从这些存储元件908的数据的读取和写入。尽管上面的存储元件908被描述为本地盘,但是通常可以使用任何其它合适的计算机可读介质,例如可移动磁盘,诸如CD或DVD的光存储介质,-ROM盘,固态驱动器,闪存卡等。上述系统900也可以作为物理硬件之上的虚拟机运行。
虽然已经通过参考具体实施例说明了本公开,但是对于本领域技术人员而言将显而易见的是,本公开不限于上述说明性实施例的细节,并且可以使用各种变化和修改来体现本公开,而不脱离本发明的范围。因此,在所有方面,本实施例都被认为是说明性的而不是限制性的,本公开的范围由所附权利要求而不是前面的描述来指示,并且在权利要求的等同物的含义和范围内的所有改变都意图包含在其中。换句话说,预期将涵盖落在基本的潜在原理的范围内的任何和所有修改,变化或等同物,并且其本质属性在本专利申请中要求保护。本专利申请的读者还将理解,词语“包括”或“包含”不排除其他元素或步骤,词语“一个”或“一种”不排除复数,单个元件,诸如计算机系统,处理器或其他集成单元,可以实现权利要求中所述的若干构件的功能。权利要求中的任何附图标记不应被解释为限制相关的权利要求。在说明书或权利要求书中使用时,术语“第一”,“第二”,“第三”,“a”,“b”,“c”被引入以区分相似的元件或步骤,而不是必须描述顺序或时间顺序。同样地,为了描述目的而引入术语“顶”,“底”,“上”,“下”等,而不一定表示相对位置。应当理解,如此使用的术语在适当的情况下是可互换的,并且本公开的实施例能够根据本公开以其他顺序或与上述描述或示出的方向不同的方向进行操作。
Claims (13)
1.一种用于在通信网络内的链路上转发分组的分组转发设备,所述设备包括:
a)网络监控模块,其被配置为测量指示所述链路的拥塞的负载;以及
b)拥塞检测模块,其被配置为检测所述负载是否超过多个阈值中的一个阈值,所述多个阈值包括第一阈值和第二阈值,所述第一阈值指示在所述链路上的第一拥塞水平,所述第二阈值指示在所述链路上的第二拥塞水平,所述第二拥塞水平高于所述第一拥塞水平;以及
c)拥塞控制模块,其被配置为响应于检测超过所述第一阈值,向所述通信网络中的端点设备发送第一拥塞信号以通知所述第一拥塞水平,
所述拥塞控制模块还被配置为响应于检测超过所述第二阈值,向所述通信网络中的所述端点设备发送第二拥塞信号以通知所述第二拥塞水平,
其中,所述第一拥塞信号使得所述端点设备根据比在所述链路不拥塞时使用的探测方案具有较小的侵略性的探测方案来探测可用带宽,
其中,所述第二拥塞信号使得所述端点设备根据回退探测方案来探测可用带宽。
2.根据权利要求1所述的分组转发设备,其中,所述负载是在所述链路上转发的接收分组的数量与所述链路能够处理的分组的最大数量的比率。
3.根据权利要求2所述的分组转发设备,其中,所述网络监控模块被配置为根据指数加权移动平均来测量所述负载。
4.根据权利要求1所述的分组转发设备,其中,所述拥塞检测模块还适于取决于网络条件来改变所述多个阈值。
5.根据权利要求1所述的分组转发设备,其中,所述第一拥塞信号或所述第二拥塞信号被嵌入在所述分组的头部字段中。
6.根据权利要求5所述的分组转发设备,其中,所述头部字段对应于因特网协议头部的显式拥塞通知(ECN)字段。
7.一种联网端点,包括源拥塞控制模块,其被配置为根据从链路上的分组转发设备接收的拥塞信号来适应所述链路上的分组传输;并且其中,所述拥塞信号包括从多个拥塞水平中选择的拥塞水平的指示;并且其中,所述源拥塞控制模块还被配置为:
-当没有接收到拥塞信号时,根据第一探测方案探测可用带宽;以及
-当接收到对应于第一拥塞水平的第一拥塞信号时,根据第二探测方案探测可用带宽;并且其中,所述第二探测方案比所述第一探测方案具有较小的侵略性;以及
-当接收到对应于第二拥塞水平的第二拥塞信号时,根据第三探测方案探测可用带宽;并且其中,所述第三探测方案是回退探测方案,其中,所述第二拥塞水平高于所述第一拥塞水平,其中,所述第三探测方案与所述第二探测方案不同。
8.根据权利要求7所述的联网端点,其中,所述源拥塞控制模块还根据基于窗口的探测方案或基于速率的探测方案进行操作。
9.一种拥塞控制系统,其包括根据权利要求7所述的联网端点和根据权利要求1所述的分组转发设备。
10.一种用于在联网端点中适应链路上的分组的传输的方法,所述方法包括以下步骤:
-从所述链路上的分组转发设备接收拥塞信号;并且其中,所述拥塞信号包括从多个拥塞水平中选择的拥塞水平的指示;以及
-当没有接收到拥塞信号时,根据第一探测方案探测可用带宽;以及
-当接收到对应于第一拥塞水平的第一拥塞信号时,根据第二探测方案探测可用带宽;并且其中,所述第二探测方案比所述第一探测方案具有较小的侵略性;以及
-当接收到对应于第二拥塞水平的第二拥塞信号时,根据第三探测方案探测可用带宽;并且其中,所述第三探测方案是回退探测方案,其中,所述第二拥塞水平高于所述第一拥塞水平,其中,所述第三探测方案与所述第二探测方案不同。
11.一种用于在通信网络内的链路上转发分组的方法,所述方法包括:
a)测量指示链路拥塞的负载;以及
b)检测所述负载是否超过多个阈值中的一个阈值,所述多个阈值包括第一阈值和第二阈值,所述第一阈值指示在所述链路上的第一拥塞水平,所述第二阈值指示在所述链路上的第二拥塞水平,所述第二拥塞水平高于所述第一拥塞水平;以及
c)响应于检测超过所述第一阈值,向所述通信网络中的端点设备发送第一拥塞信号以通知所述第一拥塞水平,
响应于检测超过所述第二阈值,向所述通信网络中的所述端点设备发送第二拥塞信号以通知所述第二拥塞水平,
其中,所述第一拥塞信号使得所述端点设备根据比在所述链路不拥塞时使用的探测方案具有较小的侵略性的探测方案来探测可用带宽,
其中,所述第二拥塞信号使得所述端点设备根据回退探测方案来探测可用带宽。
12.一种计算机可读存储介质,其存储计算机可执行指令,当所述计算机可执行指令在计算机上运行时,所述计算机可执行指令执行根据权利要求10或11所述的方法。
13.一种数据处理系统,包括:
处理器;和
耦合到所述处理器的存储器,所述存储器存储可由所述处理器执行的指令,从而所述数据处理系统可操作以执行根据权利要求10或11所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16290131.8A EP3267639B1 (en) | 2016-07-06 | 2016-07-06 | Congestion control within a communication network |
EP16290131.8 | 2016-07-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107592271A CN107592271A (zh) | 2018-01-16 |
CN107592271B true CN107592271B (zh) | 2022-09-30 |
Family
ID=56497689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710545555.8A Active CN107592271B (zh) | 2016-07-06 | 2017-07-06 | 通信网络内的拥塞控制 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10313244B2 (zh) |
EP (1) | EP3267639B1 (zh) |
CN (1) | CN107592271B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278157B (zh) * | 2018-03-14 | 2022-08-09 | 华为技术有限公司 | 拥塞控制方法及网络设备 |
EP3761560B1 (en) * | 2018-03-21 | 2023-07-05 | Huawei Cloud Computing Technologies Co., Ltd. | Control method for application programming interface (api) gateway cluster, and api gateway cluster |
US20210204151A1 (en) * | 2019-12-27 | 2021-07-01 | Cisco Technology, Inc. | Automatic labelling of data for machine learning algorithm to determine connection quality |
US20210328930A1 (en) * | 2020-01-28 | 2021-10-21 | Intel Corporation | Predictive queue depth |
US11693800B2 (en) * | 2020-07-13 | 2023-07-04 | EMC IP Holding Company LLC | Managing IO path bandwidth |
CN114095434B (zh) * | 2020-07-29 | 2024-09-24 | 华为技术有限公司 | 控制网络拥塞的方法和相关装置 |
CN112702238B (zh) * | 2020-12-24 | 2022-05-27 | 北京合众方达科技有限公司 | 一种针对恶劣网络环境的报文重传方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2378613A (en) * | 2001-08-08 | 2003-02-12 | Motorola Inc | Congestion control in a communications network |
CN1496067A (zh) * | 2002-08-02 | 2004-05-12 | ���Ͽع�����˾ | 增加分组环网络公平性的系统和方法 |
EP2110992A1 (en) * | 2008-04-17 | 2009-10-21 | Vodafone España, S.A. | System and method for monitoring and optimizing traffic in MPLS-diffserv networks |
CN102792648A (zh) * | 2010-01-11 | 2012-11-21 | 捷讯研究有限公司 | 在通信系统中以显式拥塞通知进行拥塞等级指示 |
CN102859951A (zh) * | 2010-04-22 | 2013-01-02 | 国际商业机器公司 | 网络数据拥塞管理探测系统 |
EP2869517A1 (en) * | 2013-10-31 | 2015-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | A communication node, a receiving node and methods for congestion based routing and flow control in between |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099273B2 (en) * | 2001-04-12 | 2006-08-29 | Bytemobile, Inc. | Data transport acceleration and management within a network communication system |
US8670309B2 (en) * | 2005-09-30 | 2014-03-11 | Alcatel Lucent | Method and apparatus for preventing activation of a congestion control process |
CN101026509B (zh) * | 2007-02-28 | 2011-07-20 | 西南科技大学 | 一种端到端低可用带宽测量方法 |
US20110270972A1 (en) * | 2010-04-30 | 2011-11-03 | The Regents Of The University Of California | Virtual topology adaptation for resource optimization in telecommunication networks |
US8824281B2 (en) * | 2010-11-17 | 2014-09-02 | At&T Intellectual Property I, L.P. | Network-friendly transmission control protocol (TCP) methods, apparatus and articles of manufacture |
US8935786B2 (en) * | 2012-05-01 | 2015-01-13 | Harris Corporation | Systems and methods for dynamically changing network states |
-
2016
- 2016-07-06 EP EP16290131.8A patent/EP3267639B1/en active Active
-
2017
- 2017-06-30 US US15/639,081 patent/US10313244B2/en active Active
- 2017-07-06 CN CN201710545555.8A patent/CN107592271B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2378613A (en) * | 2001-08-08 | 2003-02-12 | Motorola Inc | Congestion control in a communications network |
CN1496067A (zh) * | 2002-08-02 | 2004-05-12 | ���Ͽع�����˾ | 增加分组环网络公平性的系统和方法 |
EP2110992A1 (en) * | 2008-04-17 | 2009-10-21 | Vodafone España, S.A. | System and method for monitoring and optimizing traffic in MPLS-diffserv networks |
CN102792648A (zh) * | 2010-01-11 | 2012-11-21 | 捷讯研究有限公司 | 在通信系统中以显式拥塞通知进行拥塞等级指示 |
CN102859951A (zh) * | 2010-04-22 | 2013-01-02 | 国际商业机器公司 | 网络数据拥塞管理探测系统 |
EP2869517A1 (en) * | 2013-10-31 | 2015-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | A communication node, a receiving node and methods for congestion based routing and flow control in between |
Also Published As
Publication number | Publication date |
---|---|
US10313244B2 (en) | 2019-06-04 |
CN107592271A (zh) | 2018-01-16 |
EP3267639A1 (en) | 2018-01-10 |
EP3267639B1 (en) | 2019-12-25 |
US20180013677A1 (en) | 2018-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107592271B (zh) | 通信网络内的拥塞控制 | |
US11575609B2 (en) | Techniques for congestion management in a network | |
EP3758315B1 (en) | Congestion control method and network device | |
EP2387837B1 (en) | Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol | |
US9762491B2 (en) | Dynamic thresholds for congestion control | |
US8520517B2 (en) | Switch fabric end-to-end congestion avoidance mechanism | |
US20200236052A1 (en) | Improving end-to-end congestion reaction using adaptive routing and congestion-hint based throttling for ip-routed datacenter networks | |
US10084716B2 (en) | Flexible application of congestion control measures | |
US8804503B2 (en) | Flow regulation switch | |
US20130170342A1 (en) | Data communication systems and methods | |
Welzl et al. | A survey of lower-than-best-effort transport protocols | |
CN104995883A (zh) | 用信号通知拥塞 | |
JP4257307B2 (ja) | 通信制御システムおよび通信制御方法 | |
CN116684359A (zh) | 一种网络拥塞控制方法、装置及存储介质 | |
Tang et al. | TCP-WBQ: a backlog-queue-based congestion control mechanism for heterogeneous wireless networks | |
JP2009027303A (ja) | 通信装置および通信方法 | |
Hotchi et al. | Quality of service aware adaptive target queue length generation for active queue management | |
US20230362099A1 (en) | Managing data traffic congestion in network nodes | |
Kathuria et al. | Improvement of quality of service parameters in dynamic and heterogeneous WBAN | |
JP2014112779A (ja) | データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム | |
JP5776981B2 (ja) | ネットワーク中継装置 | |
US11451998B1 (en) | Systems and methods for communication system resource contention monitoring | |
KR102471228B1 (ko) | 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치 | |
Das et al. | A Dynamic Algorithm for Optimization of Network Traffic through Smart Network Switch Data Flow Management | |
Misund | Rapid acceleration in TCP Prague |
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 | ||
TG01 | Patent term adjustment | ||
TG01 | Patent term adjustment |