< draft-briscoe-docsis-q-protection-03.txt   draft-briscoe-docsis-q-protection-04.txt >
Network Working Group B. Briscoe, Ed. Network Working Group B. Briscoe, Ed.
Internet-Draft Independent Internet-Draft Independent
Intended status: Informational G. White Intended status: Informational G. White
Expires: 8 September 2022 CableLabs Expires: 11 November 2022 CableLabs
7 March 2022 10 May 2022
The DOCSIS® Queue Protection Algorithm to Preserve Low Latency The DOCSIS® Queue Protection Algorithm to Preserve Low Latency
draft-briscoe-docsis-q-protection-03 draft-briscoe-docsis-q-protection-04
Abstract Abstract
This informational document explains the specification of the queue This informational document explains the specification of the queue
protection algorithm used in DOCSIS technology since version 3.1. A protection algorithm used in DOCSIS technology since version 3.1. A
shared low latency queue relies on the non-queue-building behaviour shared low latency queue relies on the non-queue-building behaviour
of every traffic flow using it. However, some flows might not take of every traffic flow using it. However, some flows might not take
such care, either accidentally or maliciously. If a queue is about such care, either accidentally or maliciously. If a queue is about
to exceed a threshold level of delay, the queue protection algorithm to exceed a threshold level of delay, the queue protection algorithm
can rapidly detect the flows most likely to be responsible. It can can rapidly detect the flows most likely to be responsible. It can
then prevent harm to other traffic in the low latency queue by then prevent harm to other traffic in the low latency queue by
ejecting selected packets (or all packets) of these flows. The ejecting selected packets (or all packets) of these flows. The
document is designed for four types of audience: a) congestion document is designed for four types of audience: a) congestion
control designers who need to understand how to keep on the 'good' control designers who need to understand how to keep on the 'good'
side of the algorithm; b) implementers of the algorithm who want to side of the algorithm; b) implementers of the algorithm who want to
understand it in more depth; and c) designers of algorithms with understand it in more depth; c) designers of algorithms with similar
similar goals, perhaps for non-DOCSIS scenarios; d) researchers goals, perhaps for non-DOCSIS scenarios; and d) researchers
interested in evaluating the algorithm. interested in evaluating the algorithm.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 8 September 2022. This Internet-Draft will expire on 11 November 2022.
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 (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 32 skipping to change at page 2, line 32
1.1. Document Roadmap . . . . . . . . . . . . . . . . . . . . 4 1.1. Document Roadmap . . . . . . . . . . . . . . . . . . . . 4
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Copyright Material . . . . . . . . . . . . . . . . . . . 5 1.3. Copyright Material . . . . . . . . . . . . . . . . . . . 5
2. Approach - In Brief . . . . . . . . . . . . . . . . . . . . . 5 2. Approach - In Brief . . . . . . . . . . . . . . . . . . . . . 5
2.1. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Policy . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2. Policy . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1. Policy Conditions . . . . . . . . . . . . . . . . . . 7 2.2.1. Policy Conditions . . . . . . . . . . . . . . . . . . 7
2.2.2. Policy Action . . . . . . . . . . . . . . . . . . . . 7 2.2.2. Policy Action . . . . . . . . . . . . . . . . . . . . 7
3. Necessary Flow Behaviour . . . . . . . . . . . . . . . . . . 7 3. Necessary Flow Behaviour . . . . . . . . . . . . . . . . . . 7
4. Pseudocode Walk-Through . . . . . . . . . . . . . . . . . . . 8 4. Pseudocode Walk-Through . . . . . . . . . . . . . . . . . . . 8
4.1. Input Parameters, Constants and Variables . . . . . . . . 8 4.1. Input Parameters, Constants and Variables . . . . . . . . 9
4.2. Queue Protection Data Path . . . . . . . . . . . . . . . 12 4.2. Queue Protection Data Path . . . . . . . . . . . . . . . 12
4.2.1. The qprotect() function . . . . . . . . . . . . . . . 13 4.2.1. The qprotect() function . . . . . . . . . . . . . . . 13
4.2.2. The pick_bucket() function . . . . . . . . . . . . . 14 4.2.2. The pick_bucket() function . . . . . . . . . . . . . 14
4.2.3. The fill_bucket() function . . . . . . . . . . . . . 17 4.2.3. The fill_bucket() function . . . . . . . . . . . . . 17
4.2.4. The calcProbNative() function . . . . . . . . . . . . 17 4.2.4. The calcProbNative() function . . . . . . . . . . . . 17
5. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1. Rationale: Blame for Queuing, not for Rate in Itself . . 18 5.1. Rationale: Blame for Queuing, not for Rate in Itself . . 18
5.2. Rationale for Aging the Queuing Score . . . . . . . . . . 20 5.2. Rationale for Aging the Queuing Score . . . . . . . . . . 20
5.3. Rationale for Transformed Queuing Score . . . . . . . . . 21 5.3. Rationale for Transformed Queuing Score . . . . . . . . . 21
5.4. Rationale for Policy Conditions . . . . . . . . . . . . . 22 5.4. Rationale for Policy Conditions . . . . . . . . . . . . . 22
skipping to change at page 5, line 18 skipping to change at page 5, line 18
DOCSIS specs [DOCSIS], [DOCSIS-CM-OSS], [DOCSIS-CCAP-OSS] not in this DOCSIS specs [DOCSIS], [DOCSIS-CM-OSS], [DOCSIS-CCAP-OSS] not in this
informational guide. If there is any inconsistency, the DOCSIS specs informational guide. If there is any inconsistency, the DOCSIS specs
take precedence. take precedence.
The following terms and abbreviations are used: The following terms and abbreviations are used:
CM: Cable Modem CM: Cable Modem
CMTS: CM Termination System CMTS: CM Termination System
Congestion-rate: The rate at which a flow induces ECN-marked (or Congestion-rate: The transmission rate of bits or bytes contained
dropped) bytes, where an ECN-mark on a packet is defined as within packets of a flow that have the CE codepoint set in the IP-
marking all the packet's bytes. Congestion-bit-rate and ECN field [RFC3168] (including IP headers unless specified
congestion-volume were introduced in [RFC7713] and [RFC6789]. otherwise). Congestion-bit-rate and congestion-volume were
introduced in [RFC7713] and [RFC6789].
DOCSIS: Data Over Cable System Interface Specification. "DOCSIS" is DOCSIS: Data Over Cable System Interface Specification. "DOCSIS" is
a registered trademark of Cable Television Laboratories, Inc. a registered trademark of Cable Television Laboratories, Inc.
("CableLabs"). ("CableLabs").
Non-queue-building: A flow that tends not to build a queue Non-queue-building: A flow that tends not to build a queue
Queue-building: A flow that builds a queue. If it is classified Queue-building: A flow that builds a queue. If it is classified
into the Low Latency queue, it is therefore a candidate for the into the Low Latency queue, it is therefore a candidate for the
queue protection algorithm to detect and sanction. queue protection algorithm to detect and sanction.
skipping to change at page 30, line 33 skipping to change at page 30, line 33
CableLabs, "Cable Modem Operations Support System CableLabs, "Cable Modem Operations Support System
Interface Spec", Data-Over-Cable Service Interface Interface Spec", Data-Over-Cable Service Interface
Specifications DOCSIS® 3.1 Version I14 or later, 21 Specifications DOCSIS® 3.1 Version I14 or later, 21
January 2019, <https://specification-search.cablelabs.com/ January 2019, <https://specification-search.cablelabs.com/
CM-SP-CM-OSSIv3.1>. CM-SP-CM-OSSIv3.1>.
[I-D.ietf-tsvwg-ecn-l4s-id] [I-D.ietf-tsvwg-ecn-l4s-id]
Schepper, K. D. and B. Briscoe, "Explicit Congestion Schepper, K. D. and B. Briscoe, "Explicit Congestion
Notification (ECN) Protocol for Very Low Queuing Delay Notification (ECN) Protocol for Very Low Queuing Delay
(L4S)", Work in Progress, Internet-Draft, draft-ietf- (L4S)", Work in Progress, Internet-Draft, draft-ietf-
tsvwg-ecn-l4s-id-24, 1 February 2022, tsvwg-ecn-l4s-id-25, 4 March 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg- <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
ecn-l4s-id-24>. ecn-l4s-id-25>.
[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", Work in
Progress, Internet-Draft, draft-ietf-tsvwg-nqb-10, 4 March Progress, Internet-Draft, draft-ietf-tsvwg-nqb-10, 4 March
2022, <https://datatracker.ietf.org/doc/html/draft-ietf- 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-
tsvwg-nqb-10>. tsvwg-nqb-10>.
[RFC8311] Black, D., "Relaxing Restrictions on Explicit Congestion [RFC8311] Black, D., "Relaxing Restrictions on Explicit Congestion
Notification (ECN) Experimentation", RFC 8311, Notification (ECN) Experimentation", RFC 8311,
skipping to change at page 31, line 20 skipping to change at page 31, line 20
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", Work in Progress, Internet-Draft,
draft-briscoe-iccrg-prague-congestion-control-00, 9 March draft-briscoe-iccrg-prague-congestion-control-00, 9 March
2021, <https://datatracker.ietf.org/doc/html/draft- 2021, <https://datatracker.ietf.org/doc/html/draft-
briscoe-iccrg-prague-congestion-control-00>. briscoe-iccrg-prague-congestion-control-00>.
[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. D., 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)", Work in Progress, Internet-Draft, draft-ietf-
tsvwg-aqm-dualq-coupled-22, 4 March 2022, tsvwg-aqm-dualq-coupled-23, 4 May 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg- <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
aqm-dualq-coupled-22>. aqm-dualq-coupled-23>.
[I-D.ietf-tsvwg-l4s-arch] [I-D.ietf-tsvwg-l4s-arch]
Briscoe, B., Schepper, K. D., Bagnulo, M., and G. White, Briscoe, B., Schepper, K. D., Bagnulo, M., and G. White,
"Low Latency, Low Loss, Scalable Throughput (L4S) Internet "Low Latency, Low Loss, Scalable Throughput (L4S) Internet
Service: Architecture", Work in Progress, Internet-Draft, Service: Architecture", Work in Progress, Internet-Draft,
draft-ietf-tsvwg-l4s-arch-16, 1 February 2022, draft-ietf-tsvwg-l4s-arch-17, 4 March 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg- <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
l4s-arch-16>. l4s-arch-17>.
[LLD] White, G., Sundaresan, K., and B. Briscoe, "Low Latency [LLD] White, G., Sundaresan, K., and B. Briscoe, "Low Latency
DOCSIS: Technology Overview", CableLabs White Paper , DOCSIS: Technology Overview", CableLabs White Paper ,
February 2019, <https://cablela.bs/low-latency-docsis- February 2019, <https://cablela.bs/low-latency-docsis-
technology-overview-february-2019>. technology-overview-february-2019>.
[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>.
[RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
RFC 4303, DOI 10.17487/RFC4303, December 2005, RFC 4303, DOI 10.17487/RFC4303, December 2005,
<https://www.rfc-editor.org/info/rfc4303>. <https://www.rfc-editor.org/info/rfc4303>.
[RFC6789] Briscoe, B., Ed., Woundy, R., Ed., and A. Cooper, Ed., [RFC6789] Briscoe, B., Ed., Woundy, R., Ed., and A. Cooper, Ed.,
"Congestion Exposure (ConEx) Concepts and Use Cases", "Congestion Exposure (ConEx) Concepts and Use Cases",
RFC 6789, DOI 10.17487/RFC6789, December 2012, RFC 6789, DOI 10.17487/RFC6789, December 2012,
<https://www.rfc-editor.org/info/rfc6789>. <https://www.rfc-editor.org/info/rfc6789>.
[RFC7713] Mathis, M. and B. Briscoe, "Congestion Exposure (ConEx) [RFC7713] Mathis, M. and B. Briscoe, "Congestion Exposure (ConEx)
 End of changes. 13 change blocks. 
17 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/