draft-ietf-tsvwg-l4s-arch-20.original | draft-ietf-tsvwg-l4s-arch-21v2.txt | |||
---|---|---|---|---|
Transport Area Working Group B. Briscoe, Ed. | Transport Area Working Group B. Briscoe, Ed. | |||
Internet-Draft Independent | Internet-Draft Independent | |||
Intended status: Informational K. De Schepper | Intended status: Informational K. De Schepper | |||
Expires: 2 March 2023 Nokia Bell Labs | Expires: April 10, 2023 Nokia Bell Labs | |||
M. Bagnulo Braun | M. Bagnulo Braun | |||
Universidad Carlos III de Madrid | Universidad Carlos III de Madrid | |||
G. White | G. White | |||
CableLabs | CableLabs | |||
29 August 2022 | October 7, 2022 | |||
Low Latency, Low Loss, Scalable Throughput (L4S) Internet Service: | Low Latency, Low Loss, Scalable Throughput (L4S) Internet Service: | |||
Architecture | Architecture | |||
draft-ietf-tsvwg-l4s-arch-20 | draft-ietf-tsvwg-l4s-arch-21 | |||
Abstract | Abstract | |||
This document describes the L4S architecture, which enables Internet | This document describes the L4S architecture, which enables Internet | |||
applications to achieve Low queuing Latency, Low Loss, and Scalable | applications to achieve Low queuing Latency, Low Loss, and Scalable | |||
throughput (L4S). L4S is based on the insight that the root cause of | throughput (L4S). L4S is based on the insight that the root cause of | |||
queuing delay is in the capacity-seeking congestion controllers of | queuing delay is in the capacity-seeking congestion controllers of | |||
senders, not in the queue itself. With the L4S architecture all | senders, not in the queue itself. With the L4S architecture all | |||
Internet applications could (but do not have to) transition away from | Internet applications could (but do not have to) transition away from | |||
congestion control algorithms that cause substantial queuing delay, | congestion control algorithms that cause substantial queuing delay, | |||
skipping to change at page 2, line 10 ¶ | skipping to change at page 2, line 10 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on 2 March 2023. | This Internet-Draft will expire on April 10, 2023. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Revised BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Document Roadmap . . . . . . . . . . . . . . . . . . . . 5 | 1.1. Document Roadmap . . . . . . . . . . . . . . . . . . . . 5 | |||
2. L4S Architecture Overview . . . . . . . . . . . . . . . . . . 5 | 2. L4S Architecture Overview . . . . . . . . . . . . . . . . . . 5 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
4. L4S Architecture Components . . . . . . . . . . . . . . . . . 9 | 4. L4S Architecture Components . . . . . . . . . . . . . . . . . 9 | |||
4.1. Protocol Mechanisms . . . . . . . . . . . . . . . . . . . 9 | 4.1. Protocol Mechanisms . . . . . . . . . . . . . . . . . . . 9 | |||
4.2. Network Components . . . . . . . . . . . . . . . . . . . 10 | 4.2. Network Components . . . . . . . . . . . . . . . . . . . 10 | |||
4.3. Host Mechanisms . . . . . . . . . . . . . . . . . . . . . 13 | 4.3. Host Mechanisms . . . . . . . . . . . . . . . . . . . . . 13 | |||
5. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 5. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
5.1. Why These Primary Components? . . . . . . . . . . . . . . 15 | 5.1. Why These Primary Components? . . . . . . . . . . . . . . 14 | |||
5.2. What L4S adds to Existing Approaches . . . . . . . . . . 18 | 5.2. What L4S adds to Existing Approaches . . . . . . . . . . 17 | |||
6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 21 | 6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
6.1. Applications . . . . . . . . . . . . . . . . . . . . . . 21 | 6.1. Applications . . . . . . . . . . . . . . . . . . . . . . 21 | |||
6.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 22 | 6.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
6.3. Applicability with Specific Link Technologies . . . . . . 24 | 6.3. Applicability with Specific Link Technologies . . . . . . 23 | |||
6.4. Deployment Considerations . . . . . . . . . . . . . . . . 25 | 6.4. Deployment Considerations . . . . . . . . . . . . . . . . 24 | |||
6.4.1. Deployment Topology . . . . . . . . . . . . . . . . . 25 | 6.4.1. Deployment Topology . . . . . . . . . . . . . . . . . 25 | |||
6.4.2. Deployment Sequences . . . . . . . . . . . . . . . . 26 | 6.4.2. Deployment Sequences . . . . . . . . . . . . . . . . 26 | |||
6.4.3. L4S Flow but Non-ECN Bottleneck . . . . . . . . . . . 29 | 6.4.3. L4S Flow but Non-ECN Bottleneck . . . . . . . . . . . 29 | |||
6.4.4. L4S Flow but Classic ECN Bottleneck . . . . . . . . . 30 | 6.4.4. L4S Flow but Classic ECN Bottleneck . . . . . . . . . 30 | |||
6.4.5. L4S AQM Deployment within Tunnels . . . . . . . . . . 30 | 6.4.5. L4S AQM Deployment within Tunnels . . . . . . . . . . 30 | |||
7. IANA Considerations (to be removed by RFC Editor) . . . . . . 30 | 7. IANA Considerations (to be removed by RFC Editor) . . . . . . 30 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 31 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 30 | |||
8.1. Traffic Rate (Non-)Policing . . . . . . . . . . . . . . . 31 | 8.1. Traffic Rate (Non-)Policing . . . . . . . . . . . . . . . 30 | |||
8.1.1. (Non-)Policing Rate per Flow . . . . . . . . . . . . 31 | 8.1.1. (Non-)Policing Rate per Flow . . . . . . . . . . . . 30 | |||
8.1.2. (Non-)Policing L4S Service Rate . . . . . . . . . . . 31 | 8.1.2. (Non-)Policing L4S Service Rate . . . . . . . . . . . 31 | |||
8.2. 'Latency Friendliness' . . . . . . . . . . . . . . . . . 32 | 8.2. 'Latency Friendliness' . . . . . . . . . . . . . . . . . 32 | |||
8.3. Interaction between Rate Policing and L4S . . . . . . . . 34 | 8.3. Interaction between Rate Policing and L4S . . . . . . . . 34 | |||
8.4. ECN Integrity . . . . . . . . . . . . . . . . . . . . . . 35 | 8.4. ECN Integrity . . . . . . . . . . . . . . . . . . . . . . 35 | |||
8.5. Privacy Considerations . . . . . . . . . . . . . . . . . 35 | 8.5. Privacy Considerations . . . . . . . . . . . . . . . . . 35 | |||
9. Informative References . . . . . . . . . . . . . . . . . . . 36 | 9. Informative References . . . . . . . . . . . . . . . . . . . 35 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 45 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 44 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
1. Introduction | 1. Introduction | |||
At any one time, it is increasingly common for all of the traffic in | At any one time, it is increasingly common for all of the traffic in | |||
a bottleneck link (e.g. a household's Internet access) to come from | a bottleneck link (e.g. a household's Internet access) to come from | |||
applications that prefer low delay: interactive Web, Web services, | applications that prefer low delay: interactive Web, Web services, | |||
voice, conversational video, interactive video, interactive remote | voice, conversational video, interactive video, interactive remote | |||
presence, instant messaging, online gaming, remote desktop, cloud- | presence, instant messaging, online gaming, remote desktop, cloud- | |||
based applications and video-assisted remote control of machinery and | based applications and video-assisted remote control of machinery and | |||
skipping to change at page 4, line 27 ¶ | skipping to change at page 4, line 28 ¶ | |||
Active Queue Management (AQM) is part of the solution to queuing | Active Queue Management (AQM) is part of the solution to queuing | |||
under load. AQM improves performance for all traffic, but there is a | under load. AQM improves performance for all traffic, but there is a | |||
limit to how much queuing delay can be reduced by solely changing the | limit to how much queuing delay can be reduced by solely changing the | |||
network; without addressing the root of the problem. | network; without addressing the root of the problem. | |||
The root of the problem is the presence of standard congestion | The root of the problem is the presence of standard congestion | |||
control (Reno [RFC5681]) or compatible variants | control (Reno [RFC5681]) or compatible variants | |||
(e.g. CUBIC [RFC8312]) that are used in TCP and in other transports | (e.g. CUBIC [RFC8312]) that are used in TCP and in other transports | |||
such as QUIC [RFC9000]. We shall use the term 'Classic' for these | such as QUIC [RFC9000]. We shall use the term 'Classic' for these | |||
Reno-friendly congestion controls. Classic congestion controls | Reno-friendly congestion controls. Classic congestion controls | |||
induce relatively large saw-tooth-shaped excursions up the queue and | induce relatively large saw-tooth-shaped excursions of queue | |||
down again, which have been growing as flow rate scales [RFC3649]. | occupancy. So if a network operator naively attempts to reduce | |||
So if a network operator naively attempts to reduce queuing delay by | queuing delay by configuring an AQM to operate at a shallower queue, | |||
configuring an AQM to operate at a shallower queue, a Classic | a Classic congestion control will significantly underutilize the link | |||
congestion control will significantly underutilize the link at the | at the bottom of every saw-tooth. These sawteeth have also been | |||
bottom of every saw-tooth. | growing in duration as flow rate scales [RFC3649]. | |||
It has been demonstrated that if the sending host replaces a Classic | It has been demonstrated that if the sending host replaces a Classic | |||
congestion control with a 'Scalable' alternative, when a suitable AQM | congestion control with a 'Scalable' alternative, when a suitable AQM | |||
is deployed in the network the performance under load of all the | is deployed in the network the performance under load of all the | |||
above interactive applications can be significantly improved. For | above interactive applications can be significantly improved. For | |||
instance, queuing delay under heavy load with the example DCTCP/DualQ | instance, queuing delay under heavy load with the example DCTCP/DualQ | |||
solution cited below on a DSL or Ethernet link is roughly 1 to 2 | solution cited below on a DSL or Ethernet link is roughly 1 to 2 | |||
milliseconds at the 99th percentile without losing link utilization | milliseconds at the 99th percentile without losing link utilization | |||
[DualPI2Linux], [DCttH19] (for other link types, see Section 6.3). | [L4Seval22], [DualPI2Linux] (for other link types, see Section 6.3). | |||
This compares with 5-20 ms on _average_ with a Classic congestion | This compares with 5-20 ms on _average_ with a Classic congestion | |||
control and current state-of-the-art AQMs such as FQ-CoDel [RFC8290], | control and current state-of-the-art AQMs such as FQ-CoDel [RFC8290], | |||
PIE [RFC8033] or DOCSIS PIE [RFC8034] and about 20-30 ms at the 99th | PIE [RFC8033] or DOCSIS PIE [RFC8034] and about 20-30 ms at the 99th | |||
percentile [DualPI2Linux]. | percentile [DualPI2Linux]. | |||
L4S is designed for incremental deployment. It is possible to deploy | L4S is designed for incremental deployment. It is possible to deploy | |||
the L4S service at a bottleneck link alongside the existing best | the L4S service at a bottleneck link alongside the existing best | |||
efforts service [DualPI2Linux] so that unmodified applications can | efforts service [DualPI2Linux] so that unmodified applications can | |||
start using it as soon as the sender's stack is updated. Access | start using it as soon as the sender's stack is updated. Access | |||
networks are typically designed with one link as the bottleneck for | networks are typically designed with one link as the bottleneck for | |||
skipping to change at page 5, line 26 ¶ | skipping to change at page 5, line 27 ¶ | |||
protocol is defined separately [I-D.ietf-tsvwg-ecn-l4s-id] as an | protocol is defined separately [I-D.ietf-tsvwg-ecn-l4s-id] as an | |||
experimental change to Explicit Congestion Notification (ECN). This | experimental change to Explicit Congestion Notification (ECN). This | |||
document describes and justifies the component parts and how they | document describes and justifies the component parts and how they | |||
interact to provide the scalable, low latency, low loss Internet | interact to provide the scalable, low latency, low loss Internet | |||
service. It also details the approach to incremental deployment, as | service. It also details the approach to incremental deployment, as | |||
briefly summarized above. | briefly summarized above. | |||
1.1. Document Roadmap | 1.1. Document Roadmap | |||
This document describes the L4S architecture in three passes. First | This document describes the L4S architecture in three passes. First | |||
this brief overview gives the very high level idea and states the | the brief overview in Section 2 gives the very high level idea and | |||
main components with minimal rationale. This is only intended to | states the main components with minimal rationale. This is only | |||
give some context for the terminology definitions that follow in | intended to give some context for the terminology definitions that | |||
Section 3, and to explain the structure of the rest of the document. | follow in Section 3, and to explain the structure of the rest of the | |||
Then Section 4 goes into more detail on each component with some | document. Then Section 4 goes into more detail on each component | |||
rationale, but still mostly stating what the architecture is, rather | with some rationale, but still mostly stating what the architecture | |||
than why. Finally, Section 5 justifies why each element of the | is, rather than why. Finally, Section 5 justifies why each element | |||
solution was chosen (Section 5.1) and why these choices were | of the solution was chosen (Section 5.1) and why these choices were | |||
different from other solutions (Section 5.2). | different from other solutions (Section 5.2). | |||
Having described the architecture, Section 6 clarifies its | Having described the architecture, Section 6 clarifies its | |||
applicability; that is, the applications and use-cases that motivated | applicability; that is, the applications and use-cases that motivated | |||
the design, the challenges applying the architecture to various link | the design, the challenges applying the architecture to various link | |||
technologies, and various incremental deployment models: including | technologies, and various incremental deployment models: including | |||
the two main deployment topologies, different sequences for | the two main deployment topologies, different sequences for | |||
incremental deployment and various interactions with pre-existing | incremental deployment and various interactions with pre-existing | |||
approaches. The document ends with the usual tailpieces, including | approaches. The document ends with the usual tailpieces, including | |||
extensive discussion of traffic policing and other security | extensive discussion of traffic policing and other security | |||
skipping to change at page 7, line 32 ¶ | skipping to change at page 7, line 31 ¶ | |||
mandated for L4S AQMs. Appendices of | mandated for L4S AQMs. Appendices of | |||
[I-D.ietf-tsvwg-aqm-dualq-coupled] give non-normative examples | [I-D.ietf-tsvwg-aqm-dualq-coupled] give non-normative examples | |||
that have been implemented and evaluated, and give recommended | that have been implemented and evaluated, and give recommended | |||
default parameter settings. It is expected that L4S experiments | default parameter settings. It is expected that L4S experiments | |||
will improve knowledge of parameter settings and whether the set | will improve knowledge of parameter settings and whether the set | |||
of marking algorithms needs to be limited. | of marking algorithms needs to be limited. | |||
3) Protocol: A sending host needs to distinguish L4S and Classic | 3) Protocol: A sending host needs to distinguish L4S and Classic | |||
packets with an identifier so that the network can classify them | packets with an identifier so that the network can classify them | |||
into their separate treatments. The L4S identifier | into their separate treatments. The L4S identifier | |||
spec. [I-D.ietf-tsvwg-ecn-l4s-id] concludes that all alternatives | spec [I-D.ietf-tsvwg-ecn-l4s-id] concludes that all alternatives | |||
involve compromises, but the ECT(1) and CE codepoints of the ECN | involve compromises, but the ECT(1) and CE codepoints of the ECN | |||
field represent a workable solution. As already explained, the | field represent a workable solution. As already explained, the | |||
network also uses ECN to immediately signal the very start of | network also uses ECN to immediately signal the very start of | |||
queue growth to the transport. | queue growth to the transport. | |||
3. Terminology | 3. Terminology | |||
[Note to the RFC Editor (to be removed before publication as an RFC): | [Note to the RFC Editor (to be removed before publication as an RFC): | |||
The following definitions are copied from the L4S ECN | The following definitions are copied from the L4S ECN | |||
spec [I-D.ietf-tsvwg-ecn-l4s-id] for the reader's convenience. | spec [I-D.ietf-tsvwg-ecn-l4s-id] for the reader's convenience. | |||
skipping to change at page 8, line 10 ¶ | skipping to change at page 8, line 10 ¶ | |||
co-exist with standard Reno [RFC5681] without causing | co-exist with standard Reno [RFC5681] without causing | |||
significantly negative impact on its flow rate [RFC5033]. The | significantly negative impact on its flow rate [RFC5033]. The | |||
scaling problem with Classic congestion control is explained, with | scaling problem with Classic congestion control is explained, with | |||
examples, in Section 5.1 and in [RFC3649]. | examples, in Section 5.1 and in [RFC3649]. | |||
Scalable Congestion Control: A congestion control where the average | Scalable Congestion Control: A congestion control where the average | |||
time from one congestion signal to the next (the recovery time) | time from one congestion signal to the next (the recovery time) | |||
remains invariant as the flow rate scales, all other factors being | remains invariant as the flow rate scales, all other factors being | |||
equal. For instance, DCTCP averages 2 congestion signals per | equal. For instance, DCTCP averages 2 congestion signals per | |||
round-trip whatever the flow rate, as do other recently developed | round-trip whatever the flow rate, as do other recently developed | |||
scalable congestion controls, e.g. Relentless TCP [Mathis09], TCP | scalable congestion controls, e.g. Relentless | |||
Prague [I-D.briscoe-iccrg-prague-congestion-control], | TCP [I-D.mathis-iccrg-relentless-tcp], TCP Prague | |||
[PragueLinux], BBRv2 [BBRv2], | [I-D.briscoe-iccrg-prague-congestion-control], [PragueLinux], | |||
[I-D.cardwell-iccrg-bbr-congestion-control] and the L4S variant of | BBRv2 [BBRv2], [I-D.cardwell-iccrg-bbr-congestion-control] and the | |||
SCReAM for real-time media [SCReAM], [RFC8298]). See Section 4.3 | L4S variant of SCReAM for real-time media [SCReAM], [RFC8298]). | |||
of [I-D.ietf-tsvwg-ecn-l4s-id] for more explanation. | See Section 4.3 of [I-D.ietf-tsvwg-ecn-l4s-id] for more | |||
explanation. | ||||
Classic service: The Classic service is intended for all the | Classic service: The Classic service is intended for all the | |||
congestion control behaviours that co-exist with Reno [RFC5681] | congestion control behaviours that co-exist with Reno [RFC5681] | |||
(e.g. Reno itself, Cubic [RFC8312], | (e.g. Reno itself, Cubic [RFC8312], | |||
Compound [I-D.sridharan-tcpm-ctcp], TFRC [RFC5348]). The term | Compound [I-D.sridharan-tcpm-ctcp], TFRC [RFC5348]). The term | |||
'Classic queue' means a queue providing the Classic service. | 'Classic queue' means a queue providing the Classic service. | |||
Low-Latency, Low-Loss Scalable throughput (L4S) service: The 'L4S' | Low-Latency, Low-Loss Scalable throughput (L4S) service: The 'L4S' | |||
service is intended for traffic from scalable congestion control | service is intended for traffic from scalable congestion control | |||
algorithms, such as the Prague congestion | algorithms, such as the Prague congestion | |||
skipping to change at page 8, line 45 ¶ | skipping to change at page 8, line 46 ¶ | |||
'flow'. For example: an L4S packet means a packet with an L4S | 'flow'. For example: an L4S packet means a packet with an L4S | |||
identifier sent from an L4S congestion control. | identifier sent from an L4S congestion control. | |||
Both Classic and L4S services can cope with a proportion of | Both Classic and L4S services can cope with a proportion of | |||
unresponsive or less-responsive traffic as well, but in the L4S | unresponsive or less-responsive traffic as well, but in the L4S | |||
case its rate has to be smooth enough or low enough to not build a | case its rate has to be smooth enough or low enough to not build a | |||
queue (e.g. DNS, VoIP, game sync datagrams, etc.). | queue (e.g. DNS, VoIP, game sync datagrams, etc.). | |||
Reno-friendly: The subset of Classic traffic that is friendly to the | Reno-friendly: The subset of Classic traffic that is friendly to the | |||
standard Reno congestion control defined for TCP in [RFC5681]. | standard Reno congestion control defined for TCP in [RFC5681]. | |||
The TFRC spec. [RFC5348] indirectly implies that 'friendly' is | The TFRC spec [RFC5348] indirectly implies that 'friendly' is | |||
defined as "generally within a factor of two of the sending rate | defined as "generally within a factor of two of the sending rate | |||
of a TCP flow under the same conditions". Reno-friendly is used | of a TCP flow under the same conditions". Reno-friendly is used | |||
here in place of 'TCP-friendly', given the latter has become | here in place of 'TCP-friendly', given the latter has become | |||
imprecise, because the TCP protocol is now used with so many | imprecise, because the TCP protocol is now used with so many | |||
different congestion control behaviours, and Reno is used in non- | different congestion control behaviours, and Reno is used in non- | |||
TCP transports such as QUIC [RFC9000]. | TCP transports such as QUIC [RFC9000]. | |||
Classic ECN: The original Explicit Congestion Notification (ECN) | Classic ECN: The original Explicit Congestion Notification (ECN) | |||
protocol [RFC3168], which requires ECN signals to be treated as | protocol [RFC3168], which requires ECN signals to be treated as | |||
equivalent to drops, both when generated in the network and when | equivalent to drops, both when generated in the network and when | |||
skipping to change at page 9, line 25 ¶ | skipping to change at page 9, line 25 ¶ | |||
Experienced. A packet marked with the CE codepoint is termed | Experienced. A packet marked with the CE codepoint is termed | |||
'ECN-marked' or sometimes just 'marked' where the context makes | 'ECN-marked' or sometimes just 'marked' where the context makes | |||
ECN obvious. | ECN obvious. | |||
Site: A home, mobile device, small enterprise or campus, where the | Site: A home, mobile device, small enterprise or campus, where the | |||
network bottleneck is typically the access link to the site. Not | network bottleneck is typically the access link to the site. Not | |||
all network arrangements fit this model but it is a useful, widely | all network arrangements fit this model but it is a useful, widely | |||
applicable generalization. | applicable generalization. | |||
Traffic policing: Limiting traffic by dropping packets or shifting | Traffic policing: Limiting traffic by dropping packets or shifting | |||
them to lower service class (as opposed to introducing delay, | them to a lower service class (as opposed to introducing delay, | |||
which is termed traffic shaping). Policing can involve limiting | which is termed traffic shaping). Policing can involve limiting | |||
average rate and/or burst size. Policing focused on limiting | average rate and/or burst size. Policing focused on limiting | |||
queuing but not average flow rate is termed congestion policing, | queuing but not average flow rate is termed congestion policing, | |||
latency policing, burst policing or queue protection in this | latency policing, burst policing or queue protection in this | |||
document. Otherwise, the term rate policing is used. | document. Otherwise, the term rate policing is used. | |||
4. L4S Architecture Components | 4. L4S Architecture Components | |||
The L4S architecture is composed of the elements in the following | The L4S architecture is composed of the elements in the following | |||
three subsections. | three subsections. | |||
skipping to change at page 10, line 7 ¶ | skipping to change at page 10, line 7 ¶ | |||
an ECN signal to be treated as equivalent to drop, both when it | an ECN signal to be treated as equivalent to drop, both when it | |||
is generated in the network and when it is responded to by hosts. | is generated in the network and when it is responded to by hosts. | |||
L4S needs networks and hosts to support a more fine-grained | L4S needs networks and hosts to support a more fine-grained | |||
meaning for each ECN signal that is less severe than a drop, so | meaning for each ECN signal that is less severe than a drop, so | |||
that the L4S signals: | that the L4S signals: | |||
* can be much more frequent; | * can be much more frequent; | |||
* can be signalled immediately, without the significant delay | * can be signalled immediately, without the significant delay | |||
required to smooth out fluctuations in the queue. | required to smooth out fluctuations in the queue. | |||
To enable L4S, the standards track Classic ECN spec. [RFC3168] | To enable L4S, the standards track Classic ECN spec [RFC3168] has | |||
has had to be updated to allow L4S packets to depart from the | had to be updated to allow L4S packets to depart from the | |||
'equivalent to drop' constraint. [RFC8311] is a standards track | 'equivalent to drop' constraint. [RFC8311] is a standards track | |||
update to relax specific requirements in RFC 3168 (and certain | update to relax specific requirements in RFC 3168 (and certain | |||
other standards track RFCs), which clears the way for the | other standards track RFCs), which clears the way for the | |||
experimental changes proposed for L4S. Also, the ECT(1) | experimental changes proposed for L4S. Also, the ECT(1) | |||
codepoint was previously assigned as the experimental ECN | codepoint was previously assigned as the experimental ECN | |||
nonce [RFC3540], which RFC 8311 recategorizes as historic to make | nonce [RFC3540], which RFC 8311 recategorizes as historic to make | |||
the codepoint available again. | the codepoint available again. | |||
b. [I-D.ietf-tsvwg-ecn-l4s-id] specifies that ECT(1) is used as the | b. [I-D.ietf-tsvwg-ecn-l4s-id] specifies that ECT(1) is used as the | |||
identifier to classify L4S packets into a separate treatment from | identifier to classify L4S packets into a separate treatment from | |||
skipping to change at page 12, line 22 ¶ | skipping to change at page 12, line 22 ¶ | |||
possible [I-D.ietf-tsvwg-aqm-dualq-coupled] without specifying | possible [I-D.ietf-tsvwg-aqm-dualq-coupled] without specifying | |||
the particular AQMs to use in the two queues so that designers | the particular AQMs to use in the two queues so that designers | |||
are free to implement diverse ideas. Informational appendices in | are free to implement diverse ideas. Informational appendices in | |||
that draft give pseudocode examples of two different specific AQM | that draft give pseudocode examples of two different specific AQM | |||
approaches: one called DualPI2 (pronounced Dual PI | approaches: one called DualPI2 (pronounced Dual PI | |||
Squared) [DualPI2Linux] that uses the PI2 variant of PIE, and a | Squared) [DualPI2Linux] that uses the PI2 variant of PIE, and a | |||
zero-config variant of RED called Curvy RED. A DualQ Coupled AQM | zero-config variant of RED called Curvy RED. A DualQ Coupled AQM | |||
based on PIE has also been specified and implemented for Low | based on PIE has also been specified and implemented for Low | |||
Latency DOCSIS [DOCSIS3.1]. | Latency DOCSIS [DOCSIS3.1]. | |||
(3) (2) | (3) (2) | |||
.-------^------..------------^------------------. | .-------^------..------------^------------------. | |||
,-(1)-----. _____ | ,-(1)-----. _____ | |||
; ________ : L4S -------. | | | ; ________ : L4S -------. | | | |||
:|Scalable| : _\ ||__\_|mark | | :|Scalable| : _\ ||__\_|mark | | |||
:| sender | : __________ / / || / |_____|\ _________ | :| sender | : __________ / / || / |_____|\ _________ | |||
:|________|\; | |/ -------' ^ \1|condit'nl| | :|________|\; | |/ -------' ^ \1|condit'nl| | |||
`---------'\_| IP-ECN | Coupling : \|priority |_\ | `---------'\_| IP-ECN | Coupling : \|priority |_\ | |||
________ / |Classifier| : /|scheduler| / | ________ / |Classifier| : /|scheduler| / | |||
|Classic |/ |__________|\ -------. __:__ / |_________| | |Classic |/ |__________|\ -------. __:__ / |_________| | |||
| sender | \_\ || | ||__\_|mark/|/ | | sender | \_\ || | ||__\_|mark/|/ | |||
|________| / || | || / |drop | | |________| / || | || / |drop | | |||
Classic -------' |_____| | Classic -------' |_____| | |||
Figure 1: Components of an L4S DualQ Coupled AQM Solution: 1) | Figure 1: Components of an L4S DualQ Coupled AQM Solution: 1) | |||
Scalable Sending Host; 2) Isolation in separate network | Scalable Sending Host; 2) Isolation in separate network queues; and | |||
queues; and 3) Packet Identification Protocol | 3) Packet Identification Protocol | |||
b. Per-Flow Queues and AQMs: A scheduler with per-flow queues such | b. Per-Flow Queues and AQMs: A scheduler with per-flow queues such | |||
as FQ-CoDel or FQ-PIE can be used for L4S. For instance within | as FQ-CoDel or FQ-PIE can be used for L4S. For instance within | |||
each queue of an FQ-CoDel system, as well as a CoDel AQM, there | each queue of an FQ-CoDel system, as well as a CoDel AQM, there | |||
is typically also the option of ECN marking at an immediate | is typically also the option of ECN marking at an immediate | |||
(unsmoothed) shallow threshold to support use in data centres | (unsmoothed) shallow threshold to support use in data centres | |||
(see Sec.5.2.7 of the FQ-CoDel spec [RFC8290]). In Linux, this | (see Sec.5.2.7 of the FQ-CoDel spec [RFC8290]). In Linux, this | |||
has been modified so that the shallow threshold can be solely | has been modified so that the shallow threshold can be solely | |||
applied to ECT(1) packets [FQ_CoDel_Thresh]. Then, if there is a | applied to ECT(1) packets [FQ_CoDel_Thresh]. Then, if there is a | |||
flow of non-ECN or ECT(0) packets in the per-flow-queue, the | flow of non-ECN or ECT(0) packets in the per-flow-queue, the | |||
skipping to change at page 19, line 42 ¶ | skipping to change at page 19, line 27 ¶ | |||
AQMs like FQ-CoDel would still not be able to support applications | AQMs like FQ-CoDel would still not be able to support applications | |||
that need both very low delay and high bandwidth, e.g. video-based | that need both very low delay and high bandwidth, e.g. video-based | |||
control of remote procedures, or interactive cloud-based video | control of remote procedures, or interactive cloud-based video | |||
(see Note 1 below). | (see Note 1 below). | |||
Although per-flow techniques are not incompatible with L4S, it is | Although per-flow techniques are not incompatible with L4S, it is | |||
important to have the DualQ alternative. This is because handling | important to have the DualQ alternative. This is because handling | |||
end-to-end (layer 4) flows in the network (layer 3 or 2) precludes | end-to-end (layer 4) flows in the network (layer 3 or 2) precludes | |||
some important end-to-end functions. For instance: | some important end-to-end functions. For instance: | |||
a. Per-flow forms of L4S like FQ-CoDel are incompatible with full | A. Per-flow forms of L4S like FQ-CoDel are incompatible with full | |||
end-to-end encryption of transport layer identifiers for | end-to-end encryption of transport layer identifiers for | |||
privacy and confidentiality (e.g. IPSec or encrypted VPN | privacy and confidentiality (e.g. IPSec or encrypted VPN | |||
tunnels, as opposed to DTLS over UDP), because they require | tunnels, as opposed to DTLS over UDP), because they require | |||
packet inspection to access the end-to-end transport flow | packet inspection to access the end-to-end transport flow | |||
identifiers. | identifiers. | |||
In contrast, the DualQ form of L4S requires no deeper | In contrast, the DualQ form of L4S requires no deeper | |||
inspection than the IP layer. So, as long as operators take | inspection than the IP layer. So, as long as operators take | |||
the DualQ approach, their users can have both very low queuing | the DualQ approach, their users can have both very low queuing | |||
delay and full end-to-end encryption [RFC8404]. | delay and full end-to-end encryption [RFC8404]. | |||
b. With per-flow forms of L4S, the network takes over control of | B. With per-flow forms of L4S, the network takes over control of | |||
the relative rates of each application flow. Some see it as | the relative rates of each application flow. Some see it as | |||
an advantage that the network will prevent some flows running | an advantage that the network will prevent some flows running | |||
faster than others. Others consider it an inherent part of | faster than others. Others consider it an inherent part of | |||
the Internet's appeal that applications can control their rate | the Internet's appeal that applications can control their rate | |||
while taking account of the needs of others via congestion | while taking account of the needs of others via congestion | |||
signals. They maintain that this has allowed applications | signals. They maintain that this has allowed applications | |||
with interesting rate behaviours to evolve, for instance, | with interesting rate behaviours to evolve, for instance, | |||
variable bit-rate video that varies around an equal share | variable bit-rate video that varies around an equal share | |||
rather than being forced to remain equal at every instant, or | rather than being forced to remain equal at every instant, or | |||
e2e scavenger behaviours [RFC6817] that use less than an equal | e2e scavenger behaviours [RFC6817] that use less than an equal | |||
share of capacity [LEDBAT_AQM]. | share of capacity [LEDBAT_AQM]. | |||
The L4S architecture does not require the IETF to commit to | The L4S architecture does not require the IETF to commit to | |||
one approach over the other, because it supports both, so that | one approach over the other, because it supports both, so that | |||
the 'market' can decide. Nonetheless, in the spirit of 'Do | the 'market' can decide. Nonetheless, in the spirit of 'Do | |||
one thing and do it well' [McIlroy78], the DualQ option | one thing and do it well' [McIlroy78], the DualQ option | |||
provides low delay without prejudging the issue of flow-rate | provides low delay without prejudging the issue of flow-rate | |||
control. Then, flow rate policing can be added separately if | control. Then, flow rate policing can be added separately if | |||
desired. This allows application control up to a point, but | desired. A policer would allow application control up to a | |||
the network can still choose to set the point at which it | point, but the network would still be able choose to set the | |||
intervenes to prevent one flow completely starving another. | point at which it intervened to prevent one flow completely | |||
starving another. | ||||
Note: | Note: | |||
1. It might seem that self-inflicted queuing delay within a per- | 1. It might seem that self-inflicted queuing delay within a per- | |||
flow queue should not be counted, because if the delay wasn't | flow queue should not be counted, because if the delay wasn't | |||
in the network it would just shift to the sender. However, | in the network it would just shift to the sender. However, | |||
modern adaptive applications, e.g. HTTP/2 [RFC9113] or some | modern adaptive applications, e.g. HTTP/2 [RFC9113] or some | |||
interactive media applications (see Section 6.1), can keep low | interactive media applications (see Section 6.1), can keep low | |||
latency objects at the front of their local send queue by | latency objects at the front of their local send queue by | |||
shuffling priorities of other objects dependent on the | shuffling priorities of other objects dependent on the | |||
skipping to change at page 21, line 32 ¶ | skipping to change at page 21, line 19 ¶ | |||
6. Applicability | 6. Applicability | |||
6.1. Applications | 6.1. Applications | |||
A transport layer that solves the current latency issues will provide | A transport layer that solves the current latency issues will provide | |||
new service, product and application opportunities. | new service, product and application opportunities. | |||
With the L4S approach, the following existing applications also | With the L4S approach, the following existing applications also | |||
experience significantly better quality of experience under load: | experience significantly better quality of experience under load: | |||
* Gaming, including cloud based gaming; | o Gaming, including cloud based gaming; | |||
* VoIP; | o VoIP; | |||
* Video conferencing; | o Video conferencing; | |||
* Web browsing; | o Web browsing; | |||
* (Adaptive) video streaming; | o (Adaptive) video streaming; | |||
* Instant messaging. | o Instant messaging. | |||
The significantly lower queuing latency also enables some interactive | The significantly lower queuing latency also enables some interactive | |||
application functions to be offloaded to the cloud that would hardly | application functions to be offloaded to the cloud that would hardly | |||
even be usable today: | even be usable today: | |||
* Cloud based interactive video; | o Cloud based interactive video; | |||
* Cloud based virtual and augmented reality. | o Cloud based virtual and augmented reality. | |||
The above two applications have been successfully demonstrated with | The above two applications have been successfully demonstrated with | |||
L4S, both running together over a 40 Mb/s broadband access link | L4S, both running together over a 40 Mb/s broadband access link | |||
loaded up with the numerous other latency sensitive applications in | loaded up with the numerous other latency sensitive applications in | |||
the previous list as well as numerous downloads - all sharing the | the previous list as well as numerous downloads - all sharing the | |||
same bottleneck queue simultaneously [L4Sdemo16]. For the former, a | same bottleneck queue simultaneously [L4Sdemo16]. For the former, a | |||
panoramic video of a football stadium could be swiped and pinched so | panoramic video of a football stadium could be swiped and pinched so | |||
that, on the fly, a proxy in the cloud could generate a sub-window of | that, on the fly, a proxy in the cloud could generate a sub-window of | |||
the match video under the finger-gesture control of each user. For | the match video under the finger-gesture control of each user. For | |||
the latter, a virtual reality headset displayed a viewport taken from | the latter, a virtual reality headset displayed a viewport taken from | |||
skipping to change at page 22, line 39 ¶ | skipping to change at page 22, line 26 ¶ | |||
Without the low queuing delay of L4S, cloud-based applications like | Without the low queuing delay of L4S, cloud-based applications like | |||
these would not be credible without significantly more access | these would not be credible without significantly more access | |||
bandwidth (to deliver all possible video that might be viewed) and | bandwidth (to deliver all possible video that might be viewed) and | |||
more local processing, which would increase the weight and power | more local processing, which would increase the weight and power | |||
consumption of head-mounted displays. When all interactive | consumption of head-mounted displays. When all interactive | |||
processing can be done in the cloud, only the data to be rendered for | processing can be done in the cloud, only the data to be rendered for | |||
the end user needs to be sent. | the end user needs to be sent. | |||
Other low latency high bandwidth applications such as: | Other low latency high bandwidth applications such as: | |||
* Interactive remote presence; | o Interactive remote presence; | |||
* Video-assisted remote control of machinery or industrial | o Video-assisted remote control of machinery or industrial | |||
processes. | processes. | |||
are not credible at all without very low queuing delay. No amount of | are not credible at all without very low queuing delay. No amount of | |||
extra access bandwidth or local processing can make up for lost time. | extra access bandwidth or local processing can make up for lost time. | |||
6.2. Use Cases | 6.2. Use Cases | |||
The following use-cases for L4S are being considered by various | The following use-cases for L4S are being considered by various | |||
interested parties: | interested parties: | |||
* Where the bottleneck is one of various types of access network: | o Where the bottleneck is one of various types of access network: | |||
e.g. DSL, Passive Optical Networks (PON), DOCSIS cable, mobile, | e.g. DSL, Passive Optical Networks (PON), DOCSIS cable, mobile, | |||
satellite (see Section 6.3 for some technology-specific details) | satellite (see Section 6.3 for some technology-specific details) | |||
* Private networks of heterogeneous data centres, where there is no | o Private networks of heterogeneous data centres, where there is no | |||
single administrator that can arrange for all the simultaneous | single administrator that can arrange for all the simultaneous | |||
changes to senders, receivers and network needed to deploy DCTCP: | changes to senders, receivers and network needed to deploy DCTCP: | |||
- a set of private data centres interconnected over a wide area | * a set of private data centres interconnected over a wide area | |||
with separate administrations, but within the same company | with separate administrations, but within the same company | |||
- a set of data centres operated by separate companies | * a set of data centres operated by separate companies | |||
interconnected by a community of interest network (e.g. for the | interconnected by a community of interest network (e.g. for the | |||
finance sector) | finance sector) | |||
- multi-tenant (cloud) data centres where tenants choose their | * multi-tenant (cloud) data centres where tenants choose their | |||
operating system stack (Infrastructure as a Service - IaaS) | operating system stack (Infrastructure as a Service - IaaS) | |||
* Different types of transport (or application) congestion control: | o Different types of transport (or application) congestion control: | |||
- elastic (TCP/SCTP); | * elastic (TCP/SCTP); | |||
- real-time (RTP, RMCAT); | * real-time (RTP, RMCAT); | |||
- query (DNS/LDAP). | * query-response (DNS/LDAP). | |||
* Where low delay quality of service is required, but without | o Where low delay quality of service is required, but without | |||
inspecting or intervening above the IP layer [RFC8404]: | inspecting or intervening above the IP layer [RFC8404]: | |||
- mobile and other networks have tended to inspect higher layers | * mobile and other networks have tended to inspect higher layers | |||
in order to guess application QoS requirements. However, with | in order to guess application QoS requirements. However, with | |||
growing demand for support of privacy and encryption, L4S | growing demand for support of privacy and encryption, L4S | |||
offers an alternative. There is no need to select which | offers an alternative. There is no need to select which | |||
traffic to favour for queuing, when L4S can give favourable | traffic to favour for queuing, when L4S can give favourable | |||
queuing to all traffic. | queuing to all traffic. | |||
* If queuing delay is minimized, applications with a fixed delay | o If queuing delay is minimized, applications with a fixed delay | |||
budget can communicate over longer distances, or via a longer | budget can communicate over longer distances, or via a longer | |||
chain of service functions [RFC7665] or onion routers. | chain of service functions [RFC7665] or onion routers. | |||
* If delay jitter is minimized, it is possible to reduce the | o If delay jitter is minimized, it is possible to reduce the | |||
dejitter buffers on the receive end of video streaming, which | dejitter buffers on the receive end of video streaming, which | |||
should improve the interactive experience | should improve the interactive experience | |||
6.3. Applicability with Specific Link Technologies | 6.3. Applicability with Specific Link Technologies | |||
Certain link technologies aggregate data from multiple packets into | Certain link technologies aggregate data from multiple packets into | |||
bursts, and buffer incoming packets while building each burst. Wi- | bursts, and buffer incoming packets while building each burst. Wi- | |||
Fi, PON and cable all involve such packet aggregation, whereas fixed | Fi, PON and cable all involve such packet aggregation, whereas fixed | |||
Ethernet and DSL do not. No sender, whether L4S or not, can do | Ethernet and DSL do not. No sender, whether L4S or not, can do | |||
anything to reduce the buffering needed for packet aggregation. So | anything to reduce the buffering needed for packet aggregation. So | |||
an AQM should not count this buffering as part of the queue that it | an AQM should not count this buffering as part of the queue that it | |||
controls, given no amount of congestion signals will reduce it. | controls, given no amount of congestion signals will reduce it. | |||
Certain link technologies also add buffering for other reasons, | Certain link technologies also add buffering for other reasons, | |||
specifically: | specifically: | |||
* Radio links (cellular, Wi-Fi, satellite) that are distant from the | o Radio links (cellular, Wi-Fi, satellite) that are distant from the | |||
source are particularly challenging. The radio link capacity can | source are particularly challenging. The radio link capacity can | |||
vary rapidly by orders of magnitude, so it is considered desirable | vary rapidly by orders of magnitude, so it is considered desirable | |||
to hold a standing queue that can utilize sudden increases of | to hold a standing queue that can utilize sudden increases of | |||
capacity; | capacity; | |||
* Cellular networks are further complicated by a perceived need to | o Cellular networks are further complicated by a perceived need to | |||
buffer in order to make hand-overs imperceptible; | buffer in order to make hand-overs imperceptible; | |||
L4S cannot remove the need for all these different forms of | L4S cannot remove the need for all these different forms of | |||
buffering. However, by removing 'the longest pole in the tent' | buffering. However, by removing 'the longest pole in the tent' | |||
(buffering for the large sawteeth of Classic congestion controls), | (buffering for the large sawteeth of Classic congestion controls), | |||
L4S exposes all these 'shorter poles' to greater scrutiny. | L4S exposes all these 'shorter poles' to greater scrutiny. | |||
Until now, the buffering needed for these additional reasons tended | Until now, the buffering needed for these additional reasons tended | |||
to be over-specified - with the excuse that none were 'the longest | to be over-specified - with the excuse that none were 'the longest | |||
pole in the tent'. But having removed the 'longest pole', it becomes | pole in the tent'. But having removed the 'longest pole', it becomes | |||
skipping to change at page 26, line 4 ¶ | skipping to change at page 25, line 28 ¶ | |||
known-bottleneck case tends to be applicable whatever the access link | known-bottleneck case tends to be applicable whatever the access link | |||
technology; whether xDSL, cable, PON, cellular, line of sight | technology; whether xDSL, cable, PON, cellular, line of sight | |||
wireless or satellite. | wireless or satellite. | |||
Therefore, the full benefit of the L4S service should be available in | Therefore, the full benefit of the L4S service should be available in | |||
the downstream direction when an L4S AQM is deployed at the ingress | the downstream direction when an L4S AQM is deployed at the ingress | |||
to this bottleneck link. And similarly, the full upstream service | to this bottleneck link. And similarly, the full upstream service | |||
will be available once an L4S AQM is deployed at the ingress into the | will be available once an L4S AQM is deployed at the ingress into the | |||
upstream link. (Of course, multi-homed sites would only see the full | upstream link. (Of course, multi-homed sites would only see the full | |||
benefit once all their access links were covered.) | benefit once all their access links were covered.) | |||
______ | ______ | |||
( ) | ( ) | |||
__ __ ( ) | __ __ ( ) | |||
|DQ\________/DQ|( enterprise ) | |DQ\________/DQ|( enterprise ) | |||
___ |__/ \__| ( /campus ) | ___ |__/ \__| ( /campus ) | |||
( ) (______) | ( ) (______) | |||
( ) ___||_ | ( ) ___||_ | |||
+----+ ( ) __ __ / \ | +----+ ( ) __ __ / \ | |||
| DC |-----( Core )|DQ\_______________/DQ|| home | | | DC |-----( Core )|DQ\_______________/DQ|| home | | |||
+----+ ( ) |__/ \__||______| | +----+ ( ) |__/ \__||______| | |||
(_____) __ | (_____) __ | |||
|DQ\__/\ __ ,===. | |DQ\__/\ __ ,===. | |||
|__/ \ ____/DQ||| ||mobile | |__/ \ ____/DQ||| ||mobile | |||
\/ \__|||_||device | \/ \__|||_||device | |||
| o | | | o | | |||
`---' | `---' | |||
Figure 2: Likely location of DualQ (DQ) Deployments in common | Figure 2: Likely location of DualQ (DQ) Deployments in common access | |||
access topologies | topologies | |||
Deployment in mesh topologies depends on how overbooked the core is. | Deployment in mesh topologies depends on how overbooked the core is. | |||
If the core is non-blocking, or at least generously provisioned so | If the core is non-blocking, or at least generously provisioned so | |||
that the edges are nearly always the bottlenecks, it would only be | that the edges are nearly always the bottlenecks, it would only be | |||
necessary to deploy an L4S AQM at the edge bottlenecks. For example, | necessary to deploy an L4S AQM at the edge bottlenecks. For example, | |||
some data-centre networks are designed with the bottleneck in the | some data-centre networks are designed with the bottleneck in the | |||
hypervisor or host NICs, while others bottleneck at the top-of-rack | hypervisor or host NICs, while others bottleneck at the top-of-rack | |||
switch (both the output ports facing hosts and those facing the | switch (both the output ports facing hosts and those facing the | |||
core). | core). | |||
skipping to change at page 29, line 49 ¶ | skipping to change at page 29, line 27 ¶ | |||
6.4.3. L4S Flow but Non-ECN Bottleneck | 6.4.3. L4S Flow but Non-ECN Bottleneck | |||
If L4S is enabled between two hosts, the L4S sender is required to | If L4S is enabled between two hosts, the L4S sender is required to | |||
coexist safely with Reno in response to any drop (see Section 4.3 of | coexist safely with Reno in response to any drop (see Section 4.3 of | |||
the L4S ECN spec [I-D.ietf-tsvwg-ecn-l4s-id]). | the L4S ECN spec [I-D.ietf-tsvwg-ecn-l4s-id]). | |||
Unfortunately, as well as protecting Classic traffic, this rule | Unfortunately, as well as protecting Classic traffic, this rule | |||
degrades the L4S service whenever there is any loss, even if the | degrades the L4S service whenever there is any loss, even if the | |||
cause is not persistent congestion at a bottleneck, e.g.: | cause is not persistent congestion at a bottleneck, e.g.: | |||
* congestion loss at other transient bottlenecks, e.g. due to bursts | o congestion loss at other transient bottlenecks, e.g. due to bursts | |||
in shallower queues; | in shallower queues; | |||
* transmission errors, e.g. due to electrical interference; | o transmission errors, e.g. due to electrical interference; | |||
* rate policing. | ||||
o rate policing. | ||||
Three complementary approaches are in progress to address this issue, | Three complementary approaches are in progress to address this issue, | |||
but they are all currently research: | but they are all currently research: | |||
* In Prague congestion control, ignore certain losses deemed | o In Prague congestion control, ignore certain losses deemed | |||
unlikely to be due to congestion (using some ideas from | unlikely to be due to congestion (using some ideas from | |||
BBR [I-D.cardwell-iccrg-bbr-congestion-control] regarding isolated | BBR [I-D.cardwell-iccrg-bbr-congestion-control] regarding isolated | |||
losses). This could mask any of the above types of loss while | losses). This could mask any of the above types of loss while | |||
still coexisting with drop-based congestion controls. | still coexisting with drop-based congestion controls. | |||
* A combination of RACK, L4S and link retransmission without | o A combination of RACK, L4S and link retransmission without | |||
resequencing could repair transmission errors without the head of | resequencing could repair transmission errors without the head of | |||
line blocking delay usually associated with link-layer | line blocking delay usually associated with link-layer | |||
retransmission [UnorderedLTE], [I-D.ietf-tsvwg-ecn-l4s-id]; | retransmission [UnorderedLTE], [I-D.ietf-tsvwg-ecn-l4s-id]; | |||
* Hybrid ECN/drop rate policers (see Section 8.3). | o Hybrid ECN/drop rate policers (see Section 8.3). | |||
L4S deployment scenarios that minimize these issues (e.g. over | L4S deployment scenarios that minimize these issues (e.g. over | |||
wireline networks) can proceed in parallel to this research, in the | wireline networks) can proceed in parallel to this research, in the | |||
expectation that research success could continually widen L4S | expectation that research success could continually widen L4S | |||
applicability. | applicability. | |||
6.4.4. L4S Flow but Classic ECN Bottleneck | 6.4.4. L4S Flow but Classic ECN Bottleneck | |||
Classic ECN support is starting to materialize on the Internet as an | Classic ECN support is starting to materialize on the Internet as an | |||
increased level of CE marking. It is hard to detect whether this is | increased level of CE marking. It is hard to detect whether this is | |||
skipping to change at page 36, line 14 ¶ | skipping to change at page 35, line 45 ¶ | |||
identifying features [RFC6973]. There may be some types of traffic | identifying features [RFC6973]. There may be some types of traffic | |||
that prefer not to use L4S, but the coarse binary categorization of | that prefer not to use L4S, but the coarse binary categorization of | |||
traffic reveals very little that could be exploited to compromise | traffic reveals very little that could be exploited to compromise | |||
privacy. | privacy. | |||
9. Informative References | 9. Informative References | |||
[AFCD] Xue, L., Kumar, S., Cui, C., Kondikoppa, P., Chiu, C-H., | [AFCD] Xue, L., Kumar, S., Cui, C., Kondikoppa, P., Chiu, C-H., | |||
and S-J. Park, "Towards fair and low latency next | and S-J. Park, "Towards fair and low latency next | |||
generation high speed networks: AFCD queuing", Journal of | generation high speed networks: AFCD queuing", Journal of | |||
Network and Computer Applications 70:183--193, July 2016, | Network and Computer Applications 70:183--193, July 2016. | |||
<https://doi.org/10.1016/j.jnca.2016.03.021>. | ||||
[BBRv2] Cardwell, N., "TCP BBR v2 Alpha/Preview Release", GitHub | [BBRv2] Cardwell, N., "TCP BBR v2 Alpha/Preview Release", GitHub | |||
repository; Linux congestion control module, | repository; Linux congestion control module, | |||
<https://github.com/google/bbr/blob/v2alpha/README.md>. | <https://github.com/google/bbr/blob/v2alpha/README.md>. | |||
[BDPdata] Briscoe, B., "PI2 Parameters", Technical Report TR-BB- | [BDPdata] Briscoe, B., "PI2 Parameters", Technical Report TR-BB- | |||
2021-001 arXiv:2107.01003 [cs.NI], July 2021, | 2021-001 arXiv:2107.01003 [cs.NI], July 2021, | |||
<https://arxiv.org/abs/2107.01003>. | <https://arxiv.org/abs/2107.01003>. | |||
[BufferSize] | [BufferSize] | |||
Appenzeller, G., Keslassy, I., and N. McKeown, "Sizing | Appenzeller, G., Keslassy, I., and N. McKeown, "Sizing | |||
Router Buffers", In Proc. SIGCOMM'04 34(4):281--292, | Router Buffers", In Proc. SIGCOMM'04 34(4):281--292, | |||
September 2004, <https://doi.org/10.1145/1015467.1015499>. | September 2004, <https://doi.org/10.1145/1015467.1015499>. | |||
[COBALT] Palmei, J., Gupta, S., Imputato, P., Morton, J., | [COBALT] Palmei, J., Gupta, S., Imputato, P., Morton, J., | |||
Tahiliani, M. P., Avallone, S., and D. Täht, "Design and | Tahiliani, M., Avallone, S., and D. Taeht, "Design and | |||
Evaluation of COBALT Queue Discipline", In Proc. IEEE | Evaluation of COBALT Queue Discipline", In Proc. IEEE | |||
Int'l Symp. Local and Metropolitan Area Networks | Int'l Symp. Local and Metropolitan Area Networks | |||
(LANMAN'19) 2019:1-6, July 2019, | (LANMAN'19) 2019:1-6, July 2019, | |||
<https://ieeexplore.ieee.org/abstract/document/8847054>. | <https://ieeexplore.ieee.org/abstract/document/8847054>. | |||
[DCttH19] De Schepper, K., Bondarenko, O., Tilmans, O., and B. | ||||
Briscoe, "`Data Centre to the Home': Ultra-Low Latency for | ||||
All", Updated RITE project Technical Report , July 2019, | ||||
<https://bobbriscoe.net/pubs.html#DCttH_TR>. | ||||
[DOCSIS3.1] | [DOCSIS3.1] | |||
CableLabs, "MAC and Upper Layer Protocols Interface | CableLabs, "MAC and Upper Layer Protocols Interface | |||
(MULPI) Specification, CM-SP-MULPIv3.1", Data-Over-Cable | (MULPI) Specification, CM-SP-MULPIv3.1", Data-Over-Cable | |||
Service Interface Specifications DOCSIS® 3.1 Version i17 | Service Interface Specifications DOCSIS(R) 3.1 Version i17 | |||
or later, 21 January 2019, <https://specification- | or later, January 2019, <https://specification- | |||
search.cablelabs.com/CM-SP-MULPIv3.1>. | search.cablelabs.com/CM-SP-MULPIv3.1>. | |||
[DOCSIS3AQM] | [DOCSIS3AQM] | |||
White, G., "Active Queue Management Algorithms for DOCSIS | White, G., "Active Queue Management Algorithms for DOCSIS | |||
3.0; A Simulation Study of CoDel, SFQ-CoDel and PIE in | 3.0; A Simulation Study of CoDel, SFQ-CoDel and PIE in | |||
DOCSIS 3.0 Networks", CableLabs Technical Report , April | DOCSIS 3.0 Networks", CableLabs Technical Report , April | |||
2013, <{https://www.cablelabs.com/wp- | 2013, <{https://www.cablelabs.com/wp- | |||
content/uploads/2013/11/ | content/uploads/2013/11/ | |||
Active_Queue_Management_Algorithms_DOCSIS_3_0.pdf>. | Active_Queue_Management_Algorithms_DOCSIS_3_0.pdf>. | |||
skipping to change at page 37, line 23 ¶ | skipping to change at page 37, line 6 ¶ | |||
<https://www.netdevconf.org/0x13/session.html?talk- | <https://www.netdevconf.org/0x13/session.html?talk- | |||
DUALPI2-AQM>. | DUALPI2-AQM>. | |||
[Dukkipati06] | [Dukkipati06] | |||
Dukkipati, N. and N. McKeown, "Why Flow-Completion Time is | Dukkipati, N. and N. McKeown, "Why Flow-Completion Time is | |||
the Right Metric for Congestion Control", ACM CCR | the Right Metric for Congestion Control", ACM CCR | |||
36(1):59--62, January 2006, | 36(1):59--62, January 2006, | |||
<https://dl.acm.org/doi/10.1145/1111322.1111336>. | <https://dl.acm.org/doi/10.1145/1111322.1111336>. | |||
[FQ_CoDel_Thresh] | [FQ_CoDel_Thresh] | |||
Høiland-Jørgensen, T., "fq_codel: generalise ce_threshold | Hoeiland-Joergensen, T., "fq_codel: generalise | |||
marking for subset of traffic", Linux Patch Commit ID: | ce_threshold marking for subset of traffic", Linux | |||
dfcb63ce1de6b10b, 20 October 2021, | Patch Commit ID: dfcb63ce1de6b10b, October 2021, | |||
<https://git.kernel.org/pub/scm/linux/kernel/git/netdev/ | <https://git.kernel.org/pub/scm/linux/kernel/git/netdev/ | |||
net-next.git/commit/?id=dfcb63ce1de6b10b>. | net-next.git/commit/?id=dfcb63ce1de6b10b>. | |||
[Hohlfeld14] | [Hohlfeld14] | |||
Hohlfeld, O., Pujol, E., Ciucu, F., Feldmann, A., and P. | Hohlfeld , O., Pujol, E., Ciucu, F., Feldmann, A., and P. | |||
Barford, "A QoE Perspective on Sizing Network Buffers", | Barford, "A QoE Perspective on Sizing Network Buffers", | |||
Proc. ACM Internet Measurement Conf (IMC'14) hmm, November | Proc. ACM Internet Measurement Conf (IMC'14) pp333--346, | |||
2014, <https://doi.acm.org/10.1145/2663716.2663730>. | November 2014. | |||
[I-D.briscoe-conex-policing] | [I-D.briscoe-conex-policing] | |||
Briscoe, B., "Network Performance Isolation using | Briscoe, B., "Network Performance Isolation using | |||
Congestion Policing", Work in Progress, Internet-Draft, | Congestion Policing", draft-briscoe-conex-policing-01 | |||
draft-briscoe-conex-policing-01, 14 February 2014, | (work in progress), February 2014. | |||
<https://www.ietf.org/archive/id/draft-briscoe-conex- | ||||
policing-01.txt>. | ||||
[I-D.briscoe-docsis-q-protection] | [I-D.briscoe-docsis-q-protection] | |||
Briscoe, B. and G. White, "The DOCSIS(r) Queue Protection | Briscoe, B. and G. White, "Queue Protection to Preserve | |||
Algorithm to Preserve Low Latency", Work in Progress, | Low Latency", draft-briscoe-docsis-q-protection-00 (work | |||
Internet-Draft, draft-briscoe-docsis-q-protection-06, 13 | in progress), July 2019. | |||
May 2022, | ||||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
briscoe-docsis-q-protection/>. | ||||
[I-D.briscoe-iccrg-prague-congestion-control] | [I-D.briscoe-iccrg-prague-congestion-control] | |||
Schepper, K. D., Tilmans, O., and B. Briscoe, "Prague | Schepper, K. D., Tilmans, O., and B. Briscoe, "Prague | |||
Congestion Control", Work in Progress, Internet-Draft, | Congestion Control", draft-briscoe-iccrg-prague- | |||
draft-briscoe-iccrg-prague-congestion-control-01, 11 July | congestion-control-01 (work in progress), July 2022, | |||
2022, <https://datatracker.ietf.org/api/v1/doc/document/ | <https://www.ietf.org/archive/id/draft-briscoe-iccrg- | |||
draft-briscoe-iccrg-prague-congestion-control/>. | prague-congestion-control-01.txt>. | |||
[I-D.briscoe-tsvwg-l4s-diffserv] | [I-D.briscoe-tsvwg-l4s-diffserv] | |||
Briscoe, B., "Interactions between Low Latency, Low Loss, | Briscoe, B., "Interactions between Low Latency, Low Loss, | |||
Scalable Throughput (L4S) and Differentiated Services", | Scalable Throughput (L4S) and Differentiated Services", | |||
Work in Progress, Internet-Draft, draft-briscoe-tsvwg-l4s- | draft-briscoe-tsvwg-l4s-diffserv-02 (work in progress), | |||
diffserv-02, 2 July 2018, | November 2018. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
briscoe-tsvwg-l4s-diffserv/>. | ||||
[I-D.cardwell-iccrg-bbr-congestion-control] | [I-D.cardwell-iccrg-bbr-congestion-control] | |||
Cardwell, N., Cheng, Y., Yeganeh, S. H., Swett, I., and V. | Cardwell, N., Cheng, Y., Yeganeh, S., and V. Jacobson, | |||
Jacobson, "BBR Congestion Control", Work in Progress, | "BBR Congestion Control", draft-cardwell-iccrg-bbr- | |||
Internet-Draft, draft-cardwell-iccrg-bbr-congestion- | congestion-control-00 (work in progress), July 2017. | |||
control-02, 7 March 2022, | ||||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
cardwell-iccrg-bbr-congestion-control/>. | ||||
[I-D.ietf-tcpm-accurate-ecn] | [I-D.ietf-tcpm-accurate-ecn] | |||
Briscoe, B., Kühlewind, M., and R. Scheffenegger, "More | Briscoe, B., Kuehlewind, M., and R. Scheffenegger, "More | |||
Accurate ECN Feedback in TCP", Work in Progress, Internet- | Accurate ECN Feedback in TCP", draft-ietf-tcpm-accurate- | |||
Draft, draft-ietf-tcpm-accurate-ecn-20, 25 July 2022, | ecn-14 (work in progress), February 2021. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
ietf-tcpm-accurate-ecn/>. | ||||
[I-D.ietf-tsvwg-aqm-dualq-coupled] | [I-D.ietf-tsvwg-aqm-dualq-coupled] | |||
Schepper, K. D., Briscoe, B., and G. White, "DualQ Coupled | Schepper, K., Briscoe, B., and G. White, "DualQ Coupled | |||
AQMs for Low Latency, Low Loss and Scalable Throughput | AQMs for Low Latency, Low Loss and Scalable Throughput | |||
(L4S)", Work in Progress, Internet-Draft, draft-ietf- | (L4S)", draft-ietf-tsvwg-aqm-dualq-coupled-14 (work in | |||
tsvwg-aqm-dualq-coupled-24, 7 July 2022, | progress), March 2021. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
ietf-tsvwg-aqm-dualq-coupled/>. | ||||
[I-D.ietf-tsvwg-ecn-encap-guidelines] | [I-D.ietf-tsvwg-ecn-encap-guidelines] | |||
Briscoe, B. and J. Kaippallimalil, "Guidelines for Adding | Briscoe, B. and J. Kaippallimalil, "Guidelines for Adding | |||
Congestion Notification to Protocols that Encapsulate IP", | Congestion Notification to Protocols that Encapsulate IP", | |||
Work in Progress, Internet-Draft, draft-ietf-tsvwg-ecn- | draft-ietf-tsvwg-ecn-encap-guidelines-15 (work in | |||
encap-guidelines-17, 11 July 2022, | progress), March 2021. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
ietf-tsvwg-ecn-encap-guidelines/>. | ||||
[I-D.ietf-tsvwg-ecn-l4s-id] | [I-D.ietf-tsvwg-ecn-l4s-id] | |||
Schepper, K. D. and B. Briscoe, "Explicit Congestion | Schepper, K. and B. Briscoe, "Explicit Congestion | |||
Notification (ECN) Protocol for Very Low Queuing Delay | Notification (ECN) Protocol for Ultra-Low Queuing Delay | |||
(L4S)", Work in Progress, Internet-Draft, draft-ietf- | (L4S)", draft-ietf-tsvwg-ecn-l4s-id-14 (work in progress), | |||
tsvwg-ecn-l4s-id-28, 8 August 2022, | March 2021. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
ietf-tsvwg-ecn-l4s-id/>. | ||||
[I-D.ietf-tsvwg-l4sops] | [I-D.ietf-tsvwg-l4sops] | |||
White, G., "Operational Guidance for Deployment of L4S in | White, G., "Operational Guidance for Deployment of L4S in | |||
the Internet", Work in Progress, Internet-Draft, draft- | the Internet", draft-ietf-tsvwg-l4sops-03 (work in | |||
ietf-tsvwg-l4sops-03, 28 April 2022, | progress), April 2022, <https://www.ietf.org/archive/id/ | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | draft-ietf-tsvwg-l4sops-03.txt>. | |||
ietf-tsvwg-l4sops/>. | ||||
[I-D.ietf-tsvwg-nqb] | [I-D.ietf-tsvwg-nqb] | |||
White, G. and T. Fossati, "A Non-Queue-Building Per-Hop | White, G. and T. Fossati, "A Non-Queue-Building Per-Hop | |||
Behavior (NQB PHB) for Differentiated Services", Work in | Behavior (NQB PHB) for Differentiated Services", draft- | |||
Progress, Internet-Draft, draft-ietf-tsvwg-nqb-10, 4 March | ietf-tsvwg-nqb-05 (work in progress), March 2021. | |||
2022, <https://datatracker.ietf.org/api/v1/doc/document/ | ||||
draft-ietf-tsvwg-nqb/>. | ||||
[I-D.ietf-tsvwg-rfc6040update-shim] | [I-D.ietf-tsvwg-rfc6040update-shim] | |||
Briscoe, B., "Propagating Explicit Congestion Notification | Briscoe, B., "Propagating Explicit Congestion Notification | |||
Across IP Tunnel Headers Separated by a Shim", Work in | Across IP Tunnel Headers Separated by a Shim", draft-ietf- | |||
Progress, Internet-Draft, draft-ietf-tsvwg-rfc6040update- | tsvwg-rfc6040update-shim-13 (work in progress), March | |||
shim-15, 11 July 2022, | 2021. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
ietf-tsvwg-rfc6040update-shim/>. | [I-D.mathis-iccrg-relentless-tcp] | |||
Mathis, M., "Relentless Congestion Control", draft-mathis- | ||||
iccrg-relentless-tcp-00 (work in progress), March 2009. | ||||
[I-D.morton-tsvwg-codel-approx-fair] | [I-D.morton-tsvwg-codel-approx-fair] | |||
Morton, J. and P. G. Heist, "Controlled Delay Approximate | Morton, J. and P. Heist, "Controlled Delay Approximate | |||
Fairness AQM", Work in Progress, Internet-Draft, draft- | Fairness AQM", draft-morton-tsvwg-codel-approx-fair-01 | |||
morton-tsvwg-codel-approx-fair-01, 9 March 2020, | (work in progress), March 2020. | |||
<https://www.ietf.org/archive/id/draft-morton-tsvwg-codel- | ||||
approx-fair-01.txt>. | ||||
[I-D.sridharan-tcpm-ctcp] | [I-D.sridharan-tcpm-ctcp] | |||
Sridharan, M., Tan, K., Bansal, D., and D. Thaler, | Sridharan, M., Tan, K., Bansal, D., and D. Thaler, | |||
"Compound TCP: A New TCP Congestion Control for High-Speed | "Compound TCP: A New TCP Congestion Control for High-Speed | |||
and Long Distance Networks", Work in Progress, Internet- | and Long Distance Networks", draft-sridharan-tcpm-ctcp-02 | |||
Draft, draft-sridharan-tcpm-ctcp-02, 29 October 2007, | (work in progress), November 2008. | |||
<https://datatracker.ietf.org/api/v1/doc/document/draft- | ||||
sridharan-tcpm-ctcp/>. | ||||
[I-D.stewart-tsvwg-sctpecn] | [I-D.stewart-tsvwg-sctpecn] | |||
Stewart, R. R., Tuexen, M., and X. Dong, "ECN for Stream | Stewart, R., Tuexen, M., and X. Dong, "ECN for Stream | |||
Control Transmission Protocol (SCTP)", Work in Progress, | Control Transmission Protocol (SCTP)", draft-stewart- | |||
Internet-Draft, draft-stewart-tsvwg-sctpecn-05, 15 January | tsvwg-sctpecn-05 (work in progress), January 2014. | |||
2014, <https://www.ietf.org/archive/id/draft-stewart- | ||||
tsvwg-sctpecn-05.txt>. | ||||
[L4Sdemo16] | [L4Sdemo16] | |||
Bondarenko, O., De Schepper, K., Tsang, I., and B. | Bondarenko, O., De Schepper, K., Tsang, I., and B. | |||
Briscoe, "Ultra-Low Delay for All: Live Experience, Live | Briscoe, "Ultra-Low Delay for All: Live Experience, Live | |||
Analysis", Proc. MMSYS'16 pp33:1--33:4, May 2016, | Analysis", Proc. MMSYS'16 pp33:1--33:4, May 2016, | |||
<https://dl.acm.org/citation.cfm?doid=2910017.2910633 | <https://dl.acm.org/citation.cfm?doid=2910017.2910633 | |||
(videos of demos: | (videos of demos: | |||
https://riteproject.eu/dctth/#1511dispatchwg )>. | https://riteproject.eu/dctth/#1511dispatchwg )>. | |||
[L4Seval22] | ||||
De Schepper, K., Albisser, O., Tilmans, O., and B. | ||||
Briscoe, "Dual Queue Coupled AQM: Deployable Very Low | ||||
Queuing Delay for All", Preprint submitted to IEEE/ACM | ||||
Transactions on Networking arXiv:2209.01078 [cs.NI], | ||||
September 2022, <https://arxiv.org/abs/2209.01078>. | ||||
[LEDBAT_AQM] | [LEDBAT_AQM] | |||
Al-Saadi, R., Armitage, G., and J. But, "Characterising | Al-Saadi, R., Armitage, G., and J. But, "Characterising | |||
LEDBAT Performance Through Bottlenecks Using PIE, FQ-CoDel | LEDBAT Performance Through Bottlenecks Using PIE, FQ-CoDel | |||
and FQ-PIE Active Queue Management", Proc. IEEE 42nd | and FQ-PIE Active Queue Management", Proc. IEEE 42nd | |||
Conference on Local Computer Networks (LCN) 278--285, | Conference on Local Computer Networks (LCN) 278--285, | |||
2017, <https://ieeexplore.ieee.org/document/8109367>. | 2017, <https://ieeexplore.ieee.org/document/8109367>. | |||
[lowat] Meenan, P., "Optimizing HTTP/2 prioritization with BBR and | [lowat] Meenan, P., "Optimizing HTTP/2 prioritization with BBR and | |||
tcp_notsent_lowat", Cloudflare Blog , 12 October 2018, | tcp_notsent_lowat", Cloudflare Blog , October 2018, | |||
<https://blog.cloudflare.com/http-2-prioritization-with- | <https://blog.cloudflare.com/http-2-prioritization-with- | |||
nginx/>. | nginx/>. | |||
[Mathis09] Mathis, M., "Relentless Congestion Control", PFLDNeT'09 , | ||||
May 2009, <https://www.gdt.id.au/~gdt/ | ||||
presentations/2010-07-06-questnet-tcp/reference- | ||||
materials/papers/mathis-relentless-congestion- | ||||
control.pdf>. | ||||
[McIlroy78] | [McIlroy78] | |||
McIlroy, M.D., Pinson, E. N., and B. A. Tague, "UNIX Time- | McIlroy, M., Pinson, E., and B. Tague, "UNIX Time-Sharing | |||
Sharing System: Foreword", The Bell System Technical | System: Foreword", The Bell System Technical Journal | |||
Journal 57:6(1902--1903), July 1978, | 57:6(1902--1903), July 1978, | |||
<https://archive.org/details/bstj57-6-1899>. | <https://archive.org/details/bstj57-6-1899>. | |||
[Nadas20] Nádas, S., Gombos, G., Fejes, F., and S. Laki, "A | [Nadas20] Nadas, S., Gombos, G., Fejes, F., and S. Laki, "A | |||
Congestion Control Independent L4S Scheduler", Proc. | Congestion Control Independent L4S Scheduler", Proc. | |||
Applied Networking Research Workshop (ANRW '20) 45--51, | Applied Networking Research Workshop (ANRW '20) 45--51, | |||
July 2020, <https://doi.org/10.1145/3404868.3406669>. | July 2020. | |||
[NASA04] Bailey, R.R., Trey Arthur III, J.J., and S.P. Williams, | [NASA04] Bailey, R., Trey Arthur III, J., and S. Williams, "Latency | |||
"Latency Requirements for Head-Worn Display S/EVS | Requirements for Head-Worn Display S/EVS Applications", | |||
Applications", SPIE Defense and Security | SPIE Defense and Security Symposium LF99-1955, April 2004, | |||
Symposium LF99-1955, April 2004, | ||||
<https://ntrs.nasa.gov/api/citations/20120009198/ | <https://ntrs.nasa.gov/api/citations/20120009198/ | |||
downloads/20120009198.pdf?attachment=true>. | downloads/20120009198.pdf?attachment=true>. | |||
[PragueLinux] | [PragueLinux] | |||
Briscoe, B., De Schepper, K., Albisser, O., Misund, J., | Briscoe, B., De Schepper, K., Albisser, O., Misund, J., | |||
Tilmans, O., Kühlewind, M., and A.S. Ahmed, "Implementing | Tilmans, O., Kuehlewind, M., and A. Ahmed, "Implementing | |||
the `TCP Prague' Requirements for Low Latency Low Loss | the `TCP Prague' Requirements for Low Latency Low Loss | |||
Scalable Throughput (L4S)", Proc. Linux Netdev 0x13 , | Scalable Throughput (L4S)", Proc. Linux Netdev 0x13 , | |||
March 2019, <https://www.netdevconf.org/0x13/ | March 2019, <https://www.netdevconf.org/0x13/ | |||
session.html?talk-tcp-prague-l4s>. | session.html?talk-tcp-prague-l4s>. | |||
[QDyn] Briscoe, B., "Rapid Signalling of Queue Dynamics", | [QDyn] Briscoe, B., "Rapid Signalling of Queue Dynamics", | |||
bobbriscoe.net Technical Report TR-BB-2017-001; | bobbriscoe.net Technical Report TR-BB-2017-001; | |||
arXiv:1904.07044 [cs.NI], September 2017, | arXiv:1904.07044 [cs.NI], April 2019, | |||
<https://arxiv.org/abs/1904.07044>. | <https://arxiv.org/abs/1904.07044>. | |||
[Raaen14] Raaen, K. and T-M. Grønli, "Latency thresholds for | [Raaen14] Raaen, K. and T-M. Groenli, "Latency thresholds for | |||
usability in games: A survey", Norsk IKT-konferanse for | usability in games: A survey", Norsk IKT-konferanse for | |||
forskning og utdanning , 2014, | forskning og utdanning , 2014, | |||
<http://ojs.bibsys.no/index.php/NIK/article/view/9/6>. | <http://ojs.bibsys.no/index.php/NIK/article/view/9/6>. | |||
[Rajiullah15] | [Rajiullah15] | |||
Rajiullah, M., "Towards a Low Latency Internet: | Rajiullah, M., "Towards a Low Latency Internet: | |||
Understanding and Solutions", Master's Thesis; Karlstad | Understanding and Solutions", Master's Thesis; Karlstad | |||
Uni, Dept of Maths & CS 2015:41, 2015, <https://www.diva- | Uni, Dept of Maths & CS 2015:41, 2015, <https://www.diva- | |||
portal.org/smash/get/diva2:846109/FULLTEXT01.pdf>. | portal.org/smash/get/diva2:846109/FULLTEXT01.pdf>. | |||
[RFC0970] Nagle, J., "On Packet Switches With Infinite Storage", | [RFC0970] Nagle, J., "On Packet Switches With Infinite Storage", | |||
RFC 970, DOI 10.17487/RFC0970, December 1985, | RFC 970, DOI 10.17487/RFC0970, December 1985, | |||
<https://www.rfc-editor.org/info/rfc970>. | <https://www.rfc-editor.org/info/rfc970>. | |||
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | |||
and W. Weiss, "An Architecture for Differentiated | and W. Weiss, "An Architecture for Differentiated | |||
Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, | Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, | |||
<https://www.rfc-editor.org/info/rfc2475>. | <https://www.rfc-editor.org/info/rfc2475>. | |||
skipping to change at page 42, line 5 ¶ | skipping to change at page 41, line 10 ¶ | |||
[RFC2884] Hadi Salim, J. and U. Ahmed, "Performance Evaluation of | [RFC2884] Hadi Salim, J. and U. Ahmed, "Performance Evaluation of | |||
Explicit Congestion Notification (ECN) in IP Networks", | Explicit Congestion Notification (ECN) in IP Networks", | |||
RFC 2884, DOI 10.17487/RFC2884, July 2000, | RFC 2884, DOI 10.17487/RFC2884, July 2000, | |||
<https://www.rfc-editor.org/info/rfc2884>. | <https://www.rfc-editor.org/info/rfc2884>. | |||
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | |||
of Explicit Congestion Notification (ECN) to IP", | of Explicit Congestion Notification (ECN) to IP", | |||
RFC 3168, DOI 10.17487/RFC3168, September 2001, | RFC 3168, DOI 10.17487/RFC3168, September 2001, | |||
<https://www.rfc-editor.org/info/rfc3168>. | <https://www.rfc-editor.org/info/rfc3168>. | |||
[RFC3246] Davie, B., Charny, A., Bennet, J.C.R., Benson, K., Le | [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | |||
Boudec, J.Y., Courtney, W., Davari, S., Firoiu, V., and D. | J., Courtney, W., Davari, S., Firoiu, V., and D. | |||
Stiliadis, "An Expedited Forwarding PHB (Per-Hop | Stiliadis, "An Expedited Forwarding PHB (Per-Hop | |||
Behavior)", RFC 3246, DOI 10.17487/RFC3246, March 2002, | Behavior)", RFC 3246, DOI 10.17487/RFC3246, March 2002, | |||
<https://www.rfc-editor.org/info/rfc3246>. | <https://www.rfc-editor.org/info/rfc3246>. | |||
[RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | [RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | |||
Congestion Notification (ECN) Signaling with Nonces", | Congestion Notification (ECN) Signaling with Nonces", | |||
RFC 3540, DOI 10.17487/RFC3540, June 2003, | RFC 3540, DOI 10.17487/RFC3540, June 2003, | |||
<https://www.rfc-editor.org/info/rfc3540>. | <https://www.rfc-editor.org/info/rfc3540>. | |||
[RFC3649] Floyd, S., "HighSpeed TCP for Large Congestion Windows", | [RFC3649] Floyd, S., "HighSpeed TCP for Large Congestion Windows", | |||
skipping to change at page 45, line 23 ¶ | skipping to change at page 44, line 28 ¶ | |||
<https://www.rfc-editor.org/info/rfc9000>. | <https://www.rfc-editor.org/info/rfc9000>. | |||
[RFC9113] Thomson, M., Ed. and C. Benfield, Ed., "HTTP/2", RFC 9113, | [RFC9113] Thomson, M., Ed. and C. Benfield, Ed., "HTTP/2", RFC 9113, | |||
DOI 10.17487/RFC9113, June 2022, | DOI 10.17487/RFC9113, June 2022, | |||
<https://www.rfc-editor.org/info/rfc9113>. | <https://www.rfc-editor.org/info/rfc9113>. | |||
[SCReAM] Johansson, I., "SCReAM", GitHub repository; , | [SCReAM] Johansson, I., "SCReAM", GitHub repository; , | |||
<https://github.com/EricssonResearch/scream/blob/master/ | <https://github.com/EricssonResearch/scream/blob/master/ | |||
README.md>. | README.md>. | |||
[TCP-CA] Jacobson, V. and M.J. Karels, "Congestion Avoidance and | [TCP-CA] Jacobson, V. and M. Karels, "Congestion Avoidance and | |||
Control", Laurence Berkeley Labs Technical Report , | Control", Laurence Berkeley Labs Technical Report , | |||
November 1988, <https://ee.lbl.gov/papers/congavoid.pdf>. | November 1988, <https://ee.lbl.gov/papers/congavoid.pdf>. | |||
[UnorderedLTE] | [UnorderedLTE] | |||
Austrheim, M.V., "Implementing immediate forwarding for 4G | Austrheim, M., "Implementing immediate forwarding for 4G | |||
in a network simulator", Master's Thesis, Uni Oslo , June | in a network simulator", Master's Thesis, Uni Oslo , June | |||
2019. | 2019. | |||
Acknowledgements | Acknowledgements | |||
Thanks to Richard Scheffenegger, Wes Eddy, Karen Nielsen, David | Thanks to Richard Scheffenegger, Wes Eddy, Karen Nielsen, David | |||
Black, Jake Holland, Vidhi Goel, Ermin Sakic, Praveen | Black, Jake Holland, Vidhi Goel, Ermin Sakic, Praveen | |||
Balasubramanian, Gorry Fairhurst, Mirja Kuehlewind, Philip Eardley, | Balasubramanian, Gorry Fairhurst, Mirja Kuehlewind, Philip Eardley, | |||
Neal Cardwell, Pete Heist and Martin Duke for their useful review | Neal Cardwell, Pete Heist and Martin Duke for their useful review | |||
comments. Thanks also to the area reviewers: Marco Tiloca, Lars | comments. Thanks also to the area reviewers: Marco Tiloca, Lars | |||
skipping to change at page 46, line 4 ¶ | skipping to change at page 45, line 8 ¶ | |||
Bob Briscoe and Koen De Schepper were part-funded by the European | Bob Briscoe and Koen De Schepper were part-funded by the European | |||
Community under its Seventh Framework Programme through the Reducing | Community under its Seventh Framework Programme through the Reducing | |||
Internet Transport Latency (RITE) project (ICT-317700). The | Internet Transport Latency (RITE) project (ICT-317700). The | |||
contribution of Koen De Schepper was also part-funded by the 5Growth | contribution of Koen De Schepper was also part-funded by the 5Growth | |||
and DAEMON EU H2020 projects. Bob Briscoe was also part-funded by | and DAEMON EU H2020 projects. Bob Briscoe was also part-funded by | |||
the Research Council of Norway through the TimeIn project, partly by | the Research Council of Norway through the TimeIn project, partly by | |||
CableLabs and partly by the Comcast Innovation Fund. The views | CableLabs and partly by the Comcast Innovation Fund. The views | |||
expressed here are solely those of the authors. | expressed here are solely those of the authors. | |||
Authors' Addresses | Authors' Addresses | |||
Bob Briscoe (editor) | Bob Briscoe (editor) | |||
Independent | Independent | |||
United Kingdom | UK | |||
Email: ietf@bobbriscoe.net | Email: ietf@bobbriscoe.net | |||
URI: https://bobbriscoe.net/ | URI: https://bobbriscoe.net/ | |||
Koen De Schepper | Koen De Schepper | |||
Nokia Bell Labs | Nokia Bell Labs | |||
Antwerp | Antwerp | |||
Belgium | Belgium | |||
Email: koen.de_schepper@nokia.com | ||||
URI: https://www.bell-labs.com/about/researcher-profiles/ | Email: koen.de_schepper@nokia.com | |||
koende_schepper/ | URI: https://www.bell-labs.com/about/researcher-profiles/koende_schepper/ | |||
Marcelo Bagnulo | Marcelo Bagnulo | |||
Universidad Carlos III de Madrid | Universidad Carlos III de Madrid | |||
Av. Universidad 30 | Av. Universidad 30 | |||
Leganes, Madrid 28911 | Leganes, Madrid 28911 | |||
Spain | Spain | |||
Phone: 34 91 6249500 | Phone: 34 91 6249500 | |||
Email: marcelo@it.uc3m.es | Email: marcelo@it.uc3m.es | |||
URI: https://www.it.uc3m.es | URI: https://www.it.uc3m.es | |||
Greg White | Greg White | |||
CableLabs | CableLabs | |||
United States of America | US | |||
Email: G.White@CableLabs.com | Email: G.White@CableLabs.com | |||
End of changes. 96 change blocks. | ||||
221 lines changed or deleted | 199 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |