Content uploaded by Hassan El Alami
Author content
All content in this area was uploaded by Hassan El Alami on Jun 20, 2023
Content may be subject to copyright.
Multipath-routing based load-balancing in SDN
networks
Farah CHAHLAOUI*, Hamza DAHMOUNI, Hassan EL ALAMI
Institut National des Postes et T´
el´
ecommunications
INPT, 2, av. Allal El Fassi, Madinat Al Irfane,
10000, Rabat, Morocco
Email: chahlaoui, dahmouni@inpt.ac.ma, h.elalami.ma@ieee.org
Abstract—Due to the rapid growth of traffic and the
increasing demand of network quality of service (QoS) and
high throughput in today’s 5G networks, load-balancing
mechanisms became the main strategy used to enhance
network performance and user experience. The use of
standard load-balancing methods, however, may hinder the
network’s ability to achieve QoS goals in terms of resources
utilization and latency constraints. In this paper, we study
multi-path load balancing in a centralized SDN-based
network to achieve the best network performance possible
and we propose a multi-path load-balancing mechanism
that guarantees a better user experience through optimizing
delay, jitter, and the packet-loss rate.
Keywords– SDN, 5G, QoS, Load-balancing, Multi-
path routing
I. INTRODUCTION
The launch of 5G networks in 2020 instigated the
increase of the users demand for improved Quality of
Service (QoS) and performance of network. One of the
main issues facing the networks operators are load man-
agement, throughput optimization and meeting the QoS
requirement for each provided service. Load-balancing
is one of the common policies to tackle these issues by
solving load imbalance, uneven ressource utilization and
high data transmission delay.
Software Defined Networking (SDN) is a key
paradigm for Internet of Things (IoT) and 5G networks
that guarantees simplified management of the network,
cost reduction, and optimized resource usage. The main
added value of SDN is to decouple the control from
the data plane by centralizing the network’s control
functions in the controller and removing them from the
hardware forwarding elements. The controller defines the
behaviour of the Data plane, it engineers forwarding
policies and installs the flow tables in the forwarding
elements using protocols such as OpenFlow. In case
of an increase of the amount of incoming packets, the
controller and the used flow might be overloaded causing
delay and packet-loss. Therefore, traffic management [1]
[2] is vital to ensure availability and overall QoS of the
network.
Load balancing is an effective method to distribute the
load in a network. It improves bandwidth of the network
elements, their availability and processing capacity. In
this context, SDN is the most used architecture by
researchers. It is a new architecture that couples control
plane and data plane providing a centralized overview
of the network and its key perfomance indicators. It
is known for its multiple features such as centralized
control and monitoring, flexibility and scalability that
allows the network administrators to optimize the exist-
ing networks functions and to carry out the new services
deployments.
Within the existing load balancing algorithms, the
multipath routing prooved its efficiency compared to
the single-path routing. Multipath routing is a routing
method which finds multiple routes to a destination in a
network topology. By providing multiple paths to trans-
mit traffic accross the network, it is possible for network
traffic to be distributed fairly, hence increasing the effi-
ciency of network utility, the bandwidth utilization and
improving the reliability of the network. With the use of
OpenFlow and SDN networks that decouples the control
and data plane, the flexibility of the network is expanded
and ameliorate the multipath routing’s performance.
In this paper, we propose a dynamic load-balancing
method in an SDN network based on multipath routing to
meet the constraint of bandwidth. The algorithm chooses
the data forwarding path with the lowest cost calculated
using the link weight which is based on the available
bandwidth of the network links. The proposed algorithm
is compared to a single path routing controller in terms
of QoS indicators, such as Delay and jitter, that proved
their impact on the end user experience. The rest of the
paper is organized as follows. In section II we survey
the litterature on the existing load-balancing methods978-1-6654-7964-6/22/$31.00 ©2022 IEEE
978-1-6654-7964-6/22/$31.00 ©2022 IEEE
2022 5th Conference on Cloud and Internet of Things (CIoT)
180
2022 5th Conference on Cloud and Internet of Things (CIoT) | 978-1-6654-7964-6/22/$31.00 ©2022 IEEE | DOI: 10.1109/CIOT53061.2022.9766801
Authorized licensed use limited to: Howard University. Downloaded on June 20,2023 at 00:39:03 UTC from IEEE Xplore. Restrictions apply.
based on multipath routing. In section III, we introduce
the optimization problem and focus on the proposed
algorithm, and we also analyze the used features of SDN
and the controllers modules. In section IV, we describe
the networks architecture used in our experiments. We
present the performance of the proposed algorithm in
section V. Finally, a conclusion and future works are
presented in Section VI.
II. MU LTIPATH ROUTIN G BA SED LOA D-BALANCING
Over the last years, according to several studies, the
load-balancing issue is an impact factor in SDN networks
performance [3]. The multi-path routing strategy was
also proven efficient to overcome the single path routing
shortcoming. The authors in [4] and [5] have proposed
Equal Cost Multipath (ECMP) algorithm. The aim of
this algorithm is to identify the available paths to the
destination and to provide the network with back-up
paths in case of failure which improves links utilization
rate and network reliability. However, all the identified
paths have the same cost during the transmission process
wich lowers the bandwidth utilization. Therefore, it is
mandatory to improve the ECMP routing algorithm by
assigning link weights proportionate to the link informa-
tion.
The autors in [6], proposed a multi-path load-
balancing algorithm for SDN networks based on the mul-
tiple performance factor (MPF). This algorithm allowed
an efficient monitoring of the network, in which the
traffic is dynamically distributed, using link informations
in real time based on delay, bandwidth, and link rate.
The network topology is obtained to distribute the traffic
to the available paths according to the MPF and the
group table selection in the OpenFlow group table. In
addition, the links with the higher MPF can forward a
larger number of data packets. In spite of the increase
of the incoming data, the traffic transmission efficiency
is higher compared to the ECMP algorithm.
In [7], Weighted ECMP (W-ECMP) load balancing is
programmed in the network’s data plane to overcome
paths congestion. The reverse collection method is used
at the destination to update the paths status. The choice
of the forwarding path is based on the network’s paths
utilization. The link utilization is calculated using the
transmitting rate of the switches ports ratio to the link
bandwidth. The link utilization is then converted to a
weight. The tests showed that W-ECMP performs like
ECMP at low load, however, with the increase of data
flow, the flow completion time is 10% better using W-
ECMP.
Dijkstra-Repeat algorithm is presented in [8]. It is a
multipath load balancing mechansim that ensures disjoint
routing in a hybrid network composed of both SDN
and OSPF. The proposed scheme runs Dijkstra algorithm
repeatedly until all paths are obtained. The authors use
Lazy Routing update to compute the transmitting paths
in the SDN nodes which is based on the minimum
remaining link capacity and traffic demand. The experi-
mental results showed that multi-path routing-based LRU
achieved a reduced overall maximum link utilization and
better load-balancing.
Based on three main constraints: delay, packet loss,
and bandwidth, the authors in [9] have proposed a new
approach, the Dynamic and Adaptive multi-path routing
(DAMR). The cost used for selecting the paths is the
weighted sum of packet loss and jitter. The path selection
can either be sensitive to the packet loss or the jitter and
is based on the delay and available bandwidth constraint.
The algorithm DAMR proved to be best in throughput,
less fluctuating packetloss and low transmission delay
while overcoming the controllers overhead.
In [10], the authors proposed an SDN-based Dynamic
Flowentry-Saving Multipath (DFSM) algorithm destined
to be used in SDN based interdata centers connected
through wide area networks. This mechanism aims to
ensure a low latency for each DC pair through multi-
path dynamic adjustment. The path adjustment consist
of releasing paths used by the DC pairs which meets
the latency requirement and allocates them to the pairs
with the latency status ”Unsatisfied”. This mechanism
is based on traffic splitting which is latency aware
and achieves better path load-balancing which reduces
latency compared to standard routing algorithms.
The load balancing algorithm introduced in [11] is
based on multi-path routing and aims to reduce the
network’s latency and improve its response time and
its overall performance. This mechanism dynamically
calculates the shortest alternative paths for the incoming
flows using Dijkstra in order to balance traffic and to
relieve the network’s controller and one traffic flow is
shared between the alternative flows. The process of
proposed algorithm chooses the alternative path with
the lowest flow cost which is the sum of transmitted
and received packets at the specified time. The results
showed an increase in the transfered data volume and
a 50% decrease of the maximum average ping. In [12],
uses the same mechanism on a hybrid network.
Multipath routing with load balancing and admis-
sion control is proposed in [13] , its objective is to
maximize the network’s throughput. The experiences
results showed a better performance in terms of latency
and packet loss. The mechanim uses multipath routing
scheme and the admission control which controls the
2
2022 5th Conference on Cloud and Internet of Things (CIoT)
181
Authorized licensed use limited to: Howard University. Downloaded on June 20,2023 at 00:39:03 UTC from IEEE Xplore. Restrictions apply.
amount of incoming traffic to the network and rejects it
when a certain threshold is exeeded. The merge of these
two mechanisms allows to avoid congestion. The results
show that the performance of the MLBAC mechanism
is better than spanning tree protocol. And the lower the
admission control threshold is the lower the latency and
the packet loss are.
III. BANDWIDTH-BASE D MU LTIPATH
LOA D-BALANCING
A. Multipath link Discovery
For this paper we implement the Depth First Search
(DFS) algorithm in 1 using Python. It is widely used in
mathematics and Computer Science to search graph data
structures. This algorithm uses the SDN controller to
obtain the network’s topology and needed information
for load-balancing. The algorithm starts at the root
node and marks it, for our case it starts at the client,
and move to the adjacent node until it explores all the
branches and marks all the existing node. Afterwards,
the algorithm backtracks and checks if other unmarked
nodes exist and store the found vertices in a stack. The
objective is to find all the available paths between the
start vertex and the destination vertex. The output of
the algorithm is all the existing paths in the algorithm.
The input of the algorithm is a graph G and a vertex
v of G. The output is all vertices reachable from v are
labeled as discoverd.
Result: All vertices reachable from v labeled as
discovered
Let S be a stack;
S.push(v);
while S is not empty do
v = S.pop();
if v is not labeled as discovered then
label v as discovered;
for all edges from v to w in
G.adjacentEdges(v) do
S.push(w)
end
end
end
Algorithm 1: Non-recursive implementation of DFS
B. Proposed load-balancing algorithm
In our work we propose to study the performance of
a multipath load balancing method based on a multiple
path finding algorithm and a bandwidth based path cost
calculation. First, we use the DFS algorithm to explore
all the possible vertices in the network until it finds
eventually all the possible paths between two vertices
and the proposed algorithm collects the status and link
informations. In [14], the authors already proved that
DFS compared to Breath First Search (BFS) optimizes
the routing distance in multipath routing. In addition
to using DFS, our algorithm achieves load balancing.
In order to achieve an optimal path selection, we use
Sflow to collect the topology information and the
realtime traffic statistics of the network links. To that
end OpenFlow 1.3 is used as a communication protocol
between the data plane and the control plane. We start
by calculating the cost of each link and then we chose
to use the link’s remaining available bandwidth as a
link cost.
The link’s bandwidth is the number of bits transmitted
per second, the link’s traffic is the amount of load
transmitted in real-time on the link. The list of paths
returned by the DFS algorithm is unweighted. Our aim is
to select the best path among this list in order to ensure
a better load distribution and improve the network’s
performance. Therefore, a weighing mechanism is
used in addition to the link cost. The weight of a
link is the ratio of the reference bandwidth to the
remaining available bandwidth where the available
bandwidth is the difference of the link’s bandwidth and
the transmitted traffic on this link. The SDN controller
finally calculates the path weight which is the sum of
the cost of its links.
For a path pcomposed of nlinks (l1 , l2 ,..., ln ), the
path maximum remaining bandwidth BW calculation
formula is as follows:
BW =min(Bpi −usedbandwidthi)where:
1≤i≤n.
Where: Bpi is the total bandwidth of the link li on path
pand the used bandwidth usedbandwidthiof the link
lduring a time period tis calculated as follows:
usedbandwidthi=(bytest2−bytest1)
t2−t1
The minimum of the available bandwidths of links
along a path is the end-to-end available bandwidth of
the path. The objective of our process is to prevent path
congestion. The path with the lowest weight is selected
for data transmission.
3
2022 5th Conference on Cloud and Internet of Things (CIoT)
182
Authorized licensed use limited to: Howard University. Downloaded on June 20,2023 at 00:39:03 UTC from IEEE Xplore. Restrictions apply.
IV. SIMULATION TEST
A. Experimental environment
The proposed multipath load balancing mechanism
was implemented on Mininet emulator. Mininet is a tool
that allows the creation of a realistic network, customize
it and experiment newly developped SDN applications.
The used network is composed of OpenVswitches OVS.
It’s a multilayer virtual switch designed to enable mas-
sive network automation and supports numerous proto-
cols includion OpenFlow version 1.3. To collect traffic
statistics specifically the bandwidth utilization from all
the network interfaces we enable the Sflow agent on the
switches in the network. The SDN controller used for
this work is Ryu. It is an open component-based SDN
framework that provides application program interfaces
(API) that helps manage and control network devices and
control applications. This controller proved its ability to
increase the network’s agility. It is written in Python and
can use OpenFlow for its communication with the data
plane. We use Iperf [15] to generate the flows that allows
the tuning of network parameters such as timing, link
capacity and protocols. It can generate UDP and TCP
flows and provides traffic statistics such as delay, jitter,
bandwidth and packet loss. The performance testing was
conducted on two types of topologies: Topology I in
Fig. 1 has two available paths from source to destination
and topology II in Fig. 2 has three available paths. The
two scenarios were proposed to test the performance
and flexibility of the bandwidth-based load balancing
mechanism. For both topologies, we use iperf command
to set the host h1 as the server and h2 as the client
for both topologies and to simulate the communication
between them. We simulate congestion between the
source and destination pair by performing pings. We
then measure the performance of the multipath routing
load balancing method based on remaining bandwidth
and compare it to the Dijkstra’s shortest-path algorithm
that uses only one path and the equal-cost multi-path
routing algorithm. Our aim is to show the performance of
the proposed algorithm at different volumes of incoming
traffic. We used Mininet to construct the topologies on
which the simulations were performed. The capacity
of the links is 10Gbps. The host h1 sends different
TCP trafic volumes to the host h2. Our objective is to
determine the performance of our proposed algorithm in
terms of latency, jitter and packet-loss rate.
B. Experiment and analysis
We evaluate the bandwidth-based multipath load-
balancing algorithm in terms of latency, jitter, and
packet-loss in two types of topologies I and II (Fig. 1
Fig. 1: Topology I with 2 paths
Fig. 2: Topology II with 3 paths
and Fig. 2) by comparing the results of these indicators
using other load-balancing methods. These mechanisms
are the Dijkstra’s shortest-path algorithm that uses only
one path and the equal-cost multi-path routing algorithm
(ECMP).
1) Delay: Fig. 3 and Fig. 4 show respectively the
Delay of the tests performed on topology I and II.
The delay increases as the volume of data transmitted
increases for all the algorthims tested. In the two-paths
topology, the ECMP algorithm presents a controlled de-
lay 43% compared to Dijkstra’s shortest-path algorithm
but its performance remains limited. The bandwidth-
based multi-path load-balancing algorithm’s delay is
9% lower. Compared with the Dijkstra’s shortest-path
algorithm, our mechanism shows a 48% lower delay. The
4
2022 5th Conference on Cloud and Internet of Things (CIoT)
183
Authorized licensed use limited to: Howard University. Downloaded on June 20,2023 at 00:39:03 UTC from IEEE Xplore. Restrictions apply.
better performance of our algorithm was confirmed in the
three-paths topology where its delay was 20% lower than
ECMP algorithm and 52% lower than the shortest path
algorithm. These results show that a network managed
by a multipath-based algorithm is more likely to achieve
better performance the higher the number of the available
paths is reducing the risk of overloaded paths which
reduces delay and increases the volume of transmitted
data.
Fig. 3: Delay in a topology with 2 paths
Fig. 4: Delay in a topology with 3 paths
2) Jitter: As shown in figure Fig. 5 and Fig. 6 the
proposed algorithm’s jitter is more optimal compared to
other methods. As it can be seen, the simulation results
confirm that the bandwidth-based algorithm has a better
performance than the shortest path algorithm and the
equal-cost multi-path routing algorithm (ECMP). With
load increase, the jitter as opposed to the delay decreases.
The jitter of the network when we use the shortest
path algorithm jitter is higher by 50% and 54% than
our mechanism in both topologies I and II, respectively.
In addition, as compared to the ECMP mechanism, the
model proposed presents better results: 40% lower jitter
in the two-paths topology and 43% lower jitter in the
three-paths topology.
Fig. 5: Jitter in a topology with 2 paths
3) Packet Loss: In Fig.7 and Fig.8 , we compare
the performance of the three algorithms in terms of
packet-loss. We can see that the packet-loss rate of the
bandwidth-based multi-path load-balancing algorithm is
58% and lower than both Dijkstra’s shortest-path algo-
rithm and 40% lower than equal-cost multi-path routing
Fig. 6: Jitter in a topology with 3 paths
5
2022 5th Conference on Cloud and Internet of Things (CIoT)
184
Authorized licensed use limited to: Howard University. Downloaded on June 20,2023 at 00:39:03 UTC from IEEE Xplore. Restrictions apply.
algorithm (ECMP) in the two-paths topology. The delay
of the proposed mechanism remains lower in the three-
paths topology: 59% lower than Dijktra’s end-to-end
delay and 39% lower than ECMP algorithm . This
proves that the proposed algorithm guarantees better
performance.
Fig. 7: Packet-loss in a topology with 2 paths
Fig. 8: Packet-loss in a topology with 3 paths
V. CO NC LU SION AND FUTURE WORK
In this paper, we proposed a multi-path load-balancing
algorithm. The experimental results obtained after the
tests performed on two types of topologies show that
the bandwidth-based load-balancing algorithm can im-
prove the overall performance by reducing the end-
to-end delay, the jitter and the packet-loss rate. This
load-balancing algorithm allows the dispatch of the in-
coming traffic on all available paths allowing a better
load distribution, an optimized resource utilization and
a better management in case of path failure. As future
directions of proposed approach, we will study the QoS
indicators behavior in an SDN network with different
QoS strategies.
REFERENCES
[1] G. Bianchi, M. Bonola, A. Capone and C. Cascone (2014).
OpenState: programming platform-independent stateful openflow
applications inside the switch. Comput. Commun. Rev., 44, 44-51.
[2] 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
[3] S. Agarwal, M. Kodialam, T. Lakshman: Traffic engineering in
software defined networks. In: Proceedings of the IEEE INFO-
COM, pp. 2211–2219 (2013)
[4] H. Zaw. Delay-Aware Elephant Flow Rerouting in Software-
Defined Networking (SDN). Diss. University of Computer Studies,
Yangon, 2019.
[5] M. Chiesa, G. Kindler, and M. Schapira. ”Traffic engineering with
equal cost Multipath: An algorithmic perspective.” IEEE/ACM
Transactions on Networking 25.2 (2016): 779-792.
[6] D. Li, H. Liu, Y. Jin, MPF-MLBS: A Multi-path Load Balancing
Strategy for SDN Networks Based on Multiple Performance
Factors, Mathematics and Computer Science. Vol. 5, No. 3, 2020,
pp. 64-71. doi: 10.11648/j.mcs.20200503.11
[7] J. Ye, C. Chen and Y. Huang Chu, ”A Weighted ECMP Load Bal-
ancing Scheme for Data Centers Using P4 Switches,” 2018 IEEE
7th International Conference on Cloud Networking (CloudNet),
Tokyo, 2018, pp. 1-4, doi: 10.1109/CloudNet.2018.8549549.
[8] un, Xiangshan, et al. ”Multipath load balancing in SDN/OSPF
hybrid network.” IFIP International Conference on Network and
Parallel Computing. Springer, Cham, 2016.
[9] J. Wu, X. Qiao, G. Nan. (2018). Dynamic and adaptive multi-path
routing algorithm based on software-defined network. International
Journal of Distributed Sensor Networks. 14. 155014771880568.
10.1177/1550147718805689.
[10] Y. Wang, Y. Lin and G. Chang, ”SDN-based dynamic
multipath forwarding for inter-data center networking,” 2017
IEEE International Symposium on Local and Metropolitan
Area Networks (LANMAN), 2017, pp. 1-3, doi: 10.1109/LAN-
MAN.2017.7972146.
[11] M. C. Nkosi, A. A. Lysko and S. Dlamini, ”Multi-path Load
Balancing for SDN Data Plane,” 2018 International Conference
on Intelligent and Innovative Computing Applications (ICONIC),
2018, pp. 1-6, doi: 10.1109/ICONIC.2018.8601241.
[12] T. Shozi, P. Mudali, M. O. Adigun and H. Kobo, ”A Data
Plane Multi-Path Load Balancing Mechanism for Hybrid Soft-
ware Defined Networks in Different Topologies,” 2019 Interna-
tional Conference on Advances in Big Data, Computing and
Data Communication Systems (icABCD), 2019, pp. 1-6, doi:
10.1109/ICABCD.2019.8851009.
[13] M. F. Ramdhani, S. N. Hertiana and B. Dirgantara, ”Multipath
routing with load balancing and admission control in Software-
Defined Networking (SDN),” 2016 4th International Conference
on Information and Communication Technology (ICoICT), 2016,
pp. 1-6, doi: 10.1109/ICoICT.2016.7571949.
[14] Hossen, Md Sajid, et al. ”Enhancing Quality of Service in
SDN based on Multi-path Routing Optimization with DFS.” 2019
International Conference on Sustainable Technologies for Industry
4.0 (STI). IEEE, 2019.
[15] iperf, a modern alternative for measuring max-
imum TCP and UDP bandwidth performance,
http://iperf.sourceforge.net/,2013/01/21
6
2022 5th Conference on Cloud and Internet of Things (CIoT)
185
Authorized licensed use limited to: Howard University. Downloaded on June 20,2023 at 00:39:03 UTC from IEEE Xplore. Restrictions apply.