Internet DRAFT - draft-tu-sdnrg-middle-box
draft-tu-sdnrg-middle-box
SDN Research Group R. Tu
Internet Draft C. Zhou
Intended status: Informational J. Zhao
Expires: January 2015 X. Wang
Fudan University
July 4, 2014
SDN Middle Box for Data Centers
draft-tu-sdnrg-middle-box-00
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
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/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on January 4, 2015.
Tu, et al. Expires January 4, 2015 [Page 1]
Internet-Draft SDN Middle Box for Data Centers July 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 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.
Abstract
This document describes a middle box to improve the utilization of
data centers. By first combining Clos network with Software Defined
Network (SDN), the middle box is programmable and nonblocking. SDN
controller in the middle box can collect information such as traffic
load, port speed, and resources utilization, which can be used to
get better efficiency. The nonblocking feature can effectively
reduce the delay caused by the middle box thus get the better
performance. Furthermore, the middle box is transparent for the
original network, so it can be readily implemented for today's data
centers.
Table of Contents
1. Introduction ................................................. 3
2. Design of the Middle Box ..................................... 3
2.1. Architecture of the Middle Box .......................... 3
2.2. Inside the Middle Box ................................... 4
2.3. Design Space of the Middle Box .......................... 5
3. Working Principal of the Middle Box .......................... 5
3.1. Initialization .......................................... 6
3.1.1. Establishing Connection ............................ 6
3.1.2. Path initialization ................................ 8
3.2. Learning and Optimization ............................... 8
3.3. Load Balancing .......................................... 9
4. Security Considerations ...................................... 9
5. IANA Considerations .......................................... 9
6. Conclusions .................................................. 9
7. References .................................................. 10
7.1. Normative References ................................... 10
Tu, et al. Expires January 4, 2015 [Page 2]
Internet-Draft SDN Middle Box for Data Centers July 2014
7.2. Informative References ................................. 10
1. Introduction
A middle box based on Clos network for data centers is designed to
get better Qos. Comparing with the traditional solutions for
improving performance of data centers, we first proposed a middle
box based on Clos network to achieve better performance for data
centers. The middle box uses Software Defined Network (SDN), which
has the centralized controller, and is more suitable for load
balancing. We proposed a protocol for centralized controller to
communicate with servers and VMs, so our solution can take full
advantage of all these information to get better efficiency.
Furthermore, the middle box we proposed is transparent for the
original network, so it can be readily implemented for today's data.
centers
2. Design of the Middle Box
The architecture of the middle box and the basic theory of how to
choose the proper number of switches is described in this part.
2.1. Architecture of the Middle Box
The middle box is based on SDN and the topology inside is Clos
network. Inside the middle box, there are several OpenFlow switches
and a SDN controller. The OpenFlow switches are controlled by the
controller through OpenFlow Protocol 2. The topology in the middle
box are based on Clos network. The Clos networks can be divided into
three types according to the number of switches in different stage.
In order to get better efficiency and use fewer switches in the
middle box, The Rearrangealbe nonblocking Clos network is chosen in
the middle box to get better efficiency and use fewer switches. It
means that if we want to choose an idle path for the traffic from
the unused input port to the unused output port, then we may need to
rearrange the existing traffic to the different middle stage
switches. Fortunately, this can be done by the SDN controller, and
we can rearrange the path through rewriting the flow tables in the
OpenFlow switches.
Middle box is transparent for the original data center, so it is
placed in the connection between switches and servers in the data
center. When the middle box is deployed in the data center, switches
and servers perform regularly as before. The only difference is that
the servers need to report its load and resources usage to the SDN
Tu, et al. Expires January 4, 2015 [Page 3]
Internet-Draft SDN Middle Box for Data Centers July 2014
controller periodically, then our middle box can make the optimal
decision for the data center to get better efficiency.
2.2. Inside the Middle Box
As we previously discussed, the topology inside the middle box is
rearrangealbe nonblocking Clos network. Assuming that there are r
ingress stage switches with n*n ports, n middle switches with r*r
ports and r egress stage switches with n*n ports. Suppose the data
center has N_servers servers, then we can get:
r=N_servers/n
Then the total number of switches in the middle box are:
N_switches=N_servers/n+n+N_servers/n=n+2N_servers/n
According to the fundamental inequality, we have:
N_switches>=2sqrt(2N_servers)
The inequality above implies that when given the data center, we
must choose the proper switches. When the port number is
n=2sqrt(2N_servers) then the total number of the switches inside of
our middle box is N_switches=2sqrt(2N_servers). Unfortunately, the
number of n may be decimal, which doesnt conform the reality. We
must guarantee the number of n is an integer and the number of r is
also an integer.
From the discussed above, we can use the integral linear programming
to obtain the minimal number of switches for our middle box:
Min z=2r+n (r>=N_servers/n, N_servers belong to Z* is a constant, r,
n belong to Z*)
For example, if there are 100 servers in a data center, then we can
obtain the minimal number of switches is 30. Using integral linear
programming in formula above, we can estimate the total number of
switches in our middle box.
However, there are some problems. For instance, if the data center
is too huge (about 20000 servers), we have z_min=400 when n=200. It
means that the minimal number of switches inside the middle box is
400, but the switch of the middle stage must have 800 ports, which
is impractical. Another problem occurs when the data center is too
small (such as 8 servers), and in this case, we can get the number
Tu, et al. Expires January 4, 2015 [Page 4]
Internet-Draft SDN Middle Box for Data Centers July 2014
of the switches inside the middle box is 8 which equals to the
number of servers, which is costly. Under these circumstances, there
must be some strategies to build the middle box. If the data center
is too small, the Clos network turns into a large volume OpenFlow
switch. On the other hand, if the data center is too large, then we
will discuss how to solve the problem.
2.3. Design Space of the Middle Box
In order to solve the problem in large data centers, we consider the
design space of the middle box.
When using one middle box for the data center, if there are
N_servers, then the total number of switches inside the middle box
is n+2N_servers/n, which contains N_servers/n ingress stage switches
with n*n ports, n middle stage switches with
(N_servers/n)*(N_servers/n) ports, and N_servers/n egress stage
switches with n*n ports.
When using two middle boxes for the data center, if there are
N_servers servers, and each middle box connects to N_servers/2
servers, then the total number of switches inside one middle box is
n+N_servers/n, which contains N_servers/(2n) ingress stage switches
with n*n ports, n middle stage switches with
N_servers/(2n)*N_servers/(2n) ports, and N_servers/(2n) egress stage
switches with n*n ports. So the total number of the switches is
2n+N_servers/n.
Generally, when using k middle boxes, if there are N_servers, and
each middle box connects to N_servers/k servers, then the total
number of switches inside one middle box is n+2N_servers/(kn), which
contains N_servers/(kn) ingress stage switches with n*n ports, n
middle stage switches with N_servers/(kn)*N_servers/(kn) ports, and
N_servers/(kn) egress stage switches with n*n ports. So the total
number of the switches is kn+2N_servers/n.
According to the discuss above, we obtain that if the data center is
too huge, we can use multiple middle boxes to reduce the ports
number of the middle stage switches.
3. Working Principal of the Middle Box
In this section, we will give a detailed description of the working
principle of our middle box. In order to better explain the
principal, we deploy our middle box in a data center with the fat-
tree topology.
Tu, et al. Expires January 4, 2015 [Page 5]
Internet-Draft SDN Middle Box for Data Centers July 2014
The topology of the data center is the fat-tree, and our middle box
is placed in the connection between switches and servers in the data
center. Our middle box has the following functions:
1. Initialization: When the middle box is deployed in the data
center, it will trigger the initialization process.
2. Learning and optimization: The controller inside the middle box
will learn the traffic characteristics, then it will optimize the
path inside the middle box.
3. Load balancing: The middle box will collect information from
controller and switches, then do the load balancing for the data
center.
3.1. Initialization
When the middle box is deployed in the data center, firstly, it
needs to initialize. The initialization can ensure the normal
operation of the data center and can be done by the controller.
There are two basic rules of initialization:
1. The controller need to establish the connection to the switches
inside the middle box and the servers inside the data center.
2. The middle box must be transparent for the data center, which
indicates that the traffic must pass through the original path
after initialization. For example the original topology of the
data center is a fat-tree, thus server 1 and server 2 originally
connect to the switch 1.0. When our middle box is deployed in this
data center, then the middle box need to ensure traffic from
server 1 and server 2 must be transmitted to the switch 1.0 after
initialization.
3.1.1. Establishing Connection
Establishing connection between SDN switches and controller is
defined in OpenFlow protocol, so it is easy to realize.
In order to get better efficiency, the controller inside the middle
box need to establish connection with the servers, so that the
controller can make the optimal decision. Establishing connection
between controller and servers is unique in our middle box, and it
is useful for the controller to collect information about the
servers. Since there is no existing method for the controller to
Tu, et al. Expires January 4, 2015 [Page 6]
Internet-Draft SDN Middle Box for Data Centers July 2014
communicate with the normal servers, so we need to deploy
applications for servers and controller to establish connection.
Consider that TCP/IP protocol is widely applied in the network
today, so we use Socket for the controller and servers to
communicate with each other.
The Socket listening code is placed in the controller, and when the
middle box is deployed in the data center, the controller start to
listen to the new connection of servers. On the other hand, the
Socket connection code is placed in the servers, and when the
servers are connected to the middle box, it will try to establish
connection with the controller.
If connection successes, then the controller can get information
from the servers, such as traffic load, CPU usage and memory
capacity and so on. The servers periodically report their
information to the controller, and the controller also can request
information actively. The communication process between controller
and servers is shown in Figure 1.
+----------------------------+
|<---Establish Connection----|
| |
| |
|-------Connection OK------->|
| |
| |
|<---Report Information------|
| |
Controller | |server
|<---Report Information------|
| |
| |
|--Request Information------>|
| |
| |
|<---Report Information------|
| |
| ...... |
+----------------------------+
Figure 1 Communication Process between Controller and Servers
Tu, et al. Expires January 4, 2015 [Page 7]
Internet-Draft SDN Middle Box for Data Centers July 2014
In Figure 1, the server firstly connects to the controller, after
controller received the request, it returns the "Connection OK"
information. Then the server will report its information
periodically to the controller. The controller also can request for
the information from the servers.
3.1.2. Path initialization
After connections are established, the middle box need to initialize
the route inside the middle box so that the data center can operate
as usual. After initialization, the traffic must pass through the
original path.
Consider a rearrangeable nonblocking Clos network. There are 2
ingress stage switches with 3*3 ports, 3 middle switches with 2*2
ports and 2 egress stage switches with 3*3 ports. Every ingress
stage switches output connects to every middle switches input and
every middle stage switches output connects to every egress stage
switches.
We define Match Matrix M to describe the matches between the input
ports (ingress stage switch input ports) and the output ports
(egress stage switch output ports), which can be used to initialize
the original path. For example, if input port i matches the output
port j, which indicate that the traffic from input i need to be
transmitted to the output j, then M(i,j)=1 otherwise M(i,j)=0. That
is,
M(i,j)=1 port i matches port j
M(i,j)=0 otherwise
Besides, there are some constrains for the Match Matrix:
o For each row, the summary of columns is not more than 1
o For each column, the summary of rows is not more than 1
o M(i,j) belong to {0,1}
3.2. Learning and Optimization
Combining with the SDN controller, our middle box has the ability to
learn the traffic characteristics, then it will optimize the path
inside the middle box to get better efficiency for the data center.
Tu, et al. Expires January 4, 2015 [Page 8]
Internet-Draft SDN Middle Box for Data Centers July 2014
3.3. Load Balancing
After initialization, the middle box established connection between
servers and switches and the servers will periodically report its
resource usage, which is useful to do load balancing. There are two
kinds of load balancing in our middle box. The first load balancing
is for the switches inside the middle box, and the second is for the
servers in the data center.
Switches inside the middle box may overload because the optimization
operated by the controller. When a mass of traffic pass through a
switch inside the middle box, it will therefore result in delay and
packet loss. Fortunately, the controller can collect information
from the inside switches, such as port rate, traffic load, queue
length and so on. Using these information, we can dynamically change
the route inside the middle box, which can be done by the
controller.
From the previous section, we know that the servers will establish
connection with the controller after initialization. Servers will
periodically report their information to the controller, so
controller can take action if servers are overloaded. On condition
that in data centers, some servers may have the same functions. So
if one server is overloaded, then controller can transmit traffic to
another. On the other side, if the load of servers with the same
functions is light, then the controller can aggregate the traffic to
one server and shut down other servers to improve the efficiency of
the data center.
4. Security Considerations
TBD.
5. IANA Considerations
This document introduces no additional considerations for IANA.
6. Conclusions
In this document, we proposed a middle box to improve the
utilization of data centers. By first combining the Clos network
with Software Defined Network, our middle box is programmable and
nonblocking. The centralized controller inside the middle box can
collect information from SDN switches and servers, and these
information can significantly improve the utilization of the data
Tu, et al. Expires January 4, 2015 [Page 9]
Internet-Draft SDN Middle Box for Data Centers July 2014
center. On the other side, the middle box has the ability to learn
traffic characteristics of the data center, so it can get better
efficiency. The evaluation indicates that the middle box can
significantly improve the utilization comparing with the original
data center. Furthermore, the middle box is transparent for the
original network and can be readily implemented for today's data
centers.
7. References
7.1. Normative References
[1] Greenberg A, Hamilton J, Maltz D A, et al. The cost of a cloud:
research problems in data center networks[J]. ACM SIGCOMM Computer
Communication Review, 2008, 39(1): 68-73.
[2] Liu Xiaoqian. Research on Data Center Structure and Scheduling
Mechanism in Cloud Computing [D][D]. Hefei: University of Science
and Technology of China.
[3] Meng X, Pappas V, Zhang L. Improving the scalability of data
center networks with traffic-aware virtual machine
placement[C]//INFOCOM, 2010 Proceedings IEEE. IEEE, 2010: 1-9.
[4] Chidiebele U, Inyiama H C, Kennedy O, et al. QoS Parameters
Investigations and Load Intensity Analysis,(A Case for Reengineered
DCN)[J].International Journal, 2012.
[5] Beloglazov A, Buyya R. Energy efficient resource management in
virtualized cloud data centers[C]//Proceedings of the 2010 10th
IEEE/ACM International Conference on Cluster, Cloud and Grid
Computing. IEEE Computer Society, 2010: 826-831.
[6] Charles E. Leiserson Fat-trees: universal networks for hardware-
efficient supercomputing, IEEE Transactions on Computers, Vol. 34 ,
no. 10, Oct.1985, pp. 892-901 6.
7.2. Informative References
[7] Greenberg A, Hamilton J R, Jain N, et al. VL2: a scalable and
flexible data center network[C]//ACM SIGCOMM Computer Communication
Review. ACM, 2009, 39(4): 51-62.
[8] Guo C, Lu G, Li D, et al. BCube: a high performance, server-
centric network architecture for modular data centers[J]. ACM
SIGCOMM Computer Communication Review, 2009, 39(4): 63-74.
Tu, et al. Expires January 4, 2015 [Page 10]
Internet-Draft SDN Middle Box for Data Centers July 2014
[9] Cao J, Xia R, Yang P, et al. Per-packet load-balanced, low-
latency routing for clos-based data center networks[C]//Proceedings
of the ninth ACM conference on Emerging networking experiments and
technologies. ACM, 2013: 49-60.
[10] Heller B, Seetharaman S, Mahadevan P, et al. ElasticTree:
Saving Energy in Data Center Networks[C]//NSDI. 2010, 10: 249-264.
[11] Beloglazov A, Buyya R. Energy efficient resource management in
virtualized cloud data centers[C]//Proceedings of the 2010 10th
IEEE/ACM.
International Conference on Cluster, Cloud and Grid Computing. IEEE
Computer Society, 2010: 826-831. 1312.
[12] Clos, Charles (Mar 1953). "A study of non-blocking switching
networks".Bell System Technical Journal 32 (2): 406C424.
doi:10.1002/j. 1538-7305.1953.tb01433.x. ISSN 0005-8580.
[13] Qazi Z A, Tu C C, Chiang L, et al. SIMPLE-fying middlebox
policy enforcement using SDN[C]//Proceedings of the ACM SIGCOMM 2013
conference on SIGCOMM. ACM, 2013: 27-38.
[14] Fundation O N. Software-defined networking: The new norm for
networks[J]. ONF White Paper, 2012.
Tu, et al. Expires January 4, 2015 [Page 11]
Internet-Draft SDN Middle Box for Data Centers July 2014
Authors' Addresses
Renlong Tu
Fudan University
525, Zhang Hen Road, Zhangjiang
Shanghai 201203
P.R. China
Email: 13210240004@fudan.edu.cn
Chuanjie Zhou
Fudan University
525, Zhang Hen Road, Zhangjiang
Shanghai 201203
P.R. China
Email: 13210240050@fudan.edu.cn
Jin Zhao
Fudan University
525, Zhang Hen Road, Zhangjiang
Shanghai 201203
P.R. China
Email: jzhao@fudan.edu.cn
Xin Wang
Fudan University
525, Zhang Hen Road, Zhangjiang
Shanghai 201203
P.R. China
Email: xinw@fudan.edu.cn
Tu, et al. Expires January 4, 2015 [Page 12]