| < draft-mirsky-ippm-hybrid-two-step-08.txt | draft-mirsky-ippm-hybrid-two-step-09.txt > | |||
|---|---|---|---|---|
| IPPM Working Group G. Mirsky | IPPM Working Group G. Mirsky | |||
| Internet-Draft ZTE Corp. | Internet-Draft ZTE Corp. | |||
| Intended status: Standards Track W. Lingqiang | Intended status: Standards Track W. Lingqiang | |||
| Expires: August 19, 2021 G. Zhui | Expires: 1 October 2021 G. Zhui | |||
| ZTE Corporation | ZTE Corporation | |||
| H. Song | H. Song | |||
| Futurewei Technologies | Futurewei Technologies | |||
| February 15, 2021 | 30 March 2021 | |||
| Hybrid Two-Step Performance Measurement Method | Hybrid Two-Step Performance Measurement Method | |||
| draft-mirsky-ippm-hybrid-two-step-08 | draft-mirsky-ippm-hybrid-two-step-09 | |||
| Abstract | Abstract | |||
| Development of, and advancements in, automation of network operations | Development of, and advancements in, automation of network operations | |||
| brought new requirements for measurement methodology. Among them is | brought new requirements for measurement methodology. Among them is | |||
| the ability to collect instant network state as the packet being | the ability to collect instant network state as the packet being | |||
| processed by the networking elements along its path through the | processed by the networking elements along its path through the | |||
| domain. This document introduces a new hybrid measurement method, | domain. This document introduces a new hybrid measurement method, | |||
| referred to as hybrid two-step, as it separates the act of measuring | referred to as hybrid two-step, as it separates the act of measuring | |||
| and/or calculating the performance metric from the act of collecting | and/or calculating the performance metric from the act of collecting | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
| 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 August 19, 2021. | This Internet-Draft will expire on 1 October 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/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Simplified BSD License text | |||
| include Simplified BSD License text as described in Section 4.e of | as described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Simplified BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Conventions used in this document . . . . . . . . . . . . . . 3 | 2. Conventions used in this document . . . . . . . . . . . . . . 3 | |||
| 2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Problem Overview . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Problem Overview . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 5 | 4. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.1. Operation of the HTS Ingress Node . . . . . . . . . . . . 6 | 4.1. Operation of the HTS Ingress Node . . . . . . . . . . . . 6 | |||
| 4.2. Operation of the HTS Intermediate Node . . . . . . . . . 8 | 4.2. Operation of the HTS Intermediate Node . . . . . . . . . 8 | |||
| 4.3. Operation of the HTS Egress Node . . . . . . . . . . . . 9 | 4.3. Operation of the HTS Egress Node . . . . . . . . . . . . 9 | |||
| 4.4. Considerations for HTS Timers . . . . . . . . . . . . . . 10 | 4.4. Considerations for HTS Timers . . . . . . . . . . . . . . 10 | |||
| 4.5. Deploying HTS in a Multicast Network . . . . . . . . . . 10 | 4.5. Deploying HTS in a Multicast Network . . . . . . . . . . 10 | |||
| 5. Authentication in HTS . . . . . . . . . . . . . . . . . . . . 10 | 5. Authentication in HTS . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6.1. IOAM Option-Type for HTS . . . . . . . . . . . . . . . . 12 | 6.1. IOAM Option-Type for HTS . . . . . . . . . . . . . . . . 12 | |||
| 6.2. HTS TLV Registry . . . . . . . . . . . . . . . . . . . . 12 | 6.2. HTS TLV Registry . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6.3. HTS Sub-TLV Type Sub-registry . . . . . . . . . . . . . . 12 | 6.3. HTS Sub-TLV Type Sub-registry . . . . . . . . . . . . . . 13 | |||
| 6.4. HMAC Type Sub-registry . . . . . . . . . . . . . . . . . 13 | 6.4. HMAC Type Sub-registry . . . . . . . . . . . . . . . . . 14 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 15 | 9.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 1. Introduction | 1. Introduction | |||
| Successful resolution of challenges of automated network operation, | Successful resolution of challenges of automated network operation, | |||
| as part of, for example, overall service orchestration or data center | as part of, for example, overall service orchestration or data center | |||
| operation, relies on a timely collection of accurate information that | operation, relies on a timely collection of accurate information that | |||
| reflects the state of network elements on an unprecedented scale. | reflects the state of network elements on an unprecedented scale. | |||
| Because performing the analysis and act upon the collected | Because performing the analysis and act upon the collected | |||
| information requires considerable computing and storage resources, | information requires considerable computing and storage resources, | |||
| the network state information is unlikely to be processed by the | the network state information is unlikely to be processed by the | |||
| skipping to change at page 4, line 26 ¶ | skipping to change at page 4, line 28 ¶ | |||
| Performance measurements are meant to provide data that characterize | Performance measurements are meant to provide data that characterize | |||
| conditions experienced by traffic flows in the network and possibly | conditions experienced by traffic flows in the network and possibly | |||
| trigger operational changes (e.g., re-route of flows, or changes in | trigger operational changes (e.g., re-route of flows, or changes in | |||
| resource allocations). Modifications to a network are determined | resource allocations). Modifications to a network are determined | |||
| based on the performance metric information available when a change | based on the performance metric information available when a change | |||
| is to be made. The correctness of this determination is based on the | is to be made. The correctness of this determination is based on the | |||
| quality of the collected metrics data. The quality of collected | quality of the collected metrics data. The quality of collected | |||
| measurement data is defined by: | measurement data is defined by: | |||
| o the resolution and accuracy of each measurement; | * the resolution and accuracy of each measurement; | |||
| o predictability of both the time at which each measurement is made | * predictability of both the time at which each measurement is made | |||
| and the timeliness of measurement collection data delivery for | and the timeliness of measurement collection data delivery for | |||
| use. | use. | |||
| Consider the case of delay measurement that relies on collecting time | Consider the case of delay measurement that relies on collecting time | |||
| of packet arrival at the ingress interface and time of the packet | of packet arrival at the ingress interface and time of the packet | |||
| transmission at the egress interface. The method includes recording | transmission at the egress interface. The method includes recording | |||
| a local clock value on receiving the first octet of an affected | a local clock value on receiving the first octet of an affected | |||
| message at the device ingress, and again recording the clock value on | message at the device ingress, and again recording the clock value on | |||
| transmitting the first byte of the same message at the device egress. | transmitting the first byte of the same message at the device egress. | |||
| In this ideal case, the difference between the two recorded clock | In this ideal case, the difference between the two recorded clock | |||
| skipping to change at page 5, line 25 ¶ | skipping to change at page 5, line 27 ¶ | |||
| Maximum Transmission Unit (MTU) size, especially if the packet | Maximum Transmission Unit (MTU) size, especially if the packet | |||
| traverses overlay domains or VPNs. Since the fragmentation is not | traverses overlay domains or VPNs. Since the fragmentation is not | |||
| available at the transport network, operators may have to reduce MTU | available at the transport network, operators may have to reduce MTU | |||
| size advertised to the client layer or risk missing network state | size advertised to the client layer or risk missing network state | |||
| data for the part, most probably the latter part, of the path. | data for the part, most probably the latter part, of the path. | |||
| 4. Theory of Operation | 4. Theory of Operation | |||
| The HTS method consists of two phases: | The HTS method consists of two phases: | |||
| o performing a measurement or obtaining network state information, | * performing a measurement or obtaining network state information, | |||
| one or more than one type, on a node; | one or more than one type, on a node; | |||
| o collecting and transporting the measurement. | * collecting and transporting the measurement. | |||
| HTS uses HTS Trigger carried in a data packet or a specially | HTS uses HTS Trigger carried in a data packet or a specially | |||
| constructed test packet. For example, an HTS Trigger could be a | constructed test packet. For example, an HTS Trigger could be a | |||
| packet that has IOAM Option-Type set to the "IOAM Hybrid Two-Step | packet that has IOAM Option-Type set to the "IOAM Hybrid Two-Step | |||
| Option-Type" value (TBA1) allocated by IANA (see Section 6.1). The | Option-Type" value (TBA1) allocated by IANA (see Section 6.1). The | |||
| HTS Trigger also includes IOAM Namespace-ID and IOAM-Trace-Type | HTS Trigger also includes IOAM Namespace-ID and IOAM-Trace-Type | |||
| information [I-D.ietf-ippm-ioam-data]. A packet in the flow to which | information [I-D.ietf-ippm-ioam-data]. A packet in the flow to which | |||
| the Alternate-Marking method [RFC8321] is applied can be used as an | the Alternate-Marking method [RFC8321] is applied can be used as an | |||
| HTS Trigger. The nature of the HTS Trigger is a transport network | HTS Trigger. The nature of the HTS Trigger is a transport network | |||
| layer-specific, and its description is outside the scope of this | layer-specific, and its description is outside the scope of this | |||
| skipping to change at page 6, line 45 ¶ | skipping to change at page 6, line 47 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| ~ Telemetry Data TLVs ~ | ~ Telemetry Data TLVs ~ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: Follow-up Packet Format | Figure 1: Follow-up Packet Format | |||
| Fields of the HTS shim are as follows: | Fields of the HTS shim are as follows: | |||
| Version (Ver) is the two-bits long field. It specifies the | Version (Ver) is the two-bits long field. It specifies the | |||
| version of the HTS shim format. This document defines the format | version of the HTS shim format. This document defines the format | |||
| for the 0b00 value of the field. | for the 0b00 value of the field. | |||
| HTS Shim Length is the six bits-long field. It defines the length | HTS Shim Length is the six bits-long field. It defines the length | |||
| of the HTS shim in bytes. The minimal value of the field is four | of the HTS shim in bytes. The minimal value of the field is four | |||
| bytes. | bytes. | |||
| 0 | 0 | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |F| Reserved | | |F| Reserved | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Figure 2: Flags Field Format | Figure 2: Flags Field Format | |||
| Flags is eight-bits long. The format of the Flags field displayed | Flags is eight-bits long. The format of the Flags field displayed | |||
| in Figure 2. | in Figure 2. | |||
| Full (F) flag MUST be set to zero by the node originating the | - Full (F) flag MUST be set to zero by the node originating the | |||
| HTS follow-up packet and MUST be set to one by the node that | HTS follow-up packet and MUST be set to one by the node that | |||
| does not add its telemetry data to avoid exceeding MTU size. | does not add its telemetry data to avoid exceeding MTU size. | |||
| The node originating the follow-up packet MUST zero the | - The node originating the follow-up packet MUST zero the | |||
| Reserved field and ignore it on the receipt. | Reserved field and ignore it on the receipt. | |||
| Sequence Number is 16 bits-long field. The zero-based value of | Sequence Number is 16 bits-long field. The zero-based value of | |||
| the field reflects the place of the HTS follow-up packet in the | the field reflects the place of the HTS follow-up packet in the | |||
| sequence of the HTS follow-up packets that originated in response | sequence of the HTS follow-up packets that originated in response | |||
| to the same HTS trigger. The ingress node MUST set the value of | to the same HTS trigger. The ingress node MUST set the value of | |||
| the field to zero. | the field to zero. | |||
| Telemetry Data Profile is the optional variable-length field of | Telemetry Data Profile is the optional variable-length field of | |||
| bit-size flags. Each flag indicates the requested type of | bit-size flags. Each flag indicates the requested type of | |||
| telemetry data to be collected at each HTS node. The increment of | telemetry data to be collected at each HTS node. The increment of | |||
| the field is four bytes with a minimum length of zero. For | the field is four bytes with a minimum length of zero. For | |||
| example, IOAM-Trace-Type information defined in | example, IOAM-Trace-Type information defined in | |||
| [I-D.ietf-ippm-ioam-data] can be used in the Telemetry Data | [I-D.ietf-ippm-ioam-data] can be used in the Telemetry Data | |||
| Profile field. | Profile field. | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Reserved | Length | | | Type | Reserved | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ~ Value ~ | ~ Value ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: Telemetry Data TLV Format | Figure 3: Telemetry Data TLV Format | |||
| Telemetry Data TLV is a variable-length field. Multiple TLVs MAY | Telemetry Data TLV is a variable-length field. Multiple TLVs MAY | |||
| be placed in an HTS packet. Additional TLVs may be enclosed | be placed in an HTS packet. Additional TLVs may be enclosed | |||
| within a given TLV, subject to the semantics of the (outer) TLV in | within a given TLV, subject to the semantics of the (outer) TLV in | |||
| question. Figure 3 presents the format of a Telemetry Data TLV, | question. Figure 3 presents the format of a Telemetry Data TLV, | |||
| where fields are defined as the following: | where fields are defined as the following: | |||
| Type - a one-octet-long field that characterizes the | - Type - a one-octet-long field that characterizes the | |||
| interpretation of the Value field. | interpretation of the Value field. | |||
| Reserved - one-octet-long field. | - Reserved - one-octet-long field. | |||
| Length - two-octet-long field equal to the length of the Value | - Length - two-octet-long field equal to the length of the Value | |||
| field in octets. | field in octets. | |||
| Value - a variable-length field. The value of the Type field | - Value - a variable-length field. The value of the Type field | |||
| determines its interpretation and encoding. IOAM data fields, | determines its interpretation and encoding. IOAM data fields, | |||
| defined in [I-D.ietf-ippm-ioam-data], MAY be carried in the | defined in [I-D.ietf-ippm-ioam-data], MAY be carried in the | |||
| Value field. | Value field. | |||
| All multibyte fields defined in this specification are in network | All multibyte fields defined in this specification are in network | |||
| byte order. | byte order. | |||
| 4.2. Operation of the HTS Intermediate Node | 4.2. Operation of the HTS Intermediate Node | |||
| Upon receiving the trigger packet, the HTS intermediate node MUST: | Upon receiving the trigger packet, the HTS intermediate node MUST: | |||
| o copy the transport information; | * copy the transport information; | |||
| o start the HTS Follow-up Timer for the obtained flow; | * start the HTS Follow-up Timer for the obtained flow; | |||
| o transmit the trigger packet. | * transmit the trigger packet. | |||
| Upon receiving the follow-up packet, the HTS intermediate node MUST: | Upon receiving the follow-up packet, the HTS intermediate node MUST: | |||
| 1. verify that the matching transport information exists and the | 1. verify that the matching transport information exists and the | |||
| Full flag is cleared, then stop the associated HTS Follow-up | Full flag is cleared, then stop the associated HTS Follow-up | |||
| Timer; | Timer; | |||
| 2. otherwise, transmit the received packet. Proceed to Step 8; | 2. otherwise, transmit the received packet. Proceed to Step 8; | |||
| 3. collect telemetry data requested in the Telemetry Data Profile | 3. collect telemetry data requested in the Telemetry Data Profile | |||
| skipping to change at page 9, line 18 ¶ | skipping to change at page 9, line 22 ¶ | |||
| value of the field in the received follow-up packet incremented | value of the field in the received follow-up packet incremented | |||
| by one; | by one; | |||
| 7. copy collected telemetry data into the first Telemetry Data TLV's | 7. copy collected telemetry data into the first Telemetry Data TLV's | |||
| Value field and then transmit the packet; | Value field and then transmit the packet; | |||
| 8. processing completed. | 8. processing completed. | |||
| If the HTS Follow-up Timer expires, the intermediate node MUST: | If the HTS Follow-up Timer expires, the intermediate node MUST: | |||
| o originate the follow-up packet using transport information | * originate the follow-up packet using transport information | |||
| associated with the expired timer; | associated with the expired timer; | |||
| o initialize the HTS shim by setting the Version field's value to | * initialize the HTS shim by setting the Version field's value to | |||
| 0b00 and Sequence Number field to 0. Values of HTS Shim Length | 0b00 and Sequence Number field to 0. Values of HTS Shim Length | |||
| and Telemetry Data Profile fields MAY be set according to the | and Telemetry Data Profile fields MAY be set according to the | |||
| local policy. | local policy. | |||
| o copy telemetry information into Telemetry Data TLV's Value field | * copy telemetry information into Telemetry Data TLV's Value field | |||
| and transmit the packet. | and transmit the packet. | |||
| If the intermediate node receives a "late" follow-up packet, i.e., a | If the intermediate node receives a "late" follow-up packet, i.e., a | |||
| packet to which the node has no associated HTS Follow-up timer, the | packet to which the node has no associated HTS Follow-up timer, the | |||
| node MUST forward the "late" packet. | node MUST forward the "late" packet. | |||
| 4.3. Operation of the HTS Egress Node | 4.3. Operation of the HTS Egress Node | |||
| Upon receiving the trigger packet, the HTS egress node MUST: | Upon receiving the trigger packet, the HTS egress node MUST: | |||
| o copy the transport information; | * copy the transport information; | |||
| o start the HTS Collection timer for the obtained flow. | * start the HTS Collection timer for the obtained flow. | |||
| When the egress node receives the follow-up packet for the known | When the egress node receives the follow-up packet for the known | |||
| flow, i.e., the flow to which the Collection timer is running, the | flow, i.e., the flow to which the Collection timer is running, the | |||
| node for each of Telemetry Data TLVs MUST: | node for each of Telemetry Data TLVs MUST: | |||
| o if HTS is used in the authenticated mode, verify the | * if HTS is used in the authenticated mode, verify the | |||
| authentication of the Telemetry Data TLV using the Authentication | authentication of the Telemetry Data TLV using the Authentication | |||
| sub-TLV (see Section 5); | sub-TLV (see Section 5); | |||
| o copy telemetry information from the Value field; | * copy telemetry information from the Value field; | |||
| o restart the corresponding Collection timer. | * restart the corresponding Collection timer. | |||
| When the Collection timer expires, the egress relays the collected | When the Collection timer expires, the egress relays the collected | |||
| telemetry information for processing and analysis to a local or | telemetry information for processing and analysis to a local or | |||
| remote agent. | remote agent. | |||
| 4.4. Considerations for HTS Timers | 4.4. Considerations for HTS Timers | |||
| This specification defines two timers - HTS Follow-up and HTS | This specification defines two timers - HTS Follow-up and HTS | |||
| Collection. For the particular flow, there MUST be no more than one | Collection. For the particular flow, there MUST be no more than one | |||
| HTS Trigger, values of HTS timers bounded by the rate of the trigger | HTS Trigger, values of HTS timers bounded by the rate of the trigger | |||
| skipping to change at page 10, line 29 ¶ | skipping to change at page 10, line 33 ¶ | |||
| network. Multicast services are important, and the ability to | network. Multicast services are important, and the ability to | |||
| collect telemetry information is invaluable in delivering a high | collect telemetry information is invaluable in delivering a high | |||
| quality of experience. While the replication of data packets is | quality of experience. While the replication of data packets is | |||
| necessary, replication of HTS follow-up packets is not. Replication | necessary, replication of HTS follow-up packets is not. Replication | |||
| of multicast data packets down a multicast tree may be set based on | of multicast data packets down a multicast tree may be set based on | |||
| multicast routing information or explicit information included in the | multicast routing information or explicit information included in the | |||
| special header, as, for example, in Bit-Indexed Explicit Replication | special header, as, for example, in Bit-Indexed Explicit Replication | |||
| [RFC8296]. A replicating node processes the HTS packet as defined | [RFC8296]. A replicating node processes the HTS packet as defined | |||
| below: | below: | |||
| o the first transmitted multicast packet MUST be followed by the | * the first transmitted multicast packet MUST be followed by the | |||
| received corresponding HTS packet as described in Section 4.2; | received corresponding HTS packet as described in Section 4.2; | |||
| o each consecutively transmitted copy of the original multicast | * each consecutively transmitted copy of the original multicast | |||
| packet MUST be followed by the new HTS packet originated by the | packet MUST be followed by the new HTS packet originated by the | |||
| replicating node that acts as an intermediate HTS node when the | replicating node that acts as an intermediate HTS node when the | |||
| HTS Follow-up timer expired. | HTS Follow-up timer expired. | |||
| As a result, there are no duplicate copies of Telemetry Data TLV for | As a result, there are no duplicate copies of Telemetry Data TLV for | |||
| the same pair of ingress and egress interfaces. At the same time, | the same pair of ingress and egress interfaces. At the same time, | |||
| all ingress/egress pairs traversed by the given multicast packet | all ingress/egress pairs traversed by the given multicast packet | |||
| reflected in their respective Telemetry Data TLV. Consequently, a | reflected in their respective Telemetry Data TLV. Consequently, a | |||
| centralized controller would reconstruct and analyze the state of the | centralized controller would reconstruct and analyze the state of the | |||
| particular multicast distribution tree based on HTS packets collected | particular multicast distribution tree based on HTS packets collected | |||
| skipping to change at page 11, line 18 ¶ | skipping to change at page 11, line 27 ¶ | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |Authentic. Type| HMAC Type | Length | | |Authentic. Type| HMAC Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| | Digest | | | Digest | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: HMAC sub-TLV | Figure 4: HMAC sub-TLV | |||
| where fields are defined as follows: | where fields are defined as follows: | |||
| o Authentication Type - is a one-octet-long field, value TBA2 | * Authentication Type - is a one-octet-long field, value TBA2 | |||
| allocated by IANA Section 6.2. | allocated by IANA Section 6.2. | |||
| o Length - two-octet-long field, set equal to the length of the | * Length - two-octet-long field, set equal to the length of the | |||
| Digest field in octets. | Digest field in octets. | |||
| o HMAC Type - is a one-octet-long field that identifies the type of | * HMAC Type - is a one-octet-long field that identifies the type of | |||
| the HMAC and the length of the digest and the length of the digest | the HMAC and the length of the digest and the length of the digest | |||
| according to the HTS HMAC Type sub-registry (see Section 6.4). | according to the HTS HMAC Type sub-registry (see Section 6.4). | |||
| o Digest - is a variable-length field that carries HMAC digest of | * Digest - is a variable-length field that carries HMAC digest of | |||
| the text that includes the encompassing TLV. | the text that includes the encompassing TLV. | |||
| This specification defines the use of HMAC-SHA-256 truncated to 128 | This specification defines the use of HMAC-SHA-256 truncated to 128 | |||
| bits ([RFC4868]) in HTS. Future specifications may define the use in | bits ([RFC4868]) in HTS. Future specifications may define the use in | |||
| HTS of more advanced cryptographic algorithms or the use of digest of | HTS of more advanced cryptographic algorithms or the use of digest of | |||
| a different length. HMAC is calculated as defined in [RFC2104] over | a different length. HMAC is calculated as defined in [RFC2104] over | |||
| text as the concatenation of the Sequence Number field of the follow- | text as the concatenation of the Sequence Number field of the follow- | |||
| up packet (see Figure 1) and the preceding data collected in the | up packet (see Figure 1) and the preceding data collected in the | |||
| Telemetry Data TLV. The digest then MUST be truncated to 128 bits | Telemetry Data TLV. The digest then MUST be truncated to 128 bits | |||
| and written into the Digest field. Distribution and management of | and written into the Digest field. Distribution and management of | |||
| skipping to change at page 12, line 13 ¶ | skipping to change at page 12, line 20 ¶ | |||
| outside the scope of this document. | outside the scope of this document. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| 6.1. IOAM Option-Type for HTS | 6.1. IOAM Option-Type for HTS | |||
| The IOAM Option-Type registry is requested in | The IOAM Option-Type registry is requested in | |||
| [I-D.ietf-ippm-ioam-data]. IANA is requested to allocate a new code | [I-D.ietf-ippm-ioam-data]. IANA is requested to allocate a new code | |||
| point as listed in Table 1. | point as listed in Table 1. | |||
| +-------+----------------------------------+---------------+ | +=======+==================================+===============+ | |||
| | Value | Description | Reference | | | Value | Description | Reference | | |||
| +-------+----------------------------------+---------------+ | +=======+==================================+===============+ | |||
| | TBA1 | IOAM Hybrid Two-Step Option-Type | This document | | | TBA1 | IOAM Hybrid Two-Step Option-Type | This document | | |||
| +-------+----------------------------------+---------------+ | +-------+----------------------------------+---------------+ | |||
| Table 1: IOAM Option-Type for HTS | Table 1: IOAM Option-Type for HTS | |||
| 6.2. HTS TLV Registry | 6.2. HTS TLV Registry | |||
| IANA is requested to create the HTS TLV Type registry. All code | IANA is requested to create the HTS TLV Type registry. All code | |||
| points in the range 1 through 175 in this registry shall be allocated | points in the range 1 through 175 in this registry shall be allocated | |||
| according to the "IETF Review" procedure specified in [RFC8126]. | according to the "IETF Review" procedure specified in [RFC8126]. | |||
| Code points in the range 176 through 239 in this registry shall be | Code points in the range 176 through 239 in this registry shall be | |||
| allocated according to the "First Come First Served" procedure | allocated according to the "First Come First Served" procedure | |||
| specified in [RFC8126]. The remaining code points are allocated | specified in [RFC8126]. The remaining code points are allocated | |||
| according to Table 2: | according to Table 2: | |||
| +-----------+--------------+---------------+ | +===========+==============+===============+ | |||
| | Value | Description | Reference | | | Value | Description | Reference | | |||
| +-----------+--------------+---------------+ | +===========+==============+===============+ | |||
| | 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 1- 175 | Unassigned | This document | | | 1- 175 | Unassigned | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 176 - 239 | Unassigned | This document | | | 176 - 239 | Unassigned | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 240 - 251 | Experimental | This document | | | 240 - 251 | Experimental | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 252 - 254 | Private Use | This document | | | 252 - 254 | Private Use | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 255 | Reserved | This document | | | 255 | Reserved | This document | | |||
| +-----------+--------------+---------------+ | +-----------+--------------+---------------+ | |||
| Table 2: HTS TLV Type Registry | Table 2: HTS TLV Type Registry | |||
| 6.3. HTS Sub-TLV Type Sub-registry | 6.3. HTS Sub-TLV Type Sub-registry | |||
| IANA is requested to create the HTS sub-TLV Type sub-registry as part | IANA is requested to create the HTS sub-TLV Type sub-registry as part | |||
| of the HTS TLV Type registry. All code points in the range 1 through | of the HTS TLV Type registry. All code points in the range 1 through | |||
| 175 in this registry shall be allocated according to the "IETF | 175 in this registry shall be allocated according to the "IETF | |||
| Review" procedure specified in [RFC8126]. Code points in the range | Review" procedure specified in [RFC8126]. Code points in the range | |||
| 176 through 239 in this registry shall be allocated according to the | 176 through 239 in this registry shall be allocated according to the | |||
| "First Come First Served" procedure specified in [RFC8126]. The | "First Come First Served" procedure specified in [RFC8126]. The | |||
| remaining code points are allocated according to Table 3: | remaining code points are allocated according to Table 3: | |||
| +-----------+--------------+---------------+ | +===========+==============+===============+ | |||
| | Value | Description | Reference | | | Value | Description | Reference | | |||
| +-----------+--------------+---------------+ | +===========+==============+===============+ | |||
| | 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 1- 175 | Unassigned | This document | | | 1- 175 | Unassigned | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 176 - 239 | Unassigned | This document | | | 176 - 239 | Unassigned | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 240 - 251 | Experimental | This document | | | 240 - 251 | Experimental | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 252 - 254 | Private Use | This document | | | 252 - 254 | Private Use | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 255 | Reserved | This document | | | 255 | Reserved | This document | | |||
| +-----------+--------------+---------------+ | +-----------+--------------+---------------+ | |||
| Table 3: HTS Sub-TLV Type Sub-registry | Table 3: HTS Sub-TLV Type Sub-registry | |||
| This document defines the following new values in the IETF Review | This document defines the following new values in the IETF Review | |||
| range of the HTS sub-TLV Type sub-registry: | range of the HTS sub-TLV Type sub-registry: | |||
| +-------+-------------+----------+---------------+ | +=======+=============+==========+===============+ | |||
| | Value | Description | TLV Used | Reference | | | Value | Description | TLV Used | Reference | | |||
| +-------+-------------+----------+---------------+ | +=======+=============+==========+===============+ | |||
| | TBA2 | HMAC | Any | This document | | | TBA2 | HMAC | Any | This document | | |||
| +-------+-------------+----------+---------------+ | +-------+-------------+----------+---------------+ | |||
| Table 4: HTS sub-TLV Types | Table 4: HTS sub-TLV Types | |||
| 6.4. HMAC Type Sub-registry | 6.4. HMAC Type Sub-registry | |||
| IANA is requested to create the HMAC Type sub-registry as part of the | IANA is requested to create the HMAC Type sub-registry as part of the | |||
| HTS TLV Type registry. All code points in the range 1 through 127 in | HTS TLV Type registry. All code points in the range 1 through 127 in | |||
| this registry shall be allocated according to the "IETF Review" | this registry shall be allocated according to the "IETF Review" | |||
| procedure specified in [RFC8126]. Code points in the range 128 | procedure specified in [RFC8126]. Code points in the range 128 | |||
| through 239 in this registry shall be allocated according to the | through 239 in this registry shall be allocated according to the | |||
| "First Come First Served" procedure specified in [RFC8126]. The | "First Come First Served" procedure specified in [RFC8126]. The | |||
| remaining code points are allocated according to Table 5: | remaining code points are allocated according to Table 5: | |||
| +-----------+--------------+---------------+ | +===========+==============+===============+ | |||
| | Value | Description | Reference | | | Value | Description | Reference | | |||
| +-----------+--------------+---------------+ | +===========+==============+===============+ | |||
| | 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 1- 127 | Unassigned | This document | | | 1- 127 | Unassigned | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 128 - 239 | Unassigned | This document | | | 128 - 239 | Unassigned | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 240 - 249 | Experimental | This document | | | 240 - 249 | Experimental | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 250 - 254 | Private Use | This document | | | 250 - 254 | Private Use | This document | | |||
| +-----------+--------------+---------------+ | ||||
| | 255 | Reserved | This document | | | 255 | Reserved | This document | | |||
| +-----------+--------------+---------------+ | +-----------+--------------+---------------+ | |||
| Table 5: HMAC Type Sub-registry | Table 5: HMAC Type Sub-registry | |||
| This document defines the following new values in the HMAC Type sub- | This document defines the following new values in the HMAC Type sub- | |||
| registry: | registry: | |||
| +-------+-----------------------------+---------------+ | +=======+=============================+===============+ | |||
| | Value | Description | Reference | | | Value | Description | Reference | | |||
| +-------+-----------------------------+---------------+ | +=======+=============================+===============+ | |||
| | 1 | HMAC-SHA-256 16 octets long | This document | | | 1 | HMAC-SHA-256 16 octets long | This document | | |||
| +-------+-----------------------------+---------------+ | +-------+-----------------------------+---------------+ | |||
| Table 6: HMAC Types | Table 6: HMAC Types | |||
| 7. Security Considerations | 7. Security Considerations | |||
| Nodes that practice the HTS method are presumed to share a trust | Nodes that practice the HTS method are presumed to share a trust | |||
| model that depends on the existence of a trusted relationship among | model that depends on the existence of a trusted relationship among | |||
| nodes. This is necessary as these nodes are expected to correctly | nodes. This is necessary as these nodes are expected to correctly | |||
| skipping to change at page 15, line 32 ¶ | skipping to change at page 16, line 18 ¶ | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.ietf-ippm-ioam-data] | [I-D.ietf-ippm-ioam-data] | |||
| Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields | Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields | |||
| for In-situ OAM", draft-ietf-ippm-ioam-data-11 (work in | for In-situ OAM", Work in Progress, Internet-Draft, draft- | |||
| progress), November 2020. | ietf-ippm-ioam-data-12, 21 February 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-ippm-ioam-data- | ||||
| 12>. | ||||
| [I-D.ietf-ippm-ioam-direct-export] | [I-D.ietf-ippm-ioam-direct-export] | |||
| Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F., | Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F., | |||
| Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ | Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ | |||
| OAM Direct Exporting", draft-ietf-ippm-ioam-direct- | OAM Direct Exporting", Work in Progress, Internet-Draft, | |||
| export-02 (work in progress), November 2020. | draft-ietf-ippm-ioam-direct-export-03, 17 February 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-ippm-ioam-direct- | ||||
| export-03>. | ||||
| [I-D.song-ippm-postcard-based-telemetry] | [I-D.song-ippm-postcard-based-telemetry] | |||
| Song, H., Zhou, T., Li, Z., Mirsky, G., Shin, J., and K. | Song, H., Mirsky, G., Filsfils, C., Abdelsalam, A., Zhou, | |||
| Lee, "Postcard-based On-Path Flow Data Telemetry using | T., Li, Z., Shin, J., and K. Lee, "Postcard-based On-Path | |||
| Packet Marking", draft-song-ippm-postcard-based- | Flow Data Telemetry using Packet Marking", Work in | |||
| telemetry-08 (work in progress), October 2020. | Progress, Internet-Draft, draft-song-ippm-postcard-based- | |||
| telemetry-09, 19 February 2021, | ||||
| <https://tools.ietf.org/html/draft-song-ippm-postcard- | ||||
| based-telemetry-09>. | ||||
| [P4.INT] "In-band Network Telemetry (INT)", P4.org Specification, | [P4.INT] "In-band Network Telemetry (INT)", P4.org Specification, | |||
| October 2017. | October 2017. | |||
| [RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA- | [RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA- | |||
| 384, and HMAC-SHA-512 with IPsec", RFC 4868, | 384, and HMAC-SHA-512 with IPsec", RFC 4868, | |||
| DOI 10.17487/RFC4868, May 2007, | DOI 10.17487/RFC4868, May 2007, | |||
| <https://www.rfc-editor.org/info/rfc4868>. | <https://www.rfc-editor.org/info/rfc4868>. | |||
| [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with | [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with | |||
| skipping to change at page 16, line 36 ¶ | skipping to change at page 17, line 27 ¶ | |||
| L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, | L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, | |||
| "Alternate-Marking Method for Passive and Hybrid | "Alternate-Marking Method for Passive and Hybrid | |||
| Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, | Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, | |||
| January 2018, <https://www.rfc-editor.org/info/rfc8321>. | January 2018, <https://www.rfc-editor.org/info/rfc8321>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Greg Mirsky | Greg Mirsky | |||
| ZTE Corp. | ZTE Corp. | |||
| Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com, gregory.mirsky@ztetx.com | |||
| Wang Lingqiang | Wang Lingqiang | |||
| ZTE Corporation | ZTE Corporation | |||
| No 19 ,East Huayuan Road | No 19 ,East Huayuan Road | |||
| Beijing 100191 | Beijing | |||
| P.R.China | ||||
| Phone: +86 10 82963945 | Phone: +86 10 82963945 | |||
| Email: wang.lingqiang@zte.com.cn | Email: wang.lingqiang@zte.com.cn | |||
| Guo Zhui | Guo Zhui | |||
| ZTE Corporation | ZTE Corporation | |||
| No 19 ,East Huayuan Road | No 19 ,East Huayuan Road | |||
| Beijing 100191 | Beijing | |||
| P.R.China | ||||
| Phone: +86 10 82963945 | Phone: +86 10 82963945 | |||
| Email: guo.zhui@zte.com.cn | Email: guo.zhui@zte.com.cn | |||
| Haoyu Song | Haoyu Song | |||
| Futurewei Technologies | Futurewei Technologies | |||
| 2330 Central Expressway | 2330 Central Expressway | |||
| Santa Clara | Santa Clara, | |||
| USA | United States of America | |||
| Email: hsong@futurewei.com | Email: hsong@futurewei.com | |||
| End of changes. 82 change blocks. | ||||
| 116 lines changed or deleted | 135 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/ | ||||