draft-ietf-ippm-6man-pdm-option-00.txt | draft-ietf-ippm-6man-pdm-option-01.txt | |||
---|---|---|---|---|
INTERNET-DRAFT N. Elkins | INTERNET-DRAFT N. Elkins | |||
Inside Products | Inside Products | |||
R. Hamilton | R. Hamilton | |||
Chemical Abstracts Service | Chemical Abstracts Service | |||
M. Ackermann | M. Ackermann | |||
Intended Status: Proposed Standard BCBS Michigan | Intended Status: Proposed Standard BCBS Michigan | |||
Expires: December 11, 2015 June 9, 2015 | Expires: April 12, 2016 October 10, 2015 | |||
IPv6 Performance and Diagnostic Metrics (PDM) Destination Option | IPv6 Performance and Diagnostic Metrics (PDM) Destination Option | |||
draft-ietf-ippm-6man-pdm-option-00 | draft-ietf-ippm-6man-pdm-option-01 | |||
Table of Contents | Table of Contents | |||
1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
1.2 End User Quality of Service (QoS) . . . . . . . . . . . . . 4 | 1.2 End User Quality of Service (QoS) . . . . . . . . . . . . . 4 | |||
1.3 Need for a Packet Sequence Number . . . . . . . . . . . . . 5 | 1.3 Need for a Packet Sequence Number . . . . . . . . . . . . . 5 | |||
1.4 Rationale for proposed solution . . . . . . . . . . . . . . 5 | 1.4 Rationale for proposed solution . . . . . . . . . . . . . . 5 | |||
1.5 PDM Works in Collaboration with Other Headers . . . . . . . 6 | 1.5 PDM Works in Collaboration with Other Headers . . . . . . . 6 | |||
1.6 IPv6 Transition Technologies . . . . . . . . . . . . . . . . 6 | ||||
2 Measurement Information Derived from PDM . . . . . . . . . . . . 6 | 2 Measurement Information Derived from PDM . . . . . . . . . . . . 6 | |||
2.1 Round-Trip Delay . . . . . . . . . . . . . . . . . . . . . . 7 | 2.1 Round-Trip Delay . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.2 Server Delay . . . . . . . . . . . . . . . . . . . . . . . . 7 | 2.2 Server Delay . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3 Performance and Diagnostic Metrics Destination Option Layout . . 7 | 3 Performance and Diagnostic Metrics Destination Option Layout . . 7 | |||
3.1 Destination Options Header . . . . . . . . . . . . . . . . . 7 | 3.1 Destination Options Header . . . . . . . . . . . . . . . . . 7 | |||
3.2 Performance and Diagnostic Metrics Destination Option . . . 7 | 3.2 Performance and Diagnostic Metrics Destination Option . . . 7 | |||
3.3 Header Placement . . . . . . . . . . . . . . . . . . . . . . 10 | 3.3 Header Placement . . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.4 Implementation Considerations . . . . . . . . . . . . . . . 11 | 3.4 Header Placement Using IPSec ESP Mode . . . . . . . . . . . 11 | |||
3.5 Dynamic Configuration Options . . . . . . . . . . . . . . . 11 | 3.5 Implementation Considerations . . . . . . . . . . . . . . . 12 | |||
3.6 Dynamic Configuration Options . . . . . . . . . . . . . . . 12 | ||||
3.6 5-tuple Aging . . . . . . . . . . . . . . . . . . . . . . . 12 | 3.6 5-tuple Aging . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
4 Considerations of Timing Representation . . . . . . . . . . . . 12 | 4 Considerations of Timing Representation . . . . . . . . . . . . 13 | |||
4.1 Encoding the Delta-Time Values . . . . . . . . . . . . . . . 12 | 4.1 Encoding the Delta-Time Values . . . . . . . . . . . . . . . 13 | |||
4.2 Timer registers are different on different hardware . . . . 12 | 4.2 Timer registers are different on different hardware . . . . 13 | |||
4.3 Timer Units on Other Systems . . . . . . . . . . . . . . . . 13 | 4.3 Timer Units on Other Systems . . . . . . . . . . . . . . . . 14 | |||
4.4 Time Base . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4.4 Time Base . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
4.5 Timer-value scaling . . . . . . . . . . . . . . . . . . . . 14 | 4.5 Timer-value scaling . . . . . . . . . . . . . . . . . . . . 15 | |||
4.6 Limitations with this encoding method . . . . . . . . . . . 15 | 4.6 Limitations with this encoding method . . . . . . . . . . . 16 | |||
4.7 Lack of precision induced by timer value truncation . . . . 16 | 4.7 Lack of precision induced by timer value truncation . . . . 16 | |||
5 PDM Flow - Simple Client Server . . . . . . . . . . . . . . . . 17 | 5 PDM Flow - Simple Client Server . . . . . . . . . . . . . . . . 17 | |||
5.1 Step 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.1 Step 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
5.2 Step 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 5.2 Step 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
5.3 Step 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 5.3 Step 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
5.4 Step 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 5.4 Step 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
5.5 Step 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 5.5 Step 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
6 Other Flows . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 6 Other Flows . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
6.1 PDM Flow - One Way Traffic . . . . . . . . . . . . . . . . . 21 | 6.1 PDM Flow - One Way Traffic . . . . . . . . . . . . . . . . . 22 | |||
6.2 PDM Flow - Multiple Send Traffic . . . . . . . . . . . . . . 22 | 6.2 PDM Flow - Multiple Send Traffic . . . . . . . . . . . . . . 23 | |||
6.3 PDM Flow - Multiple Send with Errors . . . . . . . . . . . . 23 | 6.3 PDM Flow - Multiple Send with Errors . . . . . . . . . . . . 24 | |||
7 Potential Overhead Considerations . . . . . . . . . . . . . . . 25 | 7 Potential Overhead Considerations . . . . . . . . . . . . . . . 25 | |||
8 Security Considerations . . . . . . . . . . . . . . . . . . . . 26 | 8 Security Considerations . . . . . . . . . . . . . . . . . . . . 26 | |||
9 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 26 | 9 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 26 | |||
10 References . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 10 References . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
10.1 Normative References . . . . . . . . . . . . . . . . . . . 26 | 10.1 Normative References . . . . . . . . . . . . . . . . . . . 27 | |||
10.2 Informative References . . . . . . . . . . . . . . . . . . 27 | 10.2 Informative References . . . . . . . . . . . . . . . . . . 27 | |||
11 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 27 | 11 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
Abstract | Abstract | |||
To assess performance problems, measurements based on optional | To assess performance problems, measurements based on optional | |||
sequence numbers and timing may be embedded in each packet. Such | sequence numbers and timing may be embedded in each packet. Such | |||
measurements may be interpreted in real-time or after the fact. An | measurements may be interpreted in real-time or after the fact. An | |||
implementation of the existing IPv6 Destination Options extension | implementation of the existing IPv6 Destination Options extension | |||
skipping to change at page 6, line 20 | skipping to change at page 6, line 20 | |||
(or tool) looking at a packet capture. Within the packet capture, | (or tool) looking at a packet capture. Within the packet capture, | |||
they would have available to them the layer 2 header, IP header (v6 | they would have available to them the layer 2 header, IP header (v6 | |||
or v4), TCP, UCP, ICMP, SCTP or other headers. All information | or v4), TCP, UCP, ICMP, SCTP or other headers. All information | |||
would be looked at together to make sense of the packet flow. The | would be looked at together to make sense of the packet flow. The | |||
technician or processing tool could analyze, report or ignore the | technician or processing tool could analyze, report or ignore the | |||
data from PDM, as necessary. | data from PDM, as necessary. | |||
For an example of how PDM can help with TCP retransmit problems, | For an example of how PDM can help with TCP retransmit problems, | |||
please look at section 8. | please look at section 8. | |||
1.6 IPv6 Transition Technologies | ||||
In the path to full implementation of IPv6, transition technologies | ||||
such as translation or tunneling may be employed. The PDM header is | ||||
not expected to work in such scenarios. It is likely that an IPv6 | ||||
packet containing PDM will be dropped if using IPv6 transition | ||||
technologies. | ||||
2 Measurement Information Derived from PDM | 2 Measurement Information Derived from PDM | |||
Each packet contains information about the sender and receiver. In IP | Each packet contains information about the sender and receiver. In IP | |||
protocol, the identifying information is called a "5-tuple". | protocol, the identifying information is called a "5-tuple". | |||
The 5-tuple consists of: | The 5-tuple consists of: | |||
SADDR : IP address of the sender | SADDR : IP address of the sender | |||
SPORT : Port for sender | SPORT : Port for sender | |||
DADDR : IP address of the destination | DADDR : IP address of the destination | |||
skipping to change at page 10, line 45 | skipping to change at page 11, line 9 | |||
The three high-order bits described above are to be treated as part | The three high-order bits described above are to be treated as part | |||
of the Option Type, not independent of the Option Type. That is, a | of the Option Type, not independent of the Option Type. That is, a | |||
particular option is identified by a full 8-bit Option Type, not just | particular option is identified by a full 8-bit Option Type, not just | |||
the low-order 5 bits of an Option Type. | the low-order 5 bits of an Option Type. | |||
3.3 Header Placement | 3.3 Header Placement | |||
The PDM destination option MUST be placed as follows: | The PDM destination option MUST be placed as follows: | |||
- Before the upper-layer header. That is, this is the last | - Before the upper-layer header or the ESP header. | |||
extension header. | ||||
This follows the order defined in RFC2460 [RFC2460] | This follows the order defined in RFC2460 [RFC2460] | |||
IPv6 header | IPv6 header | |||
Hop-by-Hop Options header | Hop-by-Hop Options header | |||
Destination Options header | Destination Options header <-------- | |||
Routing header | Routing header | |||
Fragment header | Fragment header | |||
Authentication header | Authentication header | |||
Encapsulating Security Payload header | Encapsulating Security Payload header | |||
Destination Options header | Destination Options header <------------ | |||
upper-layer header | upper-layer header | |||
Note that there is a choice of where to place the Destination Options | ||||
header. If using ESP mode, please see section 3.4 of this document | ||||
for placement of the PDM Destination Options header. | ||||
For each IPv6 packet header, the PDM MUST NOT appear more than once. | For each IPv6 packet header, the PDM MUST NOT appear more than once. | |||
However, an encapsulated packet MAY contain a separate PDM associated | However, an encapsulated packet MAY contain a separate PDM associated | |||
with each encapsulated IPv6 header. | with each encapsulated IPv6 header. | |||
3.4 Implementation Considerations | 3.4 Header Placement Using IPSec ESP Mode | |||
IP Encapsulating Security Payload (ESP) is defined in [RFC4303] and | ||||
is widely used. Section 3.1.1 of [RFC4303] discusses placement of | ||||
Destination Options Headers. Below is the diagram from [RFC4303] | ||||
discussing placement. PDM MUST be placed before the ESP header in | ||||
order to work. If placed before the ESP header, the PDM header will | ||||
flow in the clear over the network thus allowing gathering of | ||||
performance and diagnostic data without sacrificing security. | ||||
BEFORE APPLYING ESP | ||||
--------------------------------------- | ||||
IPv6 | | ext hdrs | | | | ||||
| orig IP hdr |if present| TCP | Data | | ||||
--------------------------------------- | ||||
AFTER APPLYING ESP | ||||
--------------------------------------------------------- | ||||
IPv6 | orig |hop-by-hop,dest*,| |dest| | | ESP | ESP| | ||||
|IP hdr|routing,fragment.|ESP|opt*|TCP|Data|Trailer| ICV| | ||||
--------------------------------------------------------- | ||||
|<--- encryption ---->| | ||||
|<------ integrity ------>| | ||||
* = if present, could be before ESP, after ESP, or both | ||||
3.5 Implementation Considerations | ||||
The PDM destination options extension header SHOULD be turned on by | The PDM destination options extension header SHOULD be turned on by | |||
each stack on a host node. It MAY also be turned on only in case of | each stack on a host node. It MAY also be turned on only in case of | |||
diagnostics needed for problem resolution. | diagnostics needed for problem resolution. | |||
3.5 Dynamic Configuration Options | 3.6 Dynamic Configuration Options | |||
If implemented, each operating system MUST have a default | If implemented, each operating system MUST have a default | |||
configuration parameter, e.g. diag_header_sys_default_value=yes/no. | configuration parameter, e.g. diag_header_sys_default_value=yes/no. | |||
The operating system MAY also have a dynamic configuration option to | The operating system MAY also have a dynamic configuration option to | |||
change the configuration setting as needed. | change the configuration setting as needed. | |||
If the PDM destination options extension header is used, then it MAY | If the PDM destination options extension header is used, then it MAY | |||
be turned on for all packets flowing through the host, applied to an | be turned on for all packets flowing through the host, applied to an | |||
upper-layer protocol (TCP, UDP, SCTP, etc), a local port, or IP | upper-layer protocol (TCP, UDP, SCTP, etc), a local port, or IP | |||
address only. These are at the discretion of the implementation. | address only. These are at the discretion of the implementation. | |||
skipping to change at page 27, line 15 | skipping to change at page 27, line 25 | |||
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
(IPv6) Specification", RFC 2460, December 1998. | (IPv6) Specification", RFC 2460, December 1998. | |||
[RFC2681] Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip | [RFC2681] Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip | |||
Delay Metric for IPPM", RFC 2681, September 1999. | Delay Metric for IPPM", RFC 2681, September 1999. | |||
[RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For | [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For | |||
Values In the Internet Protocol and Related Headers", BCP 37, RFC | Values In the Internet Protocol and Related Headers", BCP 37, RFC | |||
2780, March 2000. | 2780, March 2000. | |||
[RFC4303] Kent, S, "IP Encapsulating Security Payload (ESP)", RFC | ||||
4303, December 2005. | ||||
10.2 Informative References | 10.2 Informative References | |||
[TRAM-TCPM] Trammel, B., "Encoding of Time Intervals for the TCP | [TRAM-TCPM] Trammel, B., "Encoding of Time Intervals for the TCP | |||
Timestamp Option-01", Internet Draft, July 2013. [Work in Progress] | Timestamp Option-01", Internet Draft, July 2013. [Work in Progress] | |||
[IBM-POPS] IBM Corporation, "IBM z/Architecture Principles of | [IBM-POPS] IBM Corporation, "IBM z/Architecture Principles of | |||
Operation", SA22-7832, 1990-2012 | Operation", SA22-7832, 1990-2012 | |||
11 Acknowledgments | 11 Acknowledgments | |||
The authors would like to thank Keven Haining, Al Morton, Brian | The authors would like to thank Keven Haining, Al Morton, Brian | |||
Trammel, David Boyes, Bill Jouris, Richard Scheffenegger, and Rick | Trammel, David Boyes, Bill Jouris, Richard Scheffenegger, and Rick | |||
Troth for their comments and assistance. | Troth for their comments and assistance. | |||
Authors' Addresses | Authors' Addresses | |||
Nalini Elkins | Nalini Elkins | |||
Inside Products, Inc. | Inside Products, Inc. | |||
36A Upper Circle | 36A Upper Circle | |||
Carmel Valley, CA 93924 | Carmel Valley, CA 93924 | |||
United States | United States | |||
Phone: +1 831 659 8360 | Phone: +1 831 659 8360 | |||
Email: nalini.elkins@insidethestack.com | Email: nalini.elkins@insidethestack.com | |||
http://www.insidethestack.com | http://www.insidethestack.com | |||
Robert Hamilton | ||||
Robert Hamilton | Chemical Abstracts Service | |||
Chemical Abstracts Service | A Division of the American Chemical Society | |||
A Division of the American Chemical Society | 2540 Olentangy River Road | |||
2540 Olentangy River Road | Columbus, Ohio 43202 | |||
Columbus, Ohio 43202 | United States | |||
United States | Phone: +1 614 447 3600 x2517 | |||
Phone: +1 614 447 3600 x2517 | Email: rhamilton@cas.org | |||
Email: rhamilton@cas.org | http://www.cas.org | |||
http://www.cas.org | ||||
Michael S. Ackermann | Michael S. Ackermann | |||
Blue Cross Blue Shield of Michigan | Blue Cross Blue Shield of Michigan | |||
P.O. Box 2888 | P.O. Box 2888 | |||
Detroit, Michigan 48231 | Detroit, Michigan 48231 | |||
United States | United States | |||
Phone: +1 310 460 4080 | Phone: +1 310 460 4080 | |||
Email: mackermann@bcbsmi.com | Email: mackermann@bcbsmi.com | |||
http://www.bcbsmi.com | http://www.bcbsmi.com | |||
End of changes. 19 change blocks. | ||||
42 lines changed or deleted | 85 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/ |