Internet DRAFT - draft-li-cp-usecases
draft-li-cp-usecases
Network Working Group L. Li
Internet-Draft Bell Labs
Intended status: Informational Y. Luo
Expires: January 16, 2014 UML
H. Song
Huawei
Y. Yang
Yale
July 15, 2013
Fine-Grained Control of Control-Plane Performance: Use Cases and
Mechanisms
draft-li-cp-usecases-00
Abstract
It is commonly assumed that a system controller or network management
system has complete knowledge of the data plane, especially in a
software-defined network (SDN). That is, the controller knows
performance metrics such as the flow table size of each switch, the
rate of rule updates between a switch control plane and its data
plane, and the maximum latency to install a rule in the flow table of
a switch. However, in reality, this is not the case. Measurement
studies show that the flow table size depends on the structure of the
rules installed. The flow table size is much smaller if there are
many wild card rules. The setup latency also depends on the already
installed rules. If there are many wild card rules installed, the
latency can be much higher. Currently, data centers pre-setup the
rules long before the actual associated traffic starts to flow
through the network. This puts constraints on the use cases. In
this document, we first show that many use cases demand a more
predictable control plane. The use cases are applied to networks
that require control-plane performance information for dynamic
configuration, as well as SDN networks. We then discuss potential
mechanisms to enable fine-grained control of control-plane
performance.
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.
Li, et al. Expires January 16, 2014 [Page 1]
Internet-Draft CPP July 2013
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 16, 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.
Li, et al. Expires January 16, 2014 [Page 2]
Internet-Draft CPP July 2013
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Low-latency Path Setup . . . . . . . . . . . . . . . . . . 4
2.2. Resource Partition in Networks . . . . . . . . . . . . . . 5
2.3. Slice Resource Allocation in Flowvisor . . . . . . . . . . 5
3. Mechanisms For Better Control-Plane Performance Management . . 5
3.1. Control-Plane Resource Reservation: RSVP-CE . . . . . . . . 6
3.2. Control-Plane Congestion Control: cTCP . . . . . . . . . . 6
4. Normative References . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
Li, et al. Expires January 16, 2014 [Page 3]
Internet-Draft CPP July 2013
1. Introduction
It is commonly assumed that the controller of a network knows
control-plane performance metrics such as the flow table size of each
switch, the maximum rate of rule updates between the switch control
plane and its data plane, and the latency to install a rule in the
flow table of a switch. However, recent measurement studies show
that control-plane performance can be quite complex.
In this document, we list use cases where better understanding and
control of control-plane performance can be beneficial. The use
cases are applied to the current networks that require control-plane
performance information for dynamic configuration, as well as SDN
networks.
2. Use Cases
2.1. Low-latency Path Setup
Many applications need fast, predictable path setup to meet
application requirements for normal path setup and to recover from
link or node failures. Consider SDN in cellular networks, when a
user equipment (UE) needs to communicate, the connection needs to be
setup with low latency. If the tail latency is high, user experience
can be seriously affected.
Similarly, in case of link or node failures, controller needs to
react with low latency to reroute traffic. It needs to pick switches
with low setup latency. There can be multiple paths from one node to
another, and these paths may consist of different vendor equipment.
Hence, they may have different reaction time to the same
configuration. Even if they are from the same vendor, the
configuration delay may be different according to the current state
of the equipment (e.g., the number of already installed rules). The
path selection can be a reaction to a link failure, which needs fast
recovery. Then the controller needs to know the dynamic information
about the delay to configure each specific switch or router, and then
it can compare the setup latencies of the candidate paths, and select
the one with minimal setup latency.
The requirements to setup an emergence communication path in hazard
scenarios such as earthquake, flood or storm are similar. Setup
latency is a key performance metric.
Li, et al. Expires January 16, 2014 [Page 4]
Internet-Draft CPP July 2013
2.2. Resource Partition in Networks
When a network provider tries to allocate resources for multiple
users (e.g., end users or multiple tenants in a data center), it
needs to consider not only data-plane resource (e.g., data-plane
bandwidth) partition but also control-plane partition.
Specifically, consider that existing routers and switches implement
QoS capabilities such as destination/source oriented rate limit,
queue management, and peak burst size. A key component to implement
these QoS capabilities is ACL rules, and ACLs consume hardware
resources. Our measurements show that the resource consumption of
ACL rules depends on the structure of the rules. For example, we
found that in one vendor's devices, the amount of resources consumed
by an ACL rule depends on the range of VLAN ID specified in the rule,
where a large range consumes a small amount of resources, while
another seemingly small range can consume substantially more
resources.
A simple controller will guide its ACL usage according to a device'
manual, which specifies a fixed number of rules that a networking
device can handle concurrently. However, different ACL policies/
templates consume different amounts of resources such as TCAMs, and a
controller uses device manual may either under utilize the resources
or encounter unexpected resource exhausion.
One way to address the preceding problem is to introduce measurement
capabilities into the control plane of network devices. For example,
the controller measures and models control-plane resource
consumption, and then computes whether the next group of QoS
templates can be fulfilled or not. The controller can also perform
load balancing, by assigning different QoS tasks to different network
devices. This improves control-plane resource utilization and hence
overall system utilization.
2.3. Slice Resource Allocation in Flowvisor
As a special case of the preceding use case, a virtualized network
may a hypervisor such as Flowvisor to allocate resources across
slices. The Flowvisor needs to understand the maximum rule update
rates and rate limit slice controllers. The Flowvisor also needs to
know the table size under different sets of rules to enforce the
limit.
3. Mechanisms For Better Control-Plane Performance Management
We now list a few mechanisms that may enable more efficeint control-
Li, et al. Expires January 16, 2014 [Page 5]
Internet-Draft CPP July 2013
plane management.
3.1. Control-Plane Resource Reservation: RSVP-CE
Similar to RSVP, which reserves data plane resources, RSVP-CE
reserves/preinstalls control-plane resources. It is important that
one decouples the resource reservations, for example, by reserving or
preinstalling control-plane resources without the data-plane
resources.
3.2. Control-Plane Congestion Control: cTCP
Similar to congestion control in the data plane, one can introduce
control-plane congestion control. Consider the case without a
congestion control protocol. A controller may send a burst of rule
updates in response to application demands or link failures. This
may lead to large delays and blocking of control-plane updates. As a
contrast, control-plane congestion control will adjust to control-
plane update rate without building a large queue in switch control
planes.
Just as there are black-box based inference (e.g., different versions
of TCP based on losses or delays) or more explicit feedback (e.g.,
ECN) in data-plane congestion control, control-plane congestion
control may also allow multiple design flavors, for example "loss"
based (i.e., rejection) or better feedback or model based.
4. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Authors' Addresses
Li Erran Li
Bell Labs
Email: erranlli@gmail.com
Yan Luo
UML
Email: yanluo.uml@gmail.com
Li, et al. Expires January 16, 2014 [Page 6]
Internet-Draft CPP July 2013
Haibin Song
Huawei
Email: haibin.song@huawei.com
Y. Richard Yang
Yale
Email: yry@cs.yale.edu
Li, et al. Expires January 16, 2014 [Page 7]