Conference PaperPDF Available

Increase in TCP Throughput using Shortest Path Routing Algorithm in Mininet

Authors:

Figures

Content may be subject to copyright.
978-1-6654-7719-2/22/$31.00 ©2022 IEEE
Increase in TCP Throughput using Shortest Path
Routing Algorithm in Mininet
Deepak Kumar, and Jawahar Thakur
Department of Computer Science, Himachal Pradesh University
Email: deepak.cs339@gmail.com ORCID: 0000-0002- 1629-0132
AbstractSDN is a novel networking paradigm that can
programmatically control, monitor, and modify the behavior of
routing devices. SDN supports NFV architecture and therefore
can build secure, scalable, and reliable networks. To emulate
this research mininet is required to create an SDN environment
with inbuilt hosts, switches, controllers, and links among them.
This paper aims to improve TCP throughput in an SDN
environment by implementing a short-path routing algorithm.
In this implementation, a comparison has been made between
two case studies: Case study 1 (Host h1 and h2 connected to a
single switch), and Case study 2 (Host h2 and h8 connected to
separate switches) to see their effect on TCP throughput. This
research work is novel because it uses the shortest path routing
script following the RYU controller and custom-built tree
topology. The two main tools used in this research are
openvswitch and iperf 3. This study examines how network
throughput can be improved. SDN has become imperative for
emerging technologies as its architecture support is suitable for
5G, IoT, VANETs, Blockchain, and networking industries.
Incorporating it with other technologies makes it even more
intriguing. In recent years, most work has been performed in the
areas of security, traffic classification, load balancing, routing
optimization, and scalability.
KeywordsFlow-Table, OpenFlow, Routing, RYU, Scalable,
TCP.
I. INTRODUCTION
A novel networking paradigm called SDN [1] allows for
the creation of more flexible, reliable, scalable, and robust
networks that are even more secure. SDN architecture is
comprised of three layers. The topmost layer is known as the
management plane, where applications execute and perform
actual management functions. The intermediate plane is
referred to as control plane. Here is where you install the
controller that configures, manages and monitors the entire
network. A variety of controllers are available, including POX
[2], Floodlight [3], ONOS [4], OpenDaylight [5], Onix [6] and
RYU [7]. The infrastructure layer is referred as the data plane.
The interaction between data plane and the control plane is
accomplished via OpenFlow [8] southbound interface.
In a network, whenever data passes from source to
destination, it follows a specific route. Due to inactive devices
along the long route, there is a possibility of data loss [9]. It is
not possible to centrally control data routing devices in
conventional cloud-based networks. It is therefore vital that
there is a free path available when routing through devices.
Throughput was one of the major drawbacks of traditional
networks. Since SDN architecture enables centralized control
and monitoring of the network, it is essential for the current
networks. It can also identify the shortest route across an entire
network without data loss and with high throughput. Due to its
ability to regulate the behavior of data routing devices, which
consist of multiple routing tables, SDN is a smart choice for
today's ever-changing networks, since it can modify packet
content, forward packets, and drop packets according to the
situation. A SDN-controlled environment's performance is
determined by factors such as bandwidth, security, throughput,
and flexibility.
Emulating SDN is important because it helps us to
understand how real networks behave and function. We have
used the mininet [10] emulator to understand the behavior of
SDN. In this paper, we demonstrate how the shortest path
routing algorithm affects TCP throughput by improving packet
routing. Additionally, SDN supports cloud-based services such
as IaaS (Infrastructure as a Service), mobile computing [12],
and PaaS (Platform as a Service). Routes are determined by the
routing algorithm, which identifies all possible paths in
networks and chooses the most optimal path. A routing
algorithm is typically dynamic in nature. In general, routing
algorithms are defined by their transmission time, distance, and
hop count. In [14], the author discusses how to optimize the
algorithm by reducing traffic flow by changing the route of
traffic through free links, to achieve better network
performance. In addition to facilitating scalability, SDN
reduces communication delays between devices in a network.
In [15] the author has outlined how Multi-Protocol Label
Switching (MPLS) can be used to minimize communication
delay. In [16], the shortest path between two nodes is discussed
as a way to minimize congestion in a network. Setting up the
topology is the first step. Step two involves identifying
potential paths and determining the optimal path. Additionally,
flow rules are installed across the selected optimal path,
ensuring packets are transmitted on the shortest path with the
least congestion. In [17], the author modified the existing
Dijkstra algorithm to find the shortest path in an SDN
environment. In this article, the author introduced the
supplementary parameter of node weight. The author in [18]
introduced a novel technique for path planning by using the
concept of heuristic search. With this, he integrates Dijkstra's
algorithm for weighted directed graphs. So, the shortest path
is an imperative parameter in Software-Defined Networks as
it helps to determine how efficient is the network topology. As
per the current shortest path algorithm, network size has an
inverse relationship with performance.
When the network is large, running queries for each flow
can take a long time. Performance is degraded as the shortest
path algorithm runs for each flow. Overuse of the shortest path
in the network affects overall bandwidth, while other links go
unused. Using graph compression [19], it is possible to scale
down a graph to improve path calculations. The graph can be
scaled down to reduce redundant nodes and edges, allowing
calculations to be done faster. [20] discusses how traffic
engineering can be applied effectively in an SDN
environment. The author in [21] describes how to maximize
flow in the network even if switches have limited flow-table
capacity. The new shortest path routing algorithm is proposed
by the author in [22]. It has been discussed in [23] that
multipath flow routing can be achieved using machine
learning. A modified Floyd-Warshall algorithm is
2022 IEEE Conference on Interdisciplinary Approaches in Technology and Management for Social Innovation (IATMSI) | 978-1-6654-7719-2/22/$31.00 ©2022 IEEE | DOI: 10.1109/IATMSI56455.2022.10119452
Authorized licensed use limited to: University of Delhi. Downloaded on September 15,2023 at 05:58:37 UTC from IEEE Xplore. Restrictions apply.
implemented in [24]. Based on segment routing, the authors
developed an efficient routing algorithm [25]. The method
presented in [26] eliminates duplicate paths and reduces
computation costs for rule generation. A heuristic approach is
presented in [27] for finding multiple routes to satisfy
bandwidth requirements for unsplittable flows. In this paper,
our objective is to find and follow the shortest route from the
source to the destination node, and to assess the performance
of the shortest path routing algorithm (SPRA) based on hop
count, which may result in higher TCP throughput.
Continuing with the paper, we organize it as follows. Our
discussion of the RYU controller functionalities can be found
in the second section. A description of our research
methodology is provided in section third. This research work
will be implemented based on the requirements discussed in
the fourth section. The fifth section discusses the results and
discussion. In section six, we concluded and defined the
further scope of this research study.
II. RYU CONTROLLER FUNCTIONALITIES
Southbound APIs are used by controllers to instruct
networking devices. Listed below are the functionalities of
SDN controllers.
A. Support Virtualization
SDN supports virtualization since it gives the impression
that each individual machine or host operates independently.
For the purpose of managing traffic flow, virtual links can also
be created whenever necessary. Each virtual link can also be
protected by a firewall [28]. A virtual link is an abstraction that
allows us to split traffic among multiple routes in contrast to a
physical link.
B. Global Control
Network management becomes easier with SDN because
it gives a global view of the entire network. Consequently,
monitoring traffic becomes convenient [29] across physical
and virtual links.
C. Scalable
Using SDN, devices can be scaled, and a single controller
handles all the devices. There is however a question of how
many devices each controller can handle. SDN also offers
multisite scalability.
D. Secure
Advanced filters can be used to separate virtual networks
from physical networks. It is possible to authenticate users
using these filters. Furthermore, the platform supports security
applications such as VARMAN[30], DDoS protection, etc.
E. Performance Metric
Flows per second and setup time are based on the following
performance metrics.
1) Reactive
In reactive flow setup, OpenFlow switches receive packets
[31] that don't match the flow table entries and have to send
them to the controller. As soon as the controller determines
how to process the flow, the information is cached on the
OpenFlow switch, and the controller determines how long the
cache should remain active.
2) Proactive
In proactive flow setup, the controller sets up the rules
across switches before the packet is received by the OpenFlow
switch [32]. In other words, the OpenFlow switch is already
aware of what to do with the packet when it arrives. In this
way, there is a minimal setup delay, and the controller can
support a large number of flows per second.
An ideal SDN controller pre-populates the flow tables as
much as possible. The main purpose of the controller is to
regulate ongoing processes and to make Openflow supportive
switches flow tables [33] resilient to DDoS attacks [34], which
have limited buffering capacity ( as it uses TCAM) [35].
In this research work, both qualitative and quantitative
approaches have been used. The aim is to increase the network
throughput by implementing the shortest path routing
algorithm. In this scenario, successful packet routing is
possible between the source & destination host without any
congestion. This research requires the use of a mininet
emulator, which is a relatively inexpensive way to study
realistic SDN behavior. The emulator automatically generates
hosts, switches, links between hosts & switches, and the
controller, based on the topology used. In this article, we will
see the effect of the shortest path algorithm on TCP
throughput.
III. REQUIREMENTS
In this implementation, we have used laptop with
configuration of 500 GB SSD, 12 GB RAM running the Linux
operating system Ubuntu 21.10 and an Intel® CoreTM i5-
1035G4 CPU @ 1.10GHz x 8 processor. In addition to Python3
language support, we used openvswitch, mininet and the iperf3
tool.
IV. RESULTS & DISCUSSIONS
To implement the shortest path routing algorithm in Mininet,
we created a script written in python (SPRA.py) and the
controller used is RYU. The first step is to use mininet tree
topology in 1st terminal- $ sudo mn --topo tree,3,2 --controller
remote, its output is shown in fig. 1. It creates a network of 8
hosts, 7 switches, and 14 links.
In 2nd terminal, we use the command - $ ryu-manager
SPRA.py observe-link as shown in Figure 1. It loads & starts
the required applications and also shows the no. of switches. In
mininet to check the connectivity between two hosts h1 and h2
the ping command is used- $ mininet> h1 ping -c4 h2
Figure 1. Loading and Initialization of required applications
(The above command sends four ping packets from host h1
to h2. The host h1 requests ARP for the MAC address of the
host h2 which results in a Packet_In message to the RYU
controller. It sends a Packet_Out message to flood the packet
to all other ports on the switch. The h2 host receives the ARP
request and sends a reply, which first goes to the controller,
which forwards it to the first host and adds flow to the switch
Authorized licensed use limited to: University of Delhi. Downloaded on September 15,2023 at 05:58:37 UTC from IEEE Xplore. Restrictions apply.
s1 flow table). We can check the switch s1 flow table entries
using the command- $ mininet> sh ovs-ofctl dump-flows s1.
If we want to add a new entry in the switch s1 flow table
then we will use the command- $ mininet>sh ovs-ofctl add-
flow s1 action=normal. To check this newly added entry, we
will again use the command- $ mininet> sh ovs-ofctl dump-
flows s1.
Case 1- When both source and destination host are
connected to the same switch in tree topology (h1 ping -c5 h2)
as shown in Figure 2. The host h1 sends a message to host h2
via switch s3 and vice versa. It means both h1 and h2 are
connected to the same switch i.e., s3 and it is represented as
src=3 and dst=3. The host connected to s3 have mac addresses
as 8a:ed:0f:91:48:2e and da:ee:25:28:e7:2e respectively. There
are two options of path p from source to destination, where
p=[(3,2,1)] or [(3,1,2)].
Figure 2. Controller install rules for h1 ping -c5 h2
If we choose path p=[(3,1,2)], where 3 means switch s3 and
1 means the packet will first receive at input_port 1 connected
to source host having src_mac=8a:ed:0f:91:48:2e and it
forward to destination host having dst_mac=da:ee:25:28:e7:2e
connected to output_port=2. Also if we see the number of hop
counts is only one, as both source and destination hosts are
connected to the same switch (i.e. s3).
Case 2- When the source and destination host connected
two different switches in tree topology ( h2 ping -c h8) the path
to be followed can be seen in fig. 3.
PATH (P) = [(3, 2, 3), (2, 1, 3), (1, 1, 2), (5, 3, 2), (7, 3, 1)]
Table 1. Path description
Serial No.
Switches
Input Port
Output Port
1
3 (s3)
2
3
2
2(s2)
1
3
3
1(s1)
1
2
4
5(s5)
3
2
5
7(s7)
3
1
Figure 3. Controller install rules for h2 ping -c5 h8
In fig. 3 the source host having src_mac=da:ee:25:28:e7:2e
send first packet to in_port=2 of switch s3, then it forward the
packet to out_port =3, which is connected to input_port=1 of
switch s2, and further forward the packet to output_port=3,
which is connected to in_port=1 of switch s1 and forward the
packet to out_port=2, which is connected to in_port=3 of
switch s5, which forward the packet to out_port=2, connected
to in_port=3 of switch s7 which is connected destination host
having dst_mac=06:8f:63:2d:04:4c connected to out_port =1.
Here the number of hop counts is five i.e. s3-s2-s1-s5-s7. If we
want to add a new entry in the switch s1 flow table then we will
use the command- $ mininet>sh ovs-ofctl add-flow s1
action=normal. To check this newly added flow entry, we will
again use the command- $ mininet> sh ovs-ofctl dump-flows
s1.
A. ICMP Flow Comparison
When we start the controller the shortest path routing
algorithm automatically installs rules for Case1 and Case2 as
we have seen in the previous section. In this section, we are
comparing the min, avg, max, and mdev time for Case1 (i.e. h1
ping -C5 h2, as ping1 ) and Case2 (i.e. h2 ping -C5 h8 as ping2)
to see the ICMP Flow between time (y-axis) and packet
transmitted (x-axis).
Figure 4. ICMP Flow
When we start the controller the shortest path routing algorithm
automatically installs rules for Case1 and Case2 as we have
seen in the previous section. In this section, we are comparing
the min, avg, max, and mdev time for Case1 (i.e. h1 ping -C5
h2, as ping1 ) and Case2 (i.e. h2 ping -C5 h8 as ping2) to see
the ICMP Flow between time (y-axis) and packet transmitted
(x-axis). When we start the controller the shortest path routing
algorithm automatically installs rules for Case1 and Case2 as
we have seen in the previous section. In this section, we are
comparing the min, avg, max, and mdev time for Case1 (i.e. h1
ping -C5 h2, as ping1 ) and Case2 (i.e. h2 ping -C5 h8 as ping2)
to see the ICMP Flow between time (y-axis) and packet
transmitted (x-axis). As we can see the time taken for ping2 is
more compared to ping1 in avg, max, and mdev as shown in
fig. 4.
B. TCP Throughput
In the previous section, we have shown the ICMP Flow
comparison between ping1 (h1 ping -c5 h2) and ping2 (h2
ping -c5 h8). In this section we will see how the shortest
routing path algorithm affects throughput -when two hosts are
connected to the same switch (i.e. between h1-h2) and when
two hosts are connected to a different switch (i.e. between h2-
h8). The TCP bandwidth obtained between h1-h2 is 32.0
Gbits/sec and h2-h8 is 31.2 Gbits/sec.
1) Between h1-h2 (Case Study 1)
To find out the throughput for the TCP flow between h1-h2
connected to the same switch in tree topology, the first step is
to open two xterm for h1 and h2. We will make host h2 a server
by using the iperf3 command as- iperf -s -p 8001 -i 1 (where -
s means the server, -p means port, -i means iteration) and host
Authorized licensed use limited to: University of Delhi. Downloaded on September 15,2023 at 05:58:37 UTC from IEEE Xplore. Restrictions apply.
h1 as a client using command as- iperf -c 10.0.0.2 -p 8001 -t 15
(where -c means client, p means port number, and -t means
time interval). The next step is to use command as- iperf -s -p
8001 -i 1 > res in host h2 xterm terminal.
In host h2 xterm and the average bandwidth of 15 intervals
can get at xterm h1 using the command as- iperf -c 10.0.0.2 -p
8001 -t 15. We use command- iperf -s -p 7676 -i 1 > final , in
xterm h8 and the average bandwidth of 15 intervals can get at
xterm h2 using command- iperf -c 10.0.0.8 -p 7676 -t 15 as
shown in figure 8. If we need to see the details of bandwidth in
each interval then, we can see the detailed description of data
transfer and bandwidth in xterm h2 for each interval using the
command as - # more res, as shown in fig. 5.
Figure 5. Detail Description of bandwidth in each interval in xterm h2
In order to get the precise bandwidth information we can
use the command as shown in fig. 6 - # cat res | grep sec | head
-15 | tr - | “ ” | awk ‘{ print $4,$8 }’ > new_res.
The output we get in fig. 6 can be utilized to generate a
throughput graph for the TCP Flow between h1-h2 where h1
acts as the client and h2 serve as a server (see fig. 7).
Figure 6. Bandwidth information between h1 and h2
Figure 7. Throughput graph for TCP-Flow between h1-h2
2) Between h2-h8 (Case study 2)
To find out the throughput for the TCP Flow between hosts
h2 and h8 connected to different switches in a tree topology.
The first step is to open xterm for h2 and h8. We will make host
h8 a server and host h1 a client using the iperf3 tool. The next
step is to use the command in host h8 x-term - iperf -s -p 7676
-i 1 > final, as shown in fig. 8.
In figure 8 the client host h2 has received the average
bandwidth of 15 intervals, so if we need to see the details of
bandwidth in each interval then, we can see the detailed
description of data transfer and bandwidth in xterm h8 for each
interval using the command as shown in fig. 9.
Figure 8. Host h2 as client showing overall bandwidth after 15th interval
Figure 9. Detail Description of bandwidth in each interval in xterm h8
In order to get the precise bandwidth information we can
use the command as shown in fig. 10. The bandwidth
information we get in fig. 10 can be utilized to generate a
throughput graph for the TCP Flow between h2-h8 where h2
acts as client and h8 serve as a server (see fig. 11).
Figure 10. Bandwidth information for throughput between h2 and h8
Figure 11. Throughput graph for TCP-Flow between h2-h8
In this research article we have shown how to implement
the shortest path routing algorithm takes place in a Mininet
environment. Also, ICMP Flow comparison have been made,
and how TCP Flow throughput gets affected when source and
destination hosts are connected to single or different switches.
From fig. 12, it is now evident that throughput is much higher
Authorized licensed use limited to: University of Delhi. Downloaded on September 15,2023 at 05:58:37 UTC from IEEE Xplore. Restrictions apply.
when hosts i.e. h1 and h2 are connected to the same switch in
a tree topology compared to hosts h2 and h2 connected to
different switches.
Figure 12. Throughput Comparison
V. CONCLUSION & FUTURE SCOPE
SDN paradigm improves the network performance. But
when there is network traffic in the control plane, it may cause
congestion and affect the network throughput. Therefore, in
this article virtual SDN environment was created with the help
of mininet emulator. The shortest path routing algorithm
(SPRA) implemented for the tree topology leads to the
conclusion that the shortest path with the least hop count and
delay improves the overall network bandwidth (throughput).
In this paper, the work done can be further extended to
examine the effects of multipath or multicast on shortest path
routing, as well as to find the maximum or minimum path
capacity. The effect of shortest path routing algorithms on
switch flow-table and group table performance can also be
investigated. Also as this work is implemented in a local
mininet environment, so this work can be further extended to
Wide Area Networks (WAN). SDN network is reliable,
flexible, scalable, secure, and robust. This makes it a suitable
choice for other emerging network technologies as well, so
there is a wider scope for research and innovation.
REFERENCES
[1] M. Priyadarsini and P. Bera, "Software defined networking
architecture, traffic management, security, and placement: A survey",
Computer Networks, vol. 192, p. 108047, 2021. Available:
10.1016/j.comnet.2021.108047.
[2] A. Mishra, N. Gupta and B. Gupta, "Defense mechanisms against
DDoS attack based on entropy in SDN-cloud using POX controller",
Telecommunication Systems, vol. 77, no. 1, pp. 47-62, 2021. Available:
10.1007/s11235-020-00747-w.
[3] Y. Li, X. Guo, X. Pang, B. Peng, X. Li and P. Zhang, "Performance
Analysis of Floodlight and Ryu SDN Controllers under Mininet
Simulator," In IEEE/CIC International Conference on
Communications in China (ICCC Workshops), 2020, pp. 85-90, doi:
10.1109/ICCCWorkshops49972.2020.9209935.
[4] B. Almadani, A. Beg and A. Mahmoud, "DSF: A Distributed SDN
Control Plane Framework for the East/West Interface," in IEEE Access,
vol. 9, pp. 26735-26754, 2021, doi: 10.1109/ACCESS.2021.3057690.
[5] S. Badotra and S. Panda, "SNORT based early DDoS detection system
using Opendaylight and open networking operating system in software
defined networking", Cluster Computing, vol. 24, no. 1, pp. 501-513,
2020. Available: 10.1007/s10586-020-03133-y.
[6] R. Shubbar, M. Alhisnawi, A. Abdulhassan, and M. Ahamdi, “A
comprehensive survey on software-defined network controllers,”
Lecture Notes in Networks and Systems, pp. 199231, 2021. Available:
10.1007/978-981-16-0666-3_18.
[7] A. A. Zopellaro Soares, J. Lucas Vieira, S. E. Quincozes, V. C. Ferreira,
L. M. Uchôa, Y. Lopes, D. Passos, N. C. Fernandes, I. Monteiro
Moraes, D. Muchaluat‐Saade, and C. Albuquerque, “SDN‐based
teleprotection and Control Power Systems: A study of available
controllers and their suitability,” International Journal of Network
Management, vol. 31, no. 3, 2020. Available:
https://doi.org/10.1002/nem.2112.
[8] R. Wazirali, R. Ahmad, and S. Alhiyari, “SDN-openflow topology
discovery: An overview of performance issues,” Applied Sciences, vol.
11, no. 15, p. 6999, 2021. Available:
https://doi.org/10.3390/app11156999.
[9] E. Akin and T. Korkmaz, “Comparison of routing algorithms with static
and dynamic link cost in software defined networking (SDN),” IEEE
Access, vol. 7, pp. 148629148644, 2019. doi:
10.1109/ACCESS.2019.2946707.
[10] R. Ruslan, N. A. B. Othman, M. F. M. Fuzi, and N. Ghazali, “Scalability
analysis in mininet on software defined network using Onos,” 2020
Emerging Technology in Computing, Communication and Electronics
(ETCCE), 2020. doi: 10.1109/ETCCE51779.2020.9350892.
[11] A. Mohamed, M. Hamdan, S. Khan, A. Abdelaziz, S. F. Babiker, M.
Imran, and M. N. Marsono, “Software-defined networks for Resource
Allocation in Cloud Computing: A Survey,” Computer Networks, vol.
195, p. 108151, 2021. doi:10.1016/j.comnet.2021.108151.
[12] E. Ahvar, S. Ahvar, S. M. Raza, J. Manuel Sanchez Vilchez, and G. M.
Lee, “Next generation of SDN in cloud-fog for 5G and beyond-enabled
applications: Opportunities and challenges,” Network, vol. 1, no. 1, pp.
2849, 2021. doi: 10.3390/network1010004.
[13] R. M. Sohaib, O. Onireti, Y. Sambo, and M. A. Imran, “Network slicing
for beyond 5G systems: An overview of the Smart Port Use Case,”
Electronics, vol. 10, no. 9, p. 1090, 2021. doi:
10.3390/electronics10091090.
[14] M.-C. Lee and J.-P. Sheu, “An efficient routing algorithm based on
segment routing in software-defined networking,” Computer Networks,
vol. 103, pp. 4455, 2016. doi: 10.1016j.comnet.2016.03.017.
[15] R. Moreira, P. F. Rosa, R. L. Aguiar, and F. de Silva, “Nasor: A
network slicing approach for multiple autonomous systems,” Computer
Communications, vol. 179, pp. 131144, 2021. doi:
10.1016/j.comcom.2021.07.028.
[16] K. Sayali, "Enhancement of Network Throughput in SDN Using
Shortest Path Routing Algorithms." PhD diss., Dublin, National
College of Ireland, 2020.
[17] J.-R. Jiang, H.-W. Huang, J.-H. Liao, and S.-Y. Chen, “Extending
dijkstra's shortest path algorithm for software defined networking,” The
16th Asia-Pacific Network Operations and Management Symposium,
2014. doi: 10.1109/APNOMS.2014.6996609.
[18] Q. Sun, W. Wan, G. Chen and X. Feng, "Path planning algorithm under
specific constraints in weighted directed graph," 2016 International
Conference on Audio, Language and Image Processing (ICALIP),
2016, pp. 635-640, doi: 10.1109/ICALIP.2016.7846631.
[19] X. Zhao, J. Liang, and J. Wang, “A community detection algorithm
based on graph compression for large-scale social networks,”
Information Sciences, vol. 551, pp. 358372, 2021.
doi:10.1016/j.ins.2020.10.057.
[20] P. Sun, Z. Guo, J. Lan, J. Li, Y. Hu, and T. Baker, “SCALEDRL: A
scalable deep reinforcement learning approach for traffic engineering
in SDN with pinning control,” Computer Networks, vol. 190, p.
107891, 2021. doi:10.1016/j.comnet.2021.107891.
[21] R. Cohen, L. Lewin-Eytan, J. S. Naor and D. Raz, "On the effect of
forwarding table size on SDN network utilization," IEEE INFOCOM
2014 - IEEE Conference on Computer Communications, 2014, pp.
1734-1742, doi: 10.1109/INFOCOM.2014.6848111.
[22] J. -R. Jiang, H. -W. Huang, J. -H. Liao and S. -Y. Chen, "Extending
Dijkstra's shortest path algorithm for software defined networking,"
The 16th Asia-Pacific Network Operations and Management
Symposium, 2014, pp. 1-4, doi: 10.1109/APNOMS.2014.6996609.
[23] M. K. Awad, M. H. Ahmed, A. F. Almutairi, and I. Ahmad, “Machine
learning-based multipath routing for software defined networks,”
Journal of Network and Systems Management, vol. 29, no. 2, 2021. doi:
10.1007/s10922-020-09583-4.
[24] B. Kumar and E. Reddy, “Modified Floyd Warshall algorithm for
Cache Management in information centric network,” International
Journal of Intelligent Engineering and Systems, vol. 13, no. 1, pp. 146
155, 2020. doi: 10.22266/ijies2020.0229.14.
[25] J. Zhou, Z. Zhang, and N. Zhou, “A segment list management algorithm
based on segment routing,” 2019 IEEE 11th International Conference
on Communication Software and Networks (ICCSN), 2019. doi:
10.1109/ICCSN.2019.8905397.
Authorized licensed use limited to: University of Delhi. Downloaded on September 15,2023 at 05:58:37 UTC from IEEE Xplore. Restrictions apply.
[26] W. Kong, M. Nabi and K. Goossens, "Run-Time Recovery and Failure
Analysis of Time-Triggered Traffic in Time Sensitive Networks," in
IEEE Access, vol. 9, pp. 91710-91722, 2021, doi:
10.1109/ACCESS.2021.3092572.
[27] E. Akin and T. Korkmaz, "Rate-Based Dynamic Shortest Path
Algorithm for Efficiently Routing Multiple Flows in SDN," ICC 2019
- 2019 IEEE International Conference on Communications (ICC),
2019, pp. 1-7, doi: 10.1109/ICC.2019.8761398.
[28] M. Caprolu, S. Raponi, and R. Di Pietro, “Fortress: An efficient and
distributed firewall for Stateful Data Plane sdn,” Security and
Communication Networks, vol. 2019, pp. 116, 2019. doi:
10.1016/j.comnet.2021.108151.
[29] M. M. Raikar, M. S M, M. M. Mulla, N. S. Shetti, and M. Karanandi,
“Data traffic classification in Software Defined Networks (SDN) using
supervised-learning,” Procedia Computer Science, vol. 171, pp. 2750
2759, 2020. doi: 10.1016/j.procs.2020.04.299.
[30] P. Krishnan, S. Duttagupta, and K. Achuthan, “Varman: Multi-plane
Security Framework for Software Defined Networks,” Computer
Communications, vol. 148, pp. 215239, 2019. doi:
10.1016/j.comcom.2019.09.014.
[31] M. F. Hyder and M. A. Ismail, "Securing Control and Data Planes From
Reconnaissance Attacks Using Distributed Shadow Controllers,
Reactive and Proactive Approaches," in IEEE Access, vol. 9, pp.
21881-21894, 2021, doi: 10.1109/ACCESS.2021.3055577.
[32] G. Huang and H. Y. Youn, “Proactive eviction of flow entry for SDN
based on Hidden Markov Model,” Frontiers of Computer Science, vol.
14, no. 4, 2020. doi:10.1007/s11704-018-8048-2.
[33] S. Asadollahi and B. Goswami, “Experimenting with scalability of
floodlight controller in software defined networks,” 2017 International
Conference on Electrical, Electronics, Communication, Computer, and
Optimization Techniques (ICEECCOT), 2017. doi:
10.1109/ICEECCOT.2017.8284684.
[34] R. Sanjeetha, S. Srivastava, A. Kanavalli, A. Pattanaik, and A. Gupta,
“Mitigation of combined ddos attack on SDN controller and primary
server in software defined networks using a priority on traffic
variation,” 2020 International Conference for Emerging Technology
(INCET), 2020. doi: 10.1109/INCET49848.2020.9153998.
[35] B. Isyaku, M. S. Mohd Zahid, M. Bte Kamat, K. Abu Bakar, and F. A.
Ghaleb, “Software defined networking flow table management of
OpenFlow switches performance and security challenges: A survey,”
Future Internet, vol. 12, no. 9, p. 147, 2020. Available:
https://doi.org/10.3390/fi12090147.
Authorized licensed use limited to: University of Delhi. Downloaded on September 15,2023 at 05:58:37 UTC from IEEE Xplore. Restrictions apply.
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Software-defined networking (SDN) is an innovative architecture that separates the control plane from the data plane to simplify and speed up the management of large networks. This means the control logic has been moved from the network hardware level to the centralized control management level. Therefore, the use of the OpenFlow Discovery Protocol (OFDP) is one of the most common protocols used to discover the network topology in a data plane and then transmit it to the control plane for management. However, OFDP has various shortcomings in its performance such as exchanging too many messages between both levels (control and data), which in turn increases the load on the SDN-Controller. Additionally, since the application layer depends entirely on the network topologies plotted in the control plane, it is very important to obtain accurate network topology information from data plane. Therefore, after providing background on topology discovery protocols to the reader, we will concentrate on performance issues. The present study identifies and discuss the primary concerns involved in the complex query process, infrastructure, influencing factors, and challenges for the topology discovery process. Furthermore, this paper will present several recent studies that have overcome and enhanced these issues. In addition, open discussion and future work concerning these issues are also discussed.
Article
Full-text available
Reliability is one of the major concerns of Time Sensitive Networking (TSN). Current systems mostly rely on static redundancy to protect functionality from permanent component failures. This greatly increases the cost of Time-Triggered (TT) flows. Instead, Software Defined Networking (SDN) enables dynamic redundancy. Disrupted traffic can be rerouted by a centralized controller to reduce the cost while maintaining reliability. This paper presents an approach to compute alternative paths at run-time and analyze their impact on reliability. We define a novel three-mode recovery scheme, which includes full functionality, reduced functionality, and emergency halt modes. Run-time recovery for TT flows is explored using Integer Linear Programming (ILP) and a heuristic algorithm. Then, a Markov chain-based design-time reliability analysis is developed to evaluate the Mean Time to Reduced Functionality Mode (MTTRF) and Mean Time to Failure (MTTF) of run-time recoverable systems. Our experiments show that run-time recovery provides better protection against multi-point failures than static redundancy. Compared with the state of the art, our proposed ILP has better routing efficiency. The proposed heuristic algorithm can perform routing and scheduling in polynomial time, but it tends to route multicast flows to longer paths than ILP. Furthermore, when applied to realistic recovery scenarios, our proposed ILP improves the MTTF by up to 2× and the average execution time by up to 20× than the raw ILP of the state of the art. Although less efficient with multicast flows, the heuristic algorithm achieves similar reliability as the ILP, and its worstcase recovery time is below 100ms on an embedded ARM processor.
Article
Full-text available
In recent years, the number of objects connected to the internet have significantly increased. Increasing the number of connected devices to the internet is transforming today’s Internet of Things (IoT) into massive IoT of the future. It is predicted that, in a few years, a high communication and computation capacity will be required to meet the demands of massive IoT devices and applications requiring data sharing and processing. 5G and beyond mobile networks are expected to fulfill a part of these requirements by providing a data rate of up to terabits per second. It will be a key enabler to support massive IoT and emerging mission critical applications with strict delay constraints. On the other hand, the next generation of software-defined networking (SDN) with emerging cloudrelated technologies (e.g., fog and edge computing) can play an important role in supporting and implementing the above-mentioned applications. This paper sets out the potential opportunities and important challenges that must be addressed in considering options for using SDN in hybrid cloud-fog systems to support 5G and beyond-enabled applications.
Chapter
Full-text available
Software-defined networking (SDN) is seen as an important paradigm to fix many issues of the Internet involving multi-casting, complexity, security, power efficiency, and load balancing. SDN is an architecture that disconnects the control plane of any networking equipment (router or switch) from its data plane, making it suitable to observe, control, and administrate the entire network from a centralized entity (controller). In SDN paradigm, centralized nodes named “controllers” work in a similar way such as network operating systems (NOS) by running various applications that control and manage the entire network by deploying well-defined APIs. This paper offers an up-to-date survey of the SDN controllers including types, features, architectures, design, and many other important aspects. © 2021, The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
Article
Full-text available
As the idea of a new wireless communication standard (5G) started to circulate around the world, there was much speculation regarding its performance, making it necessary to carry out further research by keeping in view the challenges presented by it. 5G is considered a multi-system support network due to its ability to provide benefits to vertical industries. Due to the wide range of devices and applications, it is essential to provide support for massively interconnected devices. Network slicing has emerged as the key technology to meet the requirements of the communications network. In this paper, we present a review of the latest achievements of 5G network slicing by comparing the architecture of The Next Generation Mobile Network Alliance’s (NGMN’s) and 5G-PPP, using the enabling technologies software-defined networking (SDN) and network function virtualization (NFV). We then review and discuss machine learning (ML) techniques and their integration with network slicing for beyond 5G networks and elaborate on how ML techniques can be useful for mobility prediction and resource management. Lastly, we propose the use case of network slicing based on ML techniques in a smart seaport environment, which will help to manage the resources more efficiently.
Article
Realizing network slicing inside and between Autonomous Systems (ASs), that is, multi-domain, is challenging because there is no consensus or solutions that consider both policy and technological independence between domains. Many approaches found in the literature aimed to realize network slices that span across multiple ASs. However, they commonly rely on cross-connected technologies or domain-coupled such as Virtual Private Network (VPN) or Multi-Protocol Label Switching (MPLS). This work addresses the issue of multi-domain network slicing by leveraging technologies such as Software-defined Networking (SDN), Segment Routing (SR), and Network Functions Virtualization (NFV) in an innovative distributed framework, called Network And Slice ORchestrator (NASOR). Our work advances resource management and orchestration potentialities, providing a recursive network slice mechanism and adding dynamism in the network slice deployment between multiple domains through an open interface. As a result, NASOR functionally outperforms its peers. Experiments showcased the proposal’s applicability and scalability in multi-domain network slicing. Additionally, experiments suggest that an open interface enhances network slices’ customization degree and improves the network Quality of Service (QoS) in typical Internet applications, such as Voice over Internet Protocol (VoIP).
Article
Cloud computing has a shared set of resources, including physical servers, networks, storage, and user applications. Resource allocation is a critical issue for cloud computing, especially in Infrastructure-as-a-Service (IaaS). The decision-making process in the cloud computing network is non-trivial as it is handled by switches and routers. Moreover, the network concept drifts resulting from changing user demands are among the problems affecting cloud computing. The cloud data center needs agile and elastic network control functions with control of computing resources to ensure proper virtual machine (VM) operations, traffic performance, and energy conservation. Software-Defined Network (SDN) proffers new opportunities to blueprint resource management to handle cloud services allocation while dynamically updating traffic requirements of running VMs. The inclusion of an SDN for managing the infrastructure in a cloud data center better empowers cloud computing, making it easier to allocate resources. In this survey, we discuss and survey resource allocation in cloud computing based on SDN. It is noted that various related studies did not contain all the required requirements. This study is intended to enhance resource allocation mechanisms that involve both cloud computing and SDN domains. Consequently, we analyze resource allocation mechanisms utilized by various researchers; we categorize and evaluate them based on the measured parameters and the problems presented. This survey also contributes to a better understanding of the core of current research that will allow researchers to obtain further information about the possible cloud computing strategies relevant to IaaS resource allocation.
Article
Software-defined networking (SDN) is the potential deployment platform for the future Internet and enterprise networks. In SDN, the logical control (programs) and the forwarding logic (data) are separated. Therefore, it allows to configure the network parameters, routing policies effectively based on the requirements of the environment. The control plane (set of controllers) implements network functions such as, load balancing, energy-efficient routing, security. The data plane (set of switches) receives the forwarding logic from control plane and forwards the packets in the network. This in turn enhances the traffic management performance of the network, and strengthens the security perimeter. The researchers have worked on various directions towards the enhancement of network control functions, performance, and security. However, none of those talks about traffic management challenges in integration with security, energy efficiency and performance dependencies. This survey presents an extensive study, analysis and report of state-of-the-art works on effective traffic management including load balancing and energy-efficient routing, SDN control implementation and deployment architecture, controller security and optimal controller placement that affect traffic management. Moreover, this survey discusses a few unexplored problems in SDN such as scalable deployment, integration with legacy network, and future research road maps to these problems. This will help researchers understanding different theoretical, experimental, and applied research in SDN, challenges in these problems; developing effective solutions; and designing future research road maps.
Article
As modern communication networks become more complicated and dynamic, designing a good Traffic Engineering (TE) policy becomes difficult due to the complexity of solving the optimal traffic scheduling problem. Traditional methods usually design a fixed model of the network traffic and solve an objective function to get a TE policy, which cannot ensure the solution efficiency. The emerging Deep Reinforcement Learning (DRL) together with the Software-Defined Networking (SDN) technologies provide us with a chance to design a model-free TE scheme through Machine Learning (ML). However, existing DRL-based TE solutions are all faced with a scalability problem, i.e., the solution cannot be applied to large networks. In this paper, we propose to combine the control theory and DRL technology to achieve an efficient network control scheme for TE. The proposed scheme ScaleDRLemploys the idea from the pinning control theory to select a subset of links in the network and name them critical links. Based on the traffic distribution information collected by the SDN controller, we use a DRL algorithm to dynamically adjust a set of link weights for the critical links. Through a weighted shortest path algorithm, the forwarding paths of the network flows can be dynamically adjusted using the dynamic link weights. The packet-level simulation shows that ScaleDRLreduces the average end-to-end transmission delay by up to 39% compared to the state-of-the-art DRL-based TE scheme in different network topologies.