Internet Engineering Task Force (IETF) N. Khademi Request for Comments: 8511 M. Welzl Category: Experimental University of Oslo ISSN: 2070-1721 G. Armitage Netflix G. Fairhurst University of Aberdeen December 2018
Internet Engineering Task Force (IETF) N. Khademi Request for Comments: 8511 M. Welzl Category: Experimental University of Oslo ISSN: 2070-1721 G. Armitage Netflix G. Fairhurst University of Aberdeen December 2018
TCP Alternative Backoff with ECN (ABE)
使用ECN的TCP备选回退(ABE)
Abstract
摘要
Active Queue Management (AQM) mechanisms allow for burst tolerance while enforcing short queues to minimise the time that packets spend enqueued at a bottleneck. This can cause noticeable performance degradation for TCP connections traversing such a bottleneck, especially if there are only a few flows or their bandwidth-delay product (BDP) is large. The reception of a Congestion Experienced (CE) Explicit Congestion Notification (ECN) mark indicates that an AQM mechanism is used at the bottleneck, and the bottleneck network queue is therefore likely to be short. Feedback of this signal allows the TCP sender-side ECN reaction in congestion avoidance to reduce the Congestion Window (cwnd) by a smaller amount than the congestion control algorithm's reaction to inferred packet loss. Therefore, this specification defines an experimental change to the TCP reaction specified in RFC 3168, as permitted by RFC 8311.
主动队列管理(AQM)机制允许突发容忍,同时强制执行短队列,以最大限度地减少数据包在瓶颈处排队的时间。这可能会导致穿越此类瓶颈的TCP连接的性能显著下降,特别是当只有少量流或其带宽延迟积(BDP)较大时。接收到拥塞体验(CE)显式拥塞通知(ECN)标记表示在瓶颈处使用了AQM机制,因此瓶颈网络队列可能较短。该信号的反馈允许TCP发送方在拥塞避免中的ECN反应将拥塞窗口(cwnd)减少的量小于拥塞控制算法对推断的数据包丢失的反应。因此,本规范规定了RFC 3168中规定的TCP反应的实验变化,如RFC 8311所允许。
Status of This Memo
关于下段备忘
This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation.
本文件不是互联网标准跟踪规范;它是为检查、实验实施和评估而发布的。
This document defines an Experimental Protocol for the Internet community. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are candidates for any level of Internet Standard; see Section 2 of RFC 7841.
本文档为互联网社区定义了一个实验协议。本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非IESG批准的所有文件都适用于任何级别的互联网标准;见RFC 7841第2节。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8511.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问https://www.rfc-editor.org/info/rfc8511.
Copyright Notice
版权公告
Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2018 IETF信托基金和确定为文件作者的人员。版权所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(https://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。
Table of Contents
目录
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Choice of ABE Multiplier . . . . . . . . . . . . . . . . 4 4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Rationale for Using ECN to Vary the Degree of Backoff . . 6 4.2. An RTT-Based Response to Indicated Congestion . . . . . . 7 5. ABE Deployment Requirements . . . . . . . . . . . . . . . . . 7 6. ABE Experiment Goals . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 9 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Choice of ABE Multiplier . . . . . . . . . . . . . . . . 4 4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Rationale for Using ECN to Vary the Degree of Backoff . . 6 4.2. An RTT-Based Response to Indicated Congestion . . . . . . 7 5. ABE Deployment Requirements . . . . . . . . . . . . . . . . . 7 6. ABE Experiment Goals . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . 9 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
Explicit Congestion Notification (ECN) [RFC3168] makes it possible for an Active Queue Management (AQM) mechanism to signal the presence of incipient congestion without necessarily incurring packet loss. This lets the network deliver some packets to an application that would have been dropped if the application or transport did not support ECN. This packet loss reduction is the most obvious benefit of ECN, but it is often relatively modest. Other benefits of deploying ECN have been documented in [RFC8087].
显式拥塞通知(ECN)[RFC3168]使主动队列管理(AQM)机制能够在不一定导致数据包丢失的情况下发出初始拥塞存在的信号。这允许网络将一些数据包传送到应用程序,如果应用程序或传输不支持ECN,这些数据包将被丢弃。这种数据包丢失的减少是ECN最明显的好处,但它通常是相对温和的。[RFC8087]中记录了部署ECN的其他好处。
The rules for ECN were originally written to be very conservative, and they required the congestion control algorithms of ECN-Capable Transport (ECT) protocols to treat indications of congestion signalled by ECN exactly the same as they would treat an inferred packet loss [RFC3168]. Research has demonstrated the benefits of reducing network delays that are caused by interaction of loss-based TCP congestion control and excessive buffering [BUFFERBLOAT]. This has led to the creation of AQM mechanisms like Proportional Integral Controller Enhanced (PIE) [RFC8033] and Controlling Queue Delay (CoDel) [RFC8289], which prevent bloated queues that are common with unmanaged and excessively large buffers deployed across the Internet [BUFFERBLOAT].
ECN的规则最初是非常保守的,它们要求ECN传输(ECT)协议的拥塞控制算法处理ECN发出的拥塞指示,就像处理推断的数据包丢失一样[RFC3168]。研究已经证明了减少基于丢失的TCP拥塞控制和过度缓冲(BUFFERBLOAT)交互造成的网络延迟的好处。这导致了AQM机制的创建,如比例积分控制器增强型(PIE)[RFC8033]和控制队列延迟(CoDel)[RFC8289],它们可以防止在Internet上部署的非托管和过大缓冲区中常见的臃肿队列[BUFFERBLOAT]。
The AQM mechanisms mentioned above aim to keep a sustained queue short while tolerating transient (short-term) packet bursts. However, currently used loss-based congestion control mechanisms are not always able to effectively utilise a bottleneck link where there are short queues. For example, a TCP sender using the Reno congestion control needs to be able to store at least an end-to-end bandwidth-delay product (BDP) worth of data at the bottleneck buffer if it is to maintain full path utilisation in the face of loss-induced reduction of the congestion window (cwnd) [RFC5681]. This amount of buffering effectively doubles the amount of data that can be in flight and the maximum round-trip time (RTT) experienced by the TCP sender.
上面提到的AQM机制的目的是在容忍瞬时(短期)数据包突发的同时保持持续的队列短。然而,目前使用的基于丢失的拥塞控制机制并不总是能够有效地利用存在短队列的瓶颈链路。例如,使用Reno拥塞控制的TCP发送方需要能够在瓶颈缓冲区至少存储相当于端到端带宽延迟产品(BDP)的数据,以在拥塞窗口(cwnd)因丢失而减少的情况下保持完整的路径利用率[RFC5681]。此缓冲量有效地将传输中的数据量和TCP发送方经历的最大往返时间(RTT)增加了一倍。
Modern AQM mechanisms can use ECN to signal the early signs of impending queue buildup long before a tail-drop queue would be forced to resort to dropping packets. It is therefore appropriate for the transport protocol congestion control algorithm to have a more measured response when it receives an indication with an early warning of congestion after the remote endpoint receives an ECN CE-marked packet. Recognizing these changes in modern AQM practices, the strict requirement that ECN CE signals be treated identically to inferred packet loss has been relaxed [RFC8311]. This document therefore defines a new sender-side-only congestion control response
现代的AQM机制可以使用ECN在尾部丢弃队列被迫丢弃数据包之前很久就发出队列即将堆积的早期信号。因此,当传输协议拥塞控制算法在远程端点接收到带有ECN-CE标记的分组之后接收到带有拥塞早期警告的指示时,具有更可测量的响应是合适的。认识到现代AQM实践中的这些变化,ECN CE信号与推断的数据包丢失相同的严格要求已经放宽[RFC8311]。因此,本文档定义了一个新的仅发送方的拥塞控制响应
called "ABE" (Alternative Backoff with ECN). ABE improves TCP's average throughput when routers use AQM-controlled buffers that allow only for short queues.
称为“ABE”(ECN的备选退避)。当路由器使用仅允许短队列的AQM控制的缓冲区时,ABE提高了TCP的平均吞吐量。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“建议”、“不建议”、“可”和“可选”在所有大写字母出现时(如图所示)应按照BCP 14[RFC2119][RFC8174]所述进行解释。
This specification changes the congestion control algorithm of an ECN-Capable TCP transport protocol by changing the TCP-sender response to feedback from the TCP receiver that indicates the reception of a CE-marked packet, i.e., receipt of a packet with the ECN-Echo flag (defined in [RFC3168]) set, following the process defined in [RFC8311].
本规范改变了支持ECN的TCP传输协议的拥塞控制算法,通过改变TCP发送方对来自TCP接收方的反馈的响应,该反馈指示接收到CE标记的数据包,即,按照[RFC8311]中定义的过程接收到设置了ECN回显标志(在[RFC3168]中定义)的数据包。
The TCP-sender response is currently specified in Section 6.1.2 of the ECN specification [RFC3168] and has been slightly updated by Section 4.1 of [RFC8311] to read as:
TCP发送方响应目前在ECN规范[RFC3168]的第6.1.2节中有规定,并在[RFC8311]的第4.1节中稍作更新,内容如下:
The indication of congestion should be treated just as a congestion loss in non-ECN-Capable TCP. That is, the TCP source halves the congestion window "cwnd" and reduces the slow start threshold "ssthresh", unless otherwise specified by an Experimental RFC in the IETF document stream.
拥塞指示应被视为不支持ECN的TCP中的拥塞丢失。也就是说,TCP源将拥塞窗口“cwnd”减半,并降低慢启动阈值“ssthresh”,除非IETF文档流中的实验RFC另有规定。
As permitted by RFC 8311, this document specifies a sender-side change to TCP where receipt of a packet with the ECN-Echo flag SHOULD trigger the TCP source to set the slow start threshold (ssthresh) to 0.8 times the FlightSize, with a lower bound of 2 * SMSS applied to the result (where SMSS stands for Sender Maximum Segment Size)). As in [RFC5681], the TCP sender also reduces the cwnd value to no more than the new ssthresh value. Section 6.1.2 of RFC 3168 provides guidance on setting a cwnd less than 2 * SMSS.
根据RFC 8311的允许,本文档指定了对TCP的发送方更改,其中接收到带有ECN Echo标志的数据包应触发TCP源将慢启动阈值(ssthresh)设置为FlightSize的0.8倍,并将下限2*SMSS应用于结果(其中SMSS代表发送方最大段大小)。与[RFC5681]中一样,TCP发送方也将cwnd值减少到不超过新的ssthresh值。RFC 3168第6.1.2节提供了将cwnd设置为小于2*SMS的指南。
ABE decouples the reaction of a TCP sender to inferred packet loss from the indication of ECN-signalled congestion in the congestion avoidance phase. To achieve this, ABE uses a different scaling factor for Equation 4 in Section 3.1 of [RFC5681]. The description respectively uses beta_{loss} and beta_{ecn} to refer to the multiplicative decrease factors applied in response to inferred
ABE在拥塞避免阶段将TCP发送方对推断的数据包丢失的反应与ECN信号拥塞的指示解耦。为了实现这一点,ABE对[RFC5681]第3.1节中的等式4使用了不同的比例因子。该描述分别使用beta_{loss}和beta_{ecn}来指代为响应推断的损失而应用的乘法减少因子
packet loss, and in response to a receiver indicating ECN-signalled congestion. For non-ECN-enabled TCP connections, only beta_{loss} applies.
数据包丢失,并响应指示ECN信号拥塞的接收器。对于未启用ECN的TCP连接,仅beta_{loss}适用。
In other words, in response to inferred packet loss:
换句话说,响应于推断的分组丢失:
ssthresh = max (FlightSize * beta_{loss}, 2 * SMSS)
ssthresh = max (FlightSize * beta_{loss}, 2 * SMSS)
and in response to an indication of an ECN-signalled congestion:
以及响应ECN信号拥塞的指示:
ssthresh = max (FlightSize * beta_{ecn}, 2 * SMSS)
ssthresh = max (FlightSize * beta_{ecn}, 2 * SMSS)
and
和
cwnd = ssthresh
cwnd = ssthresh
(If ssthresh == 2 * SMSS, Section 6.1.2 of RFC 3168 provides guidance on setting a cwnd lower than 2 * SMSS.)
(如果ssthresh==2*SMSS,RFC 3168第6.1.2节提供了将cwnd设置为低于2*SMSS的指南。)
where FlightSize is the amount of outstanding data in the network, upper-bounded by the smaller of the sender's cwnd and the receiver's advertised window (rwnd) [RFC5681]. The higher the values of beta_{loss} and beta_{ecn}, the less aggressive the response of any individual backoff event.
其中FlightSize是网络中未完成的数据量,上限为发送方的cwnd和接收方的广告窗口(rwnd)中的较小者[RFC5681]。beta_{loss}和beta_{ecn}的值越高,任何单个退避事件的响应越不积极。
The appropriate choice for beta_{loss} and beta_{ecn} values is a balancing act between path utilisation and draining the bottleneck queue. More aggressive backoff (smaller beta_*) risks the underutilisation of the path, while less-aggressive backoff (larger beta_*) can result in slower draining of the bottleneck queue.
对于beta_{loss}和beta_{ecn}值的适当选择是路径利用率和排出瓶颈队列之间的平衡。更激进的退避(较小的beta_*)会导致路径利用率不足,而更激进的退避(较大的beta_*)会导致瓶颈队列的排放速度变慢。
The Internet has already been running with at least two different beta_{loss} values for several years: the standard value is 0.5 [RFC5681], and the Linux implementation of CUBIC [RFC8312] has used a multiplier of 0.7 since kernel version 2.6.25 released in 2008. ABE does not change the value of beta_{loss} used by current TCP implementations.
互联网已经运行了至少两种不同的beta_{loss}值好几年了:标准值是0.5[RFC5681],CUBIC[RFC8312]的Linux实现自2008年发布内核版本2.6.25以来使用了0.7的乘数。ABE不会更改当前TCP实现使用的beta_{loss}的值。
The recommendation in this document specifies a value of beta_{ecn}=0.8. This recommended beta_{ecn} value is only applicable for the standard TCP congestion control [RFC5681]. The selection of beta_{ecn} enables tuning the response of a TCP connection to shallow AQM-marking thresholds. beta_{loss} characterizes the response of a congestion control algorithm to packet loss, i.e., exhaustion of buffers (of unknown depth). Different values for beta_{loss} have been suggested for TCP congestion control algorithms. Consequently, beta_{ecn} is likely to be an algorithm-specific parameter rather than a constant multiple of the algorithm's existing beta_{loss}.
本文件中的建议规定了beta_{ecn}=0.8的值。此推荐的beta_{ecn}值仅适用于标准TCP拥塞控制[RFC5681]。选择beta_{ecn}可以调整TCP连接对浅层AQM标记阈值的响应。beta_{loss}表示拥塞控制算法对数据包丢失的响应,即缓冲区耗尽(深度未知)。对于TCP拥塞控制算法,建议使用不同的beta_{loss}值。因此,beta{ecn}可能是算法特定的参数,而不是算法现有beta{loss}的常数倍。
A range of tests (Section IV of [ABE2017]) with NewReno and CUBIC over CoDel and PIE in lightly multiplexed scenarios have explored this choice of parameter. The results of these tests indicate that CUBIC connections benefit from beta_{ecn} of 0.85 (cf. beta_{loss} = 0.7), and NewReno connections see improvements with beta_{ecn} in the range 0.7 to 0.85 (cf. beta_{loss} = 0.5).
NewReno和CUBIC over CoDel和PIE在轻度多路复用场景中进行的一系列测试(2017年版[ABE2017]第四节)探索了这种参数选择。这些测试的结果表明,立方连接从0.85的β{ecn}中受益(参见β{loss}=0.7),NewReno连接在0.7到0.85的范围内(参见β{loss}=0.5)看到了β{ecn}的改进。
Much of the technical background for ABE can be found in [ABE2017], which uses a mix of experiments, theory, and simulations with NewReno [RFC5681] and CUBIC [RFC8312] to evaluate its performance. ABE was shown to present significant performance gains in lightly-multiplexed (few concurrent flows) scenarios, without losing the delay-reduction benefits of deploying CoDel or PIE. The performance improvement is achieved when reacting to ECN-Echo in congestion avoidance (when ssthresh > cwnd) by multiplying cwnd and ssthresh with a value in the range [0.7,0.85]. Applying ABE when cwnd is smaller than or equal to ssthresh is not currently recommended, but its use in that scenario may benefit from additional attention, experimentation, and specification.
ABE的大部分技术背景可以在[ABE2017]中找到,它使用NewReno[RFC5681]和CUBIC[RFC8312]的实验、理论和模拟来评估其性能。ABE在轻度多路复用(少量并发流)场景中表现出显著的性能提升,而不会失去部署CoDel或PIE减少延迟的好处。通过将cwnd和ssthresh乘以[0.7,0.85]范围内的值,在拥塞避免(当ssthresh>cwnd)中对ECN回波作出反应时,可实现性能改进。当前不建议在cwnd小于或等于ssthresh时应用ABE,但在该场景中使用ABE可能会受益于额外的注意、实验和规范。
AQM mechanisms such as CoDel [RFC8289] and PIE [RFC8033] set a delay target in routers and use congestion notifications to constrain the queuing delays experienced by packets rather than in response to impending or actual bottleneck buffer exhaustion. With current default delay targets, CoDel and PIE both effectively emulate a bottleneck with a short queue (Section II of [ABE2017]) while also allowing short traffic bursts into the queue. This provides acceptable performance for TCP connections over a path with a low BDP, or in highly multiplexed scenarios (many concurrent transport flows). However, in a lightly multiplexed case over a path with a large BDP, conventional TCP backoff leads to gaps in packet transmission and underutilisation of the path.
AQM机制,如CoDel[RFC8289]和PIE[RFC8033]在路由器中设置延迟目标,并使用拥塞通知来约束数据包经历的排队延迟,而不是响应即将发生的或实际的瓶颈缓冲区耗尽。对于当前的默认延迟目标,CoDel和PIE都有效地模拟了具有短队列的瓶颈(见[ABE2017]第二节),同时也允许短流量突发进入队列。这为低BDP路径上的TCP连接或在高度多路复用场景(许多并发传输流)中的TCP连接提供了可接受的性能。然而,在具有大BDP的路径上的轻复用情况下,传统TCP退避导致分组传输中的间隙和路径利用不足。
Instead of discarding packets, an AQM mechanism is allowed to mark ECN-Capable packets with an ECN CE mark. The reception of CE-mark feedback not only indicates congestion on the network path, it also indicates that an AQM mechanism exists at the bottleneck along the path. Therefore, the CE mark likely came from a bottleneck with a controlled short queue. Reacting differently to an ECN-signalled congestion than to an inferred packet loss can then yield the benefit of a reduced backoff when queues are short. Using ECN can also be advantageous for several other reasons [RFC8087].
AQM机制允许使用ECN CE标记来标记支持ECN的数据包,而不是丢弃数据包。接收到CE标记反馈不仅表明网络路径上存在拥塞,还表明路径瓶颈处存在AQM机制。因此,CE标记可能来自一个瓶颈,该瓶颈具有受控的短队列。与推断的数据包丢失不同,对ECN信号拥塞的反应可以在队列较短时减少退避。出于其他几个原因,使用ECN也可能是有利的[RFC8087]。
The idea of reacting differently to inferred packet loss and detection of an ECN-signalled congestion predates this specification, e.g., previous research proposed using ECN CE-marked feedback to modify TCP congestion control behaviour via a larger multiplicative decrease factor in conjunction with a smaller additive increase factor [ICC2002]. The goal of this former work was to operate across AQM bottlenecks (using Random Early Detection (RED)) that were not necessarily configured to emulate a short queue. (The current usage of RED as an Internet AQM method is limited [RFC7567].)
对推断的数据包丢失和ECN信号拥塞检测做出不同反应的想法早于本规范,例如,先前的研究建议使用ECN CE标记反馈,通过较大的乘法减少因子和较小的加法增加因子来修改TCP拥塞控制行为[ICC2002]。前一项工作的目标是跨越AQM瓶颈(使用随机早期检测(RED)),这些瓶颈不一定配置为模拟短队列。(目前,RED作为互联网AQM方法的使用受到限制[RFC7567]。)
This specification applies to the use of ECN feedback as defined in [RFC3168], which specifies a response to indicated congestion that is no more frequent than once per path round-trip time. Since ABE responds to indicated congestion once per RTT, it does not respond to any further loss within the same RTT because an ABE sender has already reduced the congestion window. If congestion persists after such reduction, ABE continues to reduce the congestion window in each consecutive RTT. This consecutive reduction can protect the network against long-standing unfairness in the case of AQM algorithms that do not keep a small average queue length. The mechanism does not rely on Accurate ECN [ACC-ECN-FEEDBACK].
本规范适用于[RFC3168]中定义的ECN反馈的使用,其规定了对指示拥塞的响应,其频率不超过每条路径往返时间一次。由于ABE在每个RTT中对指示的拥塞作出一次响应,因此它不会对同一RTT内的任何进一步的丢失作出响应,因为ABE发送方已经减少了拥塞窗口。如果在这种减少之后拥塞仍然存在,ABE将继续减少每个连续RTT中的拥塞窗口。在AQM算法不保持较小的平均队列长度的情况下,这种连续减少可以保护网络免受长期不公平的影响。该机制不依赖于准确的ECN[ACC-ECN-反馈]。
In contrast, transport protocol mechanisms can also be designed to utilise more frequent and detailed ECN feedback (e.g., Accurate ECN [ACC-ECN-FEEDBACK]), which then permit a congestion control response that adjusts the sending rate more frequently. Data Center TCP (DCTCP) [RFC8257] is an example of this approach.
相反,传输协议机制也可设计为利用更频繁和详细的ECN反馈(例如,准确的ECN[ACC-ECN-反馈]),从而允许更频繁地调整发送速率的拥塞控制响应。数据中心TCP(DCTCP)[RFC8257]就是这种方法的一个例子。
This update is a sender-side-only change. Like other changes to congestion control algorithms, it does not require any change to the TCP receiver or to network devices. It does not require any ABE-specific changes in routers or the use of Accurate ECN feedback [ACC-ECN-FEEDBACK] by a receiver.
此更新是仅针对发件人的更改。与拥塞控制算法的其他更改一样,它不需要对TCP接收器或网络设备进行任何更改。它不需要对路由器进行任何特定于ABE的更改,也不需要接收器使用准确的ECN反馈[ACC-ECN-FEEDING]。
If the method is only deployed by some senders, and not by others, the senders using it can gain some advantage, possibly at the expense of other flows that do not use this updated method. Because this advantage applies only to ECN-marked packets and not to packet-loss indications, an ECN-Capable bottleneck will still fall back to dropping packets if a TCP sender using ABE is too aggressive. The result is no different than if the TCP sender were using traditional loss-based congestion control.
如果该方法仅由某些发送方部署,而不是由其他发送方部署,则使用该方法的发送方可以获得一些优势,可能会以不使用此更新方法的其他流为代价。由于此优势仅适用于带有ECN标记的数据包,而不适用于数据包丢失指示,因此,如果使用ABE的TCP发送方过于激进,则支持ECN的瓶颈仍将退回到丢弃数据包。结果与TCP发送方使用传统的基于丢失的拥塞控制没有什么不同。
When used with bottlenecks that do not support ECN marking, the specification does not modify the transport protocol.
当与不支持ECN标记的瓶颈一起使用时,规范不会修改传输协议。
[RFC3168] states that the congestion control response following an indication of ECN-signalled congestion is the same as the response to a dropped packet. [RFC8311] updates this specification to allow systems to provide a different behaviour when they experience ECN-signalled congestion rather than packet loss. The present specification defines such an experiment and is an Experimental RFC. We expect to propose it as a Standards-Track document in the future.
[RFC3168]指出,ECN信号拥塞指示后的拥塞控制响应与对丢弃数据包的响应相同。[RFC8311]更新了本规范,允许系统在遇到ECN信号拥塞而不是数据包丢失时提供不同的行为。本规范定义了此类试验,是一种试验性RFC。我们希望在将来将其作为标准跟踪文件提出。
The purpose of the Internet experiment is to collect experience with the deployment of ABE and confirm acceptable safety in deployed networks that use this update to TCP congestion control. To evaluate ABE, this experiment requires support in AQM routers for the ECN-marking of packets carrying the ECN-Capable Transport codepoint ECT(0) [RFC3168].
互联网实验的目的是收集部署ABE的经验,并确认使用此更新进行TCP拥塞控制的已部署网络中可接受的安全性。为了评估ABE,本实验需要AQM路由器支持对携带ECN能力传输码点ECT(0)[RFC3168]的数据包进行ECN标记。
The result of this Internet experiment ought to include an investigation of the implications of experiencing an ECN-CE mark followed by loss within the same RTT. At the end of the experiment, this will be reported to the TCPM Working Group or the IESG.
这项互联网实验的结果应该包括对在同一RTT中经历ECN-CE标记后丢失的含义的调查。在实验结束时,这将报告给TCPM工作组或IESG。
ABE is implemented as a patch for Linux and FreeBSD. This is meant for research and experimentation and is available for download at <https://heim.ifi.uio.no/michawe/research/abe/>. This code was used to produce the test results that are reported in [ABE2017]. The FreeBSD code was committed to the mainline kernel on March 19, 2018 [ABE-REVISION].
ABE是作为Linux和FreeBSD的补丁实现的。这是为了进行研究和实验,可在<https://heim.ifi.uio.no/michawe/research/abe/>. 该代码用于生成[2017]中报告的测试结果。FreeBSD代码于2018年3月19日提交至主线内核[ABE-REVISION]。
This document has no IANA actions.
本文档没有IANA操作。
The described method is a sender-side-only transport change, and it does not change the protocol messages exchanged. Therefore, the security considerations for ECN [RFC3168] still apply.
所描述的方法是仅发送方的传输更改,并且它不更改所交换的协议消息。因此,ECN[RFC3168]的安全注意事项仍然适用。
This is a change to TCP congestion control with ECN that will typically lead to a change in the capacity achieved when flows share a network bottleneck. This could result in some flows receiving more than their fair share of capacity. Similar unfairness in the way that capacity is shared is also exhibited by other congestion control mechanisms that have been in use in the Internet for many years
这是对使用ECN的TCP拥塞控制的更改,通常会导致流共享网络瓶颈时所实现的容量发生变化。这可能导致一些流量获得的容量超过其公平份额。在容量共享方式上类似的不公平也表现在互联网上使用多年的其他拥塞控制机制上
(e.g., CUBIC [RFC8312]). Unfairness may also be a result of other factors, including the round-trip time experienced by a flow. ABE applies only when ECN-marked packets are received, not when packets are lost. Therefore, use of ABE cannot lead to congestion collapse.
(例如,立方[RFC8312])。不公平也可能是其他因素的结果,包括流所经历的往返时间。ABE仅在收到ECN标记的数据包时适用,而在数据包丢失时不适用。因此,使用ABE不会导致拥堵崩溃。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,DOI 10.17487/RFC2119,1997年3月<https://www.rfc-editor.org/info/rfc2119>.
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition of Explicit Congestion Notification (ECN) to IP", RFC 3168, DOI 10.17487/RFC3168, September 2001, <https://www.rfc-editor.org/info/rfc3168>.
[RFC3168]Ramakrishnan,K.,Floyd,S.,和D.Black,“向IP添加显式拥塞通知(ECN)”,RFC 3168,DOI 10.17487/RFC3168,2001年9月<https://www.rfc-editor.org/info/rfc3168>.
[RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion Control", RFC 5681, DOI 10.17487/RFC5681, September 2009, <https://www.rfc-editor.org/info/rfc5681>.
[RFC5681]Allman,M.,Paxson,V.和E.Blanton,“TCP拥塞控制”,RFC 5681,DOI 10.17487/RFC56812009年9月<https://www.rfc-editor.org/info/rfc5681>.
[RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF Recommendations Regarding Active Queue Management", BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015, <https://www.rfc-editor.org/info/rfc7567>.
[RFC7567]Baker,F.,Ed.和G.Fairhurst,Ed.,“IETF关于主动队列管理的建议”,BCP 197,RFC 7567,DOI 10.17487/RFC7567,2015年7月<https://www.rfc-editor.org/info/rfc7567>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8174]Leiba,B.,“RFC 2119关键词中大写与小写的歧义”,BCP 14,RFC 8174,DOI 10.17487/RFC8174,2017年5月<https://www.rfc-editor.org/info/rfc8174>.
[RFC8257] Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L., and G. Judd, "Data Center TCP (DCTCP): TCP Congestion Control for Data Centers", RFC 8257, DOI 10.17487/RFC8257, October 2017, <https://www.rfc-editor.org/info/rfc8257>.
[RFC8257]Bensley,S.,Thaler,D.,Balasubramanian,P.,Eggert,L.,和G.Judd,“数据中心TCP(DCTCP):数据中心的TCP拥塞控制”,RFC 8257,DOI 10.17487/RFC8257,2017年10月<https://www.rfc-editor.org/info/rfc8257>.
[RFC8311] Black, D., "Relaxing Restrictions on Explicit Congestion Notification (ECN) Experimentation", RFC 8311, DOI 10.17487/RFC8311, January 2018, <https://www.rfc-editor.org/info/rfc8311>.
[RFC8311]Black,D.,“放松对显式拥塞通知(ECN)实验的限制”,RFC 8311,DOI 10.17487/RFC8311,2018年1月<https://www.rfc-editor.org/info/rfc8311>.
[ABE-REVISION] Stewart, L., "ABE patch review in FreeBSD", Revision 331214, March 2018, <https://svnweb.freebsd.org/ base?view=revision&revision=331214>.
[ABE-REVISION]Stewart,L.,“FreeBSD中的ABE补丁审查”,第331214版,2018年3月<https://svnweb.freebsd.org/ 基本视图=修订版&修订版=331214>。
[ABE2017] Khademi, N., Armitage, G., Welzl, M., Zander, S., Fairhurst, G., and D. Ros, "Alternative backoff: Achieving low latency and high throughput with ECN and AQM", IFIP Networking Conference and Workshops Stockholm, Sweden, DOI 10.23919/IFIPNetworking.2017.8264863, June 2017.
[ABE2017]Khademi,N.,Armitage,G.,Welzl,M.,Zander,S.,Fairhurst,G.,和D.Ros,“替代退避:通过ECN和AQM实现低延迟和高吞吐量”,IFIP网络会议和研讨会斯德哥尔摩,瑞典,DOI 10.23919/IFIPNetworking.2017.8264863,2017年6月。
[ACC-ECN-FEEDBACK] Briscoe, B., Kuehlewind, M., and R. Scheffenegger, "More Accurate ECN Feedback in TCP", Work in Progress, draft-ietf-tcpm-accurate-ecn-07, July 2018.
[ACC-ECN-反馈]Briscoe,B.,Kuehlewind,M.,和R.Scheffenegger,“TCP中更准确的ECN反馈”,正在进行的工作,草稿-ietf-tcpm-Accurate-ECN-072018年7月。
[BUFFERBLOAT] Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in the Internet", ACM Queue, Volume 9, Issue 11, DOI 10.1145/2063166.2071893, November 2011, <https://queue.acm.org/detail.cfm?id=2071893>.
[BUFFERBLOAT]Gettys,J.和K.Nichols,“BUFFERBLOAT:互联网中的暗缓冲区”,ACM队列,第9卷,第11期,DOI 10.1145/2063166.2071893,2011年11月<https://queue.acm.org/detail.cfm?id=2071893>.
[ICC2002] Kwon, M. and S. Fahmy, "TCP increase/decrease behavior with explicit congestion notification (ECN)", 2002 IEEE International Conference on Communications Conference Proceedings, ICC 2002, Cat. No.02CH37333, DOI 10.1109/ICC.2002.997262, May 2002, <http://dx.doi.org/10.1109/ICC.2002.997262>.
[ICC2002]Kwon,M.和S.Fahmy,“具有显式拥塞通知(ECN)的TCP增加/减少行为”,2002 IEEE国际通信会议论文集,ICC 2002,Cat。第02CH37333号,DOI 10.1109/ICC.2002.9972622002年5月<http://dx.doi.org/10.1109/ICC.2002.997262>.
[RFC8033] Pan, R., Natarajan, P., Baker, F., and G. White, "Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017, <https://www.rfc-editor.org/info/rfc8033>.
[RFC8033]Pan,R.,Natarajan,P.,Baker,F.,和G.White,“增强型比例积分控制器(PIE):解决缓冲区膨胀问题的轻型控制方案”,RFC 8033,DOI 10.17487/RFC8033,2017年2月<https://www.rfc-editor.org/info/rfc8033>.
[RFC8087] Fairhurst, G. and M. Welzl, "The Benefits of Using Explicit Congestion Notification (ECN)", RFC 8087, DOI 10.17487/RFC8087, March 2017, <https://www.rfc-editor.org/info/rfc8087>.
[RFC8087]Fairhurst,G.和M.Welzl,“使用显式拥塞通知(ECN)的好处”,RFC 8087,DOI 10.17487/RFC8087,2017年3月<https://www.rfc-editor.org/info/rfc8087>.
[RFC8289] Nichols, K., Jacobson, V., McGregor, A., Ed., and J. Iyengar, Ed., "Controlled Delay Active Queue Management", RFC 8289, DOI 10.17487/RFC8289, January 2018, <https://www.rfc-editor.org/info/rfc8289>.
[RFC8289]Nichols,K.,Jacobson,V.,McGregor,A.,Ed.,和J.Iyengar,Ed.,“受控延迟主动队列管理”,RFC 8289,DOI 10.17487/RFC8289,2018年1月<https://www.rfc-editor.org/info/rfc8289>.
[RFC8312] Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", RFC 8312, DOI 10.17487/RFC8312, February 2018, <https://www.rfc-editor.org/info/rfc8312>.
[RFC8312]Rhee,I.,Xu,L.,Ha,S.,Zimmermann,A.,Eggert,L.,和R.Scheffenegger,“快速长途网络的立方体”,RFC 8312,DOI 10.17487/RFC8312,2018年2月<https://www.rfc-editor.org/info/rfc8312>.
Acknowledgements
致谢
Authors N. Khademi, M. Welzl, and G. Fairhurst were partly funded by the European Community under its Seventh Framework Programme through the Reducing Internet Transport Latency (RITE) project (ICT-317700). The views expressed are solely those of the authors.
作者N.Khademi、M.Welzl和G.Fairhurst通过减少互联网传输延迟(RITE)项目(ICT-317700)获得了欧洲共同体第七框架计划的部分资助。所表达的观点仅为作者的观点。
Author G. Armitage performed most of his work on this document while employed by Swinburne University of Technology, Melbourne, Australia.
作者G. Armitage在澳大利亚墨尔本斯文本科技大学工作时,完成了这份文件的大部分工作。
The authors would like to thank Stuart Cheshire for many suggestions when revising this document. They would also like to thank the following people for their contributions to [ABE2017]: Chamil Kulatunga, David Ros, Stein Gjessing, and Sebastian Zander. Thanks also to (in alphabetical order) David Black, Roland Bless, Bob Briscoe, Markku Kojo, John Leslie, Lawrence Stewart, and the TCPM Working Group for providing valuable feedback on this document.
作者要感谢斯图尔特·切希尔在修改本文件时提出的许多建议。他们还要感谢以下人士对[2017年ABE2017]的贡献:查米尔·库拉通加、大卫·罗斯、斯坦·杰辛和塞巴斯蒂安·赞德。还要感谢(按字母顺序排列)大卫·布莱克、罗兰·布莱斯、鲍勃·布里斯科、马克库·科乔、约翰·莱斯利、劳伦斯·斯图尔特和TCPM工作组就本文件提供了宝贵的反馈意见。
Finally, the authors would like to thank everyone who provided feedback on the congestion control behaviour specified in this document that was received from the IRTF Internet Congestion Control Research Group (ICCRG).
最后,作者要感谢从IRTF互联网拥塞控制研究小组(ICCRG)收到的关于本文件中指定的拥塞控制行为的反馈。
Authors' Addresses
作者地址
Naeem Khademi University of Oslo PO Box 1080 Blindern Oslo N-0316 Norway
Neim-KHADMi奥斯陆大学邮政信箱1080盲人奥斯陆N-0316挪威
Email: naeemk@ifi.uio.no
Email: naeemk@ifi.uio.no
Michael Welzl University of Oslo PO Box 1080 Blindern Oslo N-0316 Norway
米迦勒WelZl奥斯陆大学邮政信箱1080盲人奥斯陆N-0316挪威
Email: michawe@ifi.uio.no
Email: michawe@ifi.uio.no
Grenville Armitage Netflix Inc.
格伦维尔阿米蒂奇网飞公司。
Email: garmitage@netflix.com
Email: garmitage@netflix.com
Godred Fairhurst University of Aberdeen School of Engineering, Fraser Noble Building Aberdeen AB24 3UE United Kingdom
GoRead FelHurt阿伯丁大学工程学院,弗雷泽贵族大厦阿伯丁Ab24 3UE英国
Email: gorry@erg.abdn.ac.uk
Email: gorry@erg.abdn.ac.uk