Internet DRAFT - draft-zcao-sdnrg-controller

draft-zcao-sdnrg-controller







Internet Researc Task Force                                       Z. Cao
Internet-Draft                                                      . Li
Intended status: Informational                              China Mobile
Expires: January 05, 2014                                  July 04, 2013


 Analysis of SDN Controller Cluster in Large-scale Production Networks
                     draft-zcao-sdnrg-controller-00

Abstract

   Software Defined Networking necessitates an efficient, scalable,
   secure Controller Cluster.  This document analyzes the problems of
   implementing and deploying a successful controller system and figures
   out the requirements therein.  This document also proposes a set of
   benchmarks for controller performance evaluation.

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 January 05, 2014.

Copyright Notice

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



Cao & Li                Expires January 05, 2014                [Page 1]

Internet-Draft                  SDN CODE                       July 2013


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  SDN Controller Cluster Analysis . . . . . . . . . . . . . . .   3
     3.1.  Protocol Aspect . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  Functionality Aspect  . . . . . . . . . . . . . . . . . .   4
   4.  SDN Controller Requirments  . . . . . . . . . . . . . . . . .   5
   5.  Benchmarks and Open Questions . . . . . . . . . . . . . . . .   6
   6.  Related Work  . . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   Software Defined Networking is now a term that different players may
   express different opinions.  Yet despite all that, the separate of
   data and control via the use of controller and generic forwarding
   devices is the key component of this architecture.  In this
   architecture, as depicted in Figure 1, the controller system exposes
   APIs to the upper layer SDN applications, while communicating with
   the data plane devices using protocols like Openflow and OVSDB.  The
   data plane devices in this architecture include both physical devices
   and virtual devices that connect virtual machines.

                        +-+-+-+   +-+-+-+    +-+-+-+
                        | APP |   | APP |    | APP |
                        +-+-+-+   +-+-+-+    +-+-+-+
                             |       |        |
                          +---------------------+
                          |  Controller System  |
                          +---------------------+
                             |       |        |
                        +-+-+-+   +-+-+-+    +-+-+-+
                        | DEV |   | DEV |    | DEV |
                        +-+-+-+   +-+-+-+    +-+-+-+

                    Figure 1: SDN General Architecture









Cao & Li                Expires January 05, 2014                [Page 2]

Internet-Draft                  SDN CODE                       July 2013


2.  Terminology

   Serveral Terms are defined in this document.

   SDN Controller Cluster (SCC): an integrated system that manages a
   large scale production network and handles control plane
   communications with a big number of data plane devices.  SCC normally
   consists of a cluster of controllers which exposes outside as a
   logically integrated entity.

   Controller Instance (CoIN): an instance of a controller, multiple
   CoINs consists the SCC.

   South-bound Interface: the interface that implements a certain type
   of protocols for communication with the data plane devices.

   North-bound interface: the interface exposed to the upper layer
   applications, normally APIs to abstract the functions supported by
   the SCC.

   West-East Interface: the interface between different CoINs.  The
   West-East Interface is considered as internal, without need of
   exposing to the outside.

3.  SDN Controller Cluster Analysis

   This section reviews and analyzes the SDN Controller Cluster from two
   aspects including protocols, functionalities.

3.1.  Protocol Aspect

   We will take Openflow as an example of the south-bound interface in
   the following description if no additional notes apply.

   The OpenFlow protocol supports three message types, controller-to-
   switch, asynchronous, and symmetric.

      Controller-to-switch messages are initiated by the controller and
      used to directly manage or inspect the state of the switch.

      Asynchronous messages are initiated by the switch and used to
      update the controller of network events and changes to the switch
      state

      Symmetric messages are initiated by either the switch or the
      controller and sent without solicitation.





Cao & Li                Expires January 05, 2014                [Page 3]

Internet-Draft                  SDN CODE                       July 2013


   Controller-to-switch messages are generally trigger by the upper
   layer SDN applications to manage and acquire the state of the switch.
   A scalable SDN Controller Cluster MUST support a reasonable number of
   connections from SDN applications.  And if necessary, the SCC SHOULD
   check the conflicts therein.

   SCC is the responder of synchronous messages.  Considering the number
   of data plane devices in the large-scale production networks, the
   number of connections the SCC could support is a big impactor to the
   real life performance.  And when the switch does not find a match in
   its local flow table for a packet, the packet is forwarded to the SCC
   as an attachment, which will add to more processing presure.

   Symmetric messages include HELLO, ECHO and Experimental extensions.
   These messages do not incur much state keeping and handling logics,
   so do not put much presure on the SCC.

   In addtion to the above analysis, the south bound interface normally
   requires a pre-established secure connections (e.g., Openflow uses
   SSL), each of which consumes computing resources on the SCC.

3.2.  Functionality Aspect

   From the functionalities aspects, the SCC SHOULD at least supports
   the following items.

   1.  North-bound API.  The abstraction of the services that the SCC
       can provide to upper layer applications.

   2.  Route Computing.  The essential function that the SCC provides to
       compute routes so that the results can be written to the data
       plane devices via the south-bound interface.

   3.  Consistent Data Store.  The required data storage to assist SCC
       functioning correctly.  Consistency is a key requirement so that
       multiple requesters get the consistent results possibly processed
       by different controller instances (CoIN).  Should expose
       necessary APIs for queries and retrievals.

   4.  Topology Management.  Including topology discovery, maintenance
       and regular updates.

   5.  West-East Communication.  The internal communication between
       different CoINs.  Distributed system techniques may apply here.

   6.  Structured Logging, naming logging services.  Logging data SHOULD
       be stored distributedly.




Cao & Li                Expires January 05, 2014                [Page 4]

Internet-Draft                  SDN CODE                       July 2013


   7.  Security module, to avoid malicious flow requests to flood the
       controller.

   8.  South-bound Adaption.  Adaption layer to support multiple south-
       bound protocols such as Openflow, ForCES, OVSDB, etc.

   From the above analysis, the SCC functional image can be depicted as
   below.

   +------------------------------------------------------------------+
   |                          North-bound API                         |
   +------------------------------------------------------------------+
                    //                              \\
   ++++++++++++++++++++++++++++++      ++++++++++++++++++++++++++++++++
   +-------+   +-----+   +----+ +      + +-------+   +-----+   +----+ +
   | Route |___|Data |___|West|_+======+ |West-  |___|Data |___|Rout| +
   |Compute|   |Store|   |east| +      + |east   |   |Store|   |Comp| +
   +-------+   +-----+   +----+ +      + +-------+   +-----+   +----+ +
   +-------+   +----------+     +      + +-------+   +----------+     +
   | Topo  |___|Structured|     +      + | Topo  |___|Structured|     +
   |Manager|   |  Logging |     +      + |Manager|   |  Logging |     +
   +-------+   +----------+     +      + +-------+   +----------+     +
   +           +----------+     +      + +-------+   +----------+     +
   +           | Security |     +      +             | Security |     +
   +           +----------+     +      +             +----------+     +
   +--------------------------+ +      + +--------------------------+ +
   |   South-bound Adaption   | +      + |   South-bound Adaption   | +
   +--------------------------+ +      + +--------------------------+ +
   ++++++++++++++++++++++++++++++      ++++++++++++++++++++++++++++++++

                     Figure 2: SDN Controller Cluster

4.  SDN Controller Requirments

   Based on the analysis in previous sections, we figure out the
   requirements for SDN controller cluster as below.

   o  Availability.  Service availability.

   o  Scalability.  Scalable to the network scale.

   o  Reliability.  Reliable to work load and application requests.

   o  Consistency.  Consistent behavior.

   o  Security.  Secure and robust.





Cao & Li                Expires January 05, 2014                [Page 5]

Internet-Draft                  SDN CODE                       July 2013


5.  Benchmarks and Open Questions

   This section lists the open questions for future studies of SDN
   controller in large scale production networks.

   We try to list the benchmarks used for a controller system.

   1.  Availability benchmarks.

       a.  flow requests per second

       b.  API calls per second

       c.  topology discovery delay, could be depicted using second per
           port or second per thousand flows.

       d.  number of concurrent connections between the controller and
           devices.

   2.  Scalability benchmarks, this particularly investigates the
       relationship between two of more metrics

       a.  API call latency vs. number of API calls per second

       b.  topology discovery delay vs. network scale (flow size or
           device number, or concurrent connections )

       c.  flow request delay vs. network scale

       d.  route computing delay vs. network scale

   3.  Reliability benchmarks.

       a.  Link and switch failures

       b.  COINs failures.

   4.  Consistency benchmarks.

       a.  probability of inconsistent query results

       b.  latency of updating the whole COINs DHT









Cao & Li                Expires January 05, 2014                [Page 6]

Internet-Draft                  SDN CODE                       July 2013


6.  Related Work

   Many studies are around the problem of a scalable and reliable
   controller platform.  NOX [NOX] is a simple openflow controller and
   it is single threaded.  Materoo [Maestro] achieves a simple
   programming model for control function development by having a
   single-threaded event-loop and it was demonstrated that Materoo can
   achieve linear scalability.  Onix [ONIX] is a platform on top of
   which a network control plane can be implemented as a distributed
   system.  Onix adopts DHT (Distributed Hast Table) techniques for its
   extensibility.  The 'Controller Placement Problem' was also proposed
   for large production networks [Placement].

7.  IANA Considerations

   This document does not have any IANA requests.

8.  Security Considerations

   The SDN security requirements are specified in
   [I-D.hartman-sdnsec-requirements], and the security analysis of
   Openflow is presented in [I-D.mrw-sdnsec-openflow-analysis] .

9.  References

9.1.  Normative References

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

9.2.  Informative References

   [I-D.hartman-sdnsec-requirements]
              Hartman, S. and D. Zhang, "Security Requirements in the
              Software Defined Networking Model", draft-hartman-sdnsec-
              requirements-01 (work in progress), April 2013.

   [I-D.mrw-sdnsec-openflow-analysis]
              Wasserman, M. and S. Hartman, "Security Analysis of the
              Open Networking Foundation (ONF) OpenFlow Switch
              Specification", draft-mrw-sdnsec-openflow-analysis-02
              (work in progress), April 2013.

   [I-D.sin-sdnrg-sdn-approach]
              Boucadair, M. and C. Jacquenet, "Software-Defined
              Networking: A Service Provider's Perspective", draft-sin-
              sdnrg-sdn-approach-03 (work in progress), June 2013.




Cao & Li                Expires January 05, 2014                [Page 7]

Internet-Draft                  SDN CODE                       July 2013


   [Maestro]  Zheng Cai etc, ., "Maestro: A System for Scalable OpenFlow
              Control, 2011", December 2011.

   [NOX]      Natasha Gude, ., Teemu Koponen, ., Justin Pettit, ., Ben
              Pfaff, ., Martin Casado, ., Nick McKeown, ., and . Scott
              Shenker, "NOX: Towards an Operating System for Networks,
              CCR 2008", July 2008.

   [ONIX]     Teemu Koponen, . and . Martin Casado etc, "Onix: A
              Distributed Control Platform for Large-scale Production
              Networks, OSDI 2010.", October 2010.

   [Placement]
              Brandon Heller, ., Rob Sherwood, ., and . Nick McKeown,
              "The Controller Placement Problem, HotSDN 2012", July
              2012.

Authors' Addresses

   Zhen Cao
   China Mobile
   Xuanwumenxi Ave. No.32
   Beijing, Xicheng District  100053
   China

   Email: zehn.cao@gmail.com, caozhen@chinamobile.com


   Chen Li
   China Mobile
   Xuanwumenxi Ave. No.32
   Beijing, Xicheng District  100053
   China

   Email: lichenyj@chinamobile.com
















Cao & Li                Expires January 05, 2014                [Page 8]