SFC Working Group                                               A. Malis
Internet-Draft                                                 S. Bryant
Intended status: Informational                       Huawei Technologies
Expires: December 21, 2018                                    J. Halpern
                                                                Ericsson
                                                           June 19, 2018


                     MPLS Encapsulation for SFC NSH
                 draft-malis-mpls-sfc-encapsulation-00

Abstract

   This document describes how to use a Service Function Forwarder (SFF)
   Label (similar to a pseudowire label or VPN label) to indicate the
   presence of a Service Function Chaining (SFC) Network Service Header
   (NSH) between an MPLS label stack and the packet payload.  This
   allows SFC packets using the NSH to be forwarded between SFFs over an
   MPLS network, and the selection between multiple SFFs in the
   destination node.

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 December 21, 2018.

Copyright Notice

   Copyright (c) 2018 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
   (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



Malis, et al.           Expires December 21, 2018               [Page 1]


Internet-Draft                 MPLSforSFC                      June 2018


   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.  MPLS Encapsulation  . . . . . . . . . . . . . . . . . . . . .   2
   3.  SFF Label . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   3
   5.  Security considerations . . . . . . . . . . . . . . . . . . .   3
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   4
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   As discussed in [RFC8300], a number of encapsulations for the Service
   Function Chaining (SFC) Network Service Header (NSH) already exist,
   such as in Ethernet, GRE [RFC2784], and VXLAN-GPE
   [I-D.ietf-nvo3-vxlan-gpe].  This document describes an MPLS
   encapsulation for the NSH, and also describes how to use an Service
   Function Forwarder (SFF) [RFC7665] Label to indicate the presence of
   the NSH header in the MPLS packet payload.  This allows SFC packets
   using the NSH to be forwarded between SFFs over an MPLS network, and
   the selection between multiple SFFs in the destination node.

   SFF Labels are similar to other labels at the bottom of an MPLS label
   stack that denote the contents of the MPLS payload being other than
   globally routed IP, such as a layer 2 pseudowire, an IP packet that
   is routed in a VPN context with a private address, or an Ethernet
   virtual private wire service.

   This informational document follows well-established MPLS procedures
   and does not require any actions by IANA or any new protocol
   elements.

2.  MPLS Encapsulation

   The encapsulation is simply a standard MPLS label stack [RFC3032]
   with the SFF Label at the bottom of the stack, followed by a NSH as
   defined by [RFC8300] and the NSH payload.

   As discussed by [RFC4928] and [RFC7325], there are Equal Cost
   Multipath (ECMP) considerations for payloads carried by MPLS.  Many



Malis, et al.           Expires December 21, 2018               [Page 2]


Internet-Draft                 MPLSforSFC                      June 2018


   existing routers use deep packet inspection to examine the payload of
   an MPLS packet, and if the first nibble of the payload is equal to
   0x4 or 0x6, these routers assume that the payload is IPv4 or IPv6
   respectively, and perform ECMP load balancing on the MPLS packets.

   For SFC, this is undesirable for several reasons.  First of all, NSH
   is not IPv4 and IPv6, and the presumed contents of the TCP/IP five-
   tuple used for load balancing would be incorrect.  Also, as discussed
   in [RFC8300], ECMP in general is undesirable for SFC and should be
   avoided.  For this reason, the NSH Base Header was carefully
   constructed so that the NSH could not look like IPv4 or IPv6 based on
   its first nibble.  See Section 2.2 of [RFC8300] for further details.

3.  SFF Label

   Much like a pseudowire label, an SFF Label is allocated by the
   downstream receiver of the NSH header from its per-platform label
   space.

   If a receiving node supports more than one SFF (i.e, more than one
   SFC forwarding instance), then the SFF Label can be used select the
   proper SFF, by having the receiving advertise more than one SFF Label
   to its upstream sending nodes as appropriate.

   The method used by the downstream receiving node to advertise SFF
   Labels to the upstream sending node is currently out of scope of this
   document.  That said, a number of methods are possible, such as via a
   protocol exchange, or via a centralized controller that manages both
   the sender and the receiver via NETCONF/YANG, BGP, PCEP, etc.  These
   are meant as possible examples and not to constrain the future
   definition of such advertisement methods.

4.  IANA Considerations

   This document does not request any actions from IANA.

   Editorial note to RFC Editor: This section may be removed at your
   discretion.

5.  Security considerations

   This document describes a method for transporting SFC packets using
   the NSH over MPLS.  It follows well-established MPLS procedures and
   does not define any new protocol elements or allocate any new code
   points.  It is operationally equivalent to other existing NSH
   encapsulations as defined in [RFC8300].  As such, it should have no
   effect on SFC security as already discussed in Section 8 of
   [RFC8300].



Malis, et al.           Expires December 21, 2018               [Page 3]


Internet-Draft                 MPLSforSFC                      June 2018


6.  Acknowledgements

   Thanks to Jim Guichard for his review and comments.

7.  References

7.1.  Normative References

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
              <https://www.rfc-editor.org/info/rfc3032>.

   [RFC8300]  Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
              "Network Service Header (NSH)", RFC 8300,
              DOI 10.17487/RFC8300, January 2018,
              <https://www.rfc-editor.org/info/rfc8300>.

7.2.  Informative References

   [I-D.ietf-nvo3-vxlan-gpe]
              Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol
              Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-06 (work
              in progress), April 2018.

   [RFC2784]  Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
              Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
              DOI 10.17487/RFC2784, March 2000,
              <https://www.rfc-editor.org/info/rfc2784>.

   [RFC4928]  Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal
              Cost Multipath Treatment in MPLS Networks", BCP 128,
              RFC 4928, DOI 10.17487/RFC4928, June 2007,
              <https://www.rfc-editor.org/info/rfc4928>.

   [RFC7325]  Villamizar, C., Ed., Kompella, K., Amante, S., Malis, A.,
              and C. Pignataro, "MPLS Forwarding Compliance and
              Performance Requirements", RFC 7325, DOI 10.17487/RFC7325,
              August 2014, <https://www.rfc-editor.org/info/rfc7325>.

   [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
              Chaining (SFC) Architecture", RFC 7665,
              DOI 10.17487/RFC7665, October 2015,
              <https://www.rfc-editor.org/info/rfc7665>.







Malis, et al.           Expires December 21, 2018               [Page 4]


Internet-Draft                 MPLSforSFC                      June 2018


Authors' Addresses

   Andrew G. Malis
   Huawei Technologies

   Email: agmalis@gmail.com


   Stewart Bryant
   Huawei Technologies

   Email: stewart.bryant@gmail.com


   Joel M. Halpern
   Ericsson

   Email: joel.halpern@ericsson.com

































Malis, et al.           Expires December 21, 2018               [Page 5]