Internet DRAFT - draft-kang-sfc-dynamic-path-selection

draft-kang-sfc-dynamic-path-selection







SFC                                                              T. Kang
Internet-Draft                                                    Y. Han
Intended status: Informational                                    S. Kim
Expires: April 21, 2016                                          E. Paik
                                                                  N. Kim
                                                                      KT
                                                        October 19, 2015


 Dynamic Service Path Selection over Multiple Links between SFF and SF
                    for Enhancing Service Stability
                draft-kang-sfc-dynamic-path-selection-01

Abstract

   In this document, we use SF classification of 1)indispensible SF for
   packet delivery, allegedly mandatory SFs, such as NAT and 2)optional
   SFs that a packet can be delivered without them, such as Firewall and
   IDS.

   The nodes of SFC-enabled domain can be various.  Different vendors
   make different types of equipments, and this causes performance
   issues.  Considering this diversity, the kind of SFs can be in myriad
   form.  Thus, we should distinguish some mandatory SFs from not
   mandatory SFs and treat distinctively.  Mandatory SFs should be
   matched with higher-performance SFF to achieve high availability as
   well as lower the probability of failure.  Above all, whether each SF
   is mandatory or optional should be registered in advance.  Mandatory
   SFs are to allocated to relatively higher-performance, larger
   capacity, more stable SFFs.  SFC constructed using this way of
   allocation becomes the path for packets and packets are transferred
   to classifier through C1 interface, and to SFF through C2 interface,
   respectively.

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."



Kang, et al.             Expires April 21, 2016                 [Page 1]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


   This Internet-Draft will expire on April 21, 2016.

Copyright Notice

   Copyright (c) 2015 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
   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
     1.1.  Scope . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Dynamic service path selection between SFF and SF using C1
       interface . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Dynamic service path selection between SFF and SF using C2
       interface . . . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  Dealing with multiple links of SF using C3 interface  . . . .   5
   5.  Additional considerations . . . . . . . . . . . . . . . . . .   6
     5.1.  Load balancing and resiliency . . . . . . . . . . . . . .   6
     5.2.  SFC failover by SFF(local)  . . . . . . . . . . . . . . .   7
     5.3.  SFC failover by control plane(global) . . . . . . . . . .   8
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   8
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   SFC(Service Function Chaining) can be explained as an ordered set of
   abstract service functions and ordering constraints that must be
   applied to packets and flows selected as a result of classification.
   These services can operate on physical servers as well as on virtual
   machines.  Service classifier node at first classifies each traffic
   into customer unit or service unit, refering to corresponding
   policies.  According to customer's profile, path is created passing
   SF instances in the SFC-enabled domain after finding out which
   customer uses which SF.  Then encapsulation is done with Path ID,



Kang, et al.             Expires April 21, 2016                 [Page 2]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


   metadata, and service index are added to the created path.  Packet
   forwarding is launched by observing SFC header information received
   by SFF in service function path.

   In SFC-enabled domain, failures may occur at Service Function(SF).
   If a failed node is on the path where a packet is delivered, packet
   cannot be sent to destination and such situation should be avoided.
   To provide highly available services in SFC, we need methods to
   recover or bypass service functions from those failures.  SFF(best
   performance or mediocre) and SF(mandatory or optional) taxonomy is
   one of methods.

1.1.  Scope

   The scope of this document is to treat how dynamic path selection
   between SFFs and SFs can be determined to improve service stability
   of whole SFC-enabled domain.

1.2.  Terminology

   Definitions of individual terms used in this documents can be found
   in [I-D.ietf-sfc-architecture].

2.  Dynamic service path selection between SFF and SF using C1 interface

   High availability can be guaranteed by classifier policy using C1
   interface.  In case of C1 interface, it can deal with changes beyond
   more than one SFF.  Since control plane periodically monitors SFFs
   and SFs, those information can help composing SFPs.  These
   information(e.g., memory, BW, port number) can figure out which SFF
   is desirable to use and has relatively higher performance, larger
   capacity, and more stability thereof.  In this way, SFC contends
   mandatory SFs should be mapped with better-performed SFFs.


















Kang, et al.             Expires April 21, 2016                 [Page 3]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


         +------------------------------------------------+
         |SFC-enabled Domain                              |
         |                                                |
         |      +---+                         +---+       |
         |      |SF1|             +-----------|SF3|       |
         |      +---+             |           +---+       |
         |        |               |             |         |
         |        |               |             |         |
         |        |               |             |         |
         |   +----------+   +----------+   +----------+   |
         |   |          |   |          |   |          |   |
      -------|   SFF1   |---|   SFF2   |---|   SFF4   |-------
         |   |          |   |          |   |          |   |
         |   +----------+   +----------+   +----------+   |
         |        |               |             |         |
         |        |               |             |         |
         |        |               |             |         |
         |        |             +---+           |         |
         |        +-------------|SF2|-----------+         |
         |                      +---+                     |
         +------------------------------------------------+


                  Figure 1: Interface between SFF and SF

   Moreover, mandatory SF plays a crucial role in SFC service, multi
   links from mandatory SF are connected to multi SFFs.  In contrast,
   optional SF can be connected with single link to single SFF.
   However, pursuant to it's importance, optional SF can ramp up the
   number of links upon operators' discretion.

   SFC: SF1 -> SF2 -> SF3

   RSP1: SFF1 -> SF1 -> SFF1 -> SFF2 -> SF2 -> SFF2 -> SF3 -> SFF2 ->
   SFF4

   RSP2: SFF1 -> SF1 -> SFF1 -> SF2 -> SFF1 -> SFF2 -> SFF4 -> SF3 ->
   SFF4

   In the figure 1 above, SF1 is optional, and SF2, SF3 are mandatory.
   Because SF1 is optional, it consists of a single link, whereas SF2
   and SF3 are connected with multi links.  Originally, SF2 and SF3 are
   linked with relatively smaller capacity SFF2 even they are mandatory,
   jeopardizing whole service stability.  So it is amended to pass
   through SFF1 and SFF4 rather than SFF2 as SFF1 and SFF4 are better-
   performed nodes.





Kang, et al.             Expires April 21, 2016                 [Page 4]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


            Bandwidth    |         Memory        |       Port
   ----------------------+-----------------------+------------------
   SFF1       10G        |          8GB          |       48EA
   SFF2       1G         |          4GB          |       24EA
   SFF4       1G         |          4GB          |       48EA

          Figure 2: Example of performance features of SFF nodes

3.  Dynamic service path selection between SFF and SF using C2 interface

   High availability can be guaranteed by forwarding policy using C2
   interface.  Initial SFP has better-performed SFF1 connected to SF2
   which is mandatory.  However overall performance of SFF1 temporarily
   exacerbates as traffics continuously concentrate on SFF1.  In other
   words, the performance of SFF1, the most better-performed SFF within
   SFC-enabled domain at the very moment, plunges under that of SFF2, a
   mediocre SFF having less performance features, SFF2 is entitled to
   the most better-performed SFF in that domain, getting a leeway to
   accommodate new traffics.

   Control plane excerpts such an information and transmits forwarding
   policy to let SF2 be treated by SFF2, not SFF1, i.e. it is envisaged
   that the next hop of SF2 changes from SFF1 to SFF2.  Compared to the
   former C1 interface case, more nimble treatment is possible with C2
   interface.

   Figure 1 above can illustrate C2 interface as well.  Previously
   mandatory SF2 is allocated to SFF1, but if traffic is concentrated to
   SFF1 as time goes, its performance would get aggravated.  Control
   plane can send forwarding policy to treat SF2 not with SFF1 but with
   SFF2.

   RSP1: SFF1 -> SF1 -> SFF1 -> SF2 -> SFF1 -> SFF2 -> SFF4 -> SF3 ->
   SFF4

   RSP2: SFF1 -> SF1 -> SFF1 -> SFF2 -> SF2 -> SFF2 -> SFF4 -> SF3 ->
   SFF4

4.  Dealing with multiple links of SF using C3 interface

   Single SF can be linked with multiple SFF.  SFC should include only
   best-performed SFF by maintaining its connection, temporarily ceasing
   links to other SFFs at the same time to mitigate the risk of
   incurring a loop.

   For instance, under the situation of mandatory SF2 being connected to
   all SFFs(SFF1, SFF2, SFF4), SFC1 chooses SFF2 amongst SFFs based on
   performance factors.  Severance is treated to links between SF2 and



Kang, et al.             Expires April 21, 2016                 [Page 5]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


   other SFFs through C3 interface.  But if SFF2 gets crowded and slow
   down, SFC2 newly selects SFF1 or SFF3 because the performance of
   those two gets better than that of SFF2.

5.  Additional considerations

   SFC classifier node as a Service Classification Function treats the
   packet entering SFC-enabled domain below process: 1) According to
   customer's profile distinguished in traffic classification procedure,
   SFP ID is created to provide the series of service used by individual
   customer.  Furthermore, forwarding rules are added to entry of every
   SFF in SFP for packet forwarding.  2) SFP ID created in 1) is added
   to SFC header, and the packet is forwarded to subsequent SFF.  3) SFP
   ID and index are checked within SFF, then forwarded to next SF or
   SFF.  4) In case the SFF is the last node of SFC-enabled domain, SFC
   header should be removed before forwarded outside of SFC-enabled
   domain.

   If one SF in SFP fails, the whole traffic forwarding passing the
   failed SF is stopped only because of the SF itself.  Currently
   failover method like VRRP can recover the failure using High
   Availability techniques.  However, packet routing in SFC-enable
   domain is done only with SFC header information including SFP ID and
   index, so it is hard to apply existing L2, L3 failover techniques.

   To prevent such a situation of which whole traffic forwarding stops
   because of single SF failure, packets are treated in two ways of
   failover: 1) in case corresponding backup SF is ready, packets are
   forwarded to the backup SF to go through the path as designated in
   SFC. 2) In case corresponding backup SF doesn't exist, whether the
   failed SF is mandatory or optional is checked.  Specifically in case
   of 2), packet forwarding should be stopped and an alarm message
   should be notified to controller if the SF is mandatory(e.g., NAT).
   If optional(e.g., FW, IPS, LB, DPI, Cache, CPE, VPN, Optimizer)
   packets should be forwarded to subsequent SF bypassing the failed SF.

   SFC failover consists of two steps: step1.  In initial SFP setup,
   backup path for failover is configured in SFF forwarding rule in
   advance.  step2.  When failure occurs, 1) SFF connected to the failed
   SF senses the failure, recovers it by itself using backup path
   configured in step1. 2) And the situation is notified to control
   plane to let it revise global path of SFC-enabled domain.

5.1.  Load balancing and resiliency

   The concept of dynamic path selection could be extended for each SF
   to have multiple instances.  The effect of extension are related to
   load balancing and resiliency.  As shown in the below figure, for



Kang, et al.             Expires April 21, 2016                 [Page 6]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


   example, SF2 can have three entities(SF2-a, SF2-b, SF2-c).  Each
   entity may have different connectivity with SFFs according to policy
   or performance information.  SFC-level load balancing can be done
   managing capacity/current load of each instances.


         +------------------------------------------------+
         |SFC-enabled Domain                              |
         |                                                |
         |      +---+                         +---+       |
         |      |SF1|             +-----------|SF3|       |
         |      +---+             |           +---+       |
         |        |               |             |         |
         |        |               |             |         |
         |        |               |             |         |
         |   +----------+   +----------+   +----------+   |
         |   |          |   |          |   |          |   |
      -------|   SFF1   |---|   SFF2   |---|   SFF4   |-------
         |   |          |   |          |   |          |   |
         |   +----------+   +----------+   +----------+   |
         |     |    |            |   |        |      |    |
         |     |    |            |   |        |     +---+ |
         |     |    |            |   +--------|-----SF2-b |
         |  +---+   |           +---+         |     +---+ |
         |  SF2-c   +-----------SF2-a---------+           |
         |  +---+               +---+                     |
         +------------------------------------------------+


              Figure 3: Multiple entities for load balancing

5.2.  SFC failover by SFF(local)

   Controller produces classification rules and installs them to
   classifier.  Classifier adds SFC header to packets and sends to SFF.
   SFF can receives packets from classifier node, adjacent SFF, or SF.
   Then it checks SFP ID, index of packets whether there exists matched
   rule in the forwarding rule entry and the output port thereof.  If
   output port is in normal operation, packets can pass through the SFC-
   enabled domain along with predetermined SFP.  Otherwise, two criteria
   should be considered; backup path existence and whether mandatory or
   not.  Firstly, after backup path existence is confirmed, packets can
   be forwarded to that backup path without further consideration.
   However in case backup path doesn't exist, secondly output port is to
   be checked.

   When a failure occurs, index of SFC packet header should be revised
   accordingly.  For instance, if the index of current failed SF is 5



Kang, et al.             Expires April 21, 2016                 [Page 7]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


   and that of subsequent SF is 4, current index should be revised to 4
   before being forwarded to next SF along with forwarding rules.

5.3.  SFC failover by control plane(global)

   As the classifier node detects the failure during processing packets,
   firstly it finds out whether the failed SF's property (i.e.,
   mandatory or optional) and whether backup path exists or not.  If the
   property is mandatory and there is no backup path, control plane
   should be notified that packets cannot be forwarded from the SFF.
   Otherwise, control plane extracts the path list including the failed
   SF and recalculates backup path based on this information.  Then new
   forwarding rules are applied to each SFF.

Acknowledgments

   The authors would like to thank Ron Parker and Seungik Lee for the
   comments.

7.  References

7.1.  Normative References

   [I-D.ietf-sfc-architecture]
              Halpern, J. and C. Pignataro, "Service Function Chaining
              (SFC) Architecture", draft-ietf-sfc-architecture-11 (work
              in progress), July 2015.

7.2.  Informative References

   [I-D.ietf-sfc-control-plane]
              Li, H., Wu, Q., Huang, O., Boucadair, M., Jacquenet, C.,
              Haeffner, W., Lee, S., Parker, R., Dunbar, L., Malis, A.,
              Halpern, J., Reddy, T., and P. Patil, "Service Function
              Chaining (SFC) Control Plane Components & Requirements",
              draft-ietf-sfc-control-plane-00 (work in progress), August
              2015.

   [RFC7498]  Quinn, P., Ed. and T. Nadeau, Ed., "Problem Statement for
              Service Function Chaining", RFC 7498,
              DOI 10.17487/RFC7498, April 2015,
              <http://www.rfc-editor.org/info/rfc7498>.

Authors' Addresses







Kang, et al.             Expires April 21, 2016                 [Page 8]

Internet-Draft        SFF-SF Dynamic Path Selection         October 2015


   Taeho Kang
   KT
   Infra R&D Lab. KT
   17 Woomyeon-dong, Seocho-gu
   Seoul  137-792
   Korea

   EMail: th.kang@kt.com


   Young-Tae Han
   KT
   Infra R&D Lab. KT
   17 Woomyeon-dong, Seocho-gu
   Seoul  137-792
   Korea

   EMail: youngtae.han@kt.com


   Sungsu Kim
   KT
   Infra R&D Lab. KT
   17 Woomyeon-dong, Seocho-gu
   Seoul  137-792
   Korea

   EMail: sngsu.kim@kt.com


   Eunkyoung Paik
   KT
   Infra R&D Lab. KT
   17 Woomyeon-dong, Seocho-gu
   Seoul  137-792
   Korea

   EMail: eun.paik@kt.com


   Namgon Kim
   KT
   Infra R&D Lab. KT
   463-1 Jeonmin-dong, Yuseoung-gu
   Seoul  137-792
   Korea

   EMail: ng.kim@kt.com



Kang, et al.             Expires April 21, 2016                 [Page 9]