Internet DRAFT - draft-dolson-sfc-vlan

draft-dolson-sfc-vlan



 



INTERNET-DRAFT                                              David Dolson
Intended Status: Informational                                  Sandvine
Expires: August 18, 2014                               February 14, 2014


                     VLAN Service Function Chaining
                        draft-dolson-sfc-vlan-00


Abstract

   This document describes an implementation of Service Function Chains
   (SFC) utilizing standard VLAN switching, appropriate for bump-in-the-
   wire Service Function nodes.


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/1id-abstracts.html

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


Copyright and License 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
 


David Dolson            Expires August 18, 2014                 [Page 1]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


   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
     1.1  Terminology . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Network Architecture . . . . . . . . . . . . . . . . . . . . .  4
     2.1 Assumptions about Service Functions  . . . . . . . . . . . .  5
     2.2 Configuration of the Switch  . . . . . . . . . . . . . . . .  5
   3 Configuration at the Classifier  . . . . . . . . . . . . . . . .  7
     3.1 Sequence . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.2 Group  . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     3.3 Rule and Action  . . . . . . . . . . . . . . . . . . . . . .  8
   4  Security Considerations . . . . . . . . . . . . . . . . . . . .  9
   5  IANA Considerations . . . . . . . . . . . . . . . . . . . . . .  9
   6  References  . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     6.1  Normative References  . . . . . . . . . . . . . . . . . . .  9
     6.2  Informative References  . . . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  9
























 


David Dolson            Expires August 18, 2014                 [Page 2]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


1  Introduction

   In the interest of sharing what we have learned, this document
   describes an approach to service chaining that Sandvine has been
   using for several years. The approach utilizes Ethernet VLAN tags to
   identify individual service chain instances.

   We find VLAN technology to be sufficient for some use cases, with
   simple requirements on the Service Function.


1.1  Terminology

   Although Sandvine products use different nomenclature, this document
   uses Service Function Chaining Architecture terminology [SFCarch],
   including "Classifier", "Service Function", "Service Function Chain".
































 


David Dolson            Expires August 18, 2014                 [Page 3]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


2.  Network Architecture


   Network diagram:

                     +---------------+
      Subscriber-----|  Classifier1  |------Internet
       network       +---------------+
                  MAC1, MAC2 |
                             |
                             |   +---------------+
               Subscriber--------|  Classifier2  |------Internet
                network      |   +---------------+
                             |          | MAC3, MAC4
                             |          |
                             |          |
             101,102,201,202 |          |101,102,201,202
          +-------------------------------------+
          |                  1          8       |
          |                                     |
          |              Switch                 |
          |                                     |
          |  2 3           4 5              6 7 |
          +-------------------------------------+
             | |           | |              | |
          101| |101        | |       101,102| |101,102
             | |    101,102| |101,102       | |
             | |           | |              | |
       +--------+       +--------+      +--------+
       |  SF A  |       |  SF B  |      |  SF C  |
       +--------+       +--------+      +--------+


          Figure 1: System involving 3 Service Functions. All
              switch interfaces are trunks. VLANs required
          for the examples in the tables below are indicated.

   For bidirectional traffic between a Subscriber network and the
   Internet, an operator may want various combinations of symmetric
   chains. E.g.,
      A<-->B<-->C
      A<-->B
      B<-->C
      C<-->A

   In the notation above, traffic from a subscriber enters the left SF
   first, passing to the right; traffic from the Internet enters the
   right SF first, passing to the left.
 


David Dolson            Expires August 18, 2014                 [Page 4]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


   Each Classifier has an interface into the SFC switching domain. This
   is a VLAN trunk interface having two Ethernet MAC addresses allowing
   packet direction to be specified.

   It should be noted that when referring to a bidirectional sequence,
   describing an ordered sequence of functions must always be qualified
   with a direction.

   After traffic exits a chain, it returns to the initiating Classifier.
   This is very useful for reasons of accounting and performing other
   actions after the service chain.

2.1 Assumptions about Service Functions

   Each service function node is assumed to be a bump-in-the-wire
   Ethernet device with the following properties:
      - the device has two interfaces, logically subscriber-side and
        Internet-side;
      - the device forwards Ethernet packets between the interfaces
        without modifying any aspect of the Ethernet header;
      - if the devices needs to inject packets that it has created for a
        particular connection, it uses Ethernet MAC addresses and VLANs
        previously observed for the connection;
      - the device may be capable of intersecting an Ethernet 802.1q
        trunk, in which case it can reside on more than one service
        chain.

2.2 Configuration of the Switch

   The solution requires the switch to be configured with a number of
   forwarding rules that consider the input interface and VLAN number to
   select the next output interface and new VLAN number.

   For example, the following rules implement a bidirectional path A<--
   >B<-->C through the 3 hosts from either Classifier in Figure 1:













 


David Dolson            Expires August 18, 2014                 [Page 5]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


   +---------+---------+------++---------+---------+
   | Rx Port | Rx VLAN | MAC  || Tx Port | Tx VLAN |
   +---------+---------+------++---------+---------+
   |       1 |     101 |   *  ||       2 |     101 |
   |       8 |     101 |   *  ||       2 |     101 |
   |       3 |     101 |   *  ||       4 |     101 |
   |       5 |     101 |   *  ||       6 |     101 |
   |       7 |     101 | MAC2 ||       1 |     201 |
   |       7 |     101 | MAC4 ||       8 |     201 |
   |       1 |     201 |   *  ||       7 |     101 |
   |       8 |     201 |   *  ||       7 |     101 |
   |       6 |     101 |   *  ||       5 |     101 |
   |       4 |     101 |   *  ||       3 |     101 |
   |       2 |     101 | MAC1 ||       1 |     101 |
   |       2 |     101 | MAC3 ||       8 |     101 |
   +---------+---------+------++---------+---------+

   Classifier1 sends a packet from the subscriber into this chain by
   inserting it on VLAN 101 from MAC1 to MAC2; it later receives the
   packet (or a modified packet) on VLAN 201. Classifier1 sends a packet
   from the Internet into this chain by inserting it on VLAN 201 from
   MAC2 to MAC1; it later receives the packet (or a modified packet) on
   VLAN 101.

   Similarly, Classifier2 makes use of MAC3 and MAC4 with VLANs 101 and
   201.

   It is important to note the symmetry of the paths taken. Packets sent
   to the switch port 1 VLAN 101 traverse each SF with the same VLAN
   number as packets sent to the switch port 1 VLAN 201.

   And these compatible rules implement a bidirectional path C<-->B
   through hosts C and B from either Classifier in Figure 1:

   +---------+---------+------++---------+---------+
   | Rx Port | Rx VLAN | MAC  || Tx Port | Tx VLAN |
   +---------+---------+------++---------+---------+
   |       1 |     102 | *    ||       6 |     102 |
   |       8 |     102 | *    ||       6 |     102 |
   |       7 |     102 | *    ||       4 |     102 |
   |       5 |     102 | MAC2 ||       1 |     202 |
   |       5 |     102 | MAC4 ||       8 |     202 |
   |       1 |     202 | *    ||       5 |     102 |
   |       4 |     102 | *    ||       7 |     102 |
   |       6 |     102 | MAC1 ||       1 |     102 |
   |       6 |     102 | MAC3 ||       8 |     102 |
   +---------+---------+------++---------+---------+

 


David Dolson            Expires August 18, 2014                 [Page 6]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


   There are many vendor-specific methods of achieving the
   configuration, ranging from manual CLI methods to methods that
   involve a Service Chaining Controller utilizing SDN.

3 Configuration at the Classifier

   Service Function Chains must be explicitly configured before they can
   be used in classifier rules at the SFC boundary. A classifier rule
   then names a chain in a "divert" action. ("Divert" is Sandvine
   terminology for sending a transport connection to a service chain.)

   Rules act on transport connections, affecting both directions of
   traffic in a transport-layer 5-tuple. When divert action is activated
   for a transport connection, all packets from the subscriber are
   forced to enter the subscriber end of the service chain and all
   packets from the Internet are forced to enter the Internet end of the
   service chain.

   A Classifier has two MAC addresses. It sends traffic to itself using
   two different VLANs.

   For example, in Figure 1, Classifier1 sends traffic from subscribers
   via hosts A, B and C by sending a packet from MAC1 to MAC2 on VLAN
   101 into the switch port 1. It sends traffic from Internet into the
   same chain by sending a packet from MAC2 to MAC1 on VLAN 201 into the
   switch port 1.

3.1 Sequence

   A "Sequence" must be configured for each distinct service chain
   instance. In the following, Service Functions A, B and C are used,
   and new Service Functions D, E and F are introduced but not shown in
   Figure 1.

        # Identify a new sequence named "sequence1"
        # This sequence has SF nodes SF_A, SF_B and SF_C, and is
        # accessed with VLANs 101 and 201
        destination "sequence1" divert_sequence \
            destinations "SF_A" "SF_B" "SF_C" \
            interface "left" vlan 101  interface "right" vlan 201

        # Identify a new sequence named "sequence2"
        # This sequence has SF nodes SF_D, SF_E and SF_F, and is
        # accessed with VLANs 104 and 204
        destination "sequence2" divert_sequence \
            destinations "SF_D" "SF_E" "SF_F" \
            interface "left" vlan 104  interface "right" vlan 204

 


David Dolson            Expires August 18, 2014                 [Page 7]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


3.2 Group

   A "Group" definition specifies that multiple sequences are
   functionally equivalent, and that the Classifier may load-balance
   traffic across all of the healthy members of the group.

        # Define a group of equivalent sequences.
        destination "group1" group \
            destinations "sequence1" "sequence2" \
            healthchecks "ping" "inline"

   In a group definition, all of the destinations must have the same
   properties, including interface names.

   The health-checks serve to identify those chains that are failing and
   are removed from group selection. The "ping" health-check tests the
   control plane of each of the devices, whereas the "inline" health-
   check tests the data plane of the entire chain by sending packets in
   each end and expecting them to be received at the other end.

3.3 Rule and Action

   A particular transport connection can be sent to a chain with the
   divert action naming a sequence or group and the interfaces to use
   for each direction.

        if Flow.Server.Port = 80 then \
            divert destination "group1" \
              from subscriber interface "left" \
              from internet interface "right"


   For TCP connections with a server TCP port number of 80, the above
   rule will select one of the chains "sequence1" or "sequence2"
   (assuming both are healthy) and bind the connection to it for the
   duration. Supposing sequence1 is selected, it will cause the traffic
   from the subscriber to enter the service chain on VLAN 101 and
   traffic from the internet to enter the service chain on VLAN 201.

   Traffic returning from a service chain is forwarded to the original
   Classifier.







 


David Dolson            Expires August 18, 2014                 [Page 8]

INTERNET DRAFT          draft-dolson-sfc-vlan-00       February 14, 2014


4  Security Considerations

   The layer-2 network running the Service Function Chain should be
   isolated. Otherwise there may be methods for an attacker to flood the
   network or otherwise mount a denial of service attack on the
   switching.


5  IANA Considerations

   This memo makes no request to IANA.


6  References

6.1  Normative References


6.2  Informative References

   [SFCarch] "SFC Architecture", <http://datatracker.ietf.org/doc/draft-
              quinn-sfc-arch/>


Authors' Addresses


   David Dolson
   Sandvine

   EMail: ddolson@sandvine.com




















David Dolson            Expires August 18, 2014                 [Page 9]