SPRING Working Group F. Yang Internet-Draft T. Zhou Intended status: Standards Track Huawei Technologies Expires: January 13, 2022 July 12, 2021 ACH6 in Segment Routing draft-yang-spring-ach6-sr-00 Abstract Associated Channel over IPv6 (ACH6) provides a control channel to one specific IPv6 forwarding path for control and management purpose. When ACH6 is used in a Segment Routing network, it provides a control channel to an SRv6 path. This document specifies an SRv6 ACH6 mechanism and describes how ACH6 is applied in a Segment Routing network. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 13, 2022. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. Yang & Zhou Expires January 13, 2022 [Page 1] Internet-Draft ACH6 in Segment Routing July 2021 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. ACH6 in Segment Routing . . . . . . . . . . . . . . . . . . . 3 2.1. ACH6 Network Reference Model in Segment Routing . . . . . 3 2.2. Identification of ACH6 in Segment Routing . . . . . . . . 4 2.3. ACH6 TLV Format in Segment Routing . . . . . . . . . . . 4 2.4. Encapsulation of ACH6 TLV in Segment Routing . . . . . . 5 3. Use Case of ACH6 in Segment Routing . . . . . . . . . . . . . 6 3.1. OAM to an SRv6 Path . . . . . . . . . . . . . . . . . . . 6 3.2. Protection to an SRv6 Path . . . . . . . . . . . . . . . 7 3.3. Resource Reservation to an SRv6 Path . . . . . . . . . . 8 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 7.1. Normative References . . . . . . . . . . . . . . . . . . 9 7.2. Informative References . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction Segment Routing [RFC8402] leverages the source routing paradigm. By leveraging SR into IPv6 network, an ordered list of SRv6 SIDs provides the certainty of a packet forwarding path as restricted to a specific topological path. The Function part in SRv6 SIDs indicates instructions to be executed on network nodes to achieve network programming to an IPv6 forwarding path. [I-D.yang-rtgwg-ipv6-associated-channel] proposes an Associated Channel over IPv6 (ACH6) to provide a control channel to one specific IPv6 forwarding path for control and management purpose. When ACH6 is used in a Segment Routing network, it provides a control channel to an SRv6 path. This document specifies an SRv6 ACH6 mechanism and describes how ACH6 is applied in a Segment Routing network. Yang & Zhou Expires January 13, 2022 [Page 2] Internet-Draft ACH6 in Segment Routing July 2021 2. ACH6 in Segment Routing SRv6 ACH6 provides a control channel to carry control and management messages to an SRv6 path separately from data forwarding. It is a method to provide distributed control and management capabilities to an SRv6 path, which complements the SDN centerialized control plane. In SRv6 ACH6 control channel, different types of control and management messages to an SRv6 path are carried. 2.1. ACH6 Network Reference Model in Segment Routing In SRv6 network, IPv6 packet is generated and transported from one SRv6 endpoint to another with an ordered list of SRv6 SIDs in Segment Routing Header (SRH) [RFC8754]. SRv6 ACH6 is an inband path-based control channel from one SRv6 endpoint to another. SRv6 ACH6 packet is also encapsulated with an Segment Routing Header. To guarantee ACH6 control packet is transported in the same path as data packets forward, ACH6 packet uses the same SRv6 SID list with the one in SRH of data packets associated with. Figure 1 shows an ACH6 network reference model used in an SRv6 network. SRv6 Endpoint SRv6 Endpoint SRv6 Endpoint +----+ +-------+ +---------+ +------+ +----+ ----| Ex |-----| ACH6 |------| ACH6 |------| ACH6 |------| Ey |---- | | |Ingress| |Mid-Point| |Egress| | | +----+ +-------+ +---------+ +------+ +----+ |<-------------SRv6 Path-------------->| |<-------------SRv6 ACH6 ------------->| |<---------------------- SRv6 Domain ------------------------>| Figure 1 ACH6 Network Reference Model in SRv6 Ex/Ey: SRv6 endpoint ACH6 Ingress Node: is the node indicates the entering of control and management channel over an SRv6 path, where control and management messages are generated and encapsulated. ACH6 ingress node sets its local IPv6 address as source address of ACH6 packet. ACH6 Mid-Point Node: the SRv6 endpoints on SRv6 SID list of ACH6 control packet are ACH6 Mid-Point Node, which would process ACH6 packet when hop-by-hop processing on SRv6 endpoints is required by ACH6 control channel. ACH6 Egress Node: indicates the exiting of control and management channel over an SRv6 path, where the control and management messages Yang & Zhou Expires January 13, 2022 [Page 3] Internet-Draft ACH6 in Segment Routing July 2021 are extracted and delivered to control or management plane for further process. ACH6 egress node sets its local IPv6 address as destination address of ACH6 packet. 2.2. Identification of ACH6 in Segment Routing The Associated Channel ID is the identifier of ACH6 control channel, and indicates the path which control channel is associated with. In SRv6, Path Segment [I-D.ietf-spring-srv6-path-segment] is used to identify a specific SRv6 path. It can also be used as Associated Channel ID to identify the control channel of an SRv6 path. The encoding of Path Segment and how Path Segment is allocated keeps same specifications defined in [I-D.ietf-spring-srv6-path-segment]. 2.3. ACH6 TLV Format in Segment Routing ACH6 TLV in Segment Routing is defined as: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type=TBD | length | Channel Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ ~ Value ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2 ACH6 TLV Format in SR Type: 8 bits, indicates it is an ACH6 TLV. Length: 8 bits, defines the length of Value field in bytes. Channel Type: is a 16-bit-length fixed portion as a part of Value field. It indicates the specific type of messages carried in SRv6 ACH6 control channel. Note that a new ACH TLV Channel Type Registry would be requested to IANA. In later documents which specify application protocols of associated channel, MUST also specify the applicable Channel Type field value assigned by IANA. Value: is a variable portion of Value field. It specifies the messages indicated by Channel Type and carried in associated channel. Note that the Value field of ACH6 TLV MAY contain sub-TLVs to provide additional context information to ACH6 TLV. Yang & Zhou Expires January 13, 2022 [Page 4] Internet-Draft ACH6 in Segment Routing July 2021 2.4. Encapsulation of ACH6 TLV in Segment Routing In SRv6, ACH6 control channel is used in either an end-to-end or a hop-by-hop approach. Regarding an end-to-end case, messages in ACH6 is encapsulated at ACH6 ingress node and decapsulated at ACH6 egress node. ACH6 TLV is recommended to be encapsulated in IPv6 Destination Options Header places after the Segment Routing Header. An alternative way to carry ACH6 TLV is using IPv6 payload. When ACH6 TLV format is encapsulated in payload, TLV Type and Length can be omitted. The method of taking advantage of SRH Flag field to indicate active probing packet [I-D.song-spring-siam] can be used for ACH6 too. Regarding a hop-by-hop case, messages in ACH6 is encapsulated at ACH6 ingress node. ACH6 mid-points decapsulate and re-capsulate every ACH6 packet. At last, ACH6 egress node decapsulates ACH6 packet and delivers control and management messages for further process. In this case, ACH6 TLV is recommended to be encapsulated in IPv6 Destination Options Header preceding the Segment Routing Header. The encapsulation of ACH6 in IPv6 Destination Options Header is defined as: Yang & Zhou Expires January 13, 2022 [Page 5] Internet-Draft ACH6 in Segment Routing July 2021 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Source Address // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Destination Address // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | DOH TLV(ACH6) | Hdr Ext Len | Channel Type | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ DOH1 | ~ (HbH ~ Value (depends on the specific protocol) ~ case) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Last Entry | Flags | Tag | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ Segment List[0] (128 bits) ~ SRH +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ ... ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ Segment List[n] (128 bits) ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ Path Segment (128 bits) ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ SRH TLV (Optional,variable) ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ | DOH TLV(ACH6) | Hdr Ext Len | Channel Type | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ DOH2 | ~ (E2E ~ Value (depends on the specific protocol) ~ case) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <---+ Figure 3 ACH6 TLV Encapsulation in SRv6 3. Use Case of ACH6 in Segment Routing 3.1. OAM to an SRv6 Path In SRv6, several works are carrying on to establish an SRv6 OAM toolset. [I-D.ietf-6man-spring-srv6-oam] provides the mechanisms of continuity check, path discovery by reusing Ping and Traceroute, and defines a sampling flag for flow information telemetry. Simple Two- Yang & Zhou Expires January 13, 2022 [Page 6] Internet-Draft ACH6 in Segment Routing July 2021 way Active Measurement Protocol (STAMP) [RFC8762] is encapsulated after UDP header to measure performance metrics in SRv6 network. [I-D.ietf-ippm-ioam-data] supports extensible data collection for SRv6 network monitor and measurement. ACH6 provides another method of supporting a group of OAM tools in a unified TLV format. In this method, a toolset of OAM functions is classified into three types of messages, including on-demand echo request/reply, proactive continuity check, and performance measurement. By using ACH6 to carry OAM messages, continuity check and performance management can be monitored either hop-by-hop on every SR endpoint or end-to-end from the first endpoint to the last. Leveraging IPv6 extension headers to carry OAM messages can facilitate data plane processing on OAM messages, and further improve processing efficiency and accuracy. At last, by leveraging the native semantics of IPv6 extension headers, this method can naturally reduce OAM configuration and session management on SRv6 endpoints. Figure 4 gives the example format of ACH6 OAM TLV. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Channel Type = ODERR/PCC/PM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ~ ~ OAM Message Body (Variable) ~ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4 ACH6 OAM TLV ACH6 Channel Type to indicate which type of OAM message is encapsulated in the following OAM message body, for example on demand echo request/reply. OAM message can also re-utilize the format of existing protocols. For example, BFD or STAMP protocol formats can be encapsulated in IPv6 payload field after UDP header. 3.2. Protection to an SRv6 Path Protection State Coordination (PSC) Protocol [RFC6378] provides a single-phased coordination mechanism used for linear protection between two endpoints. This coordination mechanism is useful when there is a need of traffic to be transported on two co-routed paths. In SRv6, active and backup candidate paths in SR policy can provide an end-to-end protection to a specific SRv6 path. However, without a coordination mechanism like PSC, SR policy cannot guarantee the bidirectional traffics are transported on co-routed paths. Yang & Zhou Expires January 13, 2022 [Page 7] Internet-Draft ACH6 in Segment Routing July 2021 ACH6 extends PSC protocol to exchange notification and coordination messages between SRv6 endpoints. An ordered segment list of working path and an ordered segment list of backup path are separately pre- created at the source and destination of an SRv6 path. Working paths on two SRv6 endpoints are co-routed, so does backup paths. When there is failure to indicate protection switchover on working path, ACH6 exchanges protection state coordination messages between SRv6 endpoints to indicate synchronized switchover. When two SRv6 endpoints accomplish the switchover, the protection paths are co- routed for bidirectional traffics. Figure 5 gives the example format of ACH6 protection state coordination TLV. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Channel Type = PSC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ver|Request|PT |R| Reserved1 | FPath | Path | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional TLVs | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5 ACH6 PSC TLV The definition and usage of Request, PT, R, FPath and Path fields are referenced to [RFC6378]. 3.3. Resource Reservation to an SRv6 Path In current practice of SRv6, a distributed resource reservation protocol like RSVP-TE is not used. SDN controller plays the role of calculating forwarding path and reserving relevant resources to the path. It is feasible for controller to calculate bandwidth and send path setup information to headend via PCEP. But for the other metrics e.g. queues, same parameter may have different formats and values on each node. It is not effective for controller to separately establish PCE session with each node to provision the metrics. The second reason to use a distributed messages exchange mechanism among SRv6 endpoints is that modifications of path-based resource reservation are required to be accomplished fast enough to guarantee service's SLA when network failures happen, especially in the case when thousands of services with independent resource reservations are affected by the same failure on physical path. Yang & Zhou Expires January 13, 2022 [Page 8] Internet-Draft ACH6 in Segment Routing July 2021 A proposed hybrid structure of resource reservation in SRv6 network is comprised of distributed ACH6 resource reservation mechanism and a centralized stateful PCE [RFC8231]. 4. IANA Considerations o This document requests IANA to assign a codepoint of Destination Options Header TLVs to indicate ACH6 TLV. o This document request IANA to create a new registry of ACH6 Channel Types to identify the usage of associated channel. 5. Security Considerations TBD 6. Acknowledgements TBD 7. References 7.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 7.2. Informative References [I-D.ietf-6man-spring-srv6-oam] Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. Chen, "Operations, Administration, and Maintenance (OAM) in Segment Routing Networks with IPv6 Data plane (SRv6)", draft-ietf-6man-spring-srv6-oam-10 (work in progress), April 2021. [I-D.ietf-ippm-ioam-data] Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields for In-situ OAM", draft-ietf-ippm-ioam-data-12 (work in progress), February 2021. Yang & Zhou Expires January 13, 2022 [Page 9] Internet-Draft ACH6 in Segment Routing July 2021 [I-D.ietf-spring-srv6-path-segment] Li, C., Cheng, W., Chen, M., Dhody, D., and R. Gandhi, "Path Segment for SRv6 (Segment Routing in IPv6)", draft- ietf-spring-srv6-path-segment-00 (work in progress), November 2020. [I-D.song-spring-siam] Song, H. and T. Pan, "SRv6 In-situ Active Measurement", draft-song-spring-siam-00 (work in progress), December 2020. [I-D.yang-rtgwg-ipv6-associated-channel] Yang, F., Chen, M., and T. Zhou, "Associated Channel over IPv6", draft-yang-rtgwg-ipv6-associated-channel-00 (work in progress), February 2021. [RFC6378] Weingarten, Y., Ed., Bryant, S., Osborne, E., Sprecher, N., and A. Fulignoli, Ed., "MPLS Transport Profile (MPLS- TP) Linear Protection", RFC 6378, DOI 10.17487/RFC6378, October 2011, . [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10.17487/RFC8231, September 2017, . [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, . [RFC8762] Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple Two-Way Active Measurement Protocol", RFC 8762, DOI 10.17487/RFC8762, March 2020, . Authors' Addresses Fan Yang Huawei Technologies Beijing China Email: shirley.yangfan@huawei.com Yang & Zhou Expires January 13, 2022 [Page 10] Internet-Draft ACH6 in Segment Routing July 2021 Tianran Zhou Huawei Technologies Beijing China Email: zhoutianran@huawei.com Yang & Zhou Expires January 13, 2022 [Page 11]