draft-ietf-aqm-docsis-pie-01.txt   draft-ietf-aqm-docsis-pie-02.txt 
Active Queue Management and Packet Scheduling (aqm) G. White Active Queue Management and Packet Scheduling (aqm) G. White
Internet-Draft CableLabs Internet-Draft CableLabs
Intended status: Informational R. Pan Intended status: Informational R. Pan
Expires: April 1, 2016 Cisco Systems Expires: August 15, 2016 Cisco Systems
September 29, 2015 February 12, 2016
A PIE-Based AQM for DOCSIS Cable Modems A PIE-Based AQM for DOCSIS Cable Modems
draft-ietf-aqm-docsis-pie-01 draft-ietf-aqm-docsis-pie-02
Abstract Abstract
Cable modems based on the DOCSIS(R) specification provide broadband Cable modems based on the DOCSIS(R) specification provide broadband
Internet access to over one hundred million users worldwide. In some Internet access to over one hundred million users worldwide. In some
cases, the cable modem connection is the bottleneck (lowest speed) cases, the cable modem connection is the bottleneck (lowest speed)
link between the customer and the Internet. As a result, the impact link between the customer and the Internet. As a result, the impact
of buffering and bufferbloat in the cable modem can have a of buffering and bufferbloat in the cable modem can have a
significant effect on user experience. The CableLabs DOCSIS 3.1 significant effect on user experience. The CableLabs DOCSIS 3.1
specification introduces requirements for cable modems to support an specification introduces requirements for cable modems to support an
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 April 1, 2016. This Internet-Draft will expire on August 15, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 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 Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 34 skipping to change at page 2, line 34
3. The DOCSIS MAC Layer and Service Flows . . . . . . . . . . . 3 3. The DOCSIS MAC Layer and Service Flows . . . . . . . . . . . 3
4. DOCSIS-PIE vs. PIE . . . . . . . . . . . . . . . . . . . . . 5 4. DOCSIS-PIE vs. PIE . . . . . . . . . . . . . . . . . . . . . 5
4.1. Latency Target . . . . . . . . . . . . . . . . . . . . . 5 4.1. Latency Target . . . . . . . . . . . . . . . . . . . . . 5
4.2. Departure rate estimation . . . . . . . . . . . . . . . . 5 4.2. Departure rate estimation . . . . . . . . . . . . . . . . 5
4.3. Enhanced burst protection . . . . . . . . . . . . . . . . 6 4.3. Enhanced burst protection . . . . . . . . . . . . . . . . 6
4.4. Expanded auto-tuning range . . . . . . . . . . . . . . . 7 4.4. Expanded auto-tuning range . . . . . . . . . . . . . . . 7
4.5. Trigger for exponential decay . . . . . . . . . . . . . . 7 4.5. Trigger for exponential decay . . . . . . . . . . . . . . 7
4.6. Drop probability scaling . . . . . . . . . . . . . . . . 7 4.6. Drop probability scaling . . . . . . . . . . . . . . . . 7
4.7. Support for explicit congestion notification . . . . . . 8 4.7. Support for explicit congestion notification . . . . . . 8
5. Implementation Guidance . . . . . . . . . . . . . . . . . . . 8 5. Implementation Guidance . . . . . . . . . . . . . . . . . . . 8
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
8. Informative References . . . . . . . . . . . . . . . . . . . 9
Appendix A. DOCSIS-PIE Algorithm definition . . . . . . . . . . 9 Appendix A. DOCSIS-PIE Algorithm definition . . . . . . . . . . 9
A.1. DOCSIS-PIE AQM Constants and Variables . . . . . . . . . 9 A.1. DOCSIS-PIE AQM Constants and Variables . . . . . . . . . 10
A.1.1. Configuration parameters . . . . . . . . . . . . . . 10 A.1.1. Configuration parameters . . . . . . . . . . . . . . 10
A.1.2. Constant values . . . . . . . . . . . . . . . . . . . 10 A.1.2. Constant values . . . . . . . . . . . . . . . . . . . 10
A.1.3. Variables . . . . . . . . . . . . . . . . . . . . . . 10 A.1.3. Variables . . . . . . . . . . . . . . . . . . . . . . 10
A.1.4. Public/system functions: . . . . . . . . . . . . . . 11 A.1.4. Public/system functions: . . . . . . . . . . . . . . 11
A.2. DOCSIS-PIE AQM Control Path . . . . . . . . . . . . . . . 11 A.2. DOCSIS-PIE AQM Control Path . . . . . . . . . . . . . . . 11
A.3. DOCSIS-PIE AQM Data Path . . . . . . . . . . . . . . . . 13 A.3. DOCSIS-PIE AQM Data Path . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
skipping to change at page 8, line 20 skipping to change at page 8, line 20
Additionally, the packet processing pipeline in a cable modem is Additionally, the packet processing pipeline in a cable modem is
commonly implemented in hardware. As a result, introducing support commonly implemented in hardware. As a result, introducing support
for ECN would have engendered a more significant redesign of cable for ECN would have engendered a more significant redesign of cable
modem data paths, and implementations would have been difficult or modem data paths, and implementations would have been difficult or
impossible to modify in the future. At the time of the development impossible to modify in the future. At the time of the development
of DOCSIS-PIE, which coincided with the development of modem chip of DOCSIS-PIE, which coincided with the development of modem chip
designs, the benefits of ECN marking relative to packet drop were designs, the benefits of ECN marking relative to packet drop were
considered to be relatively minor, there was considerable discussion considered to be relatively minor, there was considerable discussion
about differential treatment of ECN capable packets in the AQM drop/ about differential treatment of ECN capable packets in the AQM drop/
mark decision, and there were some initial suggestions that a new ECN mark decision, and there were some initial suggestions that a new ECN
approach was needed. Due to this uncertainty, we chose to not approach was needed. Due to this uncertainty, we chose not to
include support for ECN. include support for ECN.
5. Implementation Guidance 5. Implementation Guidance
The AQM space is an evolving one, and it is expected that continued The AQM space is an evolving one, and it is expected that continued
research in this field may in the future result in improved research in this field may in the future result in improved
algorithms. algorithms.
As part of defining the DOCSIS-PIE algorithm, we split the pseudocode As part of defining the DOCSIS-PIE algorithm, we split the pseudocode
definition into two components, a "data path" component and a definition into two components, a "data path" component and a
skipping to change at page 8, line 47 skipping to change at page 8, line 47
may be done in hardware, particularly functions that handle packet- may be done in hardware, particularly functions that handle packet-
processing. processing.
While the DOCSIS specifications don't mandate the internal While the DOCSIS specifications don't mandate the internal
implementation details of the cable modem, modem implementers are implementation details of the cable modem, modem implementers are
strongly advised against implementing the control path functionality strongly advised against implementing the control path functionality
in hardware. The intent of this advice is to retain the possibility in hardware. The intent of this advice is to retain the possibility
that future improvements in AQM algorithms can be accommodated via that future improvements in AQM algorithms can be accommodated via
software updates to deployed devices. software updates to deployed devices.
6. References 6. IANA Considerations
This document has no actions for IANA.
7. Security Considerations
This document describes an active queue management algorithm based on
[I-D.ietf-aqm-pie] for implementation in DOCSIS cable modem devices.
This algorithm introduces no specific security exposures.
8. Informative References
[CommMag] White, G., "Active queue management in DOCSIS 3.1 [CommMag] White, G., "Active queue management in DOCSIS 3.1
networks", IEEE Communications Magazine vol.53, no.3, networks", IEEE Communications Magazine vol.53, no.3,
pp.126-132, March 2015. pp.126-132, March 2015.
[DOCSIS-AQM] [DOCSIS-AQM]
White, G., "Active Queue Management in DOCSIS 3.x Cable White, G., "Active Queue Management in DOCSIS 3.x Cable
Modems", May 2014, <http://www.cablelabs.com/wp- Modems", May 2014, <http://www.cablelabs.com/wp-
content/uploads/2014/06/DOCSIS-AQM_May2014.pdf>. content/uploads/2014/06/DOCSIS-AQM_May2014.pdf>.
[DOCSIS_3.0] [DOCSIS_3.0]
CableLabs, "DOCSIS 3.0 MAC and Upper Layer Protocols CableLabs, "DOCSIS 3.0 MAC and Upper Layer Protocols
Specification", November 2013, <http://www.cablelabs.com/ Specification", December 2015, <http://www.cablelabs.com/
wp-content/uploads/specdocs/ wp-content/uploads/specdocs/
CM-SP-MULPIv3.0-I23-131120.pdf>. CM-SP-MULPIv3.0-I29-151210.pdf>.
[DOCSIS_3.1] [DOCSIS_3.1]
CableLabs, "DOCSIS 3.1 MAC and Upper Layer Protocols CableLabs, "DOCSIS 3.1 MAC and Upper Layer Protocols
Specification", October 2013, <http://www.cablelabs.com/ Specification", December 2015, <http://www.cablelabs.com/
wp-content/uploads/specdocs/ wp-content/uploads/specdocs/
CM-SP-MULPIv3.1-I01-131029.pdf>. CM-SP-MULPIv3.1-I08-151210.pdf>.
[I-D.ietf-aqm-pie] [I-D.ietf-aqm-pie]
Pan, R., Natarajan, P., Baker, F., and G. White, "PIE: A Pan, R., Natarajan, P., and F. Baker, "PIE: A Lightweight
Lightweight Control Scheme To Address the Bufferbloat Control Scheme To Address the Bufferbloat Problem", draft-
Problem", draft-ietf-aqm-pie-01 (work in progress), March ietf-aqm-pie-03 (work in progress), November 2015.
2015.
[RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF [RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF
Recommendations Regarding Active Queue Management", BCP Recommendations Regarding Active Queue Management",
197, RFC 7567, DOI 10.17487/RFC7567, July 2015, BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015,
<http://www.rfc-editor.org/info/rfc7567>. <http://www.rfc-editor.org/info/rfc7567>.
Appendix A. DOCSIS-PIE Algorithm definition Appendix A. DOCSIS-PIE Algorithm definition
PIE defines two functions organized here into two design blocks: PIE defines two functions organized here into two design blocks:
1. Control path block, a periodically running algorithm that 1. Control path block, a periodically running algorithm that
calculates a drop probability based on the estimated queuing calculates a drop probability based on the estimated queuing
latency and queuing latency trend. latency and queuing latency trend.
skipping to change at page 10, line 19 skipping to change at page 10, line 28
in Bytes/sec. in Bytes/sec.
o MSR. Service Flow configured Max. Sustained Traffic Rate, o MSR. Service Flow configured Max. Sustained Traffic Rate,
expressed in Bytes/sec. expressed in Bytes/sec.
o BUFFER_SIZE. The size (in bytes) of the buffer for this Service o BUFFER_SIZE. The size (in bytes) of the buffer for this Service
Flow. Flow.
A.1.2. Constant values A.1.2. Constant values
o A=0.25, B=2.5. Weights in the drop probability calculation o A = 0.25, B = 2.5. Weights in the drop probability calculation
o INTERVAL=16 ms. Update interval for drop probability. o INTERVAL = 16 ms. Update interval for drop probability.
o BURST_RESET_TIMEOUT = 1 s. o BURST_RESET_TIMEOUT = 1 s.
o MAX_BURST = 142 ms (150 ms-8 ms(update error)) o MAX_BURST = 142 ms (150 ms - 8 ms (update error))
o MEAN_PKTSIZE = 1024 bytes o MEAN_PKTSIZE = 1024 bytes
o MIN_PKTSIZE = 64 bytes o MIN_PKTSIZE = 64 bytes
o PROB_LOW = 0.85 o PROB_LOW = 0.85
o PROB_HIGH = 8.5 o PROB_HIGH = 8.5
o LATENCY_LOW = 5 ms o LATENCY_LOW = 5 ms
o LATENCY_HIGH=200 ms. o LATENCY_HIGH = 200 ms.
A.1.3. Variables A.1.3. Variables
o drop_prob_. The current packet drop probability. o drop_prob_. The current packet drop probability.
o accu_prob_. accumulated drop prob. since last drop o accu_prob_. accumulated drop prob. since last drop
o qdelay_old_. The previous queue delay estimate. o qdelay_old_. The previous queue delay estimate.
o burst_allowance_. Countdown for burst protection, initialize to 0 o burst_allowance_. Countdown for burst protection, initialize to 0
o burst_reset_. counter to reset burst o burst_reset_. counter to reset burst
o aqm_state_. AQM activity state encoding 3 states: o aqm_state_. AQM activity state encoding 3 states:
INACTIVE - queue staying below 1/3 full, suppress AQM drops INACTIVE - queue staying below 1/3 full, suppress AQM drops
 End of changes. 19 change blocks. 
24 lines changed or deleted 34 lines changed or added

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