Overcoming the Limitation of Dijkstra's Routing Algorithm to Select Optimal Controller in Software defined Network | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Overcoming the Limitation of Dijkstra's Routing Algorithm to Select Optimal Controller in Software defined Network Haeeder Munther Noman, Mahmood Jalal Ahmad Al Sammarraie, Ali Abdulwahhab Abdulrazzaq This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-7291089/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract Software-Defined Networks employ software-based controllers and application programming interfaces to communicate with underlying hardware infrastructure in order to control network traffic. This study addressed two challenges. Firstly, it suggested the Bellman-Ford algorithm to overcome the drawbacks of Dijkstra's algorithm for packet routing between nodes in dynamic and large-scale networks. Second, the Bellman-Ford algorithm was used to determine the best among two software-defined network controllers: Floodlight and POX. Our results have showed that Floodlight is better than POX in terms of minimum, maximum, and average_RTT which may improve the experience of application usage and allow the applications to be more responsive. Round Trip Time (RTT) Software Defined Network (SDN) Mininet command line interface (CLI) Python-Based Platform (POX) Java-Based Platform (Floodlight) Figures Figure 1 1. Introduction SDN separates network infrastructure, dynamic and software automated [ 1 ]. SDN enables network administrators to manage, optimize, configure, protect network services, and it does not rely on any proprietary software or hardware [ 2 ]. As SDN is Based controller (at the control layer), it receives information from the application layer via an application programming interface [ 3 ] then forwards the instructions to the infrastructure layer which, may allow the application layer to participate in decision-making process [ 4 ]. consequently, it collects data from the infrastructure layer and relays it back to the application layer. The data forwarding (between devices and control layer) is the responsibility of the infrastructure layer. However, New concepts have emerged within SDN technology such as North-Bound interface (NBI) and South-Bound interface (SBI) [ 5 ]. While with NBI, Applications may adjust network behavior, query the network state, and establish new features without having to communicate with the underlying network devices directly. SBI refers to the protocol or application programming interface (API) that the SDN controller uses to communicate with the underlying network devices, such as switches and routers. In other words, the controller uses this method to program and control the data plane. SDN relies heavily on graph theory as it offers a strong foundation for managing, analyzing, and modeling complex network topologies and traffic flows. one of the most significant problems in graph theory is thought to be the shortest path problem that could be calculated as exact or roundabout [ 6 ]. The program's characteristics and requirements determine which algorithm is optimal to utilize. For example, even with a large input graph, the shortest path algorithm's goal is to produce a fast response. When Dijkstra's algorithm is used as the default routing algorithm in SDN including a large number of nodes in a computer application, it has the disadvantage of using a lot of CPU memory. Additionally, it can only be used on positive weight graphs and cannot handle negative edges which may produce incorrect results as it depends on a greedy approach [ 7 ]. 2. Shortest Path Algorithms A search for the most effective algorithms to address the shortest path problem has been ongoing. The goal of the shortest path algorithm is to identify the optimal solution by concentrating on two nodes, or vertices, of the path. Shortest path algorithms may be broadly divided into two categories: SSSP and APSP [ 8 ]. SSSP stands for single source shortest path, which identifies the variances between each distinct vertex and the supply vertex. Among all sets of vertices in the network, ASAP finds the smallest path. Finding the shortest safe routes in houses with several withdrawal gates and where various sensor kinds could change the accessibility of interior spaces is a challenge that has to be addressed. Oyola [ 9 ] suggested a method utilizing a Dijkstra-based algorithm called Safe and Short Evacuation Routes (SSER). By merging the Bellman-Ford and Dijkstra algorithms, Dinitz and Itzhak [ 10 ] developed a novel hybrid algorithm known as Bellman-Ford–Dijkstra (BFD). In a graph G with universal edge costs, this algorithm discovered the shortest paths from a source node. Singh and Tripathi [ 11 ] compared the Bellman-Ford and Dijkstra algorithms and remarked about the outcomes according to the number of nodes where the study made it possible to specify and recommend the algorithm that is applied in shortest path problems for a certain version. With the aim of solving the shortest path issue, Ryash and Tamimi [ 12 ] discussed and contrasted the Floyd-Warshall, Bellman-Ford, Dijkstra, and Johnson algorithms. An examination of applying the A* and Dijkstra algorithms was presented by Lacorte and Chavez [ 13 ]. Permana [ 14 ] compared three algorithms: Dijkstra, Breadth First Search (BFS), and A*. time and space complexity of three algorithms: the Floyd-Warshall, Bellman-Ford, and Dijkstra algorithms were examined in depth by wang [ 15 ]. In order to identify the most effective algorithm for solving the shortest path problem, Chan [ 16 ] compared and tested six shortest path algorithms: Dijkstra's, Symmetrical Dijkstra's, A*, Bellman-Ford, Floyd-Warshall, and Genetic Algorithm. However, Table.1 contains a summary for the comparison of shortest path routing algorithms. The algorithms included. Table.1 The comparison of shortest path algorithms author Routing algorithm Strategy Oyola [ 9 ] Dijkstra's The method is suitable for usage in dynamic environments Dinitz and Itzhak [ 10 ] Dijkstra's + Bellman-Ford New proposed method to find shortest path Tripathi and Singh [ 11 ] Dijkstra's _ Bellman-Ford Bellman-Ford operates effectively within less number of nodes Tamimi and Ryash [ 12 ] Dijkstra, Bellman-Ford, Floyd-Warshall, and Johnson algorithms In terms of time, the Dijkstra-based approach is more sophisticated than the Bellman-Ford algorithm. When the graph is limited, the Johnson algorithm outperforms the Floyd-Warshall algorithm; however, when the graph is dense, the Floyd-Warshall algorithm outperforms the Johnson algorithm. Chavez [ 13 ] Dijkstra's and A * On small graphs, the A* method outperforms Dijkstra's algorithm in terms of expected arrival time Permana [ 14 ] Dijkstra's, BFS, A * A * may be regarded as an acceptable path finding method especially in maze game/grid Wang [ 15 ] Floyd-Warshall, Bellman-Ford, and Dijkstra algorithms Among the three algorithms, Floyd- warshall is the slowest Chang [ 16 ] Dijkstra’s, Symmetrical Dijkstra’s, A*, Bellman-Ford, Floyd-Warshall and Genetic Algorithm Genetic algorithm outperformed the others 3. Bellman-Ford Algorithm(BFA) A weight, which represents the cost, distance, or other measure for traversing an edge, is usually assigned to a graph edge. When an edge is negative, it means that going over it will increase or decrease the total cost or value. When Dijkstra's algorithm is used, it has the disadvantage of using a lot of CPU memory and unable to handle negative edges especially when the graph is dynamic and complex [ 17 ]. Bellman-Ford Algorithm is more adaptable for particular applications since it can accurately determine the shortest pathways even when some edge weights are negative. The technique can detect whether a network has a negative cycle, which would result in infinitely falling path costs. A Boolean value is returned by the Bellman-Ford method to show if the origin can reach a negative cycle. If there is no such cycle, the method returns the shortest path; if there is a negative cycle, the algorithm indicates that there isn't a shortest path. Bellman -Ford algorithm listed below consist of: Step 1 Assign other vertices an INFINITY distance and set the source vertex s's distance to zero (distance[s] = 0). Step 2 each edge is relaxed (n − 1) times, where n is the number of nodes. When an edge is relaxed, the route to the node it points to is shortened if possible, and the route to the node is replaced with the route discovered. Step 3 Check the graph for any negative cycles by running the Nth loop. Figure 2 and Table 3 provide a clearer explanation of this algorithm's procedure. The Bellman-Ford algorithm-based example of travest between nodes is displayed in Fig. 2 . However, the replacement of the new value occurs if it is less than the previous value. The shortest path from the source node will be found once the entire network has been processed. Usually, this algorithm requires \(\:\text{O}\:\left(\text{E}\text{V}\right)\) . Table.2 included algorithm.1, (BFA) mainly used to find shortest path and in complex graphs and dynamic environments. Table.2 Algorithm.1 (BFA) 1 . Function BellmanFord(G,S) 2. For each vertex V in G 3. Distance[v] : INFINITY 4. Previous[v] : NULL 5. Distance[s]:0 6. For each vertex V in G 7. For each edge (u,v) in G 8. alt: distance[u] + length(u,v) 9. If alt < length (u,v) then: 10. Distance[v] :alt 11. Previous[u]:v 12. For each edge (u,v) in G: 13. If distance[u] + length (u,v) < distance(v) 14. Negative Cycle Exists 15. Return distance[]. Previous [] 3. Methodology The investigation passed through two SDN controllers: POX and Floodlight. POX is an open-source controller programmed in Python used for developing SDN applications and turns to be more widely used than NOX, a similar project as it allows for faster development and creation of prototypes for SDN. POX uses the OpenFlow and the OVSDB protocols to provide a working environment that allows communication with SDN switches. POX components can be called directly from the command line and the functionality required from the network is achieved through the use of these components. POX may be used as a master controller in SDN networks as it allows the download of network components and developers may create more complex controllers by using new components or they may write applications that directly target the application protocol interfaces [ 17 ]. Floodlight uses the OpenFlow protocol to manage data flow in an SDN environment. The Floodlight is simple and easy to use when starting, working and maintaining, and it can work with all types of Switches, whether physical or virtual, as long as these switches support the OpenFlow protocol [ 18 ]. This work was carried out through Mininet [ 19 ], a network emulator that offers a simplified version of a real network. Mininet offers advantages of simulating complex networks, supporting security mechanisms, scalability, realistic experiments, and ease of setup, making it valuable for teaching and testing various network scenarios [ 20 , 21 ]. the implementation of SDN included a tree topology where all hosts and switches are connected to each other in a hierarchical way, and all of these switches are connected to a central controller [ 22 ]. The network topology shown in table .2 consisted of the following: Mininet : is a software emulator utilized to test a big network on a single computer. SDN-Based POX controller : is an open-source development platform for software-defined networking (SDN) control applications that are built on Python used to set switches and re-direct the flows OpenFlow switch : is a crucial element of Software-Defined Networking (SDN) that make use of OpenFlow protocol. The topology included 6 OpenFlow switches S1-S6 Hosts : generally, refer to the network-connected endpoints (such as PCs, servers, or other network-enabled devices) that exchange data via OpenFlow switches. Physical link bandwidth : The maximum amount of data, usually expressed in bits per second (bps), that may be sent between network devices over a physical link Table.3 Network Topology Parameters Feature Specification Mininet Software emulator SDN-Based controller POX Open Flow switches version 0.2.0 S1-S15 Hosts H1-H16 Physical Link Bandwidth 100Mbps Transmission Time 1 msec SDN- Controller. IP 127.0.0.1 SDN- Controller. Port 6633 4. Result Analysis and Discussion RTT measures the duration of a packet's transmission and packet’s retrieval acknowledgement. The delay takes into account paths propagation times between communication endpoints. The trip time can be calculated by querying the ICMP message using the PING command, that is, by measuring the time between ECHO_REQUEST and ECHO_REPLY messages for each host with other devices. As a result, network performance depends on determining the average of the messages sent across the network as a whole. Results have shown the following: Minimum_RTT is defined as the least amount of time needed for a network packet to move from its source to its destination and return. In real-world terms, this is the best possible network latency, which is possible with Perfect routing and lowest network congestion. analysis in Fig. 2 clearly indicated that when 75 ping is sent from h1 to h8, Floodlight required 0.03 msec while POX required 0.0349 msec to establish a connection in tree topology environment. However, as the number of pings increased from 75 up to 400, the same performance behavior was noticed as Floodlight recorded 0.0339 milliseconds while POX recorded 0.0395 msec. Maximum_RTT is defined as the maximum amount of time that source and destination host require to establish a communication. It is among the crucial factors to keep in mind while evaluating the controller's performance. in Fig. 3 , POX presumed 33.365 msec to process at 75 pings, while Floodlight assumed 13 msec. similarly at 400 pings, POX recorded 150 msec while Floodlight recorded 90 msec. Average_RTT is defined as the time where network request takes to move from a client to a server and back to the client. In Fig. 4 , average_RTT documented better performance for Floodlight as values bounded between 1.5 and 7.5 msec compared with 3.5 and 9 msec for POX controller as number of pings increased from 75 and 400 pings. Due to the more reliable architecture and effective implementation, Floodlight performed better than POX in a number of areas, most notably in network performance metrics like throughput, round-trip latency, and jitter, especially when managing intricate network topologies. Generally speaking, Floodlight, written in Java, performed better in terms of stability and managing larger loads than POX based on Python. 5. Conclusions This research proposed the Bellman-Ford (BFA) as an alternative to the Dijkstra algorithm for routing data between switches and nodes in software-defined networks. The aim was to avoid negative edges that may appear in network. Assuming a similar framework and conditions, two widely used SDN controllers have been evaluated: POX and Floodlight. Floodlight showed an ideal option for applications that need high throughput, low delay ratings, and round-trip time. However, further research is needed to better understand how controllers affect SDN performance, thus more controllers should be examined along with different network topologies in order to meet various design and work objectives that align with various scenarios and environments, ranging from basic settings to intricate ones. Declarations Funding: This research received no funding. Emails: [email protected] [email protected] [email protected] Author Contribution Haeeder Munther Noman and Mahmood Jalal Ahmad Al Sammarraie developed the research idea and designed the experimental setup. Haeeder Munther Noman conducted the simulations and collected the performance data using the Mininet emulator. Mahmood Jalal Ahmad Al Sammarraie implemented the Bellman-Ford algorithm and carried out the comparative analysis with Dijkstra’s algorithm. Ali Abdulwahhab Abdulrazzaq prepared Figures 1–4 and contributed to the interpretation and discussion of the results. Mahmood Jalal Ahmad Al Sammarraie wrote the main manuscript text. All authors reviewed, edited, and approved the final version of the manuscript. References Badotra, S., & Singh, J. (2017). A Review Paper on Software Defined Networking, vol. 8, no. 3, Apr. 10.26483/IJARCS.V8I3.2945 Horvath, R., Nedbaland, D., & Stieninger, M. (2015). Jan., A Literature Review on Challenges and Effects of Software Defined Networking, 64, 10.1016/J.PROCS.2015.08.563 Paliwal, M., Shrimankarand, D. D., & Tembhurne, O. (2018). Controllers in SDN: A Review Report, vol. 6, Jun. 10.1109/ACCESS.2018.2846236 Hussain, M., Shah, N., Amin, R., Alshamrani, S. S., Alotaibiand, A., & Raza, S. M. (2022). Software-Defined Networking: Categories, Analysis, and Future Directions, vol. 22, no. 15, Jul. 10.3390/s22155551 Alshammary, H., Ibrahim, M. F., & Hussein, H. A. (2024). Evaluating The Impact of Feature Extraction Techniques on Arabic Reviews Classification. InfoTech Spectrum: Iraqi Journal of Data Science , 1 (1), 42–54. https://doi.org/10.51173/ijds.v1i1.10 C.Prabha, A., Goel, & Singh, J. (2022). A survey on sdn controller evolution: A brief review. In 2022 7th International Conference on Communication and Electronics Systems (ICCES), pp. 569–575, IEEE. George, M., & Jose, D. V. (2019). Comparative Analysis of Performance of Controllers in Software Defined Networks using Mininet, vol. 8, no. 7, Jul. Gamess, E., Tovarand, D., & Cavadia, A. (2018). Nov., Design and Implementation of a Benchmarking Tool for OpenFlow Controllers, 10, 11, 10.5815/IJITCS.2018.11.01 Oyola, A. (2017). A Dijkstra-Based Algorithm for Selecting the Shortest-Safe Evacuation Routes in Dynamic Environments (SSER). Lecture Notes in Computer Science, 131–135. 10.1007/978-3-319-60042-0_15 . Dinitz, Y., & Itzhak, Y. R. (2017). Hybrid Bellman–Ford–Dijkstra algorithm. Journal of Discrete Algorithms , 42 , 35–44. 10.1016/j.jda.2017.01.001 Singh, J. B. (2018). R.C. Tripathi, Investigation of Bellman–Ford Algorithm, Dijkstra's Algorithm for suitability of SPP. IJEDR | Volume 6, Issue 1 | ISSN: 2321–9939. AbuRyash, H., & Tamimi, A. (2015). Comparison Studies for Different Shortest path Algorithms. International Journal of Computers and Applications , 14 . 10.24297/ijct.v14i8.1857 Lacorte, A. M. (2018). E.P.,Analysis on the Use of A* and Dijkstra’s Algorithms for Intelligent School Transport Route Optimization System, Proceedings of the 4th International Conference on Human-Computer Interaction and User Experience in Indonesia, CHIuXiD ’18 - CHIuXiD ’18. 10.1145/3205946.3205948 . Permana, S. H., Bintoro, K. Y., Arifitama, B., Syahputra, A., & BFS on Maze Runner Game. (2018). Comparative Analysis of Pathfinding Algorithms A*, Dijkstra, and. IJISTECH (International Journal Of Information System & Technology Vol. 1, No. 2, pp. 1–8), 2018. WANG, X. Z. (2018). The Comparison of Three Algorithms in Shortest Path Issue. IOP Conf. Series: Journal of Physics: Conf. Series 1087 022011 10.1088/1742–6596/1087/2/022011 , 2020. Chan (2016). et.al, An experiment on the performance of shortest path algorithm,.Knowledge Management International Conference (KMICe), Chiang Mai, Thailand. Al Sammarraie, M. J. A., Martian, A., & Vlădeanu, C. (2018, June). Adaptive IED spectrum sensing algorithm for different duty cycle values. In 2018 International Conference on Communications (COMM) (pp. 51–54). IEEE. Patil, U. K. (2016). Building SDN framework using OpenDaylight Controller, vol. 4, no. 1, Jan. Noman, H. M., Jasim, M. N., & Controller, P. O. X. (2020). and Open Flow Performance Evaluation in Software Defined Networks (SDN) Using Mininet Emulator, vol. 881, no. 1, Jul. 10.1088/1757-899X/881/1/012102 Abdullah, M. Z., Al-awadand, N. A., & Hussein, F. W. (2018). May, Performance Comparison and Evaluation of Different Software Defined Networks Controllers, 6, 2, 10.12785/IJCNT/060201 Islam, M. T., Islamand, N., & Refat, M. A. (2020). May, Node to Node Performance Evaluation through RYU SDN Controller, 112, 1, 10.1007/S11277-020-07060-4 Askar, S., & Keti, S. F. (2021). Performance evaluation of different SDN controllers: a review. Additional Declarations No competing interests reported. Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-7291089","acceptedTermsAndConditions":true,"allowDirectSubmit":true,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":517926146,"identity":"bd55dff1-7dc5-4055-b14a-dfcc416c3b11","order_by":0,"name":"Haeeder Munther Noman","email":"","orcid":"","institution":"Middle Technical University","correspondingAuthor":false,"prefix":"","firstName":"Haeeder","middleName":"Munther","lastName":"Noman","suffix":""},{"id":517926147,"identity":"a3b486a1-647b-4635-9032-05ba31308f7a","order_by":1,"name":"Mahmood Jalal Ahmad Al Sammarraie","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABOUlEQVRIie2RQUvDMBSAXwm0l+weqLS/QGgZxEER/0qHsFxSEQbFg0ig0F7EXee/cJedheC8zO1a8abgqYeehgcVk8kmsx16FOxHCO8l+UjeC0BDw58E6wmBIcDUgQOWCgGIXvaW4yelDei3imKpdAX62qs7D7vZ3c1VeRIAEuj5MT8N2CBBafkSd1ywkjGB4+C7QqdHvfvhlKmHmXttPmHRUBrJ5fmM+AJPYgIeqyjXnD60UqlroTY3ZSSUAq2UGIJwqhRZUebFSrEWNn+XzFWK8ZaSA+EW9Uq+vgVTO0pl6CkFqVu6guAtSkF1LdhIcGxHF8wfaWVnRg5T3Ot3wppa5pzmqmOOn2Vjmy8C17nNnowiPtsfWHKUl6+Vjq3AfrKRm5/fBCGg2vMadzM119F2paGhoeG/8AG2pWcNxx7zcwAAAABJRU5ErkJggg==","orcid":"","institution":"Al-Iraqia University","correspondingAuthor":true,"prefix":"","firstName":"Mahmood","middleName":"Jalal Ahmad Al","lastName":"Sammarraie","suffix":""},{"id":517926148,"identity":"3b42e1f2-2a97-4ca2-94b2-ee01aef2b38a","order_by":2,"name":"Ali Abdulwahhab Abdulrazzaq","email":"","orcid":"","institution":"Middle Technical University","correspondingAuthor":false,"prefix":"","firstName":"Ali","middleName":"Abdulwahhab","lastName":"Abdulrazzaq","suffix":""}],"badges":[],"createdAt":"2025-08-04 12:23:26","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-7291089/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-7291089/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":92258281,"identity":"62ce05db-3d0f-4cd4-b608-f42616024bbb","added_by":"auto","created_at":"2025-09-26 12:03:23","extension":"docx","order_by":0,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":571971,"visible":true,"origin":"","legend":"","description":"","filename":"08.08.2025OvercomingtheLimitationofDijkstrasRoutingAlgorithmtoSelectOptimalControllerinSoftwaredefinedNetwork.docx","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/d20046f0e3ddbb6c75446a66.docx"},{"id":92258277,"identity":"b96bdc60-339e-41a7-97e6-7fed502af342","added_by":"auto","created_at":"2025-09-26 12:03:23","extension":"json","order_by":1,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":4652,"visible":true,"origin":"","legend":"","description":"","filename":"5cd28a52d86f42b4aa220d1c9fbda96d.json","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/e7c2772db7175b9f5966d2c9.json"},{"id":92259423,"identity":"1b1975a1-b136-41e3-bc99-26b143d8562e","added_by":"auto","created_at":"2025-09-26 12:19:23","extension":"xml","order_by":2,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":54443,"visible":true,"origin":"","legend":"","description":"","filename":"5cd28a52d86f42b4aa220d1c9fbda96d1enriched.xml","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/d5a6114d84eeb13990eb17e4.xml"},{"id":92258276,"identity":"1e608fd0-31ba-48a5-b514-6247a691d4ae","added_by":"auto","created_at":"2025-09-26 12:03:23","extension":"png","order_by":7,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":17111,"visible":true,"origin":"","legend":"","description":"","filename":"Onlinefloatimage1.png","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/ed52a876ac1da43926bc5abd.png"},{"id":92258282,"identity":"b952be18-6b18-4919-948b-ba14ed6fecf1","added_by":"auto","created_at":"2025-09-26 12:03:23","extension":"xml","order_by":8,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":53711,"visible":true,"origin":"","legend":"","description":"","filename":"5cd28a52d86f42b4aa220d1c9fbda96d1structuring.xml","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/9b3914296786257ed8916e7f.xml"},{"id":92258280,"identity":"c47e4e64-9580-4f9b-aedd-af3ade78a3ba","added_by":"auto","created_at":"2025-09-26 12:03:23","extension":"html","order_by":9,"title":"","display":"","copyAsset":false,"role":"acdc-reference","size":61071,"visible":true,"origin":"","legend":"","description":"","filename":"earlyproof.html","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/5704ca62c1e22e3c92b48b32.html"},{"id":92259144,"identity":"faf70c67-783b-4486-a16a-57650b09fb69","added_by":"auto","created_at":"2025-09-26 12:11:23","extension":"png","order_by":1,"title":"Figure 1","display":"","copyAsset":false,"role":"figure","size":146637,"visible":true,"origin":"","legend":"\u003cp\u003eTree Network Topology\u003c/p\u003e","description":"","filename":"floatimage1.png","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/a741a6bf2823a68f6e680943.png"},{"id":95312184,"identity":"a61938e0-5e17-4b5d-82e9-0ac1c30c2de0","added_by":"auto","created_at":"2025-11-06 15:47:56","extension":"pdf","order_by":0,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":658494,"visible":true,"origin":"","legend":"","description":"","filename":"manuscript.pdf","url":"https://assets-eu.researchsquare.com/files/rs-7291089/v1/a02ced7c-7eea-422d-ae17-cddc26e1ac8d.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Overcoming the Limitation of Dijkstra's Routing Algorithm to Select Optimal Controller in Software defined Network","fulltext":[{"header":"1. Introduction","content":"\u003cp\u003eSDN separates network infrastructure, dynamic and software automated [\u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e1\u003c/span\u003e]. SDN enables network administrators to manage, optimize, configure, protect network services, and it does not rely on any proprietary software or hardware [\u003cspan citationid=\"CR2\" class=\"CitationRef\"\u003e2\u003c/span\u003e]. As SDN is Based controller (at the control layer), it receives information from the application layer via an application programming interface [\u003cspan citationid=\"CR3\" class=\"CitationRef\"\u003e3\u003c/span\u003e] then forwards the instructions to the infrastructure layer which, may allow the application layer to participate in decision-making process [\u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e4\u003c/span\u003e]. consequently, it collects data from the infrastructure layer and relays it back to the application layer. The data forwarding (between devices and control layer) is the responsibility of the infrastructure layer. However, New concepts have emerged within SDN technology such as North-Bound interface (NBI) and South-Bound interface (SBI) [\u003cspan citationid=\"CR5\" class=\"CitationRef\"\u003e5\u003c/span\u003e]. While with NBI, Applications may adjust network behavior, query the network state, and establish new features without having to communicate with the underlying network devices directly. SBI refers to the protocol or application programming interface (API) that the SDN controller uses to communicate with the underlying network devices, such as switches and routers. In other words, the controller uses this method to program and control the data plane. SDN relies heavily on graph theory as it offers a strong foundation for managing, analyzing, and modeling complex network topologies and traffic flows. one of the most significant problems in graph theory is thought to be the shortest path problem that could be calculated as exact or roundabout [\u003cspan citationid=\"CR6\" class=\"CitationRef\"\u003e6\u003c/span\u003e]. The program's characteristics and requirements determine which algorithm is optimal to utilize. For example, even with a large input graph, the shortest path algorithm's goal is to produce a fast response. When Dijkstra's algorithm is used as the default routing algorithm in SDN including a large number of nodes in a computer application, it has the disadvantage of using a lot of CPU memory. Additionally, it can only be used on positive weight graphs and cannot handle negative edges which may produce incorrect results as it depends on a greedy approach [\u003cspan citationid=\"CR7\" class=\"CitationRef\"\u003e7\u003c/span\u003e].\u003c/p\u003e"},{"header":"2. Shortest Path Algorithms","content":"\u003cp\u003eA search for the most effective algorithms to address the shortest path problem has been ongoing. The goal of the shortest path algorithm is to identify the optimal solution by concentrating on two nodes, or vertices, of the path. Shortest path algorithms may be broadly divided into two categories: SSSP and APSP [\u003cspan citationid=\"CR8\" class=\"CitationRef\"\u003e8\u003c/span\u003e]. SSSP stands for single source shortest path, which identifies the variances between each distinct vertex and the supply vertex. Among all sets of vertices in the network, ASAP finds the smallest path. Finding the shortest safe routes in houses with several withdrawal gates and where various sensor kinds could change the accessibility of interior spaces is a challenge that has to be addressed. Oyola [\u003cspan citationid=\"CR9\" class=\"CitationRef\"\u003e9\u003c/span\u003e] suggested a method utilizing a Dijkstra-based algorithm called Safe and Short Evacuation Routes (SSER). By merging the Bellman-Ford and Dijkstra algorithms, Dinitz and Itzhak [\u003cspan citationid=\"CR10\" class=\"CitationRef\"\u003e10\u003c/span\u003e] developed a novel hybrid algorithm known as Bellman-Ford\u0026ndash;Dijkstra (BFD). In a graph G with universal edge costs, this algorithm discovered the shortest paths from a source node. Singh and Tripathi [\u003cspan citationid=\"CR11\" class=\"CitationRef\"\u003e11\u003c/span\u003e] compared the Bellman-Ford and Dijkstra algorithms and remarked about the outcomes according to the number of nodes where the study made it possible to specify and recommend the algorithm that is applied in shortest path problems for a certain version. With the aim of solving the shortest path issue, Ryash and Tamimi [\u003cspan citationid=\"CR12\" class=\"CitationRef\"\u003e12\u003c/span\u003e] discussed and contrasted the Floyd-Warshall, Bellman-Ford, Dijkstra, and Johnson algorithms. An examination of applying the A* and Dijkstra algorithms was presented by Lacorte and Chavez [\u003cspan citationid=\"CR13\" class=\"CitationRef\"\u003e13\u003c/span\u003e]. Permana [\u003cspan citationid=\"CR14\" class=\"CitationRef\"\u003e14\u003c/span\u003e] compared three algorithms: Dijkstra, Breadth First Search (BFS), and A*. time and space complexity of three algorithms: the Floyd-Warshall, Bellman-Ford, and Dijkstra algorithms were examined in depth by wang [\u003cspan citationid=\"CR15\" class=\"CitationRef\"\u003e15\u003c/span\u003e]. In order to identify the most effective algorithm for solving the shortest path problem, Chan [\u003cspan citationid=\"CR16\" class=\"CitationRef\"\u003e16\u003c/span\u003e] compared and tested six shortest path algorithms: Dijkstra's, Symmetrical Dijkstra's, A*, Bellman-Ford, Floyd-Warshall, and Genetic Algorithm.\u003c/p\u003e\u003cp\u003eHowever, Table.1 contains a summary for the comparison of shortest path routing algorithms. The algorithms included.\u003c/p\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"No\" id=\"Taba\" border=\"1\"\u003e\u003ccolgroup cols=\"3\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colspan=\"3\" nameend=\"c3\" namest=\"c1\"\u003e\u003cp\u003eTable.1 The comparison of shortest path algorithms\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eauthor\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eRouting algorithm\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eStrategy\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eOyola [\u003cspan citationid=\"CR9\" class=\"CitationRef\"\u003e9\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra's\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eThe method is suitable for usage in dynamic environments\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eDinitz and Itzhak [\u003cspan citationid=\"CR10\" class=\"CitationRef\"\u003e10\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra's\u0026thinsp;+\u0026thinsp;Bellman-Ford\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eNew proposed method to find shortest path\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eTripathi and Singh [\u003cspan citationid=\"CR11\" class=\"CitationRef\"\u003e11\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra's _ Bellman-Ford\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eBellman-Ford operates effectively within less number of nodes\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eTamimi and Ryash [\u003cspan citationid=\"CR12\" class=\"CitationRef\"\u003e12\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra, Bellman-Ford,\u003c/p\u003e\u003cp\u003eFloyd-Warshall, and\u003c/p\u003e\u003cp\u003eJohnson algorithms\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eIn terms of time, the Dijkstra-based approach is more sophisticated than the Bellman-Ford algorithm. \u003c/p\u003e\u003cp\u003eWhen the graph is limited, the Johnson algorithm outperforms the Floyd-Warshall algorithm; however, when the graph is dense, the Floyd-Warshall algorithm outperforms the Johnson algorithm.\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eChavez [\u003cspan citationid=\"CR13\" class=\"CitationRef\"\u003e13\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra's and A\u003csup\u003e*\u003c/sup\u003e\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eOn small graphs, the A* method outperforms Dijkstra's algorithm in terms of expected arrival time\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003ePermana [\u003cspan citationid=\"CR14\" class=\"CitationRef\"\u003e14\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra's, BFS, A\u003csup\u003e*\u003c/sup\u003e\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eA\u003csup\u003e*\u003c/sup\u003e may be regarded as an acceptable path finding method especially in maze game/grid\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eWang [\u003cspan citationid=\"CR15\" class=\"CitationRef\"\u003e15\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eFloyd-Warshall, Bellman-Ford, and Dijkstra algorithms\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eAmong the three algorithms, Floyd- warshall is the slowest\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003eChang [\u003cspan citationid=\"CR16\" class=\"CitationRef\"\u003e16\u003c/span\u003e]\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDijkstra\u0026rsquo;s, Symmetrical Dijkstra\u0026rsquo;s, A*, Bellman-Ford, Floyd-Warshall and Genetic Algorithm\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c3\"\u003e\u003cp\u003eGenetic algorithm outperformed the others\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e"},{"header":"3. Bellman-Ford Algorithm(BFA)","content":"\u003cp\u003eA weight, which represents the cost, distance, or other measure for traversing an edge, is usually assigned to a graph edge. When an edge is negative, it means that going over it will increase or decrease the total cost or value. When Dijkstra's algorithm is used, it has the disadvantage of using a lot of CPU memory and unable to handle negative edges especially when the graph is dynamic and complex [\u003cspan citationid=\"CR17\" class=\"CitationRef\"\u003e17\u003c/span\u003e].\u003c/p\u003e\u003cp\u003eBellman-Ford Algorithm is more adaptable for particular applications since it can accurately determine the shortest pathways even when some edge weights are negative. The technique can detect whether a network has a negative cycle, which would result in infinitely falling path costs. A Boolean value is returned by the Bellman-Ford method to show if the origin can reach a negative cycle. If there is no such cycle, the method returns the shortest path; if there is a negative cycle, the algorithm indicates that there isn't a shortest path. Bellman -Ford algorithm listed below consist of:\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eStep 1\u003c/strong\u003e\u003cp\u003eAssign other vertices an INFINITY distance and set the source vertex s's distance to zero (distance[s]\u0026thinsp;=\u0026thinsp;0).\u003c/p\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eStep 2\u003c/strong\u003e\u003cp\u003eeach edge is relaxed (n\u0026thinsp;\u0026minus;\u0026thinsp;1) times, where n is the number of nodes. When an edge is relaxed, the route to the node it points to is shortened if possible, and the route to the node is replaced with the route discovered.\u003c/p\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eStep 3\u003c/strong\u003e\u003cp\u003eCheck the graph for any negative cycles by running the Nth loop. Figure\u0026nbsp;\u003cspan refid=\"Fig1\" class=\"InternalRef\"\u003e2\u003c/span\u003e and Table\u0026nbsp;3 provide a clearer explanation of this algorithm's procedure. The Bellman-Ford algorithm-based example of travest between nodes is displayed in Fig.\u0026nbsp;\u003cspan refid=\"Fig1\" class=\"InternalRef\"\u003e2\u003c/span\u003e. However, the replacement of the new value occurs if it is less than the previous value. The shortest path from the source node will be found once the entire network has been processed. Usually, this algorithm requires\u003cspan class=\"InlineEquation\"\u003e\u003cspan class=\"mathinline\"\u003e\\(\\:\\text{O}\\:\\left(\\text{E}\\text{V}\\right)\\)\u003c/span\u003e\u003c/span\u003e. Table.2 included algorithm.1, (BFA) mainly used to find shortest path and in complex graphs and dynamic environments.\u003c/p\u003e\u003c/p\u003e\u003cp\u003e\u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"No\" id=\"Tabb\" border=\"1\"\u003e\u003ccolgroup cols=\"2\"\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e\u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" colspan=\"2\" nameend=\"c2\" namest=\"c1\"\u003e\u003cp\u003eTable.2 Algorithm.1 (BFA)\u003c/p\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e\u003cb\u003e1\u003c/b\u003e.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eFunction BellmanFord(G,S)\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e2.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eFor each vertex V in G\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e3.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDistance[v] : INFINITY\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e4.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003ePrevious[v] : NULL\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e5.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDistance[s]:0\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e6.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eFor each vertex V in G\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e7.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eFor each edge (u,v) in G\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e8.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003ealt: distance[u]\u0026thinsp;+\u0026thinsp;length(u,v)\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e9.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eIf alt\u0026thinsp;\u0026lt;\u0026thinsp;length (u,v) then:\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e10.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eDistance[v] :alt\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e11.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003ePrevious[u]:v\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e12.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eFor each edge (u,v) in G:\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e13.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eIf distance[u]\u0026thinsp;+\u0026thinsp;length (u,v)\u0026thinsp;\u0026lt;\u0026thinsp;distance(v)\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e14.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003e\u003cb\u003eNegative Cycle Exists\u003c/b\u003e\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\" colname=\"c1\"\u003e\u003cp\u003e15.\u003c/p\u003e\u003c/td\u003e\u003ctd align=\"left\" colname=\"c2\"\u003e\u003cp\u003eReturn distance[]. Previous []\u003c/p\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/colgroup\u003e\u003c/table\u003e\u003c/div\u003e\u003c/p\u003e"},{"header":"3. Methodology","content":"\u003cp\u003eThe investigation passed through two SDN controllers: POX and Floodlight. POX is an open-source controller programmed in Python used for developing SDN applications and turns to be more widely used than NOX, a similar project as it allows for faster development and creation of prototypes for SDN. POX uses the OpenFlow and the OVSDB protocols to provide a working environment that allows communication with SDN switches. POX components can be called directly from the command line and the functionality required from the network is achieved through the use of these components. POX may be used as a master controller in SDN networks as it allows the download of network components and developers may create more complex controllers by using new components or they may write applications that directly target the application protocol interfaces [\u003cspan class=\"CitationRef\"\u003e17\u003c/span\u003e]. Floodlight uses the OpenFlow protocol to manage data flow in an SDN environment. The Floodlight is simple and easy to use when starting, working and maintaining, and it can work with all types of Switches, whether physical or virtual, as long as these switches support the OpenFlow protocol [\u003cspan class=\"CitationRef\"\u003e18\u003c/span\u003e]. This work was carried out through Mininet [\u003cspan class=\"CitationRef\"\u003e19\u003c/span\u003e], a network emulator that offers a simplified version of a real network. Mininet offers advantages of simulating complex networks, supporting security mechanisms, scalability, realistic experiments, and ease of setup, making it valuable for teaching and testing various network scenarios [\u003cspan class=\"CitationRef\"\u003e20\u003c/span\u003e, \u003cspan class=\"CitationRef\"\u003e21\u003c/span\u003e]. the implementation of SDN included a tree topology where all hosts and switches are connected to each other in a hierarchical way, and all of these switches are connected to a central controller [\u003cspan class=\"CitationRef\"\u003e22\u003c/span\u003e]. The network topology shown in table .2 consisted of the following:\u003c/p\u003e\n\u003col\u003e\n\u003cli class=\"Heading\"\u003e\u003cstrong\u003eMininet\u003c/strong\u003e: is a software emulator utilized to test a big network on a single computer.\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eSDN-Based POX controller\u003c/strong\u003e: is an open-source development platform for software-defined networking (SDN) control applications that are built on Python used to set switches and re-direct the flows\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eOpenFlow switch\u003c/strong\u003e: is a crucial element of Software-Defined Networking (SDN) that make use of OpenFlow protocol. The topology included 6 OpenFlow switches S1-S6\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eHosts\u003c/strong\u003e: generally, refer to the network-connected endpoints (such as PCs, servers, or other network-enabled devices) that exchange data via OpenFlow switches.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003ePhysical link bandwidth\u003c/strong\u003e: The maximum amount of data, usually expressed in bits per second (bps), that may be sent between network devices over a physical link\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"gridtable\"\u003e\n\u003cdiv class=\"colspec\" align=\"left\"\u003e\u0026nbsp;\u003c/div\u003e\n\u003cdiv class=\"colspec\" align=\"left\"\u003e\u0026nbsp;\u003c/div\u003e\n\u003ctable id=\"Tabc\" border=\"1\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth colspan=\"2\" align=\"left\"\u003e\n\u003cp\u003eTable.3 Network Topology Parameters\u003c/p\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eFeature\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eSpecification\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eMininet\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eSoftware emulator\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eSDN-Based controller\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003ePOX\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eOpen Flow switches version 0.2.0\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eS1-S15\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eHosts\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eH1-H16\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003ePhysical Link Bandwidth\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e100Mbps\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eTransmission Time\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e1 msec\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eSDN- Controller. IP\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e127.0.0.1\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003eSDN- Controller. Port\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd align=\"left\"\u003e\n\u003cp\u003e6633\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e"},{"header":"4. Result Analysis and Discussion","content":"\u003cp\u003eRTT measures the duration of a packet's transmission and packet\u0026rsquo;s retrieval acknowledgement. The delay takes into account paths propagation times between communication endpoints. The trip time can be calculated by querying the ICMP message using the PING command, that is, by measuring the time between ECHO_REQUEST and ECHO_REPLY messages for each host with other devices. As a result, network performance depends on determining the average of the messages sent across the network as a whole. Results have shown the following:\u003c/p\u003e\u003cp\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eMinimum_RTT\u003c/b\u003e is defined as the least amount of time needed for a network packet to move from its source to its destination and return. In real-world terms, this is the best possible network latency, which is possible with Perfect routing and lowest network congestion. analysis in Fig.\u0026nbsp;\u003cspan refid=\"Fig1\" class=\"InternalRef\"\u003e2\u003c/span\u003e clearly indicated that when 75 ping is sent from h1 to h8, Floodlight required 0.03 msec while POX required 0.0349 msec to establish a connection in tree topology environment. However, as the number of pings increased from 75 up to 400, the same performance behavior was noticed as Floodlight recorded 0.0339 milliseconds while POX recorded 0.0395 msec.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eMaximum_RTT\u003c/b\u003e is defined as the maximum amount of time that source and destination host require to establish a communication. It is among the crucial factors to keep in mind while evaluating the controller's performance. in Fig.\u0026nbsp;\u003cspan refid=\"Fig2\" class=\"InternalRef\"\u003e3\u003c/span\u003e, POX presumed 33.365 msec to process at 75 pings, while Floodlight assumed 13 msec. similarly at 400 pings, POX recorded 150 msec while Floodlight recorded 90 msec.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cb\u003eAverage_RTT\u003c/b\u003e is defined as the time where network request takes to move from a client to a server and back to the client. In Fig.\u0026nbsp;\u003cspan refid=\"Fig3\" class=\"InternalRef\"\u003e4\u003c/span\u003e, average_RTT documented better performance for Floodlight as values bounded between 1.5 and 7.5 msec compared with 3.5 and 9 msec for POX controller as number of pings increased from 75 and 400 pings. Due to the more reliable architecture and effective implementation, Floodlight performed better than POX in a number of areas, most notably in network performance metrics like throughput, round-trip latency, and jitter, especially when managing intricate network topologies. Generally speaking, Floodlight, written in Java, performed better in terms of stability and managing larger loads than POX based on Python.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e"},{"header":"5. Conclusions","content":"\u003cp\u003eThis research proposed the Bellman-Ford (BFA) as an alternative to the Dijkstra algorithm for routing data between switches and nodes in software-defined networks. The aim was to avoid negative edges that may appear in network. Assuming a similar framework and conditions, two widely used SDN controllers have been evaluated: POX and Floodlight. Floodlight showed an ideal option for applications that need high throughput, low delay ratings, and round-trip time. However, further research is needed to better understand how controllers affect SDN performance, thus more controllers should be examined along with different network topologies in order to meet various design and work objectives that align with various scenarios and environments, ranging from basic settings to intricate ones.\u003c/p\u003e"},{"header":"Declarations","content":"\u003ch2\u003eFunding:\u003c/h2\u003e\u003cp\u003eThis research received no funding.\u003c/p\u003e\u003cp\u003eEmails:\u003c/p\u003e\u003cp\
[email protected]\u003c/p\u003e\u003cp\
[email protected]\u003c/p\u003e\u003cp\
[email protected]\u003c/p\u003e\u003ch2\u003eAuthor Contribution\u003c/h2\u003e\u003cp\u003eHaeeder Munther Noman and Mahmood Jalal Ahmad Al Sammarraie developed the research idea and designed the experimental setup. Haeeder Munther Noman conducted the simulations and collected the performance data using the Mininet emulator. Mahmood Jalal Ahmad Al Sammarraie implemented the Bellman-Ford algorithm and carried out the comparative analysis with Dijkstra\u0026rsquo;s algorithm. Ali Abdulwahhab Abdulrazzaq prepared Figures 1\u0026ndash;4 and contributed to the interpretation and discussion of the results. Mahmood Jalal Ahmad Al Sammarraie wrote the main manuscript text. All authors reviewed, edited, and approved the final version of the manuscript.\u003c/p\u003e"},{"header":"References","content":"\u003col\u003e\u003cli\u003e\u003cspan\u003eBadotra, S., \u0026amp; Singh, J. (2017). A Review Paper on Software Defined Networking, vol. 8, no. 3, Apr. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.26483/IJARCS.V8I3.2945\u003c/span\u003e\u003cspan address=\"10.26483/IJARCS.V8I3.2945\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eHorvath, R., Nedbaland, D., \u0026amp; Stieninger, M. (2015). Jan., A Literature Review on Challenges and Effects of Software Defined Networking, 64, \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1016/J.PROCS.2015.08.563\u003c/span\u003e\u003cspan address=\"10.1016/J.PROCS.2015.08.563\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003ePaliwal, M., Shrimankarand, D. D., \u0026amp; Tembhurne, O. (2018). Controllers in SDN: A Review Report, vol. 6, Jun. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1109/ACCESS.2018.2846236\u003c/span\u003e\u003cspan address=\"10.1109/ACCESS.2018.2846236\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eHussain, M., Shah, N., Amin, R., Alshamrani, S. S., Alotaibiand, A., \u0026amp; Raza, S. M. (2022). Software-Defined Networking: Categories, Analysis, and Future Directions, vol. 22, no. 15, Jul. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.3390/s22155551\u003c/span\u003e\u003cspan address=\"10.3390/s22155551\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eAlshammary, H., Ibrahim, M. F., \u0026amp; Hussein, H. A. (2024). Evaluating The Impact of Feature Extraction Techniques on Arabic Reviews Classification. \u003cem\u003eInfoTech Spectrum: Iraqi Journal of Data Science\u003c/em\u003e, \u003cem\u003e1\u003c/em\u003e(1), 42\u0026ndash;54. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://doi.org/10.51173/ijds.v1i1.10\u003c/span\u003e\u003cspan address=\"10.51173/ijds.v1i1.10\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eC.Prabha, A., Goel, \u0026amp; Singh, J. (2022). A survey on sdn controller evolution: A brief review. In 2022 7th International Conference on Communication and Electronics Systems (ICCES), pp. 569\u0026ndash;575, IEEE.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eGeorge, M., \u0026amp; Jose, D. V. (2019). Comparative Analysis of Performance of Controllers in Software Defined Networks using Mininet, vol. 8, no. 7, Jul.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eGamess, E., Tovarand, D., \u0026amp; Cavadia, A. (2018). Nov., Design and Implementation of a Benchmarking Tool for OpenFlow Controllers, 10, 11, \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.5815/IJITCS.2018.11.01\u003c/span\u003e\u003cspan address=\"10.5815/IJITCS.2018.11.01\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eOyola, A. (2017). A Dijkstra-Based Algorithm for Selecting the Shortest-Safe Evacuation Routes in Dynamic Environments (SSER). Lecture Notes in Computer Science, 131\u0026ndash;135. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1007/978-3-319-60042-0_15\u003c/span\u003e\u003cspan address=\"10.1007/978-3-319-60042-0_15\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eDinitz, Y., \u0026amp; Itzhak, Y. R. (2017). Hybrid Bellman\u0026ndash;Ford\u0026ndash;Dijkstra algorithm. \u003cem\u003eJournal of Discrete Algorithms\u003c/em\u003e, \u003cem\u003e42\u003c/em\u003e, 35\u0026ndash;44. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1016/j.jda.2017.01.001\u003c/span\u003e\u003cspan address=\"10.1016/j.jda.2017.01.001\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eSingh, J. B. (2018). R.C. Tripathi, Investigation of Bellman\u0026ndash;Ford Algorithm, Dijkstra's Algorithm for suitability of SPP. IJEDR | Volume 6, Issue 1 | ISSN: 2321\u0026ndash;9939.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eAbuRyash, H., \u0026amp; Tamimi, A. (2015). Comparison Studies for Different Shortest path Algorithms. \u003cem\u003eInternational Journal of Computers and Applications\u003c/em\u003e, \u003cem\u003e14\u003c/em\u003e. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.24297/ijct.v14i8.1857\u003c/span\u003e\u003cspan address=\"10.24297/ijct.v14i8.1857\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eLacorte, A. M. (2018). E.P.,Analysis on the Use of A* and Dijkstra\u0026rsquo;s Algorithms for Intelligent School Transport Route Optimization System, Proceedings of the 4th International Conference on Human-Computer Interaction and User Experience in Indonesia, CHIuXiD \u0026rsquo;18 - CHIuXiD \u0026rsquo;18. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1145/3205946.3205948\u003c/span\u003e\u003cspan address=\"10.1145/3205946.3205948\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003ePermana, S. H., Bintoro, K. Y., Arifitama, B., Syahputra, A., \u0026amp; BFS on Maze Runner Game. (2018). Comparative Analysis of Pathfinding Algorithms A*, Dijkstra, and. IJISTECH (International Journal Of Information System \u0026amp; Technology Vol. 1, No. 2, pp. 1\u0026ndash;8), 2018.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eWANG, X. Z. (2018). The Comparison of Three Algorithms in Shortest Path Issue. IOP Conf. Series: Journal of Physics: Conf. Series 1087 022011 \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1088/1742\u0026ndash;6596/1087/2/022011\u003c/span\u003e\u003cspan address=\"10.1088/1742\u0026ndash;6596/1087/2/022011\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e, 2020.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eChan (2016). et.al, An experiment on the performance of shortest path algorithm,.Knowledge Management International Conference (KMICe), Chiang Mai, Thailand.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eAl Sammarraie, M. J. A., Martian, A., \u0026amp; Vlădeanu, C. (2018, June). Adaptive IED spectrum sensing algorithm for different duty cycle values. In \u003cem\u003e2018 International Conference on Communications (COMM)\u003c/em\u003e (pp. 51\u0026ndash;54). IEEE.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003ePatil, U. K. (2016). Building SDN framework using OpenDaylight Controller, vol. 4, no. 1, Jan.\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eNoman, H. M., Jasim, M. N., \u0026amp; Controller, P. O. X. (2020). and Open Flow Performance Evaluation in Software Defined Networks (SDN) Using Mininet Emulator, vol. 881, no. 1, Jul. \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1088/1757-899X/881/1/012102\u003c/span\u003e\u003cspan address=\"10.1088/1757-899X/881/1/012102\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eAbdullah, M. Z., Al-awadand, N. A., \u0026amp; Hussein, F. W. (2018). May, Performance Comparison and Evaluation of Different Software Defined Networks Controllers, 6, 2, \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.12785/IJCNT/060201\u003c/span\u003e\u003cspan address=\"10.12785/IJCNT/060201\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eIslam, M. T., Islamand, N., \u0026amp; Refat, M. A. (2020). May, Node to Node Performance Evaluation through RYU SDN Controller, 112, 1, \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003e10.1007/S11277-020-07060-4\u003c/span\u003e\u003cspan address=\"10.1007/S11277-020-07060-4\" targettype=\"DOI\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli\u003e\u003cspan\u003eAskar, S., \u0026amp; Keti, S. F. (2021). Performance evaluation of different SDN controllers: a review.\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e"}],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":true,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":true,"highlight":"","institution":"","isAcceptedByJournal":false,"isAuthorSuppliedPdf":false,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":false,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"
[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true},"keywords":"Round Trip Time (RTT), Software Defined Network (SDN), Mininet, command line interface (CLI), Python-Based Platform (POX), Java-Based Platform (Floodlight)","lastPublishedDoi":"10.21203/rs.3.rs-7291089/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-7291089/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eSoftware-Defined Networks employ software-based controllers and application programming interfaces to communicate with underlying hardware infrastructure in order to control network traffic. This study addressed two challenges. Firstly, it suggested the Bellman-Ford algorithm to overcome the drawbacks of Dijkstra's algorithm for packet routing between nodes in dynamic and large-scale networks. Second, the Bellman-Ford algorithm was used to determine the best among two software-defined network controllers: Floodlight and POX. Our results have showed that Floodlight is better than POX in terms of minimum, maximum, and average_RTT which may improve the experience of application usage and allow the applications to be more responsive.\u003c/p\u003e","manuscriptTitle":"Overcoming the Limitation of Dijkstra's Routing Algorithm to Select Optimal Controller in Software defined Network","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2025-09-26 12:03:18","doi":"10.21203/rs.3.rs-7291089/v1","editorialEvents":[{"type":"communityComments","content":0}],"status":"published","journal":{"display":true,"email":"
[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true}}],"origin":"","ownerIdentity":"8ee35d08-b95b-4095-b15f-021279484265","owner":[],"postedDate":"September 26th, 2025","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"posted","subjectAreas":[],"tags":[],"updatedAt":"2025-11-03T15:53:44+00:00","versionOfRecord":[],"versionCreatedAt":"2025-09-26 12:03:18","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-7291089","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-7291089","identity":"rs-7291089","version":["v1"]},"buildId":"8U1c8b4HqxoKbykW_rLl7","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.