draft-ietf-ippm-capacity-metric-method-11.txt   draft-ietf-ippm-capacity-metric-method-12.txt 
Network Working Group A. Morton Network Working Group A. Morton
Internet-Draft AT&T Labs Internet-Draft AT&T Labs
Intended status: Standards Track R. Geib Intended status: Standards Track R. Geib
Expires: December 3, 2021 Deutsche Telekom Expires: December 11, 2021 Deutsche Telekom
L. Ciavattone L. Ciavattone
AT&T Labs AT&T Labs
June 1, 2021 June 9, 2021
Metrics and Methods for One-way IP Capacity Metrics and Methods for One-way IP Capacity
draft-ietf-ippm-capacity-metric-method-11 draft-ietf-ippm-capacity-metric-method-12
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. The memo specifies a more practical Maximum examined in RFC 5136. The memo specifies a more practical Maximum
IP-Layer Capacity metric definition catering for measurement IP-Layer Capacity metric definition catering for measurement
purposes, and outlines the corresponding methods of measurement. purposes, and outlines the corresponding methods of measurement.
Status of This Memo Status of This Memo
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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 December 3, 2021. This Internet-Draft will expire on December 11, 2021.
Copyright Notice Copyright Notice
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
skipping to change at page 2, line 14 skipping to change at page 2, line 14
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Scope, Goals, and Applicability . . . . . . . . . . . . . . . 4 2. Scope, Goals, and Applicability . . . . . . . . . . . . . . . 4
3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. General Parameters and Definitions . . . . . . . . . . . . . 6 4. General Parameters and Definitions . . . . . . . . . . . . . 6
5. IP-Layer Capacity Singleton Metric Definitions . . . . . . . 7 5. IP-Layer Capacity Singleton Metric Definitions . . . . . . . 8
5.1. Formal Name . . . . . . . . . . . . . . . . . . . . . . . 8 5.1. Formal Name . . . . . . . . . . . . . . . . . . . . . . . 8
5.2. Parameters . . . . . . . . . . . . . . . . . . . . . . . 8 5.2. Parameters . . . . . . . . . . . . . . . . . . . . . . . 8
5.3. Metric Definitions . . . . . . . . . . . . . . . . . . . 8 5.3. Metric Definitions . . . . . . . . . . . . . . . . . . . 8
5.4. Related Round-Trip Delay and One-way Loss Definitions . . 9 5.4. Related Round-Trip Delay and One-way Loss Definitions . . 9
5.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . 10 5.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . 10
5.6. Reporting the Metric . . . . . . . . . . . . . . . . . . 10 5.6. Reporting the Metric . . . . . . . . . . . . . . . . . . 10
6. Maximum IP-Layer Capacity Metric Definitions (Statistic) . . 10 6. Maximum IP-Layer Capacity Metric Definitions (Statistic) . . 10
6.1. Formal Name . . . . . . . . . . . . . . . . . . . . . . . 10 6.1. Formal Name . . . . . . . . . . . . . . . . . . . . . . . 10
6.2. Parameters . . . . . . . . . . . . . . . . . . . . . . . 10 6.2. Parameters . . . . . . . . . . . . . . . . . . . . . . . 11
6.3. Metric Definitions . . . . . . . . . . . . . . . . . . . 11 6.3. Metric Definitions . . . . . . . . . . . . . . . . . . . 11
6.4. Related Round-Trip Delay and One-way Loss Definitions . . 12 6.4. Related Round-Trip Delay and One-way Loss Definitions . . 13
6.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . 12 6.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . 13
6.6. Reporting the Metric . . . . . . . . . . . . . . . . . . 13 6.6. Reporting the Metric . . . . . . . . . . . . . . . . . . 13
7. IP-Layer Sender Bit Rate Singleton Metric Definitions . . . . 13 7. IP-Layer Sender Bit Rate Singleton Metric Definitions . . . . 14
7.1. Formal Name . . . . . . . . . . . . . . . . . . . . . . . 14 7.1. Formal Name . . . . . . . . . . . . . . . . . . . . . . . 14
7.2. Parameters . . . . . . . . . . . . . . . . . . . . . . . 14 7.2. Parameters . . . . . . . . . . . . . . . . . . . . . . . 14
7.3. Metric Definition . . . . . . . . . . . . . . . . . . . . 14 7.3. Metric Definition . . . . . . . . . . . . . . . . . . . . 15
7.4. Discussion . . . . . . . . . . . . . . . . . . . . . . . 15 7.4. Discussion . . . . . . . . . . . . . . . . . . . . . . . 15
7.5. Reporting the Metric . . . . . . . . . . . . . . . . . . 15 7.5. Reporting the Metric . . . . . . . . . . . . . . . . . . 15
8. Method of Measurement . . . . . . . . . . . . . . . . . . . . 15 8. Method of Measurement . . . . . . . . . . . . . . . . . . . . 15
8.1. Load Rate Adjustment Algorithm . . . . . . . . . . . . . 15 8.1. Load Rate Adjustment Algorithm . . . . . . . . . . . . . 16
8.2. Measurement Qualification or Verification . . . . . . . . 20 8.2. Measurement Qualification or Verification . . . . . . . . 21
8.3. Measurement Considerations . . . . . . . . . . . . . . . 22 8.3. Measurement Considerations . . . . . . . . . . . . . . . 22
8.4. Running Code . . . . . . . . . . . . . . . . . . . . . . 24 8.4. Running Code . . . . . . . . . . . . . . . . . . . . . . 24
9. Reporting Formats . . . . . . . . . . . . . . . . . . . . . . 24 9. Reporting Formats . . . . . . . . . . . . . . . . . . . . . . 25
9.1. Configuration and Reporting Data Formats . . . . . . . . 26 9.1. Configuration and Reporting Data Formats . . . . . . . . 27
10. Security Considerations . . . . . . . . . . . . . . . . . . . 26 10. Security Considerations . . . . . . . . . . . . . . . . . . . 27
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28
13. Appendix A - Load Rate Adjustment Pseudo Code . . . . . . . . 28 13. Appendix A - Load Rate Adjustment Pseudo Code . . . . . . . . 28
14. Appendix B - RFC 8085 UDP Guidelines Check . . . . . . . . . 29 14. Appendix B - RFC 8085 UDP Guidelines Check . . . . . . . . . 29
14.1. Assessment of Mandatory Requirements . . . . . . . . . . 29 14.1. Assessment of Mandatory Requirements . . . . . . . . . . 29
14.2. Assessment of Recommendations . . . . . . . . . . . . . 31 14.2. Assessment of Recommendations . . . . . . . . . . . . . 31
15. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 34
15.1. Normative References . . . . . . . . . . . . . . . . . . 34 15.1. Normative References . . . . . . . . . . . . . . . . . . 34
15.2. Informative References . . . . . . . . . . . . . . . . . 35 15.2. Informative References . . . . . . . . . . . . . . . . . 35
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37
skipping to change at page 6, line 25 skipping to change at page 6, line 25
4. Content and applications are moving physically closer to users. 4. Content and applications are moving physically closer to users.
5. There is less emphasis on ISP gateway measurements, possibly due 5. There is less emphasis on ISP gateway measurements, possibly due
to less traffic crossing ISP gateways in the future. to less traffic crossing ISP gateways in the future.
4. General Parameters and Definitions 4. General Parameters and Definitions
This section lists the REQUIRED input factors to specify a Sender or This section lists the REQUIRED input factors to specify a Sender or
Receiver metric. Receiver metric.
o Src, the address of a host (such as the globally routable IP o Src, one of the addresses of a host (such as a globally routable
address). IP address).
o Dst, the address of a host (such as the globally routable IP o Dst, one of the addresses of a host (such as a globally routable
address). IP address).
o MaxHops, the limit on the number of Hops a specific packet may o MaxHops, the limit on the number of Hops a specific packet may
visit as it traverses from the host at Src to the host at Dst visit as it traverses from the host at Src to the host at Dst
(implemented in the TTL or Hop Limit). (implemented in the TTL or Hop Limit).
o T0, the time at the start of measurement interval, when packets o T0, the time at the start of measurement interval, when packets
are first transmitted from the Source. are first transmitted from the Source.
o I, the nominal duration of a measurement interval at the o I, the nominal duration of a measurement interval at the
destination (default 10 sec) destination (default 10 sec)
skipping to change at page 7, line 16 skipping to change at page 7, line 16
destination, set sufficiently long to disambiguate packets with destination, set sufficiently long to disambiguate packets with
long delays from packets that are discarded (lost), such that the long delays from packets that are discarded (lost), such that the
distribution of one-way delay is not truncated. distribution of one-way delay is not truncated.
o F, the number of different flows synthesized by the method o F, the number of different flows synthesized by the method
(default 1 flow) (default 1 flow)
o flow, the stream of packets with the same n-tuple of designated o flow, the stream of packets with the same n-tuple of designated
header fields that (when held constant) result in identical header fields that (when held constant) result in identical
treatment in a multi-path decision (such as the decision taken in treatment in a multi-path decision (such as the decision taken in
load balancing). Note: The IPv6 flow label MAY be included in the load balancing). Note: The IPv6 flow label SHOULD be included in
flow definition when routers have complied with [RFC6438] the flow definition when routers have complied with [RFC6438]
guidelines. guidelines.
o Type-P, the complete description of the test packets for which o Type-P, the complete description of the test packets for which
this assessment applies (including the flow-defining fields). this assessment applies (including the flow-defining fields).
Note that the UDP transport layer is one requirement for test Note that the UDP transport layer is one requirement for test
packets specified below. Type-P is a parallel concept to packets specified below. Type-P is a parallel concept to
"population of interest" defined in clause 6.1.1 of[Y.1540]. "population of interest" defined in clause 6.1.1 of[Y.1540].
o Payload Content, this IPPM Framework-conforming metric and method
includes packet payload content as an aspect of the Type-P
parameter, which can help to improve measurement determinism. If
there is payload compression in the path and tests intend to
characterize a possible advantage due to compression, then payload
content SHOULD be supplied by a pseudo-random sequence generator,
by using part of a compressed file, or by other means. See
Section 3.1.2 of [RFC7312].
o PM, a list of fundamental metrics, such as loss, delay, and o PM, a list of fundamental metrics, such as loss, delay, and
reordering, and corresponding target performance threshold. At reordering, and corresponding target performance threshold. At
least one fundamental metric and target performance threshold MUST least one fundamental metric and target performance threshold MUST
be supplied (such as One-way IP Packet Loss [RFC7680] equal to be supplied (such as One-way IP Packet Loss [RFC7680] equal to
zero). zero).
A non-Parameter which is required for several metrics is defined A non-Parameter which is required for several metrics is defined
below: below:
o T, the host time of the *first* test packet's *arrival* as o T, the host time of the *first* test packet's *arrival* as
skipping to change at page 16, line 11 skipping to change at page 16, line 32
offered load rates that will be supported (R1 through Rn, in offered load rates that will be supported (R1 through Rn, in
ascending order, corresponding to indexed rows in the table). It is ascending order, corresponding to indexed rows in the table). It is
RECOMMENDED that rates begin with 0.5 Mbps at index zero, use 1 Mbps RECOMMENDED that rates begin with 0.5 Mbps at index zero, use 1 Mbps
at index one, and then continue in 1 Mbps increments to 1 Gbps. at index one, and then continue in 1 Mbps increments to 1 Gbps.
Above 1 Gbps, and up to 10 Gbps, it is RECOMMENDED that 100 Mbps Above 1 Gbps, and up to 10 Gbps, it is RECOMMENDED that 100 Mbps
increments be used. Above 10 Gbps, increments of 1 Gbps are increments be used. Above 10 Gbps, increments of 1 Gbps are
RECOMMENDED. A higher initial IP-Layer Sender Bitrate might be RECOMMENDED. A higher initial IP-Layer Sender Bitrate might be
configured when the test operator is certain that the Maximum IP- configured when the test operator is certain that the Maximum IP-
Layer Capacity is well-above the initial IP-Layer Sender Bitrate and Layer Capacity is well-above the initial IP-Layer Sender Bitrate and
factors such as test duration and total test traffic play an factors such as test duration and total test traffic play an
important role. important role. The sending rate table SHOULD backet the maximum
capacity where it will make measurements, including constrained rates
less than 500kbps if applicable.
Each rate is defined as datagrams of size ss, sent as a burst of Each rate is defined as datagrams of size ss, sent as a burst of
count cc, each time interval tt (default for tt is 1ms, a likely count cc, each time interval tt (default for tt is 1ms, a likely
system tick-interval). While it is advantageous to use datagrams of system tick-interval). While it is advantageous to use datagrams of
as large a size as possible, it may be prudent to use a slightly as large a size as possible, it may be prudent to use a slightly
smaller maximum that allows for secondary protocol headers and/or smaller maximum that allows for secondary protocol headers and/or
tunneling without resulting in IP-Layer fragmentation. Selection of tunneling without resulting in IP-Layer fragmentation. Selection of
a new rate is indicated by a calculation on the current row, Rx. For a new rate is indicated by a calculation on the current row, Rx. For
example: example:
skipping to change at page 17, line 46 skipping to change at page 18, line 20
further feedback sent. further feedback sent.
feedback message timeout Operation: The feedback message timeout feedback message timeout Operation: The feedback message timeout
SHALL be reset to the configured value each time a feedback SHALL be reset to the configured value each time a feedback
message is received. If the timeout expires, the sender SHALL be message is received. If the timeout expires, the sender SHALL be
closed and no further load packets sent. closed and no further load packets sent.
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| Parameter | Default | Tested Range | Expected Safe Range | | Parameter | Default | Tested Range | Expected Safe Range |
| | | or values | (not entirely tested, | | | | or values | (not entirely tested, |
| | | | other values NOT | | | | | other |
| | | | values NOT |
| | | | RECOMMENDED) | | | | | RECOMMENDED) |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| FT, | 50ms | 20ms, 50ms, | 20ms <= FT <= 250ms | | FT, | 50ms | 20ms, 50ms, | 20ms <= FT <= 250ms |
| feedback | | 100ms | Larger values may | | feedback | | 100ms | Larger values may |
| time | | | slow the rate | | time | | | slow the rate |
| interval | | | increase and fail to | | interval | | | increase and fail to |
| | | | find the max | | | | | find the max |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| Feedback | L*FT, L=20 | L=100 with | 0.5sec <= L*FT <= | | Feedback | L*FT, L=20 | L=100 with | 0.5sec <= L*FT <= |
| message | (1sec with | FT=50ms | 30sec Upper limit for | | message | (1sec with | FT=50ms | 30sec Upper limit for |
| timeout | FT=50ms) | (5sec) | very unreliable test | | timeout | FT=50ms) | (5sec) | very unreliable |
| (stop test) | | | paths only | | (stop test) | | | test paths only |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| load packet | 1sec | 5sec | 0.250sec - 30sec | | load packet | 1sec | 5sec | 0.250sec - 30sec |
| timeout | | | Upper limit for very | | timeout | | | Upper limit for very |
| (stop test) | | | unreliable test paths | | (stop test) | | | unreliable test paths |
| | | | only | | | | | only |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| table index | 0.5Mbps | 0.5Mbps | when testing <=10Gbps | | table index | 0.5Mbps | 0.5Mbps | when testing <=10Gbps |
| 0 | | | | | 0 | | | |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| table index | 1Mbps | 1Mbps | when testing <=10Gbps | | table index | 1Mbps | 1Mbps | when testing <=10Gbps |
skipping to change at page 18, line 39 skipping to change at page 19, line 14
| rate>1Gbps | | | | | rate>1Gbps | | | |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| table index | 1Gbps | untested | >10Gbps | | table index | 1Gbps | untested | >10Gbps |
| (step) | | | | | (step) | | | |
| size, | | | | | size, | | | |
| rate>10Gbps | | | | | rate>10Gbps | | | |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| ss, UDP | none | <=1222 | Recommend max at | | ss, UDP | none | <=1222 | Recommend max at |
| payload | | | largest value that | | payload | | | largest value that |
| size, bytes | | | avoids fragmentation; | | size, bytes | | | avoids fragmentation; |
| | | | use of too-small | | | | | use of too- |
| | | | payload size might | | | | | small payload size |
| | | | result in unexpected | | | | | might result in |
| | | | sender limitations. | | | | | unexpected sender |
| | | | limitations. |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| cc, burst | none | 1<=cc<= 100 | same as tested. Vary | | cc, burst | none | 1<=cc<= 100 | same as tested. Vary |
| count | | | cc as needed to | | count | | | cc as needed to |
| | | | create the desired | | | | | create the desired |
| | | | maximum sending rate. | | | | | maximum |
| | | | Sender buffer size | | | | | sending rate. Sender |
| | | | may limit cc in | | | | | buffer size may limit |
| | | | implementation. | | | | | cc in implementation. |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| tt, burst | 100microsec | 100microsec, | available range of | | tt, burst | 100microsec | 100microsec, | available range of |
| interval | | 1msec | "tick" values (HZ | | interval | | 1msec | "tick" values (HZ |
| | | | param) | | | | | param) |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| low delay | 30ms | 5ms, 30ms | same as tested | | low delay | 30ms | 5ms, 30ms | same as tested |
| range | | | | | range | | | |
| threshold | | | | | threshold | | | |
+-------------+-------------+---------------+-----------------------+ +-------------+-------------+---------------+-----------------------+
| high delay | 90ms | 10ms, 90ms | same as tested | | high delay | 90ms | 10ms, 90ms | same as tested |
skipping to change at page 24, line 6 skipping to change at page 24, line 23
aggregate. aggregate.
3. Internet access policies may limit the IP-Layer Capacity 3. Internet access policies may limit the IP-Layer Capacity
depending on the Type-P of packets, possibly reserving capacity depending on the Type-P of packets, possibly reserving capacity
for various stream types. for various stream types.
Each flow would be controlled using its own implementation of the Each flow would be controlled using its own implementation of the
load rate adjustment (search) algorithm. load rate adjustment (search) algorithm.
It is obviously counter-productive to run more than one independent It is obviously counter-productive to run more than one independent
test (regardless of the number of flows in the test stream) and concurrent test (regardless of the number of flows in the test
attempting to measure the *maximum* capacity between the same Source stream) attempting to measure the *maximum* capacity on a single
and Destination. The number of concurrent, independent tests between path. The number of concurrent, independent tests of a path SHALL be
the same Source and Destination SHALL be limited to one. limited to one.
Tests of a v4-v6 transition mechanism might well be the intended
subject of a capacity test. As long as the IPv4 and IPv6 packets
sent/received are both standard-formed, this should be allowed (and
the change in header size easily accounted for on a per-packet
basis).
As testing continues, implementers should expect some evolution in As testing continues, implementers should expect some evolution in
the methods. The ITU-T has published a Supplement (60) to the the methods. The ITU-T has published a Supplement (60) to the
Y-series of Recommendations, "Interpreting ITU-T Y.1540 Maximum IP- Y-series of Recommendations, "Interpreting ITU-T Y.1540 Maximum IP-
Layer Capacity measurements", [Y.Sup60], which is the result of Layer Capacity measurements", [Y.Sup60], which is the result of
continued testing with the metric, and those results have improved continued testing with the metric, and those results have improved
the method described here. the method described here.
8.4. Running Code 8.4. Running Code
 End of changes. 21 change blocks. 
38 lines changed or deleted 57 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/