rfc9097v7.txt | rfc9097.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) A. Morton | Internet Engineering Task Force (IETF) A. Morton | |||
Request for Comments: 9097 AT&T Labs | Request for Comments: 9097 AT&T Labs | |||
Category: Standards Track R. Geib | Category: Standards Track R. Geib | |||
ISSN: 2070-1721 Deutsche Telekom | ISSN: 2070-1721 Deutsche Telekom | |||
L. Ciavattone | L. Ciavattone | |||
AT&T Labs | AT&T Labs | |||
October 2021 | November 2021 | |||
Metrics and Methods for One-Way IP Capacity | Metrics and Methods for One-Way IP Capacity | |||
Abstract | Abstract | |||
This memo revisits the problem of Network Capacity Metrics first | This memo revisits the problem of Network Capacity Metrics first | |||
examined in RFC 5136. This memo specifies a more practical Maximum | examined in RFC 5136. This memo specifies a more practical Maximum | |||
IP-Layer Capacity Metric definition catering to measurement and | IP-Layer Capacity Metric definition catering to measurement and | |||
outlines the corresponding Methods of Measurement. | outlines the corresponding Methods of Measurement. | |||
skipping to change at line 44 ¶ | skipping to change at line 44 ¶ | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 Revised BSD License text as described in Section 4.e of the | |||
the Trust Legal Provisions and are provided without warranty as | Trust Legal Provisions and are provided without warranty as described | |||
described in the Simplified BSD License. | in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction | |||
1.1. Requirements Language | 1.1. Requirements Language | |||
2. Scope, Goals, and Applicability | 2. Scope, Goals, and Applicability | |||
3. Motivation | 3. Motivation | |||
4. General Parameters and Definitions | 4. General Parameters and Definitions | |||
5. IP-Layer Capacity Singleton Metric Definitions | 5. IP-Layer Capacity Singleton Metric Definitions | |||
5.1. Formal Name | 5.1. Formal Name | |||
skipping to change at line 95 ¶ | skipping to change at line 95 ¶ | |||
12.2. Informative References | 12.2. Informative References | |||
Appendix A. Load Rate Adjustment Pseudocode | Appendix A. Load Rate Adjustment Pseudocode | |||
Appendix B. RFC 8085 UDP Guidelines Check | Appendix B. RFC 8085 UDP Guidelines Check | |||
B.1. Assessment of Mandatory Requirements | B.1. Assessment of Mandatory Requirements | |||
B.2. Assessment of Recommendations | B.2. Assessment of Recommendations | |||
Acknowledgments | Acknowledgments | |||
Authors' Addresses | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
The IETF's efforts to define Network and Bulk Transport Capacity have | The IETF's efforts to define Network Capacity and Bulk Transport | |||
been chartered and progressed for over twenty years. Over that time, | Capacity (BTC) have been chartered and progressed for over twenty | |||
the performance community has seen the development of Informative | years. Over that time, the performance community has seen the | |||
definitions in [RFC3148] for the Framework for Bulk Transport | development of Informative definitions in [RFC3148] for the Framework | |||
Capacity (BTC), [RFC5136] for Network Capacity and Maximum IP-Layer | for Bulk Transport Capacity, [RFC5136] for Network Capacity and | |||
Capacity, and the Experimental metric definitions and methods in | Maximum IP-Layer Capacity, and the Experimental metric definitions | |||
"Model-Based Metrics for Bulk Transport Capacity" [RFC8337]. | and methods in "Model-Based Metrics for Bulk Transport Capacity" | |||
[RFC8337]. | ||||
This memo revisits the problem of Network Capacity Metrics examined | This memo revisits the problem of Network Capacity Metrics examined | |||
first in [RFC3148] and later in [RFC5136]. Maximum IP-Layer Capacity | first in [RFC3148] and later in [RFC5136]. Maximum IP-Layer Capacity | |||
and Bulk Transfer Capacity [RFC3148] (goodput) are different metrics. | and Bulk Transfer Capacity [RFC3148] (goodput) are different metrics. | |||
Maximum IP-Layer Capacity is like the theoretical goal for goodput. | Maximum IP-Layer Capacity is like the theoretical goal for goodput. | |||
There are many metrics in [RFC5136], such as Available Capacity. | There are many metrics in [RFC5136], such as Available Capacity. | |||
Measurements depend on the network path under test and the use case. | Measurements depend on the network path under test and the use case. | |||
Here, the main use case is to assess the Maximum Capacity of one or | Here, the main use case is to assess the Maximum Capacity of one or | |||
more networks where the subscriber receives specific performance | more networks where the subscriber receives specific performance | |||
assurances, sometimes referred to as Internet access, or where a | assurances, sometimes referred to as Internet access, or where a | |||
skipping to change at line 437 ¶ | skipping to change at line 438 ¶ | |||
Some effects of compression on measurement are discussed in Section 6 | Some effects of compression on measurement are discussed in Section 6 | |||
of [RFC8468]. | of [RFC8468]. | |||
5.4. Related Round-Trip Delay and One-Way Loss Definitions | 5.4. Related Round-Trip Delay and One-Way Loss Definitions | |||
RTD[dtn,dtn+1] is defined as a Sample of the Round-Trip Delay | RTD[dtn,dtn+1] is defined as a Sample of the Round-Trip Delay | |||
[RFC2681] between the Src host and the Dst host during the interval | [RFC2681] between the Src host and the Dst host during the interval | |||
[T,T+I] (that contains equal non-overlapping intervals of dt). The | [T,T+I] (that contains equal non-overlapping intervals of dt). The | |||
"reasonable period of time" mentioned in [RFC2681] is the Parameter | "reasonable period of time" mentioned in [RFC2681] is the Parameter | |||
Tmax in this memo. The statistics used to summarize RTD[dtn,dtn+1] | Tmax in this memo. The statistics used to summarize RTD[dtn,dtn+1] | |||
MAY include the minimum, maximum, median, and mean, and the range = | MAY include the minimum, maximum, median, mean, and the range = | |||
(maximum - minimum) are referred to below for load adjustment | (maximum - minimum). Some of these statistics are needed for load | |||
purposes; see Section 8.1. | adjustment purposes (Section 8.1), measurement qualification | |||
(Section 8.2), and reporting (Section 9). | ||||
OWL[dtn,dtn+1] is defined as a Sample of the One-Way Loss [RFC7680] | OWL[dtn,dtn+1] is defined as a Sample of the One-Way Loss [RFC7680] | |||
between the Src host and the Dst host during the interval [T,T+I] | between the Src host and the Dst host during the interval [T,T+I] | |||
(that contains equal non-overlapping intervals of dt). The | (that contains equal non-overlapping intervals of dt). The | |||
statistics used to summarize OWL[dtn,dtn+1] MAY include the count of | statistics used to summarize OWL[dtn,dtn+1] MAY include the count of | |||
lost packets and the ratio of lost packets. | lost packets and the ratio of lost packets. | |||
Other metrics MAY be measured: one-way reordering, duplication, and | Other metrics MAY be measured: one-way reordering, duplication, and | |||
delay variation. | delay variation. | |||
skipping to change at line 1427 ¶ | skipping to change at line 1429 ¶ | |||
Metrics, and Measurements", Broadband Forum TR-471, July | Metrics, and Measurements", Broadband Forum TR-471, July | |||
2020, <https://www.broadband-forum.org/technical/download/ | 2020, <https://www.broadband-forum.org/technical/download/ | |||
TR-471.pdf>. | TR-471.pdf>. | |||
[Y.1540] ITU-T, "Internet protocol data communication service - IP | [Y.1540] ITU-T, "Internet protocol data communication service - IP | |||
packet transfer and availability performance parameters", | packet transfer and availability performance parameters", | |||
ITU-T Recommendation Y.1540, December 2019, | ITU-T Recommendation Y.1540, December 2019, | |||
<https://www.itu.int/rec/T-REC-Y.1540-201912-I/en>. | <https://www.itu.int/rec/T-REC-Y.1540-201912-I/en>. | |||
[Y.Sup60] ITU-T, "Interpreting ITU-T Y.1540 maximum IP-layer | [Y.Sup60] ITU-T, "Interpreting ITU-T Y.1540 maximum IP-layer | |||
capacity measurements", ITU-T Recommendation Y.Sup60, May | capacity measurements", ITU-T Recommendation Y.Sup60, | |||
2021, <https://www.itu.int/rec/T-REC-Y.Sup60/en>. | October 2021, <https://www.itu.int/rec/T-REC-Y.Sup60/en>. | |||
Appendix A. Load Rate Adjustment Pseudocode | Appendix A. Load Rate Adjustment Pseudocode | |||
This appendix provides a pseudocode implementation of the algorithm | This appendix provides a pseudocode implementation of the algorithm | |||
described in Section 8.1. | described in Section 8.1. | |||
Rx = 0 # The current sending rate (equivalent to a row | Rx = 0 # The current sending rate (equivalent to a row | |||
# of the table) | # of the table) | |||
seqErr = 0 # Measured count that includes Loss or Reordering | seqErr = 0 # Measured count that includes Loss or Reordering | |||
skipping to change at line 1479 ¶ | skipping to change at line 1481 ¶ | |||
maxLoadRates = 2000 # Maximum table index (rows) | maxLoadRates = 2000 # Maximum table index (rows) | |||
if ( seqErr <= seqErrThresh && delay < lowThresh ) { | if ( seqErr <= seqErrThresh && delay < lowThresh ) { | |||
if ( Rx < hSpeedThresh && slowAdjCount < slowAdjThresh ) { | if ( Rx < hSpeedThresh && slowAdjCount < slowAdjThresh ) { | |||
Rx += highSpeedDelta; | Rx += highSpeedDelta; | |||
slowAdjCount = 0; | slowAdjCount = 0; | |||
} else { | } else { | |||
if ( Rx < maxLoadRates - 1 ) | if ( Rx < maxLoadRates - 1 ) | |||
Rx++; | Rx++; | |||
} | } | |||
} else if ( seqErr > seqErrorThresh || delay > upperThresh ) { | } else if ( seqErr > seqErrThresh || delay > upperThresh ) { | |||
slowAdjCount++; | slowAdjCount++; | |||
if ( Rx < hSpeedThresh && slowAdjCount == slowAdjThresh ) { | if ( Rx < hSpeedThresh && slowAdjCount == slowAdjThresh ) { | |||
if ( Rx > highSpeedDelta * 3 ) | if ( Rx > highSpeedDelta * 3 ) | |||
Rx -= highSpeedDelta * 3; | Rx -= highSpeedDelta * 3; | |||
else | else | |||
Rx = 0; | Rx = 0; | |||
} else { | } else { | |||
if ( Rx > 0 ) | if ( Rx > 0 ) | |||
Rx--; | Rx--; | |||
} | } | |||
End of changes. 6 change blocks. | ||||
17 lines changed or deleted | 19 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/ |