DEVELOPMENT OF AN IMPROVED EXTENDED DIJKSTRA ALGORITHM FOR SOFTWARE DEFINED NETWORKS
Need help with a related project topic or New topic? Send Us Your Topic
DOWNLOAD THE COMPLETE PROJECT MATERIAL
DEVELOPMENT OF AN IMPROVED EXTENDED DIJKSTRA ALGORITHM FOR SOFTWARE DEFINED NETWORKS
Chapter One: Introduction 1.1 Background of the Study
Software Defined Networking is a novel approach that eliminates vertical integration between the network control plane and data plane. OpenFlow switches simplify switch design by implementing data transmission and controller-based control functionalities.
According to McKeown et al. (2008), the SDN architecture consists of three layers: data, control, and application.
OpenFlow switches serve as the primary network device in the data layer, transmitting data based on flow tables assigned by the controller (Mckeown et al., 2008).
As the “brain” of SDN, the controller receives application information from the upper layer via the unified northbound interface. Flow tables are generated in the controller and distributed to OpenFlow switches using the OpenFlow protocol.
SDN controllers acquire network topology information and provide a global perspective for OpenFlow switches, allowing for flexible setup and management (Cui et al., 2016).
SDN has gained popularity in recent years due to its ability to solve the lack of programmability in traditional networking topologies and promote speedier network innovation (Wolfgang and Michael 2014).
Widhi et al. (2015) report that SDN technology enables novel network applications through controller programming. Common examples include load balancing, multimedia multicasting, and intrusion detection systems (IDS).
Load balancing is an important subject in networking. The load balancing application distributes workloads over different servers for optimal performance (Hui et al., 2013).
In recent years, SDN-based load balancing approaches for Data Centre Networks (DCNs) have been introduced. Hui et al. (2013) presented LABERIO (LoAd-Balancing Routing with OpenFlow), a load balancing technique that optimises network throughput while minimising latency.
Handigol et al. (2013) suggested a Plug-n-Serve system for unstructured networks that uses OpenFlow to implement the LOBUS load balancing algorithm. LOBUS tracks the network topology and link status, selecting the client-server pair with the shortest total response time for each new request.
Jiang et al. (2014) enhanced the Dijkstra method, which is commonly used in routing protocols to determine the shortest path between two sites in a network.
The extended Dijkstra method can generate a pair of shortest paths in an SDN topology. Widhi et al. (2015) suggested a load balancer for SDN based on Jiang et al.’s (2014) ED-SDN algorithm.
There are numerous techniques for constructing a load balancer with SDN technology. Most load balancing and routing methods in SDN use static routes, which can lead to uneven load balancing.
Modern controllers use REST API technologies to interface with network components. This research uses REST API technology to design an efficient load balancer for OpenFlow-based DCNs, building on Jiang et al.’s (2014) work.
8
1.2 The Significance of Research
This research aims to create an efficient load balance algorithm for SDNs by modifying the existing ED-SDN algorithm to use the controller’s RESTful API for topology retrieval and congestion control for routing packets.
1.3 Statement Of The Problem
The ED-SDN method addresses limitations in traditional shortest path algorithms used in controllers for resource allocation and path discovery. Traditional shortest path routing does not account topology, leading to suboptimal application performance and underutilization of the network.
ED-SDN lacks congestion control techniques and requires significant overhead to compute edge and node weights. This project aims to improve ED-SDN by exploiting the controller’s REST API and introducing a congestion management mechanism to manage network overhead.
9
1.4 Aims and Objectives
This research aims to improve the extended Dijkstra shortest path algorithm for SDN, reducing latency and increasing network throughput.
The research aims are as follows:
1. ED-SDN replication and implementation for software-defined networks.
2. Adoption and deployment of the Abilene network topology.
3. Using the iPerf network utility testing tool, we compared the throughput and latency performance of ED-SDN and mED-SDN.
1.5 Methodology.
The approach used in this research is as follows:
1. Replicating the existing extended Dijkstra method (Jiang et al., 2014) for SDN. To create the ED-SDN algorithm, the following procedures were taken:
a) Import the Dijkstra Shortest Path First (SPF) module from the Python base class library. b) Define Python functions for determining node weight (𝑛𝑤 𝑣) and edge weight (𝑒𝑤 𝑒). c) Import the ED-SDN module into the POX controller.
2. Creation of a modified Extended Dijkstra algorithm for SDN. To achieve this, the following procedures were taken:
a) Repeat Step 1a.
b) Use the controller’s REST API to receive SDN topology information. c) Create a Python function on the controller to manage congestion on the SDN topology.
d) Import the changed SDN module to the OpenDaylight controller.
3. Developing the Abilene SDN topology
a) Create the Abilene network topology using the Mininet API.
b) Create the network consisting of the controller and OpenFlow switches.
4. Performance comparison of the new approach with the existing Extended Dijkstra algorithm for SDN and Round Robin approach employing the SDN topology (3.11).
1.6 Organisation of Dissertation
The overall introduction to this research was offered in Chapter 1. The second chapter provides an overview of the research, covering legacy networks, Software Defined Networking, OpenFlow switches, REST API, and a review of related work.
Chapter 3 outlines the resources and methodology used to achieve the research objectives. Chapter 4 provides and discusses simulation parameters and outcomes. Chapter five concludes with recommendations for future research.
12
Need help with a related project topic or New topic? Send Us Your Topic