Dynamical Traffic Engineering in Software-Defined Network
Dynamical Traffic Engineering in Software-Defined Network
2014
Online available since 2014/Aug/11 at www.scientific.net Accepted: 26.05.2014
© (2014) Trans Tech Publications, Switzerland
doi:10.4028/www.scientific.net/AMM.610.954
Abstract. Software-Defined Networks (SDN), as newly proposed network architecture, has a great
potential in optimizing network traffics. In SDN, the control plane is separated from the data plane.
With the help of the centralized controller, we can gather information of the network in real time. In
this work, we propose a practical two-stage approach for traffic engineering that takes advantages
of SDN. The approach not only assures every newly injected flow gets a suitable route that does not
have too much payload on it, but also schedules the overall flows so that they are distributed more
equally in the network. Furthermore, we demonstrate its efficiency in terms of port speed and
compared it with port speed under the default routing decision. We also use linear programming to
find the optimal solution and compare it with our result.
Introduction
The Internet users have been increasing explosively in recent years, which left a huge amount of
traffic on the worldwide network. However, the capacity of network links did not increase as fast as
the traffic did. Consequently, the Internet Service Provider (ISP) failed to provide a network that is
fast enough to satisfy the great need of their users. One alternative is that the ISP raises the Internet
speed by exploiting the current links more efficiently. Traffic engineering is a way to solve this
problem. It puts every flow in the network on the links systematically. As a result, flows will be
transmitted at a high speed, which improves network utilization and enhances user experience.
However, there exists two difficult points in traffic engineering.
1. The route of a packet is decided by the status of part of the network, which usually leads to a
locally optimal route rather than a globally optimal one.
2. The route of a packet is barely decided by the topology of the network, which means if the
traffic changes dramatically, the network will fail to attain an overall load balance.
To solve the first problem, we use SDN as our network architecture. The switches in SDN
forward packets according to its flow table, which are totally controlled by the controller. The
controller is able to find the best path for each packet as it has the overall topology of the network.
We use a dynamical approach to fix the second problem. The controller will fetch port and flow
statistics from switches routinely. Then we can calculate the speeds of ports and flows based on
these real-time statistics and decide the route of packets using the speed information.
To demonstrate our approach's efficiency, we build a SDN network using floodlight controller
and change the controller to implement our approach. We compare our result to the situation of
using floodlight's own forwarding module. Given that we can use linear programming to calculate
the optimal distribution of flows, we also compare our result with the optimal result.
All rights reserved. No part of contents of this paper may be reproduced or transmitted in any form or by any means without the written permission of TTP,
www.ttp.net. (ID: 130.207.50.37, Georgia Tech Library, Atlanta, USA-17/11/14,04:02:51)
Applied Mechanics and Materials Vol. 610 955
The problem of the linear programming is that it takes too long to calculate the optimal path for
each flow, which may lead to its result no longer suit the current network because the flow speeds
are changing. In this work, we propose a heuristic algorithm that has a dynamic attribute. The
algorithm can respond to flow speed’s change rapidly.
Overall Adjustment. The second stage rearranges all the flows that saved in the database. For
each flow in the database, we first calculate its route level and current speed. Then we find all the
routes between the source switch and the destination switch. Since we did this step in the first stage,
we can use the result from it and do not need to calculate the routes again. Then we classify these
routes. But this time, we add the flow’s current speed to a route when we calculate its max
utilization. Then we do the same search as the first stage did but we set our highest level to the
flow’s current level. At last, we update the database with the new decision. The detailed process of
this stage is showed in Figure 2.
We take a few steps to test the performance of our approach. First, we do not add the traffic
engineering module when we launch the controller. The packet's route will be decided by
floodlight's default forwarding module. Then we begin to send 6 flows from host1 and host3 and
meanwhile we take down the route of each flow and the speed of each port in the network. After
this, we reboot the controller with the traffic engineering module. We send the same flows and take
down the routes and port speeds as well. Figure 4a shows the route when we used the floodlight
forwarding module. Figure 4b shows the routes after we used the traffic engineering module.
Figure 5 shows the average speeds of each switch port tuple under the situations of using default
forwarding, using our proposed traffic engineering and using linear programming traffic
engineering. The difference of speeds between each port decreases after we add traffic engineering
module.
Figure 6 shows the standard deviations of port speeds under these three situations. The standard
deviation stands for the degree of the equality of link utilizations. Flows are distributed more evenly
if the standard deviation is smaller.
958 Mechanics, Mechatronics, Intelligent System and Information Technology
We also use iperf to test loss packet rates. We inject 4 flows which have a speed up to 100M and
then use iperf test loss packet rate in different speeds. Figure 7 shows the loss packet rates of using
and not using our approach.
References
[1] Heller, B., Seetharaman, S., Mahadevan, P., Yiakoumis, Y., Sharma, P., Banerjee, S., &
McKeown, N. 2010. ElasticTree: Saving Energy in Data Center Networks. In NSDI (Vol. 3, pp.
19-21).
Mechanics, Mechatronics, Intelligent System and Information Technology
10.4028/www.scientific.net/AMM.610