Internet-Draft Bhuvaneswaran Vengainathan
Network Working Group Anton Basil
Intended Status: Informational Veryx Technologies
Expires: August 22, 2015 Mark Tassinari
Hewlett-Packard
Vishwas Manral
Ionos Corp
Sarah Banks
VSS Monitoring
March 23, 2015
Terminology for Benchmarking SDN Controller Performance
draft-bhuvan-bmwg-sdn-controller-benchmark-term-00
Abstract
This document defines terminology for benchmarking an SDN
Controller's performance. The terms provided in this document
help to benchmark SDN controller's performance independent of the
controller's supported protocols and/or network services.
A mechanism for benchmarking the performance of SDN controllers is
defined in the companion methodology document. These two documents
provide a standard mechanism to measure and evaluate the
performance of various controller implementations.
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 22, 2015.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
Bhuvan, et al. Expires August 22, 2015 [Page 1]
Internet Draft SDN Controller Benchmarking Terminology March 2015
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
2. Term Definitions . . . . . . . . . . . . . . . . . . . . . 4
2.1 SDN Terms . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 SDN Node . . . . . . . . . . . . . . . . . . . 4
2.1.2 SDN Application . . . . . . . . . . . . . . . . 4
2.1.3 Flow . . . . . . . . . . . . . . . . . . . . . 4
2.1.4 Northbound Interface . . . . . . . . . . . . . 5
2.1.5 Southbound Interface . . . . . . . . . . . . . 5
2.1.6 Controller Forwarding Table . . . . . . . . . . 6
2.1.7 Proactive Flow Provisioning Mode . . . . . . . . 6
2.1.8 Reactive Flow Provisioning Mode . . . . . . . . 6
2.1.9 Path . . . . . . . . . . . . . . . . . . . . . 7
2.1.10 Standalone Mode . . . . . . . . . . . . . . . . 7
2.1.11 Cluster/Redundancy Mode . . . . . . . . . . . 8
2.1.12 Asynchronous Message . . . . . . . . . . . . . 8
2.1.13 Traffic Endpoint . . . . . . . . . . . . . . . 8
2.2 Test Configuration Terms . . . . . . . . . . . . . . . 9
2.2.1 Number of Nodes . . . . . . . . . . . . . . . . 9
2.2.2 Test Iterations . . . . . . . . . . . . . . . . 9
2.2.3 Test Duration . . . . . . . . . . . . . . . . . 9
2.2.4 Number of Cluster nodes . . . . . . . . . . . . 10
2.3 Benchmarking Terms . . . . . . . . . . . . . . . . . . 10
2.3.1 Performance . . . . . . . . . . . . . . . . . . 10
2.3.1.1 Network Topology Discovery Time . . . . 10
2.3.1.2 Asynchronous Message Processing Time . . 11
2.3.1.3 Asynchronous Message Processing Rate . . 11
2.3.1.4 Path Provisioning Time . . . . . . . . 11
2.3.1.5 Path Provisioning Rate . . . . . . . . 12
2.3.1.6 Network Topology Change Detection Time . 12
2.3.2 Scalability . . . . . . . . . . . . . . . . . . 13
2.3.2.1 Control Sessions Capacity . . . . . . 13
2.3.2.2 Network Discovery Size . . . . . . . . 13
2.3.2.3 Forwarding Table Capacity . . . . . . 13
Bhuvan, et al. Expires August 22, 2015 [Page 2]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.3.3 Security . . . . . . . . . . . . . . . . . . . 14
2.3.3.1 Exception Handling . . . . . . . . . . 14
2.3.3.2 Denial of Service Handling . . . . . . 14
2.3.4 Reliability . . . . . . . . . . . . . . . . . . 15
2.3.4.1 Controller Failover Time . . . . . . . 15
2.3.4.2 Network Re-Provisioning Time . . . . . 15
3. Test Coverage . . . . . . . . . . . . . . . . . . . . . . 16
4. References . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Normative References . . . . . . . . . . . . . . . . . 16
4.2 Informative References . . . . . . . . . . . . . . . . 17
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 17
6. Security Considerations . . . . . . . . . . . . . . . . . . 17
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 17
8. Authors' Addresses . . . . . . . . . . . . . . . . . . . . 18
1. Introduction
Software Defined Networking (SDN) is a networking architecture in
which network control is decoupled from the underlying forwarding
function and is placed in a centralized location called the SDN
controller. The SDN controller abstracts the underlying network and
offers a global view of the overall network to applications and
business logic. Thus, an SDN controller provides the flexibility to
program, control, and manage network behaviour dynamically through
standard interfaces. Since the network controls are logically
centralized, the need to benchmark the SDN controller performance
becomes significant. This document defines terms to benchmark various
controller designs for performance, scalability, reliability and
security, independent of northbound and southbound protocols.
Conventions used in this document
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.
Bhuvan, et al. Expires August 22, 2015 [Page 3]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2. Term Definitions
2.1 SDN Terms
2.1.1 SDN Node
Definition:
An SDN node is a physical or virtual entity that forwards
data in a software defined environment.
Discussion:
An SDN node can be a virtual switch, physical switch, router,
gateway, or any network service appliance that supports
standardized or proprietary programmable interface .
Measurement Units:
N/A
See Also:
None
2.1.2 SDN Application
Definition:
Any business logic that alter the network behaviour dynamically
through controller's northbound interface.
Discussion:
SDN application can be any business application, cloud
orchestration system, network services orchestration etc.,
Measurement Units:
N/A
See Also:
None
2.1.3 Flow
Definition:
A flow is a uni-directional sequence of packets having common
properties derived from the data contained in the packet.
Bhuvan, et al. Expires August 22, 2015 [Page 4]
Internet Draft SDN Controller Benchmarking Terminology March 2015
Discussion:
A flow can be set of packets having same source address,
destination address, source port and destination port, or any of
these combinations.
Measurement Units:
N/A
See Also:
None
2.1.4 Northbound Interface
Definition:
The northbound interface is the application programming interface
provided by the SDN controller for the SDN services and
applications to interact with the SDN controller.
Discussion:
The northbound interface allows SDN applications and orchestration
systems to program and retrieve the network information through
the SDN controller.
Measurement Units:
N/A
See Also:
None
2.1.5 Southbound Interface
Definition:
The southbound interface is the application programming interface
provided by the SDN controller to interact with the SDN nodes
Discussion:
Southbound interface enables controller to interact with the
SDN nodes in the infrastructure for dynamically defining the
traffic forwarding behaviour.
Measurement Units:
N/A
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 5]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.1.6 Controller Forwarding Table
Definition:
A controller forwarding table contains flow entries learned in one
of two ways: first, entries could be learned from traffic received
through the data plane, or, second, these entries could be
statically provisioned on the controller, and distributed to
devices via the southbound interface.
Discussion:
The controller forwarding table has an aging mechanism which will
be applied only for dynamically learnt entries.
Measurement Units:
N/A
See Also:
None
2.1.7 Proactive Flow Provisioning Mode
Definition:
Controller programming flows in SDN nodes based on the flow
entries provisioned through controller's northbound interface.
Discussion:
Orchestration systems and SDN applications can define the
network forwarding behaviour by programming the controller using
proactive flow provisioning. The controller can then program the
SDN nodes with the pre-provisioned entries.
Measurement Units:
N/A
See Also:
None
2.1.8 Reactive Flow Provisioning Mode
Definition:
Controller programming flows in SDN nodes based on the traffic
received from SDN nodes through controller's southbound interface
Bhuvan, et al. Expires August 22, 2015 [Page 6]
Internet Draft SDN Controller Benchmarking Terminology March 2015
Discussion:
The SDN controller dynamically decides the forwarding behaviour
based on the incoming traffic from the SDN nodes. The controller
then programs the SDN nodes using Reactive Flow Provisioning.
Measurement Units:
N/A
See Also:
None
2.1.9 Path
Definition:
A path is a sequence of SDN nodes and links traversed by a flow.
Discussion:
As defined in RFC 2330, path is a sequence of the form < h0, l1,
h1, ..., ln, hn >, where n >=0, h0 and hn is a Host, h1...hn-1 is
an SDN Node, each li is a link between hi-1 and hi. A pair
is termed a 'hop'. Note that path is a unidirectional
concept.
Measurement Units:
N/A
See Also:
None
2.1.10 Standalone Mode
Definition:
Single controller handling all control plane functionalities
without redundancy, or the ability to provide high availability
and/or automatic failover.
Discussion:
In standalone mode, one controller manages one or more network
domains.
Measurement Units:
N/A
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 7]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.1.11 Cluster/Redundancy Mode
Definition:
A group of 2 or more controllers handling all control plane
functionalities.
Discussion:
In cluster mode, multiple controllers are teamed together for
the purpose of load sharing and/or high availability. The
controllers in the group may work in active/standby (master/slave)
or active/active (equal) mode depending on the intended purpose.
Measurement Units:
N/A
See Also:
None
2.1.12 Asynchronous Message
Definition:
Any message from the SDN node that is generated for network events
Discussion:
Control messages like flow setup request and response message is
classified as asynchronous message. The controller has to
return a response message. Note that the SDN node will not be in
blocking mode and continues to send/receive other control messages
Measurement Units:
N/A
See Also:
None
2.1.13 Traffic Endpoint
Definition:
The point where the network traffic either originates or
terminates.
Discussion:
Traffic Endpoint can be any traffic generator or emulator.
Measurement Units:
N/A
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 8]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.2 Test Configuration/Setup Terms
2.2.1 Number of SDN Nodes
Definition:
The number of SDN nodes present in the defined test topology.
Discussion:
The SDN nodes defined in the test topology can be deployed using
real hardware or emulated in hardware platforms.
Measurement Units:
N/A
See Also:
None
2.2.2 Test Iterations
Definition:
The number of times the test needs to be repeated.
Discussion:
The test needs to be repeated for multiple iterations to obtain
a reliable metric. It is recommend to perform the tests for at
least 3 iterations to increase the confidence in measured result.
Measurement Units:
N/A
See Also:
None
2.2.3 Test Duration
Definition:
Defines the duration of test trails for each iteration.
Discussion:
Test duration forms the basis for stop criteria for benchmarking
tests. Test not completed within this time interval is considered
as incomplete.
Measurement Units:
seconds
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 9]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.2.4 Number of Cluster nodes
Definition:
Defines the number of controllers present in the controller
cluster.
Discussion:
This parameter is relevant when testing the controller performance
in clustering/teaming mode. The number of nodes in the cluster
MUST be greater than 1.
Measurement Units:
N/A
See Also:
None
2.3. Benchmarking Terms
This section defines metrics for benchmarking the SDN
controller. The procedure to perform the defined metrics is
defined in the accompanying methodology document.
2.3.1 Performance
2.3.1.1 Network Topology Discovery Time
Definition:
To measure the time taken to discover the network topology - nodes
and links by a controller.
Discussion:
This benchmark is obtained by presenting a network topology (Tree,
Mesh or Linear) with the given number of nodes to the controller
and wait for the discovery process to complete .It is expected
that the controller should support network discovery mechanism
and uses protocol messages for its discovery process.
Measurement Units:
milliseconds
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 10]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.3.1.2 Asynchronous Message Processing Time
Definition:
To measure the time taken by the controller to process an
asynchronous message.
Discussion:
This benchmark is obtained by sending asynchronous messages from
every connected SDN nodes one at a time for the defined test
duration. This test assumes that the controller will respond to
the received asynchronous message.
Measurement Units:
milliseconds
See Also:
None
2.3.1.3 Asynchronous Message Processing Rate
Definition:
To measure the maximum number of asynchronous messages that a
controller can process within the test duration.
Discussion:
This benchmark is obtained by sending asynchronous messages from
every connected SDN nodes at full connection capacity for the
given test duration. This test assumes that the controller will
respond to all the received asynchronous messages.
Measurement Units:
Messages processed per second.
See Also:
None
2.3.1.4 Path Provisioning Time
Definition:
The time taken by the controller to setup a path between the
source and destination nodes.
Bhuvan, et al. Expires August 22, 2015 [Page 11]
Internet Draft SDN Controller Benchmarking Terminology March 2015
Discussion:
The benchmark is obtained by sending traffic from a source
endpoint to the destination endpoint, finding the time difference
between the first and the last flow provisioning message exchanged
between the controller and the SDN nodes for the traffic path.
Measurement Units:
milliseconds.
See Also:
None
2.3.1.5 Path Provisioning Rate
Definition:
To measure the maximum number of independent paths a controller
can concurrently establish between source and destination nodes
within the test duration.
Discussion:
This benchmark is obtained by sending traffic each with
unique source and destination pairs from the source SDN node and
determine the number of frames received at the destination
SDN node.
Measurement Units:
Paths provisioned per second.
See Also:
None
2.3.1.6 Network Topology Change Detection Time
Definition:
The amount of time required for the controller to detect any
changes in the network topology.
Discussion:
This benchmark is obtained by triggering a topology change event
and measuring the time controller takes to detect and initiate a
topology re-discovery process.
Measurement Units:
milliseconds
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 12]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.3.2 Scalability
2.3.2.1 Control Sessions Capacity
Definition:
To measure the maximum number of control sessions the controller
can maintain.
Discussion:
This benchmark is obtained by establishing control session with
the controller from each of the SDN node until it fails.
The number of sessions that were successfully established will
provide the Control Sessions Capacity.
Measurement Units:
N/A
See Also:
None
2.3.2.2 Network Discovery Size
Definition:
To measure the network size (number of nodes, links and hosts)
that a controller can discover.
Discussion:
This benchmark is obtained by presenting an initial set of SDN
nodes for discovery to the controller. Based on the initial
discovery, the number of SDN nodes is increased or decreased to
determine the maximum nodes that the controller can discover.
Measurement Units:
N/A
See Also:
None
2.3.2.3 Forwarding Table Capacity
Definition:
The maximum number of flow entries that a controller can
manage in its Forwarding table.
Discussion:
This benchmark is obtained by continuously presenting the
controller with new flow entries through reactive or proactive
flow provisioning mode until the forwarding table becomes full.
The maximum number of nodes that the controller can hold in its
Forwarding Table will provide Forwarding Table Capacity.
Bhuvan, et al. Expires August 22, 2015 [Page 13]
Internet Draft SDN Controller Benchmarking Terminology March 2015
Measurement Units:
Maximum number of flow entries managed.
See Also:
None
2.3.3 Security
2.3.3.1 Exception Handling
Definition:
To determine the effect of handling error packets and
notifications on performance tests.
Discussion:
This benchmark test is to be performed after obtaining the
baseline performance of the performance tests defined in
Section 2.3.1. This benchmark determines the deviation from the
baseline performance due to the handling of error or failure
messages from the connected SDN nodes.
Measurement Units:
N/A
See Also:
None
2.3.3.2 Denial of Service Handling
Definition:
To determine the effect of handling denial of service (DoS)
attacks on performance and scalability tests.
Discussion:
This benchmark test is to be performed after obtaining the
baseline performance of the performance and scalability tests
defined in section 2.3.1 and section 2.3.1.. This benchmark
determines the deviation from the baseline performance due to
the handling of denial of service attacks on controller.
Measurement Units:
Deviation of baseline metrics while handling Denial of Service
Attacks.
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 14]
Internet Draft SDN Controller Benchmarking Terminology March 2015
2.3.4 Reliability
2.3.4.1 Controller Failover Time
Definition:
The time taken to switch from an active controller to the backup
controller, when the controllers work in redundancy mode and the
active controller fails.
Discussion:
This benchmark determine the impact of provisioning new flows when
controllers are teamed and the active controller fails.
Measurement Units:
milliseconds.
See Also:
None
2.3.4.2 Network Re-Provisioning Time
Definition:
The time taken to re-route the traffic by the
Controller, when there is a failure in existing traffic paths.
Discussion:
This benchmark determines the controller's re-provisioning ability
upon network failures. This benchmark test assume the following:
i) Network topology supports redundant path between source and
destination endpoints.
ii) Controller does not pre-provision the redundant path.
Measurement Units:
milliseconds.
See Also:
None
Bhuvan, et al. Expires August 22, 2015 [Page 15]
Internet Draft SDN Controller Benchmarking Terminology March 2015
3. Test Coverage
+ -----------------------------------------------------------------+
| | Speed | Scalability | Reliability |
+ -----------+-------------------+---------------+-----------------+
| | 1. Network Topolo-|1. Network | |
| | -gy Discovery | Discovery | |
| | | Size | |
| Setup | 2. Path Provision-| | |
| | -ing Time | | |
| | | | |
| | 3. Path Provision-| | |
| | -ing Rate | | |
+------------+-------------------+---------------+-----------------+
| | 1. Asynchronous |1. Control |1. Network |
| | Message Proces-| Sessions | Topology |
| | -sing Rate | Capacity | Change |
| | | | Detection Time|
| | 2. Asynchronous |2. Forwarding | |
| | Message Proces-| Table |2. Exception |
| | -sing Time | Capacity | Handling |
| Operational| | | |
| | | |3. Denial of |
| | | | Service |
| | | | Handling |
| | | | |
| | | |4. Network Re- |
| | | | Provisioning |
| | | | Time |
| | | | |
+------------+-------------------+---------------+-----------------+
| | | | |
| Tear Down | | |1. Controller |
| | | | Failover Time |
+------------+-------------------+---------------+-----------------+
4. References
4.1 Normative References
[RFC2330] V. Paxson, G. Almes, J. Mahdavi, M. Mathis,
"Framework for IP Performance Metrics",RFC 2330,
May 1998.
[RFC6241] R. Enns, M. Bjorklund, J. Schoenwaelder, A. Bierman,
"Network Configuration Protocol (NETCONF)",RFC 6241,
June 2011.
Bhuvan, et al. Expires August 22, 2015 [Page 16]
Internet Draft SDN Controller Benchmarking Terminology March 2015
[RFC6020] M. Bjorklund, "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010
[RFC5440] JP. Vasseur, JL. Le Roux, "Path Computation Element (PCE)
Communication Protocol (PCEP)", RFC 5440, March 2009.
[OpenFlow Switch Specification] ONF,"OpenFlow Switch Specification"
Version 1.4.0 (Wire Protocol 0x05), October 14, 2013.
[I-D.sdn-controller-benchmark-meth] Bhuvaneswaran.V, Anton Basil,
Mark.T, Vishwas Manral, Sarah Banks "Benchmarking
Methodology for SDN Controller Performance",
draft-bhuvan-bmwg-sdn-controller-benchmark-meth-00
(Work in progress), March 23, 2015
[I-D.i2rs-architecture] A. Atlas, J. Halpern, S. Hares, D. Ward,
T. Nadeau, "An Architecture for the Interface to the
Routing System", draft-ietf-i2rs-architecture-09
(Work in progress), March 6, 2015.
4.2 Informative References
[OpenContrail] Ankur Singla, Bruno Rijsman, "OpenContrail
Architecture Documentation",
http://opencontrail.org/opencontrail-architecture-documentation
[OpenDaylight] OpenDaylight Controller:Architectural Framework,
https://wiki.opendaylight.org/view/OpenDaylight_Controller
5. IANA Considerations
This document does not have any IANA requests.
6. Security Considerations
Security issues are not discussed in this memo.
7. Acknowledgements
The authors would like to acknowledge Sandeep Gangadharan (HP) for
the significant contributions to the current and earlier versions
of this document. The authors would like to thank the following
individuals for providing their valuable comments to the earlier
versions of this document: Al Morton (AT&T), M. Georgescu (NAIST),
Andrew McGregor (Google), Scott Bradner (Harvard University),
Jay Karthik (Cisco), Ramakrishnan (Brocade).
Bhuvan, et al. Expires August 22, 2015 [Page 17]
Internet Draft SDN Controller Benchmarking Terminology March 2015
8. Authors' Addresses
Bhuvaneswaran Vengainathan
Veryx Technologies Inc.
1 International Plaza, Suite 550
Philadelphia
PA 19113
Email: bhuvaneswaran.vengainathan@veryxtech.com
Anton Basil
Veryx Technologies Inc.
1 International Plaza, Suite 550
Philadelphia
PA 19113
Email: anton.basil@veryxtech.com
Mark Tassinari
Hewlett-Packard,
8000 Foothills Blvd,
Roseville, CA 95747
Email: mark.tassinari@hp.com
Vishwas Manral
Ionos Corp,
4100 Moorpark Ave,
San Jose, CA
Email: vishwas@ionosnetworks.com
Sarah Banks
VSS Monitoring
Email: sbanks@encrypted.net
Bhuvan, et al. Expires August 22, 2015 [Page 18]