Internet DRAFT - draft-ma-sfc-decomposition

draft-ma-sfc-decomposition







Network Working Group                                              K. Ma
Internet-Draft                                                  Ericsson
Intended status: Standards Track                               R. Parker
Expires: February 12, 2015                             Affirmed Networks
                                                         August 11, 2014


                       SFC Service Decomposition
                     draft-ma-sfc-decomposition-02

Abstract

   This document discusses the role of composite (monolithic) service
   functions in service function chaining, and describes a method for
   supporting composite service function decomposition.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

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

   This Internet-Draft will expire on February 12, 2015.

Copyright Notice

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



Ma & Parker             Expires February 12, 2015               [Page 1]

Internet-Draft              SFC Decomposition                August 2014


   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.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  Nested Service Function Chains  . . . . . . . . . . . . .   4
     1.3.  Ingress Demux Service Functions . . . . . . . . . . . . .   5
   2.  Service Function Decomposition  . . . . . . . . . . . . . . .   6
     2.1.  HLS Use Case  . . . . . . . . . . . . . . . . . . . . . .   6
     2.2.  Composite Service Function  . . . . . . . . . . . . . . .   7
     2.3.  Non-SFC Service Decomposition . . . . . . . . . . . . . .   8
     2.4.  SFC Service Decomposition . . . . . . . . . . . . . . . .  12
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  13
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  13
   5.  Privacy Considerations  . . . . . . . . . . . . . . . . . . .  13
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  13
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  13
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  13
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  14
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   Service function chaining (SFC), as defined in the SFC Problem
   Statement [I-D.quinn-sfc-problem-statement], affects "packets and/or
   frames selected as a result of classification.  Packet and/or frame-
   based classification, however, is limited to information that is
   available in every packet and/or frame.  Typical methods of using
   VLAN tags or TCP(UDP)/IP 5-tuples (i.e., source IP address,
   destination IP address, IP protocol, source port, and destination
   port) allow frame/packet flows to be easily identified and directed
   through an appropriate service function (SF) or chain.  The service
   functions themselves, however, are often more complex and act upon
   higher level message constructs (e.g., HTTP/1.x messages or chunks
   [RFC2616], or HTTP/2.x frames [I-D.ietf-httpbis-http2]) whose
   boundaries do not typically align with L2/3 frame/packet boundaries.
   Particularly in the cases of application acceleration, deep packet
   inspection (DPI), server load balancing (SLB), anti-virus scanning,
   and various HTTP-based protocol optimizations (e.g., HTTP live
   streaming (HLS) [I-D.pantos-http-live-streaming] video delivery), the
   limitations of frame/packet-based classification necessitate flow
   termination and re-classification, in order to perform the service
   function.  Given the overhead cost of flow termination and re-



Ma & Parker             Expires February 12, 2015               [Page 2]

Internet-Draft              SFC Decomposition                August 2014


   classification, multiple service functions are often merged into a
   single monolithic service function (or composite service function) to
   take advantage of economies of scale.

   Basic service function chaining allows multiple composite service
   functions (perhaps provided by different vendors) to be ordered and
   routed through, however, duplication of message-level re-
   classification is likely.  There may also be duplication of component
   service functions by the independent composite service functions.
   Decomposition of the composite service functions could reduce the
   overhead that results from duplicated processing and provide more
   granular control over virtualized service functions.  Decomposition
   also enables component function isolation which is useful for
   virtualization and scaling.

   This document describes the challenges associated with composite
   service function decomposition and the requirements for supporting
   service function chaining with component services.  The document uses
   an HLS video session to illustrate the decomposition concepts, but it
   should be understood that service function decomposition is
   applicable to a wide variety of application layer services.

1.1.  Terminology

   This document uses the terminology defined in the SFC Problem
   Statement [I-D.quinn-sfc-problem-statement].  Additional terminology
   is defined below:

   o  Composite Service Function: A service function that consumes a
      frame/packet flow, but is made up of multiple component service
      functions that act on message flows.

   o  Component Service Function: A service function that may be
      separated out from a composite service function.

   o  Decomposed Service Function Chain: A service function chain
      composed of component service functions, which begins and ends at
      a composite service function endpoint.

   o  Split Chain: A service function chain with multiple paths between
      two component service functions, consisting of different component
      service functions.

   o  Demux Service Function: A service function which performs stateful
      classification, separating incoming flow data, selecting different
      service function paths for different subsets of the flow data,
      with the understanding that the processed flow data must be
      reassembled at a further downstream service function.



Ma & Parker             Expires February 12, 2015               [Page 3]

Internet-Draft              SFC Decomposition                August 2014


   o  Remux Service Function: A service function which recombines
      incoming flow data arriving from different service function paths,
      previously separated by an upstream demux service function.

1.2.  Nested Service Function Chains

   The concept of a single service function chain identified by a single
   ingress classifier (as described in the SFC Architecture
   [I-D.quinn-sfc-problem-statement] document and as shown in the figure
   below) is fairly well understood.

         +------------+    +-----+    +-----+    +-----+
      -->| classifier |--->| SF1 |--->| SF2 |--->| SF3 |--->
         +------------+    +-----+    +-----+    +-----+

   Though re-classification is mentioned in the SFC Architecture
   [I-D.quinn-sfc-problem-statement] document, composite service
   function decomposition provides a concrete use case for
   reclassification and highlights the hierarchical nature of service
   function chaining.  The nesting of decomposed service function chains
   within a higher level encapsulating service chain (as shown in the
   figure below) illustrates this hierarchical chaining concept.

         +------------+    +-----+    +-----+    +-----+
      -->| classifier |--->| SF1 |--->| SF2 |    | SF3 |--->
         +------------+    +-----+    +-----+    +-----+
                                         |          ^
                                         V          |
                                     +-------+      |
                                     | SF2.1 |      |
                                     +-------+      |
                                         |          |
                                         V          |
                                     +-------+      |
                                     | SF2.2 |      |
                                     +-------+      |
                                         |          |
                                         V          |
                                     +-------+      |
                                     | SF2.3 |------+
                                     +-------+

   In this nested scenario, the ingress classifier is still only aware
   of the service function chain through SF1, SF2, and SF3.  The fact
   that SF2 might perform re-classification and decompose into a lower
   level chain (i.e., SF2.1, SF2.2, and SF2.3) is hidden from the
   ingress classifier.  In general, at any given level, a
   (re-)classifier is oblivious to any further downstream re-



Ma & Parker             Expires February 12, 2015               [Page 4]

Internet-Draft              SFC Decomposition                August 2014


   classification.  This type of hierarchical abstraction becomes a
   powerful tool for the design and insertion of new service functions
   into a given network deployment.

1.3.  Ingress Demux Service Functions

   The examples shown in the following sections show options for both
   "packets from client" and "from previous in chain".  This distinction
   is to handle the following two separate use cases for service
   function decomposition, with respect to insertion of the service
   function into the client data path:

   o  Direct Addressing: where the destination IP address of the packets
      from the client explicitly route to the demux service function
      node, and

   o  SFC steering: where the composite service function is a member of
      a higher level service function chain and packets from the
      previous service function in the higher level chain are forwarded
      based on the configured SFC path resolution.

   For many application level service functions, the selection of a
   service function may occur in the client at the application layer
   (e.g., localized DNS-based request routing may explicity resolve
   requests to a service function specific IP address).  In these cases,
   the composite service function is not necessarily part of a
   hierarchical service function chain; the monolithic service node
   providing the composite service function would be a standalone proxy
   service.  Though a frame/packet-based classifier is not required
   here, this still constitutes a valid SFC use case where a composite
   service function is decomposed into a set of service function chains.
   In this case, the demux service function, directly identified (e.g.,
   via DNS), acts as the (message-based) ingress classifier for the
   decomposed service function chain.  Packets arriving at the demux
   service function will not be SFC encapsulated, but will instead have
   IP headers containing locally owned destination addresses.

   Alternatively, if the composite service function is nested within a
   service function chaining hierarchy, then packets destined for the
   composite service function could have been classified by an upstream
   (frame/packet-based) ingress classifier.  In this case, the packets
   arriving from at the demux service function will have SFC
   encapsulation headers.  Decomposed service function chain ID
   selection must take into account the need for any egress SFC
   encapsulation required for propagating data to a next service
   function in the higher level service function chain.





Ma & Parker             Expires February 12, 2015               [Page 5]

Internet-Draft              SFC Decomposition                August 2014


   For simplicity, the examples in this document do not make any
   assumptions about the ingress path of packets destined for the demux
   service function or the egress next hop of packets released out of
   the remux service function; it should be understood that either
   direct addressing or SFC steering should work with decomposed service
   function chaining.

2.  Service Function Decomposition

   The following sections describe the use case, challenges, and
   solution requirements for decomposed service function chaining.

2.1.  HLS Use Case

   In an HLS live streaming session, the client polls a sliding window
   manifest file which indicates the most recent MPEG-TS segment files
   available for retrieval.  An HLS video optimization service function
   may perform CDN selection, request routing (RR), and/or SLB, as well
   as perform URL and HTTP header rewrite on both the manifest and
   segment requests.  For manifest responses, manifest manipulation may
   be used to perform ad insertion, rate limiting, or other user
   entitlement enforcement services.  For segment responses, segment
   manipulation may be used to perform internationalization (i.e.,
   alternate audio and/or subtitles), rate limiting, watermarking, etc.
   service.  Each of these service functions are applied at an
   application messaging layer, not at a L2/3 frame/packet layer.

   In a secure session, manifest requests are protected by TLS (i.e.,
   using HTTPS), while segment requests may not be if the segment files
   themselves are already encrypted.  Manifest and segment requests do
   not typically use persistent HTTP/1.x connections but could.
   HTTP/2.0 muxed streams with server push could also be used.  These
   each pose different issues for composite service function
   decomposition, as described below:

   o  HTTP/1.x (non-persistent): The different non-persistent connection
      flows (identified by TCP/IP 5-tuple) still need to be associated
      in order to apply user entitlements and to collect session
      analytics.  Manifest requests may also require TLS termination.

   o  HTTP/1.x (persistent): The requests for manifests and segments
      occur over the same persistent connection flow (identified by TCP/
      IP 5-tuple) have different processing requirements for request
      routing and content transformation.

   o  HTTP/2.0 (muxed): In addition to the separate processing
      requirements for request routing and content transformation, the
      interleaving of data frames for manifest and segment responses



Ma & Parker             Expires February 12, 2015               [Page 6]

Internet-Draft              SFC Decomposition                August 2014


      travelling over the same persistent connection flow (identified by
      TCP/IP 5-tuple) must be re-associated in real-time.

   o  HTTP/2.0 (server push): With server push, there is no longer a
      one-to-one correlation between request and response file which
      complicates reverse path mapping for bi-directional flows.

   For an HLS video optimization service to be decomposed, the
   individual packets associated with each message need to be identified
   and marked in a way that frame/packet-based SFC-aware devices can
   (and will) use to forward the frames/packets to the next component
   service function in the chain.

2.2.  Composite Service Function

   Using the most interesting case of HTTP/2.0 over TLS, with manifests
   and segments muxed on the same TCP connection and using server push,
   we can create a bidirectional composite service function as shown in
   the figures below.

           |                                   |
           | packets from client               | from previous in chain
           V                                   V
     +------------+           +----------------------------------+
     | classifier |           |  Opaque composite service       |
     +------------+           |  - front-end TLS termination     |
         |   |                |  - Subscriber Entitlement lookup |
         |   +--------------->|  - CDN Request Routing/SLB       |
         |     n-tuple match  |  - HTTP header rewrite           |
         |                    |  - HTTP URL rewrite              |
         |                    |  - back-end TLS termination      |
         |                    +----------------------------------+
         |                                     |
         | no match                            | packets to server
         | (alternate chain)                   | (to next in chain)
         V                                     V

   The ingress path (classified using a 3 or 5-tuple match on the front-
   end TLS connection) terminates TLS, extracts user credentials, looks
   up subscriber information, enforces subscriber entitlements, performs
   RR/SLB, updates the URL and request headers then forwards the request
   to the server, along the chain, over TLS.









Ma & Parker             Expires February 12, 2015               [Page 7]

Internet-Draft              SFC Decomposition                August 2014


           |                                   |
           | packets from server               | from previous in chain
           V                                   V
     +------------+           +----------------------------------+
     | classifier |           |  Opaque composite service       |
     +------------+           |  - back-end TLS termination      |
         |   |                |  - HLS policy enforcement        |
         |   +--------------->|  - HLS manifest rewrite/         |
         |     reverse path   |    segment decrypt/remux         |
         |     5-tuple match  |  - analytics and accounting      |
         |                    |  - front-end TLS termination     |
         |                    +----------------------------------+
         |                                     |
         | no match                            | packets to client
         | (alternate chain)                   | (to next in chain)
         V                                     V

   The egress path (classified using a 5-tuple match on the back-end TLS
   connection) receives content on the TLS connection it initiated,
   reconstructs the manifest/segment file, looks up subscriber
   information, enforces subscriber entitlements, and depending on the
   type of file, performs manifest/segment manipulation and records
   session analytics, then forwards the request to the client (along the
   chain), over the original TLS connection.

2.3.  Non-SFC Service Decomposition

   Service decomposition could be accomplished without SFC, using the
   traditional means of either VLAN stitching or statically configured
   next hop IP addresses.  These methods suffer from all the limitations
   described in the SFC Problem Statement
   [I-D.quinn-sfc-problem-statement] document.  An example decomposition
   is shown in the figures below.


















Ma & Parker             Expires February 12, 2015               [Page 8]

Internet-Draft              SFC Decomposition                August 2014


           |                                   |
           | packets from client               | from previous in chain
           V                                   |
     +------------+                            |
     | classifier |                            V
     +------------+           +----------------------------------+
             |                |  Independent component service 1 |
             +--------------->|  - front-end TLS termination     |
               n-tuple match  |  - Service Request Routing       |
                              +----------------------------------+
                                               |
             +---------------------------------+
             |
             V
     +------------+           +----------------------------------+
     | classifier |           |  Independent component service 2 |
     +------------+           |  - Subscriber Entitlement lookup |
             |                |  - CDN Request Routing/SLB       |
             +--------------->|  - HTTP header rewrite           |
               n-tuple match  |  - HTTP URL rewrite              |
                              |  - Service Request Routing       |
                              +----------------------------------+
                                               |
             +---------------------------------+
             |
             V
     +------------+
     | classifier |
     +------------+           +----------------------------------+
             |                |  Independent component service 3 |
             +--------------->|  - back-end TLS termination      |
               n-tuple match  |                                  |
                              +----------------------------------+
                                               |
                                               | packets to server
                                               | (to next in chain)
                                               V

   The ingress path is divided into three independent component service
   functions, splitting out the front-end and back-end TLS processing
   which is not HLS video delivery specific and may be commoditized.
   (The two TLS processing service functions may actually be two
   separate instantiations of the same service.)  The subscriber
   entitlement enforcement, RR/SLB, and URL/headers updates are
   performed by a separate independent service function.






Ma & Parker             Expires February 12, 2015               [Page 9]

Internet-Draft              SFC Decomposition                August 2014


           |                                   |
           | packets from server               | from previous in chain
           V                                   |
     +------------+                            |
     | classifier |                            V
     +------------+           +----------------------------------+
             |                |  Independent component service 3 |
             +--------------->|  - back-end TLS termination      |
               reverse path   |  - HTTP Response Demux           |
               5-tuple match  |  - Service Request Routing       |
                              +----------------------------------+
                                               |
             +---------------------------------+
             |
             V
     +------------+           +----------------------------------+
     | classifier |           |  Independent component service 4 |
     +------------+           |  - Subscriber Entitlement lookup |
             |          (M1)  |  - HLS policy enforcement        |
             +--------------->|  - HLS manifest rewrite          |
             | reverse path   |  - analytics and accounting      |
             | 5-tuple match  |  - Service Request Routing       |
        (S2) |                +----------------------------------+
             V                                 |
     +----------------------------------+      |
     |  Independent component service 5 |      |
     |  - Subscriber Entitlement lookup |      |
     |  - HLS policy enforcement        |      |
     |  - segment decrypt/remux         |      |
     |  - analytics and accounting      |      |
     |  - Service Request Routing       |      |
     +----------------------------------+      |
                      |                        |
             +--------+------------------------+
             |
             V
     +------------+
     | classifier |
     +------------+           +----------------------------------+
             |       (M1/S2)  |  Independent component service 1 |
             +--------------->|  - front-end TLS termination     |
               reverse path   |                                  |
               5-tuple match  +----------------------------------+
                                               |
                                               | packets to client
                                               | (to next in chain)
                                               V




Ma & Parker             Expires February 12, 2015              [Page 10]

Internet-Draft              SFC Decomposition                August 2014


   The egress path is divided into four independent component service
   functions, splitting out the front-end and back-end TLS processing
   (identical to the ingress path, just in reverse order) as well as
   separating manifest and segment manipulation functions, given the
   different resource requirements associated with each function.

   Note: The HTTP response demux could be separated out from the back-
   end TLS service function, however, they are left combined in this
   example for simplicity.  The key point is that demuxing from a single
   TCP session occurs and the traffic is split between more than one
   downstream path.

   It should be noted that after each of the independent service
   functions, re-classification is required.  In the case of the two TLS
   SFs, TCP termination is required in order to terminate the front-end
   and back-end TLS sessions.  In the case of the RR/SLB SF, though TCP
   termination is not explicitly required to deal with the differences
   that result from content rewrite, the decision as to whether or not
   back-end TLS is required relies on message-level processing and
   cannot be determined by the frame/packet-based classifier.  Given
   these considerations, the sequence of SFs 1, 2, and 3 cannot be
   assembled into an single service function chain.  Instead, each of
   the three hops in the path must be evaluated as independent service
   function chains, each composed of a single SF.

   Similar to the ingress RR/SLB case, the return path manifest and
   segment processing requires message-level parsing to determine the
   next hop service function.  This cannot be accomplished by the frame/
   packet-based classifier.  Unique to the egress case, in this example,
   are the split service functions for manifest and segment processing
   which require independent TCP connections from the back-end TLS
   service function to the next hop SF for each file received.
   Multiplexed server response data must be separated and forwarded on
   the proper TCP connection to support downstream re-classification.

   Though a service function chain could be used between the back-end
   and front-end TLS SFs, front-end TLS session reuse requires
   correlation between the individual TCP connections from the back-end
   TLS SF with the associated front-end TLS session.  Though it has been
   suggested that this is a control plane issue, such a suggestion
   implies that the back-end TLS SF would need to dynamically create a
   different service function chain for each response file so that their
   association to the front-end TLS session might be propagated.  Such
   an approach, however, would likely be performance prohibitive.  An
   alternate approach described herein is to use SFC metadata to
   encapsulate mid-chain flow identifiers for de/re-multiplexing of
   split-chain data.




Ma & Parker             Expires February 12, 2015              [Page 11]

Internet-Draft              SFC Decomposition                August 2014


2.4.  SFC Service Decomposition

   In order to take advantage of SFC for the egress path in the example
   use case described above, two additional pieces of information are
   required, i.e., an identifier for the front-end TLS session and
   message identifiers for the individual manifest and segment response
   files.  Each frame/packet sent between the back-end TLS service
   function and the front-end TLS service function should include:

   o  Split Chain ID: The decomposed service function chain identifier
      associated with one of the split paths selected by the demux
      service function.

   o  Ingress Flow ID: An identifier provided by the remux service
      function to the demux service function prior to reverse direction
      demuxing and split chain delivery.

   o  Message Sequence Number: An identifier added by the demux service
      function which associate the frames/packets for a given message,
      as well as conveys the order in which messages were received by
      the demux service function.

   On the ingress path, the ingress flow ID (associated with the front-
   end TLS session) needs to be conveyed by the front-end TLS service
   function and propogated by all service functions along the ingress
   path.  When application layer connection termination or re-
   classification occurs, the ingress flow ID must either be persistent
   across the intermediate service function, or reverse path translated
   and mapped.  A reserved service function chain identifier may be used
   to accompany metadata across re-classifications.

   On the ingress path, for a front-end TLS session X, the following
   table shows the SFC ID, flow ID, and message sequence number, for two
   HTTP messages (each consisting of multiple TCP/IP packets) traversing
   service functions 1, 2, and 3.  Along each hop, the FLOW_RES SFC ID
   is used to convey the ingress flow ID X from service function 1 to
   service function 3.

            +--------+--------+----------+---------+----------+
            | src SF | dst SF | SFC ID   | Flow ID | Mesg Seq |
            +--------+--------+----------+---------+----------+
            | 1      | 2      | FLOW_RES | X       | 1        |
            | 2      | 3      | FLOW_RES | X       | 1        |
            | 1      | 2      | FLOW_RES | X       | 2        |
            | 2      | 3      | FLOW_RES | X       | 2        |
            +--------+--------+----------+---------+----------+





Ma & Parker             Expires February 12, 2015              [Page 12]

Internet-Draft              SFC Decomposition                August 2014


   On the egress path, for front-end TLS session X, the following table
   table shows the SFC ID, flow ID, and message sequence number, for
   four HTTP messages (each consisting of multiple TCP/IP packets)
   traversing service functions 3, 4, 5, and 1.  Two of the messages
   (i.e., 1 and 3) are statefully classified as manifest files for flow
   X, traversing service functions 3, 4, and 1, represented by SFC ID
   M1.  The other two messages (i.e., 2 and 4) are statefully classified
   as segment files for flow X, traversing service functions 3, 5, and
   1, represented by SFC ID S2.  In all cases, the flow ID X is
   included, corresponding to the ingress HTTP flow ID.

             +--------+--------+--------+---------+----------+
             | src SF | dst SF | SFC ID | Flow ID | Mesg Seq |
             +--------+--------+--------+---------+----------+
             | 3      | 4      | M1     | X       | 1        |
             | 4      | 1      | M1     | X       | 1        |
             | 3      | 5      | S2     | X       | 2        |
             | 5      | 1      | S2     | X       | 2        |
             | 3      | 4      | M1     | X       | 3        |
             | 4      | 1      | M1     | X       | 3        |
             | 3      | 5      | S2     | X       | 4        |
             | 5      | 1      | S2     | X       | 4        |
             +--------+--------+--------+---------+----------+

3.  IANA Considerations

   This memo includes no request to IANA.

4.  Security Considerations

   TBD.

5.  Privacy Considerations

   TBD.

6.  Acknowledgements

   The authors would like to thank Dan Biagini for his helpful review
   comments.

7.  References

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.




Ma & Parker             Expires February 12, 2015              [Page 13]

Internet-Draft              SFC Decomposition                August 2014


7.2.  Informative References

   [I-D.ietf-httpbis-http2]
              Belshe, M., Peon, R., and M. Thomson, "Hypertext Transfer
              Protocol version 2", draft-ietf-httpbis-http2-14 (work in
              progress), July 2014.

   [I-D.pantos-http-live-streaming]
              Pantos, R., "HTTP Live Streaming", draft-pantos-http-live-
              streaming-13 (work in progress), April 2014.

   [I-D.quinn-sfc-arch]
              Quinn, P. and J. Halpern, "Service Function Chaining (SFC)
              Architecture", draft-quinn-sfc-arch-05 (work in progress),
              May 2014.

   [I-D.quinn-sfc-problem-statement]
              Quinn, P., "Service Function Chaining Problem Statement",
              draft-quinn-sfc-problem-statement-02 (work in progress),
              December 2013.

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

Authors' Addresses

   Kevin J. Ma
   Ericsson
   43 Nagog Park
   Acton, MA  01720
   USA

   Phone: +1 978-844-5100
   Email: kevin.j.ma@ericsson.com


   Ron Parker
   Affirmed Networks
   35 Nagog Park
   Acton, MA  01720
   USA

   Phone: +1 978-268-0800
   Email: ron_parker@affirmednetworks.com






Ma & Parker             Expires February 12, 2015              [Page 14]