draft-ietf-ippm-ioam-ipv6-options-01.txt | draft-ietf-ippm-ioam-ipv6-options-02.txt | |||
---|---|---|---|---|
ippm S. Bhandari | ippm S. Bhandari | |||
Internet-Draft F. Brockners | Internet-Draft F. Brockners | |||
Intended status: Standards Track C. Pignataro | Intended status: Standards Track C. Pignataro | |||
Expires: September 9, 2020 Cisco | Expires: January 14, 2021 Cisco | |||
H. Gredler | H. Gredler | |||
RtBrick Inc. | RtBrick Inc. | |||
J. Leddy | J. Leddy | |||
Comcast | Comcast | |||
S. Youell | S. Youell | |||
JMPC | JMPC | |||
T. Mizrahi | T. Mizrahi | |||
Huawei Network.IO Innovation Lab | Huawei Network.IO Innovation Lab | |||
A. Kfir | A. Kfir | |||
B. Gafni | B. Gafni | |||
Mellanox Technologies, Inc. | Mellanox Technologies, Inc. | |||
P. Lapukhov | P. Lapukhov | |||
M. Spiegel | M. Spiegel | |||
Barefoot Networks, an Intel company | Barefoot Networks, an Intel company | |||
S. Krishnan | S. Krishnan | |||
Kaloom | Kaloom | |||
R. Asati | R. Asati | |||
Cisco | Cisco | |||
March 08, 2020 | July 13, 2020 | |||
In-situ OAM IPv6 Options | In-situ OAM IPv6 Options | |||
draft-ietf-ippm-ioam-ipv6-options-01 | draft-ietf-ippm-ioam-ipv6-options-02 | |||
Abstract | Abstract | |||
In-situ Operations, Administration, and Maintenance (IOAM) records | In-situ Operations, Administration, and Maintenance (IOAM) records | |||
operational and telemetry information in the packet while the packet | operational and telemetry information in the packet while the packet | |||
traverses a path between two points in the network. This document | traverses a path between two points in the network. This document | |||
outlines how IOAM data fields are encapsulated in IPv6. | outlines how IOAM data fields are encapsulated in IPv6. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 2, line 7 ¶ | skipping to change at page 2, line 7 ¶ | |||
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 September 9, 2020. | This Internet-Draft will expire on January 14, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 3, line 16 ¶ | skipping to change at page 3, line 16 ¶ | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2.2. Abbreviations | 2.2. Abbreviations | |||
Abbreviations used in this document: | Abbreviations used in this document: | |||
E2E: Edge-to-Edge | ||||
IOAM: In-situ Operations, Administration, and Maintenance | ||||
OAM: Operations, Administration, and Maintenance | OAM: Operations, Administration, and Maintenance | |||
IOAM: In-situ OAM | ||||
POT: Proof of Transit | POT: Proof of Transit | |||
E2E: Edge-to-Edge | ||||
3. In-situ OAM Metadata Transport in IPv6 | 3. In-situ OAM Metadata Transport in IPv6 | |||
In-situ OAM in IPv6 is used to enhance diagnostics of IPv6 networks. | In-situ OAM in IPv6 is used to enhance diagnostics of IPv6 networks. | |||
It complements other mechanisms proposed to enhance diagnostics of | It complements other mechanisms proposed to enhance diagnostics of | |||
IPv6 networks, such as the IPv6 Performance and Diagnostic Metrics | IPv6 networks, such as the IPv6 Performance and Diagnostic Metrics | |||
Destination Option described in [RFC8250]. | Destination Option described in [RFC8250]. | |||
IOAM data fields are encapsulated in "option data" fields of two | IOAM data fields are encapsulated in "option data" fields of two | |||
types of extension headers in IPv6 packets - either Hop-by-Hop | types of extension headers in IPv6 packets - either Hop-by-Hop | |||
Options header or Destination options header. The selection of a | Options header or Destination options header. The selection of a | |||
skipping to change at page 4, line 13 ¶ | skipping to change at page 4, line 13 ¶ | |||
other extension headers, compliant with [RFC8200]. | other extension headers, compliant with [RFC8200]. | |||
IPv6 Hop-by-Hop and Destination Option format for carrying in-situ | IPv6 Hop-by-Hop and Destination Option format for carrying in-situ | |||
OAM data fields: | OAM data fields: | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Option Type | Opt Data Len | Reserved | IOAM Type | | | Option Type | Opt Data Len | Reserved | IOAM Type | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | |||
| | | | | | | | |||
. . I | . . I | |||
. Option Data . O | . . O | |||
. . A | . . A | |||
. . M | . . M | |||
. . . | . . . | |||
. . O | . Option Data . O | |||
. . P | . . P | |||
. . T | . . T | |||
. . I | . . I | |||
. . O | . . O | |||
. . N | . . N | |||
. . | | ||||
| | | | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<-+ | |||
Option Type: 8-bit identifier of the type of option. | Option Type: 8-bit option type identifier as defined inSection 5. | |||
Opt Data Len: 8-bit unsigned integer. Length of the Reserved and | Opt Data Len: 8-bit unsigned integer. Length of this option, in | |||
Option Data field of this option, in octets. | octets, not including the first 2 octets. | |||
Reserved: 8-bit field MUST be set to zero upon transmission and | Reserved: 8-bit field MUST be set to zero upon transmission and | |||
ignored upon reception. | ignored upon reception. | |||
IOAM Type: 8-bit field as defined in section 7.2 in | IOAM Type: 8-bit field as defined in section 7.2 in | |||
[I-D.ietf-ippm-ioam-data]. | [I-D.ietf-ippm-ioam-data]. | |||
Option Data: Variable-length field. Option-Type-specific data. | Option Data: Variable-length field. Option-Type-specific data. | |||
In-situ OAM Options are inserted as Option data as follows: | In-situ OAM Options are inserted as Option data as follows: | |||
1. Pre-allocated Tracing Option: The in-situ OAM Preallocated | 1. Pre-allocated Trace Option: The in-situ OAM Preallocated Trace | |||
Tracing option defined in [I-D.ietf-ippm-ioam-data] is | option defined in [I-D.ietf-ippm-ioam-data] is represented as an | |||
represented as a IPv6 option in hop by hop extension header: | IPv6 option in Hop-by-Hop extension header: | |||
Option Type: 001xxxxx 8-bit identifier of the IOAM type of | Option Type: 001xxxxx 8-bit identifier of the IOAM type of | |||
option. xxxxx=TBD. | option. xxxxx=TBD. | |||
IOAM Type: IOAM Pre-allocated Trace Option Type. | IOAM Type: IOAM Pre-allocated Trace Option Type. | |||
2. Incremental Tracing Option: The in-situ OAM Incremental Tracing | 2. Incremental Trace Option: The in-situ OAM Incremental Trace | |||
option defined in [I-D.ietf-ippm-ioam-data] is represented as a | option defined in [I-D.ietf-ippm-ioam-data] is represented as an | |||
IPv6 option in hop by hop extension header: | IPv6 option in Hop-by-Hop extension header: | |||
Option Type: 001xxxxx 8-bit identifier of the IOAM type of | Option Type: 001xxxxx 8-bit identifier of the IOAM type of | |||
option. xxxxx=TBD. | option. xxxxx=TBD. | |||
IOAM Type: IOAM Incremental Trace Option Type. | IOAM Type: IOAM Incremental Trace Option Type. | |||
3. Proof of Transit Option: The in-situ OAM POT option defined in | 3. Proof of Transit Option: The in-situ OAM POT option defined in | |||
[I-D.ietf-ippm-ioam-data] is represented as a IPv6 option in hop | [I-D.ietf-ippm-ioam-data] is represented as an IPv6 option in | |||
by hop extension header: | Hop-by-Hop extension header: | |||
Option Type: 001xxxxx 8-bit identifier of the IOAM type of | Option Type: 001xxxxx 8-bit identifier of the IOAM type of | |||
option. xxxxx=TBD. | option. xxxxx=TBD. | |||
IOAM Type: IOAM POT Option Type. | IOAM Type: IOAM POT Option Type. | |||
4. Edge to Edge Option: The in-situ OAM E2E option defined in | 4. Edge to Edge Option: The in-situ OAM E2E option defined in | |||
[I-D.ietf-ippm-ioam-data] is represented as a IPv6 option in IPv6 | [I-D.ietf-ippm-ioam-data] is represented as an IPv6 option in | |||
option in destination options extension header: | Destination extension header: | |||
Option Type: 000xxxxx 8-bit identifier of the IOAM type of | Option Type: 000xxxxx 8-bit identifier of the IOAM type of | |||
option. xxxxx=TBD. | option. xxxxx=TBD. | |||
IOAM Type: IOAM E2E Option Type. | IOAM Type: IOAM E2E Option Type. | |||
All the in-situ OAM IPv6 options defined here have alignment | All the in-situ OAM IPv6 options defined here have alignment | |||
requirements. Specifically, they all require 4n alignment. This | requirements. Specifically, they all require 4n alignment. This | |||
ensures that 4 octet fields specified in [I-D.ietf-ippm-ioam-data] | ensures that fields specified in [I-D.ietf-ippm-ioam-data] are | |||
such as transit delay are aligned at a multiple-of-4 offset from the | aligned at a multiple-of-4 offset from the start of the Hop-by-Hop | |||
start of the Hop-by-Hop Options header. In addition, to maintain | and Destination Options header. In addition, to maintain IPv6 | |||
IPv6 extension header 8-octet alignment and avoid the need to add or | extension header 8-octet alignment and avoid the need to add or | |||
remove padding at every hop, the Trace-Type for Incremental Tracing | remove padding at every hop, the Trace-Type for Incremental Trace | |||
Option in IPv6 MUST be selected such that the IOAM node data length | Option in IPv6 MUST be selected such that the IOAM node data length | |||
is a multiple of 8-octets. | is a multiple of 8-octets. | |||
An outline of how the options defined here can be enabled and used in | An outline of how the options defined here can be enabled and used in | |||
an IPv6 network is provided in | an IPv6 network is provided in | |||
[I-D.ioametal-ippm-6man-ioam-ipv6-deployment]. | [I-D.ioametal-ippm-6man-ioam-ipv6-deployment]. | |||
4. Security Considerations | 4. Security Considerations | |||
This document describes the encapsulation of IOAM data fields in | This document describes the encapsulation of IOAM data fields in | |||
IPv6. Security considerations of the specific IOAM data fields for | IPv6. Security considerations of the specific IOAM data fields for | |||
each case (i.e., Trace, Proof of Transit, and E2E) are described in | each case (i.e., Trace, Proof of Transit, and E2E) are described and | |||
defined in [I-D.ietf-ippm-ioam-data]. | defined in [I-D.ietf-ippm-ioam-data]. | |||
As this document describes new options for IPv6 , these are similar | As this document describes new options for IPv6, these are similar to | |||
to the security considerations of [RFC8200] and the new weakness | the security considerations of [RFC8200] and the new weakness | |||
documented in [RFC8250]. | documented in [RFC8250]. | |||
5. IANA Considerations | 5. IANA Considerations | |||
This draft requests the following IPv6 Option Type assignments from | This draft requests the following IPv6 Option Type assignments from | |||
the Destination Options and Hop-by-Hop Options sub-registry of | the Destination Options and Hop-by-Hop Options sub-registry of | |||
Internet Protocol Version 6 (IPv6) Parameters. | Internet Protocol Version 6 (IPv6) Parameters. | |||
http://www.iana.org/assignments/ipv6-parameters/ipv6- | http://www.iana.org/assignments/ipv6-parameters/ipv6- | |||
parameters.xhtml#ipv6-parameters-2 | parameters.xhtml#ipv6-parameters-2 | |||
skipping to change at page 6, line 29 ¶ | skipping to change at page 6, line 29 ¶ | |||
act chg rest | act chg rest | |||
---------------------------------------------------------------- | ---------------------------------------------------------------- | |||
TBD_1_0 00 0 TBD_1 IOAM [This draft] | TBD_1_0 00 0 TBD_1 IOAM [This draft] | |||
TBD_1_1 00 1 TBD_1 IOAM [This draft] | TBD_1_1 00 1 TBD_1 IOAM [This draft] | |||
6. Acknowledgements | 6. Acknowledgements | |||
The authors would like to thank Tom Herbert, Eric Vyncke, Nalini | The authors would like to thank Tom Herbert, Eric Vyncke, Nalini | |||
Elkins, Srihari Raghavan, Ranganathan T S, Karthik Babu Harichandra | Elkins, Srihari Raghavan, Ranganathan T S, Karthik Babu Harichandra | |||
Babu, Akshaya Nadahalli, Stefano Previdi, Hemant Singh, Erik | Babu, Akshaya Nadahalli, Stefano Previdi, Hemant Singh, Erik | |||
Nordmark, LJ Wobker, Mark Smith, and Andrew Yourtchenko for the | Nordmark, LJ Wobker, Mark Smith, Andrew Yourtchenko and Justin Iurman | |||
comments and advice. For the IPv6 encapsulation, this document | for the comments and advice. For the IPv6 encapsulation, this | |||
leverages concepts described in [I-D.kitamura-ipv6-record-route]. | document leverages concepts described in | |||
The authors would like to acknowledge the work done by the author | [I-D.kitamura-ipv6-record-route]. The authors would like to | |||
Hiroshi Kitamura and people involved in writing it. | acknowledge the work done by the author Hiroshi Kitamura and people | |||
involved in writing it. | ||||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[I-D.ietf-ippm-ioam-data] | [I-D.ietf-ippm-ioam-data] | |||
Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., | Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., | |||
Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, | Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, | |||
P., Chang, R., and d. daniel.bernier@bell.ca, "Data Fields | P., Chang, R., and d. daniel.bernier@bell.ca, "Data Fields | |||
for In-situ OAM", draft-ietf-ippm-ioam-data-01 (work in | for In-situ OAM", draft-ietf-ippm-ioam-data-01 (work in | |||
End of changes. 20 change blocks. | ||||
37 lines changed or deleted | 37 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |