| 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/ | ||||