Service Function Chaining                                        W. Meng
Internet-Draft                                                   C. Wang
Intended status: Informational                           ZTE Corporation
Expires: August 17, 2014                                   B. Khasnabish
                                                            ZTE TX, Inc.
                                                       February 13, 2014


            Service Function Chaining Use Cases in Broadband
                  draft-meng-sfc-broadband-usecases-00

Abstract

   This document discusses about service function use cases in different
   scenarios for each part of broadband network.  They are based on the
   requirements of providing existing broadband services in NAT(v4v6-
   coexisting or IPv6-only) and firewall and AAA.  The document provides
   analysis of different solutions and also describes the suitable
   scenarios that each solution may be deployed in.

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 August 17, 2014.

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
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Meng, et al.             Expires August 17, 2014                [Page 1]


Internet-Draft     Service Function Chaining Use Cases     February 2014


   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.  Convention and Terminology . . . . . . . . . . . . . . . . . .  4
   3.  Use cases  . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     3.1.  CGN  . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
       3.1.1.  Simple NAT44 . . . . . . . . . . . . . . . . . . . . .  5
       3.1.2.  DS-Lite  . . . . . . . . . . . . . . . . . . . . . . .  5
       3.1.3.  MAP-E/Lightweight 4o6  . . . . . . . . . . . . . . . .  7
       3.1.4.  NAT64  . . . . . . . . . . . . . . . . . . . . . . . .  9
     3.2.  Firewall . . . . . . . . . . . . . . . . . . . . . . . . .  9
     3.3.  AAA  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
   4.  Considerations . . . . . . . . . . . . . . . . . . . . . . . . 11
     4.1.  Service Function Chains  . . . . . . . . . . . . . . . . . 11
     4.2.  Deploying consideration  . . . . . . . . . . . . . . . . . 11
       4.2.1.  Standalone mode  . . . . . . . . . . . . . . . . . . . 11
       4.2.2.  Directly connecting mode . . . . . . . . . . . . . . . 13
     4.3.  Pool consideration . . . . . . . . . . . . . . . . . . . . 15
     4.4.  NAT traversal  . . . . . . . . . . . . . . . . . . . . . . 15
     4.5.  Unify home router  . . . . . . . . . . . . . . . . . . . . 15
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 16
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17
   7.  Normative References . . . . . . . . . . . . . . . . . . . . . 18
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19






















Meng, et al.             Expires August 17, 2014                [Page 2]


Internet-Draft     Service Function Chaining Use Cases     February 2014


1.  Introduction

   As we known, one of the largest parts of the internet participants is
   broadband subscriber.  Because the global IPv4 addresses is
   depleting, and most of the internet contents and applications are not
   ready yet, carrier graded NAT technologies and Large Scale NAT
   devices (LSN) may be deployed in the broadband network during the
   initial stage of the IPv6 transition.

   This document is aimed to analyze the possible NAT and firewall and
   AAA service function solutions in every part of the broadband network
   with considering its features.  And it also provides the applicable
   scenarios for each solution.

   The object is trying to unload services from nodes in traditional
   broadband network and deal with such services through service
   function chains.


































Meng, et al.             Expires August 17, 2014                [Page 3]


Internet-Draft     Service Function Chaining Use Cases     February 2014


2.  Convention and Terminology

   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 [RFC2119].

   The terms about CGN/DS-Lite/Lightweight 4o6/MAP/NAT64 are defined in
   [RFC6888]/[RFC6333]/ [I-D.ietf-softwire-lw4over6]/
   [I-D.ietf-softwire-map]/ [RFC6146].

   The terms about SFC are defined in [I-D.ietf-sfc-problem-statement].








































Meng, et al.             Expires August 17, 2014                [Page 4]


Internet-Draft     Service Function Chaining Use Cases     February 2014


3.  Use cases

3.1.  CGN

3.1.1.  Simple NAT44

   Figure 1 illustrates in a simple NAT44 scenario how SF-NAT deployed.

                                 .
                                 :
                                 |
                 ............... |
              External realm     |
              ISP network-->     |-------------+
                                 |        ++---|--++
                                 |        | SF-NAT |
                                 |        ++---|--++
                                 |-------------+
                             ++--|----+
                 ........... |  BNAS  |
             Internal realm  ++------++
                               |    |
              ISP network-->   |    |
                               |    |
                       ++------++  ++------++
                       |  CPE1  |  |  CPE2  |  etc.
                       ++------++  ++------++

                          Figure 1: Simple NAT44

   In broadband networks, SF-NAT may be deployed beside BNAS.  These
   service nodes may contain SF-NAT and other service functions
   instances.

3.1.2.  DS-Lite

   Figure 2 describes a scenario of DS-lite.














Meng, et al.             Expires August 17, 2014                [Page 5]


Internet-Draft     Service Function Chaining Use Cases     February 2014


                     +-----------+
                     |    Host   |
                     +-----+-----+
                           |
                 +---------|---------+
                 |        CPE        |
                 +---------|---------+
                           +-----------------+
                           |           +-----|------+
                           |           | SF-SOFTWIRE|
                           |           +-----|------+
                           +-----------------+
                          |||
                          |||<-IPv4-in-IPv6 softwire
                          |||
                 +--------|||--------+
                 |        BNAS       |
                 +--------|||--------+
                           +----------------------+
                           |           +----------|----------+
                           |           |     SF-SOFTWIRE     |
                           |           |        SF-NAT       |
                           |           +----------|----------+
                           +-----------------+
                           |
                           |
                   --------|--------
                 /         |         \
                |       Internet      |
                 \         |         /
                   --------|--------
                           |
                           |
                     +-----+-----+
                     | IPv4 Host |
                     +-----------+

                             Figure 2: DS-Lite

   When the outbound datagram is received by the CPE, the CPE sends it
   to a specific classifier which determines the datagram should be
   forwarded directly or dealed with DS-Lite process.  Then the
   classifier sends the datagram within service header encapsulated to
   the first element of SFP which contains SF-SOFTWIRE instance.

   Next, the BNAS receives the processed datagram, the BNAS sends it to
   a classifier and finds it need to be dealed with DS-Lite process.




Meng, et al.             Expires August 17, 2014                [Page 6]


Internet-Draft     Service Function Chaining Use Cases     February 2014


   The SF-NAT creates and maintains the NAT mapping table.  That is to
   say, BNAS, itself, would not be aware of any stateful sessions.

3.1.3.  MAP-E/Lightweight 4o6

                      +-----------+
                      |    Host   |
                      +-----+-----+
                            |
                  +---------|---------+
                  |        CPE        |
                  +---------|---------+
                            +-----------------+
                            |           +-----|------+
                            |           |   SF-NAT   |
                            |           | SF-SOFTWIRE|
                            |           +-----|------+
                            +-----------------+
                           |||
                           |||<-IPv4-in-IPv6 softwire
                           |||
                  +--------|||--------+
                  |        BNAS       |
                  +--------|||--------+
                            +----------------------+
                            |           +----------|----------+
                            |           |     SF-SOFTWIRE     |
                            |           | SF-BINDING(SF-MAPE) |
                            |           +----------|----------+
                            +----------------------+
                            |
                            |
                    --------|--------
                  /         |         \
                 |       Internet      |
                  \         |         /
                    --------|--------
                            |
                            |
                      +-----+-----+
                      | IPv4 Host |
                      +-----------+


                      Figure 3: MAP-E/Lightweight 4o6

   The main difference between Lightweight 4o6/MAP-E and DS-Lite is
   where NAT happens, which results in that Lightweight 4o6/MAP-E



Meng, et al.             Expires August 17, 2014                [Page 7]


Internet-Draft     Service Function Chaining Use Cases     February 2014


   realizes NAT on the CPE, and then encapsulates translated IPv4
   datagram in IPv6 Header and finally propagates the IPv4-in-IPv6
   datagram in IPv6 tunnel to BNAS device.

   That is to say, for outbound traffic in lw4o6 SFC scenario, When the
   datagram 1 is received by the home router, the CPE sends it to a
   specific classifier named which determines the datagram should be
   forwarded directly or dealed with lw4o6 process.  Then the classifier
   sends the datagram within service header encapsulated to the first
   element of this SFP: SF-NAT.  SF-NAT translates the IPv4 datagram and
   forwards translated IPv4 datagram to SF-SOFTWIRE, which encapsulates
   the datagram with the lwAFTR's IPv6 address as IPv6 encapsulated
   header and forwards this IPv4-in-IPv6 datagram (datagram 2) to the
   BNAS device.

   When the BNAS device receives such an IPv4-in-IPv6 datagram, the BNAS
   device sends it to a classifier and finds it need to be dealed with
   Lightweight 4o6 process.  Then the classifier sends the datagram
   within service header encapsulated to the first element of SFP: SF-
   BINDING.  This SF-BINDING creates a binding table about Lightweight
   4o6 and decapsulates this datagram, and then propagates the datagram
   to internet.

   For outbound traffic in MAP-E SFC scenario, When the datagram 1 is
   received by the CPE, the CPE sends it to a specific classifier named
   which determines the datagram should be forwarded directly or dealed
   with MAP-E process.  Then the classifier sends the datagram within
   service header encapsulated to the first element of this SFP: SF-NAT.
   SF-NAT translates the IPv4 datagram and forwards translated IPv4
   datagram to SF-MAPE, which utilizes the MAP-E rules to encapsulate
   the datagram with the MAP BR's IPv6 address as IPv6 encapsulated
   header and forwards this IPv4- in-IPv6 datagram (datagram 2) to the
   BNAS device.

   When the BNAS device receives datagram 2, the BNAS device sends it to
   a classifier and finds it need to be dealed with MAP-E process.  Then
   the classifier sends the datagram within service header encapsulated
   to the first element of SFP:SF-MAPE.  This SF-MAPE utilizes the MAP-E
   rules to extract the IPv4 datagram, and then propagates the datagram
   to internet.











Meng, et al.             Expires August 17, 2014                [Page 8]


Internet-Draft     Service Function Chaining Use Cases     February 2014


3.1.4.  NAT64

                      +-----------+
                      |    Host   |
                      +-----+-----+
                            |
                  +---------|---------+
                  |        CPE        |
                  +---------|---------+
                    --------|--------
                  /         |         \
                 |    IPv6 Network    |
                  \         |         /
                    --------|--------
                            |
                  +---------|---------+        +------------+
                  |        BNAS       |        |DNS64 Server|
                  +---------|---------+        +------------+
                            +-----------+
                            |     +-----|------+
                            |     |   SF-NAT64 |
                            |     +-----|------+
                            +-----------+
                    --------|--------
                  /         |         \
                 |    IPv4 Internet    |
                  \         |         /
                    --------|--------

                              Figure 4: NAT64

   NAT64 scenario is similar with the scenario of simple NAT44.  The
   only difference is SF-NAT64 should maintain rules that indicate how
   to translate a des-IPv6-address to an IPv4 address using a specific
   prefix64::/n.

3.2.  Firewall

   TBD

3.3.  AAA

   Figure 5 illustrates in a scenario how SF-SUBSCRIBER deployed.








Meng, et al.             Expires August 17, 2014                [Page 9]


Internet-Draft     Service Function Chaining Use Cases     February 2014


                      +-----------+
                      |    Host   |
                      +-----+-----+
                            |
                  +---------|---------+
                  |        CPE        |
                  +---------|---------+
                            |
                            |
                  +---------|---------+
                  |        BNAS       |
                  +---------|---------+
                            +------------+
                            |     +------|------+
                            |     |SF-SUBSCRIBER|
                            |     +------.------+
                            |            ..........
                    --------|--------             .
                  /         |         \           .
                 |       Internet      |    +-----.------+
                  \         |         /     | AAA Server |
                    --------|--------       +------------+

                               Figure 5: AAA

   Under this scenario, BNAS entrusted service node which contains SF-
   SUBSCRIBER instance with the task of AAA client.  A node contains SF-
   SUBSCRIBER can create a RADIUS session with AAA server.  The messages
   and processes of RADIUS between AAA server and SF-SUBSCRIBER are
   quite the same with existing process.

   The biggest advantage to this consideration is that BNAS is non-
   subscriber-aware.  All subscriber status is maintained in service
   node which contains SF-SUBSCRIBER instance.

















Meng, et al.             Expires August 17, 2014               [Page 10]


Internet-Draft     Service Function Chaining Use Cases     February 2014


4.  Considerations

4.1.  Service Function Chains

   A complete end-to-end access in broadband network should consist of a
   set of service function instances in a specific order.  Such as:

   a.1.  Outbound : SF-SUBSCRIBER -> SF-NAT

   Inbound : SF-NAT -> SF-SUBSCRIBER

   a.2.  Outbound : SF-SOFTWIRE -> SF-SUBSCRIBER -> SF-SOFTWIRE -> SF-
   NAT

   Inbound : SF-NAT -> SF- SUBSCRIBER -> SF-SOFTWIRE -> SF-SOFTWIRE

   a.3.  Outbound : SF-SUBSCRIBER -> SF-FIREWALL6 -> SF-NAT64

   Inbound : SF-FIREWALL4 -> SF-NAT64 -> SF-SUBSCRIBER

   etc.

4.2.  Deploying consideration

4.2.1.  Standalone mode

   In broadband networks, service function components are hanging next
   to routers such as CPEs/BNASs/CRs.  All traffics would be received
   and steered by routers.  Routers send the traffic to classifier in
   which traffic that matches classification criteria is forwarded along
   a given SFP to realize the specifications of an SFC.




















Meng, et al.             Expires August 17, 2014               [Page 11]


Internet-Draft     Service Function Chaining Use Cases     February 2014


                         +-----------+
                         |    Host   |
                         +-----+-----+
                               |
                               |
                     +---------|---------+    +-------------------+
                     |                   |    |    -------------  |
                     |        CPE        ----->   |    SFP      | |
                     |                   <-----   --------------  |
                     +---------|---------+    +-------------------+
                               |
                               |
                       --------|-------
                     /         |         \
                    |   ISP core network  |
                     \         |         /
                       ------- | -------
                               |
                               |
                     +---------|---------+    +-------------------+
                     |                   |    |    -----------    |
                     |       BNAS        |---->   |   SFP     |   |
                     |                   <----|    -----------    |
                     +---------|---------+    +-------------------+
                               |
                               |
                       --------|--------
                     /         |         \
                    |       Internet      |
                     \         |         /
                       --------|--------


                         Figure 6: Standalone mode

   Take DS-Lite CGN for example.

   Outbound traffic:

   In the example shown in Figure X, a datagram received by the CPE from
   the host at address 10.0.0.1, using TCP DST port 10000, will be
   translated to a datagram with IPv4 SRC address 192.0.2.1 and TCP SRC
   port 5000 in the Internet.

   When the datagram 1 is received by the CPE, the CPE sent it to a
   specific classifier which determines the datagram should be forwarded
   directly or dealed with DS-Lite process.  Then the classifier sends
   the datagram within service header encapsulated to the first element



Meng, et al.             Expires August 17, 2014               [Page 12]


Internet-Draft     Service Function Chaining Use Cases     February 2014


   of SFP.  SF-SOFTWIRE encapsulates the datagram in another datagram
   (datagram 2) and forwards it BACK to CPE over the softwire.  The
   datagram 2 would be sent to the Dual-Stack Lite carrier-grade NAT by
   CPE.

   When the BNAS receives datagram 2, the BNAS sends it to a classifier
   and find it need to be dealed with DS-Lite process.  Then the
   classifier send the datagram within service header encapsulated to
   the first element of SFP.

   SF-SOFTWIRE decapsulates the datagram 2 to datagram 1 and forwards it
   SF-NAT, which determines from its NAT table that the datagram
   received on the softwire with TCP SRC port 10000 should be translated
   to datagram 3 with IPv4 SRC address 192.0.2.1 and TCP SRC port 5000.

   The translated datagram would be also sent back to BNAS for next
   forwarding.

   Inbound traffic:

   Figure x shows an inbound message received at the classifer.  When
   the BNAS receives datagram 1, the BNAS sends it to a classifier.
   Then the classifier sends the datagram within service header
   encapsulated to the first element of SFP.  SF- NAT looks up the IP/
   TCP DST information in its translation table.  In the example in
   Figure 3, the NAT changes the TCP DST port to 10000, sets the IP DST
   address to 10.0.0.1, and it will be sent back to BNAS to forwards the
   datagram to the softwire.  The SF-SOFTWIRE of the CPE decapsulates
   the IPv4 datagram inbound softwire datagram and forwards it to the
   host.

4.2.2.  Directly connecting mode

   There is another mode to deploy service function components.  In
   broadband home networks, service function components are directly
   connected to the network.  They are connected straight to a BNAS or
   Routers.

   Under this scenario, it seems like more costly than standalone mode
   during transition period.











Meng, et al.             Expires August 17, 2014               [Page 13]


Internet-Draft     Service Function Chaining Use Cases     February 2014


                      |  +-----------+
                     out |    Host   |
                      |  +-----+-----+
                      v        |
                     +---------|---------+     +-------------+
                     |                   |-out->classifier A |
                     |                   |     +------|------+
                     |        CPE        |            |
                     |                   |            |
                     |                   |           out
                     +---------/\--------+            |
                               ||                     |
                               +<===== in =====+------v------+
                                               |             |
                                               |     SFP  A  |
                                               |             |
                               +<----- out-----+------/\-----+
                               |                      ||
                     +---------v---------+            ||
                     |                   |            ||
                     |                   |            ||
                     |       BNAS        |            ||
                     |                   |     +------||-----+
                     |                   |==in=>classifier B |
                     +---------|---------+     +-------------+
                       --------|--------   /\
                     /         |         \ ||
                    |    METRO NETWORK   | in
                     \         |         / ||
                      ---------^--------
                               .
                               .
                     +---------+---------+
                     |                   |
                     |                   |    +-------------+
                     |         CR        |    |    SFP N    |
                     |                   |    +-------------+
                     |                   |
                     +-------------------+


                    Figure 7: Directly connecting mode

   Take NAT44 for example.

   Outbound traffic:

   For directly connecting mode, the difference in dealing with traffic



Meng, et al.             Expires August 17, 2014               [Page 14]


Internet-Draft     Service Function Chaining Use Cases     February 2014


   is whether the network steer the traffic loopback.  That means
   service function node could send datagrams directly to the next hop.

   For example, when the outbound datagram is received by the BNAS and
   processed by classifer A and SF-NAT which forward the processed
   datagram straight next to router.

   Inbound traffic:

   It is quite similar with the process of dealing with outbound
   traffic. when the inbound datagram is received by the router and
   processed by classifer B and SF-NAT which forward the processed
   datagram straight next to NAT BNAS.

4.3.  Pool consideration

   In traditional networks, pools are configured in router one by one.
   Pool configuration means these IP addresses in each pool MUST be
   advertised for creating forward routing path to ensures that the
   message is routed to the correct target, especially to inbound
   traffic.  Thus, pool location is a problem we must face to in SFC
   framework.

   In standalone mode shown in figure 6, pool could be configured in the
   classifier beside gateway and advertised by the gateway itself.  The
   classifier would assign IP addresses to service functions for
   creating mapping table.  Both-bound traffic should be forward to
   gateway first and then for NAT treatment in relative service function
   components.

   In Directly connecting mode shown in figure 7, pool could be
   configured in classifier B and advertised by classifier B for
   creating inbound routing path.

   There is a mechanism to manage the address pools centrally.  Pools
   could be assigned to classifiers by management server which is
   handled by Operators centrally.

4.4.  NAT traversal

   TBD

4.5.  Unify home router

   TBD






Meng, et al.             Expires August 17, 2014               [Page 15]


Internet-Draft     Service Function Chaining Use Cases     February 2014


5.  IANA Considerations

   This memo includes no request to IANA.
















































Meng, et al.             Expires August 17, 2014               [Page 16]


Internet-Draft     Service Function Chaining Use Cases     February 2014


6.  Security Considerations

   TBD
















































Meng, et al.             Expires August 17, 2014               [Page 17]


Internet-Draft     Service Function Chaining Use Cases     February 2014


7.  Normative References

   [I-D.ietf-sfc-problem-statement]
              Quinn, P. and T. Nadeau, "Service Function Chaining
              Problem Statement", draft-ietf-sfc-problem-statement-00
              (work in progress), January 2014.

   [I-D.ietf-softwire-lw4over6]
              Cui, Y., Qiong, Q., Boucadair, M., Tsou, T., Lee, Y., and
              I. Farrer, "Lightweight 4over6: An Extension to the DS-
              Lite Architecture", draft-ietf-softwire-lw4over6-06 (work
              in progress), February 2014.

   [I-D.ietf-softwire-map]
              Troan, O., Dec, W., Li, X., Bao, C., Matsushima, S.,
              Murakami, T., and T. Taylor, "Mapping of Address and Port
              with Encapsulation (MAP)", draft-ietf-softwire-map-10
              (work in progress), January 2014.

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

   [RFC2865]  Rigney, C., Willens, S., Rubens, A., and W. Simpson,
              "Remote Authentication Dial In User Service (RADIUS)",
              RFC 2865, June 2000.

   [RFC6052]  Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
              Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
              October 2010.

   [RFC6146]  Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful
              NAT64: Network Address and Protocol Translation from IPv6
              Clients to IPv4 Servers", RFC 6146, April 2011.

   [RFC6333]  Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
              Stack Lite Broadband Deployments Following IPv4
              Exhaustion", RFC 6333, August 2011.

   [RFC6519]  Maglione, R. and A. Durand, "RADIUS Extensions for Dual-
              Stack Lite", RFC 6519, February 2012.

   [RFC6888]  Perreault, S., Yamagata, I., Miyakawa, S., Nakagawa, A.,
              and H. Ashida, "Common Requirements for Carrier-Grade NATs
              (CGNs)", BCP 127, RFC 6888, April 2013.







Meng, et al.             Expires August 17, 2014               [Page 18]


Internet-Draft     Service Function Chaining Use Cases     February 2014


Authors' Addresses

   Wei Meng
   ZTE Corporation
   No.50 Software Avenue, Yuhuatai District
   Nanjing
   China

   Email: meng.wei2@zte.com.cn,vally.meng@gmail.com


   Cui Wang
   ZTE Corporation
   No.50 Software Avenue, Yuhuatai District
   Nanjing
   China

   Email: wang.cui1@zte.com.cn


   Bhumip Khasnabish
   ZTE TX, Inc.
   55 Madison Avenue, Suite 160
   Morristown, New Jersey  07960
   USA

   Email: bhumip.khasnabish@ztetx.com
























Meng, et al.             Expires August 17, 2014               [Page 19]