Internet DRAFT - draft-ermagan-lisp-nsh

draft-ermagan-lisp-nsh







LISP Working Group                                            V. Ermagan
Internet-Draft                                                  P. Quinn
Intended status: Experimental                                   D. Lewis
Expires: April 4, 2019                                          F. Maino
                                                                F. Coras
                                                       Cisco Systems Inc
                                                         October 1, 2018


                LISP Control Plane integration with NSH
                       draft-ermagan-lisp-nsh-06

Abstract

   This document defines extensions to the LISP control plane protocol
   to enable support for Network Service Header(NSH) based Service
   Function Chaining (SFC).

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 April 4, 2019.

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
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of




Ermagan, et al.           Expires April 4, 2019                 [Page 1]

Internet-Draft                  LISP-NSH                    October 2018


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  LISP Model of Service Function Chaining . . . . . . . . . . .   2
   3.  Service Path Encoding . . . . . . . . . . . . . . . . . . . .   3
     3.1.  SPI LCAF  . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  LISP ITR Processing . . . . . . . . . . . . . . . . . . . . .   4
   5.  LISP Map-Server Processing  . . . . . . . . . . . . . . . . .   4
   6.  Packet Flow Example . . . . . . . . . . . . . . . . . . . . .   4
   7.  Multiple Data Planes  . . . . . . . . . . . . . . . . . . . .   5
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   5
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   10. Security Considerations . . . . . . . . . . . . . . . . . . .   5
   11. Normative References  . . . . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   The Locator/ID Separation Protocol (LISP) [LISP] defines a control
   plane for driving dynamic network overlays, and can be used with
   various encapsulations such as VXLAN, LISP, LISP-GPE [LISP-GPE],
   VXLAN-GPE[VXLAN-GPE], NV-GRE.

   LISP-GPE/VXLAN-GPE defines a way for the LISP/VXLAN to support multi-
   protocol encapsulations; i.e. enabling encapsulation of any inner
   payload, including IP, Ethernet, and NSH [NSH].

   This document defines the necessary extensions to the LISP control
   plane to support driving a dynamic NSH-based service function chain (
   map-and-encap based on SPI and SI).  These extensions enable a LISP
   xTR [LISP] or a service node [SFC] to use the LISP control plane for
   dynamically looking up the next hop's locator in the service path.

2.  LISP Model of Service Function Chaining

   The NSH header [NSH] identifies the service path that a packet
   belongs to, and the next hop in the path for that packet via the
   Service Path Identifier (SPI) and Service Index (SI) fields in the
   Service Path header, as depicted in the figure below.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Service Path ID              | Service Index |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



Ermagan, et al.           Expires April 4, 2019                 [Page 2]

Internet-Draft                  LISP-NSH                    October 2018


   To provide a dynamic overlay for NSH packets using LISP, the
   assumptions are that a LISP xTR is co-located with, or connected to,
   every Service Function Forwarder (SFF) [SFC] in a service path
   visible to LISP, and that the xTR can send/receive the NSH packets
   encapsulated in LISP-GPE/VXLAN-GPE headers.  The ITRs in this
   scenario need to resolve the combination of SPI and SI from the NSH
   header ( which together identify the next hop in the Service Path) to
   the associated Network locations (RLOCs) for the next hop.  These
   RLOCs in SFC terminology are the locators for the Service Function
   Forwarder (SFF) that is hosting the next hop Service Function in the
   associated Service Path.  Once this mapping is resolved, the packet
   is encapsulated to the destination RLOC (SFF).  The ETR at the next
   hop SFF receives and decapsulates this packet.  The NSH packet is
   then passed to the SFF.

   As a result, the LISP mapping service and the xTRs need to be
   extended to support a new identity type ( i.e. SPI+SI) as well as
   encapsulation of NSH packets.

   To this end, a new LCAF [LCAF] is defined to represent the SPI and SI
   information as a new EID.  We refer to this new LCAF as the SPI LCAF.
   With this new LCAF, the LISP control protocol is extended to store
   and retrieve SPI and SI information and their mappings to the routing
   locators of the next hop in the associated service path.

3.  Service Path Encoding

   This section defines the new SPI LCAF required to encode NSH fields
   and the associated path information in the LISP mapping system.

3.1.  SPI LCAF

   A new LCAF is defined to encode SPI and SI information as a new LISP
   address type.  The SPI LCAF fields are defined below.  See [LCAF] for
   a description of all LCAF fields.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           AFI = 16387         |    Rsvd1      |     Flags     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Type = 17    |     Rsvd2   |               4               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Service Path ID                  | Service index |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Field definitions:



Ermagan, et al.           Expires April 4, 2019                 [Page 3]

Internet-Draft                  LISP-NSH                    October 2018


   Service Path ID: The SPI from the NSH header that identifies the
   service path this packet belongs to.

   Service index: The SI from the NSH header that identifies the next
   hop within the path for this packet.

4.  LISP ITR Processing

   LISP ITRs determine the destination routing locator to encapsulate
   the packet to by looking up the Service Path ID and Service Index
   from the NSH header in the mapping system.  When querying the mapping
   system, the ITRs will generate a Map-Request using the SPI LCAF as an
   EID record.

   The Map-Reply to such a Map-Request will have the SPI LCAF as the EID
   record, and the routing locator information of only the next hop for
   this SPI and SI combination, in the locator records.  The ITRs store
   this mapping in its local map-cache for future use.

5.  LISP Map-Server Processing

   A LISP Map-Server stores mapping entries such that it can resolve the
   SPI and SI to the RLOC(s) of the associated next hop (SFF locators).
   In the common deployment scenario, it is expected that the proxy-
   reply bit is set for SPI and SI mapping entries, resulting in the
   Map-Server proxy-replying to Map-Requests.  When such a Map-Server
   receives a Map-Request for an SPI and SI, the Map-Server returns in a
   Map-Reply the routing locators associated with the next hop,
   including their weights and priorities.  This is done by using the
   SPI LCAF as the EID record in the Map-Reply message.

6.  Packet Flow Example

   This section provides an example packet flow assuming that the NSH
   Classifier function (co-located in this example with a LISP ITR),
   classifies incoming traffic and imposes an NSH header (with the
   appropriate SPI and SI values).  Furthermore, a LISP xTR is co-
   located with every SFF participating in the service path in this
   example.

   1.  Upon receiving a packet with the NSH header, the LISP ITR creates
   a Map-Request (if needed) with the SPI and SI from the NSH header and
   forwards this request to the mapping system.  This request is
   eventually delivered to the Map-Server.

   2.  The Map-Server creates a LISP Map-Reply encoding the next hop
   RLOC for the requested SPI and SI, and sends this reply back to the
   requesting ITR.  The ITR then caches this mapping.



Ermagan, et al.           Expires April 4, 2019                 [Page 4]

Internet-Draft                  LISP-NSH                    October 2018


   3.  The ITR now encapsulates packets matching this SPI and SI, in a
   LISP-GPE header using the RLOC(s) returned in the mapping record, and
   setting the Next Protocol of the header to indicate a NSH payload.

   4.  When the LISP packet arrives at the destination ETR, the ETR
   decapsulates the packet and forwards to the co-located SFF.

   5.  When SFF needs to forward the serviced packet to the next hop in
   the Service Path, the packet with the updated NSH header (new SI
   value) is returned to co-located ITR, in which case, ITR continues as
   in step 1.

   6.  At the last hop SFF, the SFF removes the NSH header and returns
   the packet in its original form to the co-located ITR.  In this case
   the ITR performs normal LISP ITR processing as defined in .

7.  Multiple Data Planes

   In a heterogeneous environment where different hops in a single
   service path have different data plane encapsulation capabilities,
   the supported encapsulation formats can be specified together with
   the locator mappings using the multiple data plane LCAF type
   16[LCAF].  In such cases, xTR receiving a Map Reply with an RLOC
   encoded in LCAF type 16 can choose a matching encapsulation format
   among next hop's supported encapsulations.

8.  Acknowledgments

   NA in this version.

9.  IANA Considerations

   This draft includes no request to IANA.

10.  Security Considerations

   No additional security considerations are foreseen at this time.

11.  Normative References

   [LCAF]     Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical
              Address Format (LCAF)",  RFC8060.

   [LISP]     Farinacci, D., Fuller, V., Meyer, D., and D. Lewis,
              "Locator/ID Separation Protocol (LISP)",  RFC 6830,
              January 2013.





Ermagan, et al.           Expires April 4, 2019                 [Page 5]

Internet-Draft                  LISP-NSH                    October 2018


   [LISP-GPE]
              Maino, F., Lemon, J., Agrawal, P., Lewis, D., and M.
              Smith, "LISP Generic Protocol Extension", draft-ietf-lisp-
              gpe-06 (work in progress).

   [NSH]      Quinn, P., Elzur, U., and C. Pignataro, "Network Service
              Header",  RFC 8300.

   [SFC]      Halpern, J. and C. Pignataro, "Service Function Chaining
              (SFC) Architecture",  RFC 7665.

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

Authors' Addresses

   Vina Ermagan
   Cisco Systems Inc
   170 W Tasman Drive
   San Jose, CA  95134
   USA

   Email: vermagan@cisco.com


   Paul Quinn
   Cisco Systems Inc
   55 Cambridge Parkway
   CAMBRIDGE, MA  02141
   USA

   Email: paulq@cisco.com


   Darrel Lewis
   Cisco Systems Inc
   170 W Tasman Dr
   San Jose, CA  95134
   USA

   Email: darlewis@cisco.com








Ermagan, et al.           Expires April 4, 2019                 [Page 6]

Internet-Draft                  LISP-NSH                    October 2018


   Fabio Maino
   Cisco Systems Inc
   170 Tasman Drive
   San Jose, CA  95134
   USA

   Email: fmaino@cisco.com


   Florin Coras
   Cisco Systems Inc

   Email: fcoras@cisco.com






































Ermagan, et al.           Expires April 4, 2019                 [Page 7]