Service Function Chaining-Enabled I2NSF Architecture
draft-hyun-i2nsf-nsf-triggered-steering-03

Document Type Active Internet-Draft (individual)
Last updated 2017-07-03
Stream (None)
Intended RFC status (None)
Formats plain text pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                            S. Hyun
Internet-Draft                                                  J. Jeong
Intended status: Standards Track                 Sungkyunkwan University
Expires: January 4, 2018                                         J. Park
                                                                    ETRI
                                                                S. Hares
                                                                  Huawei
                                                            July 3, 2017

          Service Function Chaining-Enabled I2NSF Architecture
               draft-hyun-i2nsf-nsf-triggered-steering-03

Abstract

   This document describes an architecture of the I2NSF framework using
   security function chaining for securiy policy enforcement.  Security
   function chaining enables composite inspection of network traffic by
   steering the traffic through multiple types of network security
   functions according to the information model for NSFs capabilities in
   the I2NSF framework.  This document explains the additional
   components integrated into the I2NSF framework and their
   functionalities to achieve security function chaining.  It also
   describes representative use cases to address major benefits from the
   proposed architecture.

Status of This Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 4, 2018.

Hyun, et al.             Expires January 4, 2018                [Page 1]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

Copyright Notice

   Copyright (c) 2017 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 . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Objective  . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4.  Architecture . . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.1.  SFC Policy Manager . . . . . . . . . . . . . . . . . . . .  8
     4.2.  SFC Catalog Manager  . . . . . . . . . . . . . . . . . . .  8
     4.3.  Developer's Management System  . . . . . . . . . . . . . .  9
     4.4.  Classifier . . . . . . . . . . . . . . . . . . . . . . . .  9
     4.5.  Service Function Forwarder (SFF) . . . . . . . . . . . . .  9
   5.  Use Cases  . . . . . . . . . . . . . . . . . . . . . . . . . . 10
     5.1.  Dynamic Path Alternation . . . . . . . . . . . . . . . . . 10
     5.2.  Enforcing Different SFPs Depending on Trust Levels . . . . 11
     5.3.  Effective Load Balancing with Dynamic SF Instantiation . . 12
   6.  Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 13
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 14
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 15
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 15
   Appendix A.  Changes from
                draft-hyun-i2nsf-nsf-triggered-steering-02  . . . . . 16

Hyun, et al.             Expires January 4, 2018                [Page 2]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

1.  Introduction

   To effectively cope with emerging sophisticated network attacks, it
   is necessary that various security functions cooperatively analyze
   network traffic [RFC7498][i2nsf-problem][nsf-capability-im].  In
   addition, depending on the characteristics of network traffic and
   their suspiciousness level, the different types of network traffic
   need to be analyzed through the different sets of security functions.
   In order to meet such requirements, besides security policy rules for
   individual security functions, we need an additional policy about
   service function chaining (SFC) for network security which determines
   a set of security functions through which network traffic packets
   should pass for inspection.  In addition, [nsf-capability-im]
   proposes an information model for NSFs capabilities that enables a
   security function to trigger further inspection by executing
   additional security functions based on its own analysis results
   [i2nsf-framework].  However, the current design of the I2NSF
   framework does not consider network traffic steering fully in order
   to enable such chaining between security functions.

   In this document, we propose an architecture that integrates
   additional components from Service Function Chaining (SFC) into the
   I2NSF framework to support security function chaining.  We extend the
   security controller's functionalities such that it can interpret a
   high-level policy of security function chaining into a low-level
   policy and manage them.  It also keeps the track of the available
   service function (SF) instances for security functions and their
   information (e.g., network information and workload), and makes a
   decision on which SF instances to use for a given security function
   chain/path.  Based on the forwarding information provided by the
   security controller, the service function forwarder (SFF) performs
   network traffic steering through various required security functions.
   A classifier is deployed for the enforcement of SFC policies given by
   the security controller.  It performs traffic classification based on
   the polices so that the traffic passes through the required security
   function chain/path by the SFF.

2.  Objective

   o  Policy configuration for security function chaining: SFC-enabled
      I2NSF architecture allows policy configuration and management of
      security function chaining.  Based on the chaining policy,
      relevant network traffic can be analyzed through various security
      functions in a composite, cooperative manner.

   o  Network traffic steering for security function chaining: SFC-
      enabled I2NSF architecture allows network traffic to be steered
      through multiple required security functions based on the SFC

Hyun, et al.             Expires January 4, 2018                [Page 3]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

      policy.  Moreover, the I2NSF information model for NSFs
      capabilities [nsf-capability-im] requires a security function to
      call another security function for further inspection based on its
      own inspection result.  To meet this requirement, SFC-enabled
      I2NSF architecture also enables traffic forwarding from one
      security function to another security function.

   o  Load balancing over security function instances: SFC-enabled I2NSF
      architecture provides load balancing of incoming traffic over
      available security function instances by leveraging the flexible
      traffic steering mechanism.  For this objective, it also performs
      dynamic instantiation of a security function when there are an
      excessive amount of requests for that security function.

3.  Terminology

   This document uses the following terminology described in [RFC7665],
   [RFC7665][i2nsf-terminology][ONF-SFC-Architecture].

   o  Service Function/Security Function (SF): A function that is
      responsible for specific treatment of received packets.  A Service
      Function can act at various layers of a protocol stack (e.g., at
      the network layer or other OSI layers) [RFC7665].  In this
      document, SF is used to represent both Service Function and
      Security Function.  Sample Security Service Functions are as
      follows: Firewall, Intrusion Prevention/Detection System (IPS/
      IDS), Deep Packet Inspection (DPI), Application Visibility and
      Control (AVC), network virus and malware scanning, sandbox, Data
      Loss Prevention (DLP), Distributed Denial of Service (DDoS)
      mitigation and TLS proxy.

   o  Classifier: An element that performs Classification.  It uses a
      given policy from SFC Policy Manager.

   o  Service Function Chain (SFC): A service function chain defines an
      ordered set of abstract service functions and ordering constraints
      that must be applied to packets and/or frames and/or flows
      selected as a result of classification [RFC7665].

   o  Service Function Forwarder (SFF): A service function forwarder is
      responsible for forwarding traffic to one or more connected
      service functions according to information carried in the SFC
      encapsulation, as well as handling traffic coming back from the
      SF.  Additionally, an SFF is responsible for delivering traffic to
      a classifier when needed and supported, transporting traffic to
      another SFF (in the same or the different type of overlay), and
      terminating the Service Function Path (SFP) [RFC7665].

Hyun, et al.             Expires January 4, 2018                [Page 4]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   o  Service Function Path (SFP): The service function path is a
      constrained specification of where packets assigned to a certain
      service function path must be forwarded.  While it may be so
      constrained as to identify the exact locations for packet
      processing, it can also be less specific for such locations
      [RFC7665].

   o  SFC Policy Manager: It is responsible for translating a high-level
      policy into a low-level policy, and performing the configuration
      for SFC-aware nodes, passing the translated policy and
      configuration to SFC-aware nodes, and maintaining a stabilized
      network.

   o  SFC Catalog Manager: It is responsible for keeping the track of
      the information of available SF instances.  For example, the
      information includes the supported transport protocols, IP
      addresses, and locations for the SF instances.

   o  Control Nodes: It collectively refer to SFC Policy Manager, SFC
      Catalog Manager, SFF, and Classifier.

   o  Service Path Identifier (SPI): It identifies a service path.  The
      classifier MUST use this identifier for path selection and the
      Control Nodes MUST use this identifier to find the next hop
      [sfc-nsh].

   o  Service Index (SI): It provides a location within the service
      path.  SI MUST be decremented by service functions or proxy nodes
      after performing the required services [sfc-nsh].

   o  Network Service Header (NSH): The header is used to carry SFC
      related information.  Basically, SPI and SI should be conveyed to
      the Control Nodes of SFC via this header.

   o  SF Forwarding Table: SFC Policy Manager maintains this table.  It
      contains all the forwarding information on SFC-enabled I2NSF
      architecture.  Each entry includes SFF identifier, SPI, SI, and
      next hop information.  For example, an entry ("SFF: 1", "SPI: 1",
      "SI: 1", "IP: 192.168.xx.xx") is interpreted as follows: "SFF 1"
      should forword the traffic containing "SPI 1" and "SI 1" to
      "IP=192.168.xx.xx".

4.  Architecture

   This section describes an SFC-enabled I2NSF architecture and the
   basic operations of service chaining.  It also includes details about
   each component of the architecture.

Hyun, et al.             Expires January 4, 2018                [Page 5]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   Figure 1 describes the components of SFC-enabled I2NSF architecture.
   Our architecture is designed to support a composite inspection of
   traffic packets in transit.  According to the inspection result of
   each SF, the traffic packets could be steered to another SF for
   futher detailed analysis.  It is also possible to reflect a high-
   level SFC-related policy and a configuration from I2NSF Client on the
   components of the original I2NSF framwork.  Moreover, the proposed
   architecture provides load balancing, auto supplementary SF
   generation, and the elimination of unused SFs.  In order to achieve
   these design purposes, we integrate several components to the
   original I2NSF framwork.  In the following sections, we explain the
   details of each component.

Hyun, et al.             Expires January 4, 2018                [Page 6]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | I2NSF User                                                      |
   |              +-+-+-+-+-+-+-+-+                                    |
   |              |I2NSF User     |                                    |
   |              |               |                                    |
   |              +-+-+-+^+-+-+-+-+                                    |
   |                     |                                             |
   |                     |                                             |
   +-+-+-+-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                         | Consumer-Facing Interface
                         |
   +-+-+-+-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Security Management System                                        |
   |                     |                                             |
   |       +-+-+-+-+-+-+-v-+-+-+-+-+                                   |
   |       |Security Controller    |                                   |
   |       | +-+-+-+-+  +-+-+-+-+  | Registration                      |
   |       | |SFC    |  |SFC    |  |   Interface +-+-+-+-++-+-+-+-+    |
   |       | |Policy |  |Catalog|  |<----------->| Developer's    |    |
   |       | |Manager|  |Manager|  |             | Mgnt System    |    |
   |       | +-+-+-+-+  +-+-+-+-+  |             +-+-+-+-++-+-+-+-+    |
   |       +-+-+-+-+-+-^-+-+-+-+-+-+                                   |
   +-+-+-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                       | NSF-Facing Interface
                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Security Network   |                                               |
   |       +------------------------------------------------+          |
   |       |                    |                           |          |
   |       |              +-+-+-v-+-+-+            +-+-+-+-+v+-+-+     |
   | +-+-+-v-++-+         |  +-+-+-+  |            |    +-+-+-+  |     |
   | |          |         |  |SFF1 |<-|---------------->| SF1 |  |     |
   | |Classifier|<------> |  +-+-+-+< |            |    +-+-+-+  |     |
   | |          |         |          \|            |    +-+-+-+  |     |
   | +-+-+-+-++-+         |  +-+-+-+  \---------------->| SF2 |  |     |
   |                      |  |SFF2 |<-|---------------/ +-+-+-+  |     |
   |                      |  +-+-+-+<-|-------------\   +-+-+-+  |     |
   |                      +-+-+-+-+-+-+              \->| SF3 |  |     |
   |                                               |    +-+-+-+  |     |
   |                                               +-+-+-+-+-+-+-+     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Figure 1: SFC-enabled I2NSF

Hyun, et al.             Expires January 4, 2018                [Page 7]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

4.1.  SFC Policy Manager

   SFC Policy Manager is a core component in our system.  It is
   responsible for the following two things: (1) Interpreting a high-
   level SFC policy (or configuration) into a low-level SFC policy (or
   configuration), which is given by I2NSF Client, and delivering the
   interpreted policy to Classifiers for security function chaining. (2)
   Generating an SF forwarding table and distributing the fowarding
   information to SFF(s) by consulting with SFC Catalog Manager.  As
   Figure 1 describes, SFC Policy Manager performs these additional
   functionalities through Consumer-Facing Interface and NSF-Facing
   Interface.

   Given a high-level SFC policy/configuration from I2NSF Client via
   Consumer-Facing Interface, SFC Policy Manager interprets it into a
   low-level policy/configuration comprehensible to Classifier(s), and
   then delivers the resulting low-level policy to them.  Moreover, SFC
   Policy Manager possibly generates new policies for the flexible
   change of traffic steering to rapidly react to the current status of
   SFs.  For instance, it could generate new rules to forward all
   subsequent packets to "Firewall Instance 2" instead of "Firewall
   Instance 1" in the case where "Firewall Instance 1" is under
   congestion.

   SFC Policy Manager gets information about SFs from SFC Catalog
   Manager to generate SF forwarding table.  In the table generation
   process, SFC Policy Manager considers various criteria such as SFC
   policies, SF load status, SF physical location, and supported
   transport protocols.  An entry of the SF forwarding table consists of
   SFF Identifier, SFP, SI, and next hop information.  The examples of
   next hop information includes the IP address and supported transport
   protocols (e.g., VxLAN and GRE).  These forwarding table updates are
   distributed to SFFs with either push or pull methods.

4.2.  SFC Catalog Manager

   In Figure 1, SFC Catalog Manager is a component integrated into
   Security Controller.  It is responsible for the following three
   things: (1) Maintaining the information of every available SF
   instance such as IP address, supported transport protocol, service
   name, and load status. (2) Responding to the queries of available SF
   instances from SFC Policy Manager so as to help to generate a
   forwarding table entry relevant to a given SFP. (3) Requesting
   Developer's Management System to dynamically instantiate
   supplementary SF instances to avoid service congestion or the
   elimination of an existing SF instance to avoid resource waste.

   Whenever a new SF instance is registered, Developer's Management

Hyun, et al.             Expires January 4, 2018                [Page 8]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   System passes the information of the registered SF instance to SFC
   Catalog Manager, so SFC Catalog Manager maintains a list of the
   information of every available SF instance.  Once receiving a query
   of a certain SFP from SFC Policy Manager, SFC Catalog Manager
   searches for all the available SF instances applicable for that SFP
   and then returns the search result to SFC Policy Manager.

   In our system, each SF instance periodically reports its load status
   to SFC Catalog Manager.  Based on such reports, SFC Catalog Manager
   updates the information of the SF instances and manages the pool of
   SF instances by requesting Developer's Management System for the
   additional instantiation or elimination of the SF instances.
   Consequently, SFC Catalog Manager enables efficient resource
   utilization by avoiding congestion and resource waste.

4.3.  Developer's Management System

   We extend Developer's Management System for additional
   functionalities as follows.  As mentioned above, the SFC Catalog
   Manager requests the Developer's Management System to create
   additional SF instances when the existing instances of that service
   function are congested.  On the other hand, when there are an
   excessive number of instances for a certain service function, the SFC
   Policy Manager requests the Developer's Management System to
   eliminate some of the SF instances.  As a response to such requests,
   the Developer's Management System creates and/or removes SF
   instances.  Once it creates a new SF instance or removes an existing
   SF instance, the changes must be notified to the SFC Catalog Manager.

4.4.  Classifier

   Classifier is a logical component that may exist as a standalone
   component or a submodule of another component.  In our system, the
   initial classifier is typically located at an entry point like a
   border router of the network domain, and performs the initial
   classification of all incoming packets according to the SFC policies,
   which are given by SFC policy manager.  The classification means
   determining the SFP through which a given packet should pass.  Once
   the SFP is decided, the classifier constructs an NSH that specifies
   the corresponding SPI and SI, and attaches it to the packet.  The
   packet will then be forwarded through the determined SFP on the basis
   of the NSH information.

4.5.  Service Function Forwarder (SFF)

   It is responsible for the following two functionalities: (1)
   Forwarding the packets to the next SFF/SF. (2) Handling re-
   classification request from SF.

Hyun, et al.             Expires January 4, 2018                [Page 9]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   An SFF basically takes forwarding functionality, so it needs to find
   the next SF/SFF for the incoming traffic.  It will search its
   forwarding table to find the next hop information that corresponds to
   the given traffic.  In the case where the SFF finds a target entry on
   its forwarding table, it just forwards the traffic to the next SF/SFF
   specified in the next hop information.  If an SFF does not have an
   entry for a given packet, it will request the next hop information to
   SFC Policy Manager with SFF identifier, SPI, and SI information.  The
   SFC Policy Manager will respond to the SFF with next hop information,
   and then the SFF updates its forwarding table with the response,
   forwarding the traffic to the next hop.

   Sometimes an SF may want to forward a packet, which is highly
   suspicious, to another SF for futher security inspection.  This is
   referred to as advanced security action in I2NSF.  In this situation,
   if the next SF may not be the one on the current SFP of the packet,
   re-classification is required to change the SFP of the packet.  If
   the current SF is capable of re-classifying the packet by itself, the
   SF updates the SPI field in the NSH in the packet to serve the
   advanced secuity action.  Otherwise, if the classifier exists as a
   standalone, the SF appends the inspection result of the packet to the
   MetaData field of the NSH and delivers it to the source SFF.  The
   attached MetaData includes a re-classification request to change the
   SFP of the packet to another SFP for stronger inspection.  When the
   SFF receives the traffic requiring re-classification, it forwards the
   traffic to the Classifier where re-classification will be eventually
   performed.

   SFC defines Rendered Service Path (RSP), which represents the
   sequence of actual visits by a packet to SFFs and SFs [RFC7665].  If
   the RSP information of a packet is available, the SFF could check
   this RSP information to detect whether undesired looping happened on
   the packet.  If the SFF detects looping, it could notify the Security
   Controller of this looping, and the Security Controller could modify
   relevant security policy rules to resolve this looping.

5.  Use Cases

   This section introduces three use cases for the SFC-enabled I2NSF
   architecture : (1) Dynamic Path Alternation, (2) Enforcing Different
   SFPs Depending on Trust Levels, and (3) Effective Load Balancing with
   Dynamic SF Instantiation.

5.1.  Dynamic Path Alternation

   In SFC-enabled I2NSF architecture, a Classifier determines the
   initial SFP of incoming traffic according to the SFC policies.  The
   classifier then attaches an NSH specifying the determined SFP of the

Hyun, et al.             Expires January 4, 2018               [Page 10]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   packets, and they are analyzed through the SFs of the initial SFP.
   However, SFP is not a static property, so it could be changed
   dynamically through re-classification.  A typical example is for a
   certain SF in the initial SFP to detect that the traffic is highly
   suspicious (likely to be malicious).  In this case, the traffic needs
   to take stronger inspection through a different SFP which consists of
   more sophisticated SFs.

   Figure 2 illustrates an example of such dynamic SFP alternation in a
   DDoS attack scenario.  SFP-1 represents the default Service Function
   Path that the traffic initially follows, and SFP-1 consists of AVC,
   Firewall, and IDS/IPS.  If the IDS/IPS suspects that the traffic is
   attempting DDoS attacks, it will change the SFP of the traffic from
   the default to SFP-2 so that the DDoS attack mitigator can execute a
   proper countermeasure against the attack.

   Such SFP alternation is possible in the proposed architecture with
   re-classification.  In Figure 1, to initiate re-classification, the
   IDS/IPS appends its own inspection result to the MetaData field of
   NSH and deliver it to the SFF from which it has originally received
   the traffic.  The SFF then forwards the received traffic including
   the inspection result from the IDS/IPS to Classifier for re-
   classification.  Classifier checks the inspection result and
   determines the new SFP (SFP-2) associated with the inspection result
   in the SFC policy, and updates the NSH with the SPI of SFP-2.  The
   traffic is forwarded to the DDoS attack mitigator.

                   SFP-1. AVC:Firewall:IDS/IPS
   ------------------------------------------------------------------>
   +-+-+-+-+   +-+-+-+   +-+-+-+-+-+     +-+-+-+-+-+   +-+-+-+-+-+-+-+
   | Source|---| AVC |---| Firewall|-----| IDS/IPS |---| Destination |
   +-+-+-+-+   +-+-+-+   +-+-+-+-+-+     +-+-+-+-+-+   +-+-+-+-+-+-+-+
   ----------------------------------------,                  ,------>
                                            \    +-+-+-+-+   /
                                             \   |  DDoS |  /
                                              \  +-+-+-+-+ /
                                               '----------'
                                     SFP-2. AVC:Firewall:DDoS:IDS/IPS

                 Figure 2: Dynamic SFP Alternation Example

5.2.  Enforcing Different SFPs Depending on Trust Levels

   Because the traffic coming from a trusted source is highly likely to
   be harmless, it does not need to be inspected excessively.  On the
   other hand, the traffic coming from an untrusted source requires an

Hyun, et al.             Expires January 4, 2018               [Page 11]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   in-depth inspection.  By applying minimum required security functions
   to the traffic from a trusted source, it is possible to prevent the
   unnecessary waste of resources.  In addition, we can concentrate more
   resources on potential malicious traffic.  In the SFC-enabled I2NSF
   architecture, by configuring an SFC Policy to take into account the
   levels of trust of traffic sources, we can apply different SFPs to
   the traffic coming from different sources.

   Figure 3(a) and Figure 3(b) represent SFPs applicable to traffic from
   trusted and untrusted sources, respectively.  In Figure 3(a), we
   assume a lightweight IDS/IPS which is configured to perform packet
   header inspection only.  In this scenario, when receiving the traffic
   from a trusted source, the classifier determines the SFP in
   Figure 3(a) such that the traffic passes through just a simple
   analysis by the lightweight IDS/IPS.  On the other hand, traffic from
   an untrusted source passes more thorough examination through the SFP
   in Figure 3(b) which consists of three different types of SFs.

   +-+-+-+-+-+            +-+-+-+-+-+            +-+-+-+-+-+-+-+
   | Source  |----------->| IDS/IPS |----------->| Destination |
   +-+-+-+-+-+            +-+-+-+-+-+            +-+-+-+-+-+-+-+

             (a) Traffic flow of trusted source

   +-+-+-+-+-+            +-+-+-+-+-+-+-+-+      +-+-+-+-+-+-+-+
   | Source  |            | Anti-Spoofing |      | Destination |
   +-+-+-+-+-+            | function      |      +-+-+-+^+-+-+-+
       |                  +-+^+-+-+-+-+-+-+             |
       |                     |         |                |
       |       +-+-+-+-+-+-+ |         |    +-+-+-+-+-+ |
       ------->| Firewall  |--         ---->|   DPI   |--
               +-+-+-+-+-+-+                +-+-+-+-+-+

             (b) Traffic flow of untrusted source

    Figure 3:  Different path allocation depending on source of traffic

5.3.  Effective Load Balancing with Dynamic SF Instantiation

   In a large-scale network domain, there typically exist a large number
   of SF instances that provide various security services.  It is
   possible that a specific SF instance experiences an excessive amount
   of traffic beyond its capacity.  In this case, it is required to
   allocate some of the traffic to another available instance of the

Hyun, et al.             Expires January 4, 2018               [Page 12]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   same security function.  If there are no additional instances of the
   same security function available, we need to create a new SF instance
   and then direct the subsequent traffic to the new instance.  In this
   way, we can avoid service congestion and achieve more efficient
   resource utilization.  This process is commonly called load
   balancing.

   In the SFC-enabled I2NSF architecture, SFC Catalog Manager performs
   periodic monitoring of the load status of available SF instances.  In
   addition, it is possible to dynamically generate a new SF instance
   through Developer's Management System.  With these functionalities
   along with the flexible traffic steering mechanism, we can eventually
   provide load balancing service.

   The following describes the detailed process of load balancing when
   congestion occurs at the firewall instance:

   1.  SFC Catalog Manager detects that the firewall instance is
       receiving too much requests.  Currently, there are no additional
       firewall instances available.

   2.  SFC Catalog Manager requests Developer's Management System to
       create a new firewall instance.

   3.  Developer's Management System creates a new firewall instance and
       then registers the information of the new firewall instance to
       SFC Catalog Manager.

   4.  SFC Catalog Manager updates the SFC Information Table to reflect
       the new firewall instance, and notifies SFC Policy Manager of
       this update.

   5.  Based on the received information, SFC Policy Manager updates the
       forwarding information for traffic steering and sends the new
       forwarding information to the SFF.

   6.  According to the new forwarding information, the SFF forwards the
       subsequent traffic to the new firewall instance.  As a result, we
       can effecively alleviate the burden of the existing firewall
       instance.

6.  Discussion

   The information model and data model of security policy rules in the
   I2NSF framework defines an advanced security action as a type of
   action to be taken on a packet
   [nsf-capability-im][nsf-facing-inf-dm].  Through the advanced
   security action, a basic NSF (e.g., firewall) can call a different

Hyun, et al.             Expires January 4, 2018               [Page 13]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   type of NSF for more in-depth security analysis of a packet.  If an
   NSF triggers an advanced security action on a given packet, the
   packet should be forwarded to the NSF dedicated to the advanced
   action.  That is, the advanced action dynamically determines the next
   NSF where the packet should go through.  So if a forwarding component
   is configured with the network access information (e.g., IP address,
   port number) of the next required NSF, it can forward the packet to
   the NSF.  With this advanced security action, it is possible to avoid
   the overhead for configuring and managing the information of security
   function chains and paths.

   In SFC, re-classification is required to support the situation where
   the security function path of a packet changes dynamically, and the
   classifier is responsible for re-classification tasks to change the
   security function path of a packet.  But if the classifier exists as
   a separate component from an NSF, the packet should be first
   delivered from the NSF to the classifier for re-classification, and
   this introduces an additional delay.  As already mentioned, the
   advanced security action in the i2nsf framework can omit the
   requirement of pre-defined security function chain configuration.  If
   there exists no security function chain/path configurations, there is
   no need of re-classification as well.  That is, the forwarder can
   simply forward the packet to the next required NSF according to the
   advanced action determiend by the predesessor NSF, without re-
   classification through the classifier.

7.  Security Considerations

   To enable security function chaining in the I2NSF framework, we adopt
   the additional components in the SFC architecture.  Thus, this
   document shares the security considerations of the SFC architecture
   that are specified in [RFC7665] for the purpose of achieving secure
   communication among components in the proposed architecture.

8.  Acknowledgements

   This work was supported by Institute for Information and
   communications Technology Promotion(IITP) grant funded by the Korea
   government(MSIP) (No.R-20160222-002755, Cloud based Security
   Intelligence Technology Development for the Customized Security
   Service Provisioning).  This document has greatly benefited from
   inputs by Sanguk Woo, Yunsuk Yeo, Taekyun Roh, and Sarang Wee.

9.  References

Hyun, et al.             Expires January 4, 2018               [Page 14]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

9.1.  Normative References

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

   [sfc-nsh]               Quinn, P. and U. Elzur, "Network Service
                           Header", draft-ietf-sfc-nsh-12 (work in
                           progress), February 2017.

9.2.  Informative References

   [RFC7498]               Quinn, P. and T. Nadeau, "Problem Statement
                           for Service Function Chaining", RFC 7498,
                           April 2015.

   [nsf-capability-im]     Xia, L., Strassner, J., Basile, C., and D.
                           Lopez, "Information Model of NSFs
                           Capabilities",
                           draft-xibassnez-i2nsf-capability-01 (work in
                           progress), March 2017.

   [nsf-facing-inf-dm]     Kim, J., Jeong, J., Park, J., Hares, S., and
                           L. Xia, "I2NSF Network Security Functions-
                           Facing Interface YANG Data Model", draft-kim-
                           i2nsf-nsf-facing-interface-data-model-02
                           (work in progress), July 2017.

   [i2nsf-framework]       Lopez, D., Lopez, E., Dunbar, L., Strassner,
                           J., and R. Kumar, "Framework for Interface to
                           Network Security Functions",
                           draft-ietf-i2nsf-framework-05 (work in
                           progress), May 2017.

   [i2nsf-problem]         Hares, S., Lopez, D., Zarny, M., Jacquenet,
                           C., Kumar, R., and J. Jeong, "I2NSF Problem
                           Statement and Use cases",
                           draft-ietf-i2nsf-problem-and-use-cases-16
                           (work in progress), May  2017.

   [i2nsf-terminology]     Hares, S., Strassner, J., Lopez, D., Xia, L.,
                           and H. Birkholz, "Interface to Network
                           Security Functions (I2NSF) Terminology",
                           draft-ietf-i2nsf-terminology-03 (work in
                           progress), March 2017.

   [ONF-SFC-Architecture]  ONF, "L4-L7 Service Function Chaining
                           Solution Architecture", June 2015.

Hyun, et al.             Expires January 4, 2018               [Page 15]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

Appendix A.  Changes from draft-hyun-i2nsf-nsf-triggered-steering-02

   The following changes have been made from
   draft-hyun-i2nsf-nsf-triggered-steering-02:

   o  Sections 3, 4, and 5 have been revised to describe an
      architecture, which integrates additional components of service
      function chaining (SFC) into the I2NSF framework in order to
      support packet forwarding between NSFs.

   o  Section 6 has been added to discuss some drawbacks when SFC is
      used for packet forwarding between NSFs in the I2NSF framework.

Authors' Addresses

   Sangwon Hyun
   Department of Software
   Sungkyunkwan University
   2066 Seobu-Ro, Jangan-Gu
   Suwon, Gyeonggi-Do  16419
   Republic of Korea

   Phone: +82 31 290 7222
   Fax:   +82 31 299 6673
   EMail: swhyun77@skku.edu
   URI:   http://imtl.skku.ac.kr/

   Jaehoon Paul Jeong
   Department of Software
   Sungkyunkwan University
   2066 Seobu-Ro, Jangan-Gu
   Suwon, Gyeonggi-Do  16419
   Republic of Korea

   Phone: +82 31 299 4957
   Fax:   +82 31 290 7996
   EMail: pauljeong@skku.edu
   URI:   http://iotlab.skku.edu/people-jaehoon-jeong.php

Hyun, et al.             Expires January 4, 2018               [Page 16]
Internet-Draft       SFC-enabled I2NSF Architecture            July 2017

   Jung-Soo Park
   Electronics and Telecommunications Research Institute
   218 Gajeong-Ro, Yuseong-Gu
   Daejeon  305-700
   Republic of Korea

   Phone: +82 42 860 6514
   EMail: pjs@etri.re.kr

   Susan Hares
   Huawei
   7453 Hickory Hill
   Saline, MI  48176
   USA

   Phone: +1 734 604 0332
   EMail: shares@ndzh.com

Hyun, et al.             Expires January 4, 2018               [Page 17]