PCE Working Group D. Dhody Internet-Draft Q. Wu Intended status: Standards Track Huawei Expires: December 28, 2014 June 26, 2014 PCEP Extensions for service segment used in Segment Routing draft-dw-pce-service-segment-routing-00 Abstract Segment Routing (SR) technology leverages the source routing and tunneling paradigms where a source node can choose a path without relying on hop-by-hop signaling. The same mechanism can also be utilized for Service Function Chaining (SFC) to steer packets through service functions performing specific services such as DPI, Firewall, accounting etc. This document specifies extensions to the Path Computation Element Protocol (PCEP) that allow a stateful PCE to compute and instantiate SR-TE paths that have service functions (SF) (or service segments) involved. 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 http://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 December 28, 2014. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of Dhody & Wu Expires December 28, 2014 [Page 1] Internet-Draft Service Segment Routing June 2014 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. Conventions used in this document . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 3. Overview of PCEP Operation in SR Networks for Service Chaining . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. The SR-ERO Subobject extension for service segment support . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2. Service Segment SR-ERO Processing . . . . . . . . . . . . 6 5. Backward Compatibility . . . . . . . . . . . . . . . . . . . 6 6. Management Considerations . . . . . . . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 9.2. Informative References . . . . . . . . . . . . . . . . . 7 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction Segment Routing (SR) enables Traffic Engineering (TE) without relying on a hop-by-hop signaling. It depends only on "segments" that are advertised by Interior Gateway Protocols (IGPs). These segments made by - o Node Segment o Adjacency Segment o Anycast Segment o IGP-Prefix Segment Further to this list, a segment may also be identify a particular service or service function (SF). [I-D.filsfils-spring-segment-routing-use-cases] describes service- segment. A service-segment may also be used to represent a set of SF instances. In a case where it is required to steer the packet Dhody & Wu Expires December 28, 2014 [Page 2] Internet-Draft Service Segment Routing June 2014 through specific treatment or SF (DPI, firewall..) offered by node(s) in the path, a combination of node-segment and service-segment can be used. A stateful PCE can be used for computing one or more SR-TE paths taking into account various constraints and objective functions. Once a path is chosen, the stateful PCE can instantiate an SR-TE path on a PCC using PCEP extensions specified in [I-D.sivabalan-pce-segment-routing]. An SR-TE path is defined as a path that consists of one or more SID(s) where each SID is associated with the identifier that represents the node or adjacency corresponding to the SID. This document extends the SR-TE path to use Service-SID(s) in the path as well. The means by which the PCE learns about the Service-SID (e.g., learnt over a management interface or through a variety of other mechanisms) is beyond scope of this document. 2. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [RFC2119]. 2.1. Terminology The following terminologies are used in this document: ERO: Explicit Route Object IGP: Interior Gateway Protocol LSR: Label Switching Router PCC: Path Computation Client PCE: Path Computation Element PCEP: Path Computation Element Protocol SF: Service Function SFC: Service Function Chaining SID: Segment Identifier Dhody & Wu Expires December 28, 2014 [Page 3] Internet-Draft Service Segment Routing June 2014 SR: Segment Routing SR-ERO: Segment Routed Explicit Route Object SR Path: Segment Routed Path SR-TE: Segment Routed Traffic Engineering 3. Overview of PCEP Operation in SR Networks for Service Chaining In SR networks, an ingress node of an SR path appends all outgoing packets with an SR header consisting of a list of Segment IDs (SIDs). The header has all necessary information to guide the packets from the ingress node to the egress node of the path, and hence there is no need for any signaling protocol. In the [I-D.sivabalan-pce-segment-routing], an SID represents either a nodal segment representing a path to a node or adjacency segment representing path over a specific adjacency. In this document,we allow SID also can represent a service segment representing a specific treatment or SF. In a PCEP session, path information is carried in the Explicit Route Object (ERO), which consists of a sequence of subobjects. In this document, a PCE needs to specify EROs containing SID of service segments (or service-SID), and a PCC needs to be capable of processing such ERO sub-objects. The SR-ERO Subobject defined in the [I-D.sivabalan-pce-segment-routing] can be used to carry SID of service segment. An SR-ERO containing SID of service segment can be included in the same PCEP messages specified in the [I-D.sivabalan-pce-segment-routing]. [Editor's Note: Another option for [I-D.sivabalan-pce-segment-routing] is to define only the SR related sub-object which can be carried within the existing ERO object with no need to create a new SR-ERO object.] When a PCEP session between a PCC and a PCE is established, the corresponding PCEP operation is same as defined in the [I- D.sivabalan-pce-segment-routing]. 4. Object Formats In the [I-D.sivabalan-pce-segment-routing], an SR-TE path is defined as a path that consists of one or more SID(s) where each SID is associated with the identifier that represents the node or adjacency corresponding to the SID. In this document, we allow the SR-TE path Dhody & Wu Expires December 28, 2014 [Page 4] Internet-Draft Service Segment Routing June 2014 to include one or more SID of service segments (called service-SID) that are inserted along with node segments in SR-TE path. A service- segment may also be used to represent a set of SF instances. The service-SID is local to the node where the service resides, thus a combination of node-segment and service-segment are used together. 4.1. The SR-ERO Subobject extension for service segment support The SR-ERO Subobject is defined in section 5.3.1 of [I-D.sivabalan-pce-segment-routing] and as an mandatory subobject used to advertise SID and NAI ('Node or Adjacency Identifier') associated with SID. In this document, we extend the existing SR-ERO Subobject as specified in section 5.3.1 of [I-D.sivabalan-pce-segment-routing] to represent service-SID of the service segment. The SR-ERO Subobject as described in [I-D.sivabalan-pce-segment-routing]: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | ST | Flags |F|S|C|M| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // NAI (variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L The L bit SHOULD NOT be set, so that the subobject represents a strict hop in the explicit route in case of service-segment. Type The Type is as per [I-D.sivabalan-pce-segment-routing]. Length The Length is as per [I-D.sivabalan-pce-segment-routing]. ST Dhody & Wu Expires December 28, 2014 [Page 5] Internet-Draft Service Segment Routing June 2014 The ST (SID Type) field is set to specify service-SID. A new SID- Type values is to be assigned. Flags All flags (M, C, S, F bit) are as per [I-D.sivabalan-pce-segment-routing]. SID The SID value represents an service segment as described in [I-D.filsfils-spring-segment-routing-use-cases]. NAI The NAI for service-segment may be defined in future. 4.2. Service Segment SR-ERO Processing When the SID represents a service segment (as per the SID Type - ST field), its value is local to node segment offering the service. Thus Service-SID MUST be assosiated with a node-SID preceding it in the SR-ERO. Note that multiple services may be offered by the same node, and in this case node-SID maybe followed by multiple Service- SID. NAI value for service-SID may be defined in future. If a service segment (or service-SID) cannot be assosiated with a node segment (or node-SID), PCEP speaker MUST send a PCE error with Error-Type = "Reception of an invalid object" and Error-Value ="Segment List Order Error". The rest of the processing rules are as per [I-D.sivabalan-pce-segment-routing]. 5. Backward Compatibility Backward Compatibility consideration described in section 8 of [I-D.sivabalan-pce-segment-routing] can be applied for service segment support as well. Dhody & Wu Expires December 28, 2014 [Page 6] Internet-Draft Service Segment Routing June 2014 6. Management Considerations Management consideration described in section 9 of [I-D.sivabalan-pce-segment-routing] can be applied to service segment support as well. 7. Security Considerations The security considerations described in [RFC5440] and [I-D.sivabalan-pce-segment-routing] apply. 8. IANA Considerations TBD. 9. References 9.1. Normative References [I-D.sivabalan-pce-segment-routing] Sivabalan, S., Medved, J., Filsfils, C., Crabbe, E., and R. Raszuk, "PCEP Extensions for Segment Routing", draft- sivabalan-pce-segment-routing-02 (work in progress), October 2013. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 9.2. Informative References [I-D.filsfils-spring-segment-routing-use-cases] Filsfils, C., Francois, P., Previdi, S., Decraene, B., Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., Ytti, S., Henderickx, W., Tantsura, J., Kini, S., and E. Crabbe, "Segment Routing Use Cases", draft-filsfils- spring-segment-routing-use-cases-00 (work in progress), March 2014. Appendix A. Examples Consider the below example- Dhody & Wu Expires December 28, 2014 [Page 7] Internet-Draft Service Segment Routing June 2014 +---------+ | | | | | | | | ++------+ | || | | || SF2 | | +------+ |-------+ | +------+-+ +------+ | | |-------+ | |------+ | | | | |**|| | |**|| | |**| | | | || SF1 | | || SF3 | | | | | | |-------+ | |------+ | | | +------+ +-------+-+ +------+-+ +------+ N1 N2 N3 N4 o N1 is Ingress; o N4 is Egress; o N2 has two services hosted identified as SF1 and SF2; o N3 hase one service hosted identified as SF3. o The service chain requires packet to steer through SF1, SF2, SF3. The SR-ERO for the SR-TE path including the service segment would be - [{SID_N2, SID_SF1, SID_SF2}, {SID_N3, SID_SF3}, {SID_N4}] Authors' Addresses Dhruv Dhody Huawei Leela Palace Bangalore, Karnataka 560008 INDIA Email: dhruv.ietf@gmail.com Dhody & Wu Expires December 28, 2014 [Page 8] Internet-Draft Service Segment Routing June 2014 Qin Wu Huawei 101 Software Avenue, Yuhua District Nanjing, Jiangsu 210012 China Email: bill.wu@huawei.com Dhody & Wu Expires December 28, 2014 [Page 9]