[mpls] Proposed text changes to draft-ietf-mpls-sfc
"Adrian Farrel" <adrian@olddog.co.uk> Tue, 08 May 2018 13:07 UTC
Return-Path: <adrian@olddog.co.uk>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E609612E852 for <mpls@ietfa.amsl.com>; Tue, 8 May 2018 06:07:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e1ca_YqIkABh for <mpls@ietfa.amsl.com>; Tue, 8 May 2018 06:07:41 -0700 (PDT)
Received: from mta7.iomartmail.com (mta7.iomartmail.com [62.128.193.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AA1812E05D for <mpls@ietf.org>; Tue, 8 May 2018 06:07:41 -0700 (PDT)
Received: from vs1.iomartmail.com (vs1.iomartmail.com [10.12.10.121]) by mta7.iomartmail.com (8.14.4/8.14.4) with ESMTP id w48D7dvp019797 for <mpls@ietf.org>; Tue, 8 May 2018 14:07:39 +0100
Received: from vs1.iomartmail.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4E11D2203A for <mpls@ietf.org>; Tue, 8 May 2018 14:07:39 +0100 (BST)
Received: from asmtp1.iomartmail.com (unknown [10.12.10.248]) by vs1.iomartmail.com (Postfix) with ESMTPS id 416B022044 for <mpls@ietf.org>; Tue, 8 May 2018 14:07:39 +0100 (BST)
Received: from 950129200 (73.44.114.87.dyn.plus.net [87.114.44.73]) (authenticated bits=0) by asmtp1.iomartmail.com (8.14.4/8.14.4) with ESMTP id w48D7ceV016202 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <mpls@ietf.org>; Tue, 8 May 2018 14:07:38 +0100
Reply-To: adrian@olddog.co.uk
From: Adrian Farrel <adrian@olddog.co.uk>
To: mpls@ietf.org
Date: Tue, 08 May 2018 14:07:35 +0100
Message-ID: <00c601d3e6cd$8942b1d0$9bc81570$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AdPmzYDSsAp206LKRWmHIv/+ojUppQ==
Content-Language: en-gb
X-Originating-IP: 87.114.44.73
X-Thinkmail-Auth: adrian@olddog.co.uk
X-TM-AS-GCONF: 00
X-TM-AS-Product-Ver: IMSVA-9.0.0.1623-8.2.0.1013-23830.007
X-TM-AS-Result: No--11.378-10.0-31-10
X-imss-scan-details: No--11.378-10.0-31-10
X-TMASE-Version: IMSVA-9.0.0.1623-8.2.1013-23830.007
X-TMASE-Result: 10--11.378100-10.000000
X-TMASE-MatchedRID: L4XZUCs2laucl7+trwU+WHBRIrj8R47FUAjrAJWsTe+zU0R+5DbDbJCm 1SoZkCxTydnj7RC0aRrlDW55PmmLZ9ra5QHNzf1zVo6mn+xXmdXJ5SXtoJPLyESVpnjjB2vkMyv iVP1W1mTz+cGaEZD4bn09a/CCrUj0DkcKOD7OsX24jAucHcCqnYUGhajERJYJ30xSgZEFQrJRla Q7m7aP9ff7ilZuY+rii/PeP1RB0VqMTgJ54RKAM/zu9Lw9C7fAgRykyfrH1xlZps+y1VXzqYaRi UQlb8ekcxZUF+n+1qD3HGMuLp/gU6o+znd4MHO5qeBupNgLgYeZ2scyRQceryG8WMGwsRk0gFVi F5wB+cPcT+d+12fCUr8Lo7m5qTej8P4Bf0DnMRtUXvI6K7irafzHcAbRyNbzdPKoX7/Q+ELJiFO uPSW1R9K/F7GxMqUSNx3sWO1UiHGHTNZBcJlnyMTp/1v2r28T1KoSW5Ji1XtrMbakJN8OeeDdwu 6Ume170PN6aaJ6l6HupueSwZCTVYFs9X4IdQ80+yHb1zBT5AUDt/wOShhz/7vsTEW9zEoTtNMq9 uo9SGQCVXIdCF0bOKGonjko8gX7vYmC3IHzHcjRXhA4ma+s3mGNLTRnb5YtjA++dGUyvWGKdbmD Iqwo6EmufXwa5gjlkZOl7WKIImq0P2qkGU0XygtuKBGekqUpI/NGWt0UYPAhwg2UAS6cqYvFkj8 Q8lzPjNIQi8Xpy0DQL48GZJIMJez1WcjGXmBn
X-TMASE-SNAP-Result: 1.821001.0001-0-1-12:0,22:0,33:0,34:0-0
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/fqggDqYeIBCaZy-dIRv-jQzno6I>
Subject: [mpls] Proposed text changes to draft-ietf-mpls-sfc
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 May 2018 13:07:49 -0000
Hi WG, There were two areas of discussion about this document. The first concerned whether it would really be possible to use the "MPLS-encoded logical NSH" as a transition technology utilising existing MPLS devices. The second was to give some use-case explanation for a label stack approach that is distinctly not Segment Routing. On April 4th I offered to draft some text on these topics and since no one demurred I have (finally) done so and discussed it with my co-authors. Here are the proposed changes. Cheers, Adrian === Section 1, near the end ADD Section 4 provides a short overview of several use case scenarios that help to explain the relationship between the MPLS label operations (swapping, popping, stacking) and the MPLS encoding of the logical NSH described in this document). END --- New Section 4 ADD 4. Use Case Scenarios There are five scenarios that can be considered for the use of an MPLS encoding in support of SFC. These are set out in the following sub-sections. 4.1. Label Swapping for Logical NSH The primary use case for SFC is described in [RFC7665] and delivered using the NSH which, as described in [RFC8300], uses an encapsulation that is modified at each SFC hop along the chain to indicate the next hop. The label swapping use case scenario effectively replaces the NSH with an MPLS encapsulation as described in Section 6. The MPLS labels encode the same information as the NSH to form a logical NSH. The labels are modified (swapped per [RFC3031]) at each SFC hop along the chain to indicate the next hop. The processing and forwarding state for a chain (i.e., the actions to take on a received label) are programmed in to the network using a control plane or management plane. 4.2. Hierarchical Encapsulation [I-D.ietf-sfc-hierarchical] describes an architecture for hierarchical encapsulation using the NSH. It facilitates partitioning of SFC domains for administrative reasons, and allows concatenation of service function chains under the control of a service classifier. The same function can be achieved in an MPLS network using an MPLS encoding of the logical NSH, and label stacking as defined in [RFC3031] and described in Section 7. In this model, swapping is used per Section 4.1 to navigate one chain, and when the end of the chain is reached, the final label is popped revealing the label for another chain. Thus, the primary mode is swapping, but stacking is used to enable the ingress classifier to control concatenation of service function chains. 4.3. Fine Control of Service Function Instances It may be that a service function chain (as described in Section 4.1 allows some leeway in the choice of service function instances along the chain. However, it may be that a service classifier wishes to constrain the choice and this can be achieved using chain concatenation so that the first chain ends at the point of choice, the next label in the stack indicates the specific service function instance to be executed, and the next label in the stack starts a new chain. Thus, a mixture of label swapping and stacking is used. 4.4. Micro Chains and Label Stacking The scenario in Section 4.2 may be extended to its logical extreme by making each concatenated chain as short as it can be: one service function. Each label in the stack indicates the next service function to be executed, and the network is programmed through the control plane or management plane to know how to route to the next (i.e., first) hop in each chain just as it would be to support the scenarios in Section 4.1 and Section 4.2. 4.5. SFC and Segment Routing Segment Routing (SR) in an MPLS network (known as MPLS-SR) uses a stack of MPLS labels to encode information about the path and network functions that a packet should traverse. MPLS-SR is achieved by applying control plane and management plane techniques to program the MPLS forwarding plane, and by imposing labels on packets at the entrance to the MPLS-SR network. The application of SR to SFC was considered in early versions of the SR architecture [I-D.ietf-spring-segment-routing] and the MPLS-SR specification [I-D.ietf-spring-segment-routing-mpls], but has since been moved out of those documents. An implementation proposal for achieving SFC using MPLS-SR can be found in [I-D.xuclad-spring-sr-service-chaining] and is not discussed further in this document. END --- Section 13 (was 12) new first paragraph ADD This section reverts to the simplified descriptions of networks that rely wholly on label swapping or label stacking. As described in Section 4, actual deployment scenarios may depend on the use of both mechanisms and utilize a mixed mode as described in Section 8. END --- New Section 14 ADD 14. Implementation Notes It is not the job of an IETF specification to describe the internals of an implementation except where that directly impacts upon the bits on the wire that change the likelihood of interoperability, or where the availability of configuration or security options directly affect the utility of an implementation. However, in view of the objective of this document to acknowledge that there may be a need for an interim deployment of SFC functionality in brownfield MPLS networks, this section provides some observations about how an SFF might utilize MPLS features that are available in existing routers. This section is not intended to be definitive or technically complete, but is indicative. Consider the mechanism used to indicate to which Virtual Routing and Forwarding (VRF) an incoming MPLS packet should be routed in a Layer 3 Virtual Private Network (L3VPN) [RFC4364]. In this case, the top MPLS label is an indicator of the VRF that is to be used to route the payload. A similar approach can be taken with the label swapping SFC technique described in Section 6 such that the SFC Context Label identifies a routing table specific to the SFP. The SF Label can be looked up in the context of this routing table to determine to which SF to direct the packet, and how to forward it to the next SFF. Advanced features (such as metadata) are not inspected by SFFs. The packets are passed to SFIs that are MPLS-SFC-aware or to SFC proxies, and those components are responsible for handling all metadata issues. Of course, an actual implementation might make considerable optimizations on this approach, but this section should provide hints about how MPLS-based SFC might be achieved with relatively small modifications to deployed MPLS devices. END
- Re: [mpls] Proposed text changes to draft-ietf-mp… Joel M. Halpern
- [mpls] Proposed text changes to draft-ietf-mpls-s… Adrian Farrel
- Re: [mpls] Proposed text changes to draft-ietf-mp… Adrian Farrel