AWS Community Day CPH - Three problems of Terraform
Multipath Load Balancing for SDN Data Plane
1. Multipath Load Balancing for SDN
Data Plane
For ICONIC 2018, 6-7 Dec 2018, Mon Tresor, Mauritius
Authors: Mpho Nkosi*, Albert A. Lysko, Sabelo Dlamini
CSIR Meraka Institute, Pretoria, South Africa
Email: mnkosi2@csir.co.za
2. 2
Contents
• Introduction
• Focus of the work
• System Setup and Methodology
• Multi-path load balancing algorithm
• Results
• Conclusion
3. 3
Introduction (1 of 2)
• SDN is a key enabling networking paradigm for 5G communications
• Core function of SDN is to separate the control from the data plane based
on abstract representation of network
• Abstraction is achieved through the use of SDN controller which defines the
behaviour of the forwarding plane and routing policies
• For each path, the controller defines a flow together with flow routing
policy. Thus, for each path, only one flow is defined
4. 4
Introduction (2 of 2)
• Load balancing is the method of managing incoming traffic by distributing
and sharing the load fairly among available resources
• In SDN, load balancers are program codes which can easily be
implemented on the SDN controller to efficiently manage network load
• Most SDN controllers come with built in static network load balancers
• Load balancing in SDN controllers is implemented using two approaches: the
stateless or the state-full load balancing
5. 5
Related Work
• Khan et. al, studied dynamic load balancing based on traffic volume by
monitoring link usage and load balancing traffic among available links to
avoid link over loading [1].
• Gupta et. al studied flow statistics based load balancing using POX controller
[2]. In their method, load balancing is performed to avoid server overloading
by fairly sharing server connection requests among multiple servers
6. 6
Focus of this work
• This work studies multi-path load balancing mechanism to reduce network
response time and maximize the overall network performance
• To measure the performance of multipath-based load balancing in a single
centralized OpenDayLight controller network
• The main contribution of this work is a load balancing mechanism for SDN
centralized controller environments which can be employed at any point in
time in a network
7. 7
System setup (1 of 2)
• Two different scenarios with different network topologies were considered:
Scenario 1: a single centralised SDN controller connected to 7 OpenFlow
switches and 8 hosts
Scenario 2: a single centralised SDN controller connected 40 OpenFlow
switches and 81hosts
• Nitrogen version of the open source Opendaylight controller was used in
both scenarios
• Karaf dlux features were used to monitor the topologies, nodes and
controller-switch communications
8. 8
System setup ( 2 of 2)
• PC with Linux Ubuntu 18.04 with 8GB RAM and 2.7GHz processing speed
was used to implement this study
• Mininet SDN emulation tool was used to emulate the network topologies
• Iperf was used to create TCP data streams and to measure the throughput of
the data flow before load balancing and after load balancing.
• Wireshark was also used to analyse packet routing before and after load
balancing
9. 9
Implementation Methodology ( 1 of 2)
• Emulate a network topology using mininet and run mininet ping all to ensure
that nodes and links are up and running.
• Identify a source-destination pair
• Verify that the path is indeed used for transmission for the source-destination
pair using Wireshark
• Create a ping on the source-destination pair to generate traffic and flow
congestion
• Perform an iperf and another ping to measure the latency and bandwidth
utilization on the over loaded flow
10. 10
Implementation Methodology ( 2 of 2)
• Perform load balancing on the congested source-destination pair)
• Perform an iperf and ping again on the source-destination pair to measure
the performance of the load balancing.
11. 11
The multi-path load balancing algorithm
• Takes source-destination pair as input
• Extracts network topology using JSON and REST APIs and perform link,
port MAC and IP mappings together with switch and port connections.
• Extracts ports transmissions rates and stats to understand load on each
port for each flow
• Possible best alternative paths are defined based on lowest flow cost
• Flow cost is calculated as the sum of number of transmitted and received
packets at that time
• Traffic for the source-destination pair is pushed down on to the alternative
flows until all alternative Flows have equal flow cost
14. 14
Results (1 of 4)
0
1
2
3
4
5
6
7
8
9
10
MIN AVG MAX MDEV
Time in ms
average ping for 10packets of size 10240byte
Scenario1: Ping results
Before Load Balancnig
After load balancing
15. 15
Results (2 of 4)
0
1
2
3
4
5
6
7
Transfer(GBytes) Bandwidth(Mbits/sec)
GBvs.MBits/sec
averageiperf for timeinterval of 15sec
Scenario 1: Iperf results
Before Load balanacing
After load balalncing
16. 16
Results (3 of 4)
0
1
2
3
4
5
6
7
8
9
10
MIN AVG MAX MDEV
Timeinms
Averageping for 10 packets of size10240 Byte
Scenario 2:Pingresults
Before Load balancing
After Load Balancing
17. 17
Results (4 of 4)
0
1
2
3
4
5
6
7
Transfer(GBytes) Bandwidth(Mbits/sec)
GBvs.MB/sec
averageiperf for timeinterval of 15sec
Scenario 2: Iperf results
Before Load balanacing
After load balalncing
18. 18
Conclusion
• From scenario 1 and 2, it can be concluded that the load balancer is flexible
for both smaller networks and larger networks. It also can improve network
performance and avoid overall network delay
• However, it was found that for better network improvement, the data plane
should have multiple alternative links so that multiple path paths can be
defined for a routing path
19. 19
References
[1] S. Bhandarkar and K. A. Khan, “Load Balancing in Software-defined Network
( SDN ) Based on Traffic Volume,” vol. 2, no. 7, pp. 72–76, 2015
[2] K. Kaur, S. Kaur, and V. Gupta, “Flow statistics based load balancing in
OpenFlow,” 2016 Int. Conf. Adv. Comput. Commun. Informatics, pp. 378–381,
2016