Software-Defined Networking: Categories, Analysis, and Future Directions
<p>SDN system architecture.</p> "> Figure 2
<p>Southbound API proposals.</p> "> Figure 3
<p>SDN studies categorization hierarchy comprised of seven sections (<a href="#sec2-sensors-22-05551" class="html-sec">Section 2</a>, <a href="#sec3-sensors-22-05551" class="html-sec">Section 3</a>, <a href="#sec4-sensors-22-05551" class="html-sec">Section 4</a>, <a href="#sec5-sensors-22-05551" class="html-sec">Section 5</a>, <a href="#sec6-sensors-22-05551" class="html-sec">Section 6</a>, <a href="#sec7-sensors-22-05551" class="html-sec">Section 7</a> and <a href="#sec8-sensors-22-05551" class="html-sec">Section 8</a>).</p> ">
Abstract
:1. Introduction
1.1. Application Programming Interfaces
- Southbound API: This is an SDN enabler that provides a communication protocol between the control plane and data plane. It is used to push configuration information and install flow rules at the data plane. It also provides an abstraction of the network device’s functionality to the control plane. Moreover, it allows the discovery of network topology, defines network flows, and implements requests sent by the management plane. SBI is critical with respect to its availability as well as secure communication. In absence of any one of these parameters, it may result in the malfunctioning of forwarding devices. It faces challenges of heterogeneity, vendor-specific forwarding devices, and programming languages. OFP is commonly used as an SBI that provides secure channel between the control and data plane to install flow rules. SBI proposals are categorized based on whether they are OpenFlow-dependent, OpenFlow-independent, or emerging technology, all of which are shown in Figure 2.
- OpenFlow-Dependent SBI Proposals: These include OpenFlow-based SBI proposals with the addition of new features or in its newer versions. DevoFlow [17] modifies the OpenFlow model to permit network operators to focus on flow rules, which are essential for network management, by breaking the coupling between network control and global visibility. It helps to reduce internal communication between the control and data planes. The Revised OpenFlow Library (ROFL) [18] provides an API that offers much better usability by hiding details of OFP versions to make application development easier. It utilizes the extensible datapath daemon (xDPd) framework, which facilitates creating SDN data path elements. The hardware abstraction layer (HAL) [19] separates hardware-specific control and management functionalities from the forwarding devices in order to make legacy network nodes such as OpenFlow compliant. It results in decreasing the complexity of network devices, and the problem of vendor-specific features is resolved. OpenState [20] states that a central controller should not be provided with full control. It also proposes that the programmers can implement states in the forwarding devices instead of the central controller. Protocol-oblivious forwarding (POF) [21] offers a reactive mechanism that requires forwarding devices to extract keys and process packets by using packet headers, which leads to overhead. The programming abstraction datapath (PAD) [22] reveals the programmability of switch capabilities and offers SBI for optical switches. The open virtual switch database (OvSDB) [23] and OpenFlow configuration protocol (OF-Config) [24] build an association between the control and data planes and facilitate configurations in OpenFlow.
- OpenFlow-Independent SBI Proposals: P4 runtime SBI [25] helps to solve the problem of OFP. It is an open, extensible, customizable platform that offers a new way for the control plane to control forwarding devices and solves the limitations of OFP. Forwarding and control element separation (ForCES) [26] aimed to replace OpenFlow. It enables the separation of control and forwarding elements that are in the same physical device without modifying the traditional networking architecture and without involvement of an external controller using a logical function block. OpFlex [27] supports communication between the controller and data plane; however, its provision of service is different in comparison with OpenFlow. It resolves the scalability problem by distributing load to the forwarding devices. NetConf [28] uses a remote procedure call paradigm to manage and configure network devices remotely. It was already present before the emergence of SDN and offers a very simple API to send and receive full or partial configuration datasets.
- OpenFlow-Based SBIs Emerging Technology: Sensor OpenFlow (SOF) [29] is upgraded as per the specifications of low-capacity sensor nodes. It is based on OpenFlow and aimed to address the challenges of flow and congestion control. It offers the ability to redefine flow tables as per the specific addressing schemes of wireless sensor networks (WSN) to install flow rules on sensor network devices. Software-defined wireless networks (SDWN) [30] aimed to decrease energy consumption in WSNs with the help of duty cycles and in-network data aggregation. Duty energy minimizes consumption by turning radio off in case of idle periods, and in-network data aggregation is also helpful in this regard. Its protocol architecture utilizes both generic and sink nodes. In addition, it supports elastic flow rules due to its nature, unlike traditional OpenFlow. SDN for wireless sensors (SDN WISE) [31], implemented in OMNet++, aimed at reducing sensor nodes’ communication with the controller, in addition to making sensor nodes programmable. SOF and SDWN utilize a central controller to provide theoretical details; however, SDN-WISE is based on a distributed controller paradigm, using an ONOS controller [32] to provide services based on practical implementations.
- Northbound API: Control and management planes use NBI to provide programmability to application developers. NBI is very important with respect to the ability of SDN adoption to support variety of SDN applications. A wide range of NBIs are offered by current controllers and programming languages due to the lack of standardization. In addition, some programmers and many controller platforms use the REST API as NBI. One of the initiatives of ONF is the Northbound Interface Work Group (NBIWG) [33], which was formed with the intention of standardizing NBI.
- East/Westbound API: Inter-controller communication of SDN domains is established using eastbound API. Westbound API is responsible for communication from the legacy domain to SDN domain. Central network control is the key feature of SDN; however, the single controller can handle only a limited number of forwarding devices. To accommodate the exponential increase in forwarding devices and for large-scale networks, distributed controllers have become a requirement. Eastbound APIs are used to import/export information among distributed controllers [34,35,36], and westbound APIs enable communication between legacy network devices and the controllers [37,38,39].
1.2. Network Configuration and Flow Rules Installation
1.3. SDN Advantages
- SDN Centralized Management and Control: SDN’s centralized management and control of networking devices helps to reduce complexity.
- Directly Programmable: The network control plane can be directly programmable as it is separated from the data and management planes.
- Easier Network Management and Automation: It offers easier network management and automation via common APIs to program the applications due to the provision of abstractions by the controller platform.
- Rapid Innovation: It allows rapid innovation, as there is no need to configure each device and no need to wait for new releases from vendors.
- Programmability: The network is programmable with the help of network applications that are installed at the control plane to offer vendor independence.
- Flexibility: It provides a flexible network architecture that protects existing investments while future-proofing the network.
- Flow-Rules-Based Forwarding: Forwarding decisions are based on flow rules (instead of destination-based addresses), which broadly implement flow rule matching and action criteria.
- ACL Policy Implementation: It allows network administrators to apply ACL policies at a more granular level in a highly abstracted automated fashion.
- On-Demand Quality of Service: It utilizes the SDN central control intelligence for the aggregation of services from long-term evaluation (LTE) and the wide area network (WAN) to tackle the increasing computational demands of mobile users [58].
- Traffic and Resource Categorization in Edge Network: The collaboration of network function virtualization (NFV) and SDN in virtualized network infrastructures (multiple NFV, virtual network function (VNF), service function chaining) provides a customized QoS for residential network requests via differentiated treatment of each clustered and tagged piece of traffic in the edge network. Traffic encompasses audio and video streaming. SDN assists in the realization of differentiated behavior of underlying hardware network resources [59].
- Mobility Support for Internet of Vehicles (IOV): SDN enables intelligent remote clouds for the computation of tasks offloaded by speedy vehicle to the roadside unit (RSU). The controller supports the RSU for implementing the communication path between the RSU and fog node with adequate resources in a predictive fashion. Consequently, the fog node capabilities log at the controller tends to the optimal computation of IOV jobs by fog nodes [60].
- Topology Discovery: SDN has centralized services for event-based topology discovery. Tree exploration discovery protocol (TEDP) outperforms the OpenFlow protocol and standard link layer discovery protocol (LLDP) in terms of the reduction of extra packets for topology discovery. The tree exploration discovery protocol (TEDP) leverages the topology graph mapping by using the probe packets that are responsible for signaling the SDN controller to a single forwarding device. As a result, the discovery mechanism is optimized in SDN compared to LLDP, which introduced load in IP networks [61].
- Load Balancing Support in Future Networking: Research work comprises enabling the SDN infrastructure among the multiple NFV nodes and service function chaining aiming to reduce the delay of state migration of VNF. Concretely, the objectives are to cope with the limited resource capabilities of NFV nodes, meeting the desired QoS by infrastructure, and ensuring the least end-to-end delay for computational states migration by confining the OpenFlow-enabled devices’ capabilities in 5G core networks [62].
- Fault Localization: In SDN, centralized management is used for localizing the failure and reconfiguration help to localize faults. It handles failures in a proactive fashion based on the prediction of service unavailability [63].
- Programmable Reachability Optimization: SDN handles firewall problems in term of conflicting rules automatically. Similar research works offer improvements with the least computational overhead in reachability optimization and conflict debugging problems [64].
1.4. Organization
2. Network Testing and Verification
Summary and Lessons Learned
3. Flow Rule Installation Mechanisms
Summary and Lessons Learned
4. Network Security and Management
Summary and Lessons Learned
5. Memory Management Studies
Summary and Lessons Learned
6. SDN Simulators and Emulators
Summary and Lessons Learned
7. SDN Programming Languages
Summary and Lessons Learned
8. SDN Controller Platforms
Summary and Lessons Learned
9. Comparison with Existing Studies
10. Future Research Directions
11. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Benson, T.; Akella, A.; Maltz, D. Unraveling the complexity of network management. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation, NSDI’09, Berkeley, CA, USA, 22–24 April 2009; pp. 335–348. [Google Scholar]
- Tennenhouse, D.L.; Smith, J.M.; Sincoskie, W.D.; Wetherall, D.J.; Minden, G.J. A survey of active network research. IEEE Commun. Mag. 1997, 35, 80–86. [Google Scholar] [CrossRef]
- Campbell, A.T.; Meer, H.G.D.; Kounavis, M.E.; Miki, K.; Vicente, J.B.; Villela, D. A survey of programmable networks. SIGCOMM Comput. Commun. Rev. 1999, 29, 7–23. [Google Scholar] [CrossRef] [Green Version]
- Rexford, J.; Greenberg, A.; Hjalmtysson, G.; Maltz, D.A.; Myers, A.; Xie, G.; Zhan, J.; Zhang, H. Network-wide decision making: Toward a wafer-thin control plane. In Proceedings of the Third Workshop on Hot Topics in Networks HotNets-III, Chicago, IL, USA, 17–22 August 2014; pp. 59–64. [Google Scholar]
- Greenberg, A.; Hjalmtysson, G.; Maltz, D.A.; Myers, A.; Rexford, J.; Xie, G.; Yan, H.; Zhan, J.; Zhang, H. A clean slate 4D approach to network control and management. ACM SIGCOMM Comput. Commun. Rev. 2005, 35, 41–54. [Google Scholar] [CrossRef] [Green Version]
- Caesar, M.; Caldwell, D.; Feamster, N.; Rexford, J.; Shaikh, A.; van der Merwe, J. Design and implementation of a routing control platform. In Proceedings of the 2nd Conference on Symposium on Networked Systems Design & Implementation, Berkeley, CA, USA, 2–4 May 2005; Volume 2, pp. 15–28. [Google Scholar]
- Casado, M.; Freedman, M.J.; Pettit, J.; Luo, J.; McKeown, N.; Shenker, S. Ethane: Taking control of the enterprise. ACM SIGCOMM Comput. Commun. Rev. 2007, 37, 1–12. [Google Scholar] [CrossRef]
- Open Networking Foundation. Available online: https://www.opennetworking.org/about (accessed on 20 February 2021).
- Nick, M.; Anderson, T.; Balakrishnan, H.; Parulkar, G.; Peterson, L.; Rexford, J.; Shenker, S.; Turner, J. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 69–74. [Google Scholar]
- Open Networking Research Center (ONRC). Available online: http://onrc.net (accessed on 20 February 2021).
- Feamster, N.; Rexford, J.; Zegura, E. The road to SDN: An intellectual history of programmable networks. ACM SIGCOMM Comput. Commun. Rev. 2014, 44, 87–98. [Google Scholar] [CrossRef]
- Mckeown, N. How SDN Will Shape Networking. Available online: http://www.youtube.com/watch?v=c9-K5OqYgA (accessed on 20 February 2021).
- Alvigzu, R.; Maier, G.; Kukreja, N.; Pattavina, A.; Morro, R.; Capello, A.; Cavazzoni, C. Comprehensive survey on SDN: Software defined networking for transport networks. IEEE Commun. Surv. Tutor. 2017, 19, 2232–2283. [Google Scholar] [CrossRef]
- Mousa, M.; Bahaa-Eldin, A.M.; Sobh, M. Software defined networking concepts and challenges. In Proceedings of the 11th International Conference on Computer Engineering & Systems (ICCES), Cairo, Egypt, 20–21 December 2016; pp. 79–90. [Google Scholar]
- Schenker, S. The Future of Networking, and the Past of Protocols. 2011. Available online: http://www.youtube.com/watch?v=YHeyuD89n1Y (accessed on 20 February 2021).
- Zohaib, L.; Sharif, K.; Li, F.; Karim, M.M.; Biswas, S.; Wang, Y. A comprehensive survey of interface protocols for software defined networks. J. Netw. Comput. Appl. 2020, 156, 102563. [Google Scholar]
- Curtis, R.A.; Mogul, J.C.; Tourrilhes, J.; Yalagandula, P.; Sharma, P.; Banerjee, S. DevoFlow: Scaling flow management for high-performance networks. ACM SIGCOMM Comput. Commun. Rev. 2011, 41, 254–265. [Google Scholar] [CrossRef]
- Su, M.; Alvarez, V.; Jungel, T.; Toseef, U.; Pentikousis, K. An openflow implementation for network processors. In Proceedings of the Third European Workshop on Software Defined Networks, Budapest, Hungary, 1–3 September 2014; pp. 123–124. [Google Scholar]
- Parniewicz, D.; Corin, R.D.; Ogrodowczyk, L.; Fard, M.R.; Matias, J.; Gerola, M.; Fuentes, V.; Toseef, U.; Zaalouk, A.; Belter, B.; et al. Design and implementation of an openflow hardware abstraction layer. In Proceedings of the 2014 ACM SIGCOMM Workshop on Distributed Cloud Computing, DCC’14, Chicago, IL, USA, 18 August 2014; pp. 71–76. [Google Scholar]
- Bianchi, G.; Bonola, M.; Capone, A.; Cascone, C. Openstate: Programming platform-independent stateful openflow applications inside the switch. SIGCOMM Comput. Commun. Rev. 2014, 44, 44–51. [Google Scholar] [CrossRef]
- Song, H. Protocol-oblivious forwarding: Unleash the power of sdn through a future-proof forwarding plane. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, HotSDN, Hong Kong, China, 16 August 2013; pp. 127–132. [Google Scholar]
- Belter, B.; Binczewski, A.; Dombek, K.; Juszczyk, A.; Ogrodowczyk, L.; Parniewicz, D.; Stroiski, M.; Olszewski, I. Programmable abstraction of datapath. In Proceedings of the Third European Workshop on Software Defined Networks, Budapest, Hungary, 1–3 September 2014; pp. 7–12. [Google Scholar]
- Pfaff, B.; Davie, B. The Open vSwitch Database Management Protocol. Informational, Internet Engineering Task Force, RFC 7047. Available online: http://www.ietf.org/rfc/rfc7047.txt (accessed on 17 April 2021).
- OpenFlow Management and Configuration Protocol. Available online: https://opennetworking.org/wp-content/uploads/2014/10/openflow-spec-v1.2.pdf (accessed on 21 October 2021).
- P4 Open Source Programming Language. Available online: https://p4.org (accessed on 17 April 2021).
- Haleplidis, E.; Salim, J.H.; Halpern, J.M.; Hares, S.; Pentikousis, K.; Ogawa, K.; Wang, W.; Denazis, S.; Koufopavlou, O. Network programmability with forces. IEEE Commun. Surv. Tutor. 2015, 17, 1423–1440. [Google Scholar] [CrossRef]
- Smith, M.; Dvorkin, M.; Laribi, V.; Pandey, V.; Gerg, P.; Weidenbacher, N. OpFlex Control Protocol. Available online: https://tools.ietf.org/html/draft-smith-opflex-03 (accessed on 17 April 2021).
- Enns, R.; Bjorklund, M.; Schoenwaelder, J.; Bierman, A. Network Configuration Protocol (Netconf). 2011. Available online: https://www.rfc-editor.org/rfc/pdfrfc/rfc6241.txt.pdf (accessed on 21 October 2021).
- Luo, T.; Tan, H.P.; Quek, T.Q.S. Sensor openflow: Enabling software-defined wireless sensor networks. IEEE Commun. Lett. 2012, 16, 1896–1899. [Google Scholar] [CrossRef]
- Costanzo, S.; Galluccio, L.; Morabito, G.; Palazzo, S. Software defined wireless networks: Unbridling sdns. In Proceedings of the European Workshop on Software Defined Networking, Darmstadt, Germany, 25–26 October 2012; pp. 1–6. [Google Scholar]
- Galluccio, L.; Milardo, S.; Morabito, G.; Palazzo, S. Sdn-wise: Design, prototyping and experimentation of a stateful sdn solution for wireless sensor networks. In Proceedings of the IEEE Conference on Computer Communications, INFOCOM, Hong Kong, China, 26 April–1 May 2015; pp. 513–521. [Google Scholar]
- SDN Series Part Seven: ONOS. Available online: https://thenewstack.io/open-source-sdn-controllers-part-vii-onos/ (accessed on 4 December 2021).
- Northbound Interface Work Group (NBIWG). Available online: https://www.opennetworking.org/tag/nbi-working-group/ (accessed on 13 February 2022).
- Yin, H.; Xie, H.; Tsou, T.; Lopez, D.; Aranda, P.; Sidi, R. Sdni: A message exchange protocol for software defined networks (sdns) across multiple domains. IETF Draft. 2012. Available online: https://www.bibsonomy.org/bibtex/216048b64b0994fd6576585efe239a092/chesteve (accessed on 4 December 2021).
- Advance Message Queuing Protocol. Available online: https://www.amqp.org (accessed on 4 December 2021).
- An Open Source Messaging Protocol. Available online: https://www.rabbitmq.com/ (accessed on 4 December 2021).
- Nascimento, M.R.; Rothenberg, C.E.; Salvador, M.R.; Correa, C.N.A.; de Lucena, S.C.; Magalh, M.F. Virtual routers as a service: The routeflow approach leveraging software-defined networks. In Proceedings of the 6th International Conference on Future Internet Technologies, Ser. CFI’11, Seoul, Korea, 13–15 June 2011. [Google Scholar]
- Lin, P.; Hart, J.; Krishnaswamy, U.; Murakami, T.; Kobayashi, M.; AlShabibi, A.; Wang, K.-C.; Bi, J. Seamless interworking of sdn and ip. SIGCOMM Comput. Commun. Rev. 2013, 43, 475–476. [Google Scholar] [CrossRef]
- Lin, P.; Bi, J.; Hu, H. Btsdn: Bgp-based transition for the existing networks to sdn. In Proceedings of the Sixth International Conference on Ubiquitous and Future Networks (ICUFN), Shanghai, China, 8–11 July 2014. [Google Scholar]
- Wilson, T. Securing Networks: Access Control List (ACL) Concepts. Available online: https://www.pluralsight.com/blog/it-ops/access-control-list-concepts (accessed on 10 December 2021).
- Christopher, M.; Reich, J.; Foster, N.; Rexford, J.; Walker, D. Composing Software Defined Networks. In Proceedings of the NSDI, Santa Clara, CA, USA, 16–18 March 2013; pp. 1–13. [Google Scholar]
- The Frenetic Project. Available online: http://www.frenetic-lang.org (accessed on 15 April 2021).
- Andreas, V.; Wang, J.; Yang, Y.R.; Ford, B.; Hudak, P. Maple: Simplifying SDN programming using algorithmic policies. ACM SIGCOMM Comput. Commun. Rev. 2013, 43, 87–98. [Google Scholar]
- Understanding OpenFlow Flow Entry Timers on Devices Running Junos OS. Available online: https://www.juniper.net/documentation/us/en/software/junos/sdn-openflow/topics/concept/junos-sdn-openflow-flow-entry-timers-overview.html (accessed on 23 March 2022).
- Huikang, Z.; Fan, H.; Luo, X.; Jin, Y. Intelligent timeout master: Dynamic timeout for SDN-based data centers. In Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), Ottawa, ON, Canada, 11–15 May 2015; pp. 734–737. [Google Scholar]
- Daniyal, A. Flow Installation Mechanisms in SDN. In Proceedings of the 4th Multi-Disciplinary Student Research International Conference, Wah Cantt, Pakistan, 29–30 August 2018. [Google Scholar]
- Zeus, K. Configuration Management Delivers Business Resiliency; The Yankee Group: Boston, MA, USA, 2002. [Google Scholar]
- Amin, R.; Shah, N.; Shah, B.; Alfandi, O. Auto-configuration of ACL policy in case of topology change in hybrid SDN. IEEE Access 2016, 4, 9437–9450. [Google Scholar] [CrossRef]
- Bao, K.; Matyjas, J.D.; Hu, F.; Kumar, S. Intelligent software-defined mesh networks with link-failure adaptive traffic balancing. IEEE Trans. Cogn. Commun. Netw. 2018, 4, 266–276. [Google Scholar] [CrossRef]
- Newman, P.; Minshall, G.; Lyon, T.L. IP switching-ATM under IP. IEEE/ACM Trans. Netw. 1998, 6, 117–129. [Google Scholar] [CrossRef]
- Amin, R.; Shah, N.; Mehmood, W. Enforcing optimal ACL policies using K-partite graph in hybrid SDN. Electronics 2019, 8, 604. [Google Scholar] [CrossRef] [Green Version]
- OME Committee. Software-Defined Networking: The New Norm for Networks; Open Networking Foundation: Menlo Park, CA, USA, 2012. [Google Scholar]
- Shambwaditya, S.; Prabhu, S.; Madhusudan, P. NetGen: Synthesizing data plane configurations for network policies. In Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research, Santa Clara, CA, USA, 17–18 June 2015. [Google Scholar]
- Diego, K.; Yu, J.; Ramos, F.; Esteves-Verissimo, P. ANCHOR: Logically Centralized Security for Software-Defined Networks. ACM Trans. Priv. Secur. TOPS 2019, 22, 1–36. [Google Scholar]
- Vijay, V.; Karmakar, K.; Tupakula, U.; Hitchens, M. A Policy-Based Security Architecture for Software-Defined Networks. IEEE Trans. Inf. Forensics Secur. 2019, 14, 897–912. [Google Scholar]
- Rodrigo, B.; de Mota, E.; Passito, A. Lightweight DDoS flooding attack detection using NOX/OpenFlow. In Proceedings of the IEEE Local Computer Network Conference, Denver, CO, USA, 10–14 October 2010; Volume 10, pp. 408–415. [Google Scholar]
- Kostas, G.; Androulidakis, G.; Maglaris, V. Leveraging SDN for efficient anomaly detection and mitigation on legacy networks. In IEEE Proceedings of the Third European Workshop on Software Defined Networks, Budapest, Hungary, 1–3 September 2014; pp. 85–90. [Google Scholar]
- Anbalagan, S.; Kumar, D.; Raja, G.; Ejaz, W.; Bashir, A.K. SDN-assisted efficient LTE-WiFi aggregation in next generation IoT networks. Future Gener. Comput. Syst. 2020, 107, 898–908. [Google Scholar] [CrossRef]
- Moyano, R.F.; Fernández, D.; Merayo, N.; Lentisco, C.M.; Cárdenas, A. NFV and SDN-Based Differentiated Traffic Treatment for Residential Networks. IEEE Access 2020, 8, 34038–34055. [Google Scholar] [CrossRef]
- Lian, T.; Zhou, Y.; Wang, X.; Cheng, N.; Lu, N. Predictive Task Migration Modeling in Software Defined Vehicular Networks. In Proceedings of the 4th IEEE International Conference on Computer and Communication Systems (ICCCS), Singapore, 23–25 February 2019; pp. 570–574. [Google Scholar]
- Rojas, E.; Alvarez-Horcajo, J.; Martinez-Yelmo, I.; Carral, J.A.; Arco, J.M. TEDP: An enhanced topology discovery service for software-defined networking. IEEE Commun. Lett. 2018, 22, 1540–1543. [Google Scholar] [CrossRef]
- Qu, K.; Zhuang, W.; Ye, Q.; Shen, X.; Li, X.; Rao, J. Dynamic flow migration for embedded services in SDN/NFV-enabled 5G core networks. IEEE Trans. Commun. 2020, 68, 2394–2408. [Google Scholar] [CrossRef]
- Malik, A.; Aziz, B.; Adda, M.; Ke, C.H. Smart routing: Towards proactive fault handling of software-defined networks. Comput. Netw. 2020, 170, 107104. [Google Scholar] [CrossRef] [Green Version]
- Chen, F.; Liu, A.X.; Hwang, J.; Xie, T. First step towards automatic correction of firewall policy faults. ACM Trans. Auton. Adapt. Syst. TAAS 2012, 7, 1–24. [Google Scholar] [CrossRef]
- Taleb, T.; Aguiar, R.L.; Yahia, Y.I.G.B.; Chatras, B.; Christensen, G.; Chunduri, U.; Clemm, A.; Costa, X.; Dong, L.; Elmirghani, J.; et al. White Paper on 6G Networking; Academic Bibliography: Cambridge, MA, USA, 2020. [Google Scholar]
- Junaid, N.S.; Sharma, S.K.; Wyne, S.; Patwary, M.N.; Asaduzzaman, M. Quantum machine learning for 6G communication networks: State-of-the-art and vision for the future. IEEE Access 2019, 7, 46317–46350. [Google Scholar]
- Nei, K.; Mao, B.; Tang, F.; Kawamoto, Y.; Liu, J. Ten Challenges in Advancing Machine Learning Technologies toward 6G. IEEE Wirel. Commun. 2020, 27, 96–103. [Google Scholar]
- Varadharajan, V.; Karmakar, K.K.; Tupakula, U. Securing communication in multiple autonomous system domains with software defined networking. In Proceedings of the IFIP/IEEE Symposium on Integrated Network and Service Management (IM), Lisbon, Portugal, 8–12 May 2017; pp. 195–203. [Google Scholar]
- Robert, N.; Eichler, S.; Eberspacher, J. Intelligent wireless communication for future autonomous and cognitive automobiles. In Proceedings of the 2007 IEEE Intelligent Vehicles Symposium, Istanbul, Turkey, 13–15 June 2007; pp. 716–721. [Google Scholar]
- Nikhil, H.; Heller, B.; Jeyakumar, V.; Maziéres, D.; McKeown, N. Where is the debugger for my software-defined network? In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 13 August 2012; pp. 55–60. [Google Scholar]
- GDB: The GNU Project Debugger. Available online: http://www.gnu.org/software/gdb/ (accessed on 23 March 2022).
- Ahmed, K.; Zhou, W.; Caesar, M.; Godfrey, P. Veriflow: Verifying network-wide invariants in real time. ACM SIGCOMM Comput. Commun. Rev. 2012, 42, 467–472. [Google Scholar]
- Varghese, G. Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices; Morgan Kaufmann: Burlington, MA, USA, 2004. [Google Scholar]
- Al-Shaer, E.; Marrero, W.; El-Atawy, A.; Elbadawi, K. Network configuration in a box: Towards end-to-end verification of network reachability and security. In Proceedings of the 17th IEEE International Conference on Network Protocols (ICNP), Plainsboro, NJ, USA, 13–16 October 2009. [Google Scholar]
- Al-Shaer, E.; Al-Haj, S. FlowChecker: Configuration analysis and verification of federated OpenFlow infrastructures. In Proceedings of the 3rd ACM Workshop on Assurable and Usable Security Configuration, Chicago, IL, USA, 4 October 2010. [Google Scholar]
- Mai, H.; Khurshid, A.; Agarwal, R.; Caesar, M.; Godfrey, P.B.; King, S.T. Debugging the data plane with anteater. ACM SIGCOMM Comput. Commun. Rev. 2011, 41, 290–301. [Google Scholar] [CrossRef]
- McGeer, R. A safe, efficient update protocol for OpenFlow networks. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 13 August 2012. [Google Scholar]
- Reitblatt, M.; Foster, N.; Rexford, J.; Schlesinger, C.; Walker, D. Abstractions for network update. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, Helsinki, Finland, 13–17 August 2012; pp. 323–334. [Google Scholar]
- Natarajan, S.; Huang, X.; Wolf, T. Efficient conflict detection in flow-based virtualized networks. In Proceedings of the IEEE International Conference on Computing, Networking and Communications (ICNC), Maui, HI, USA, 30 January–2 February 2012. [Google Scholar]
- Zhang, P.; Wu, H.; Zhang, D.; Li, Q. Verifying rule enforcement in software defined networks with REV. IEEE/ACM Trans. Netw. 2020, 28, 917–929. [Google Scholar] [CrossRef]
- Canini, M.; Venzano, D.; Peresini, P.; Kostic, D.; Rexford, J. A Nice Way to Test OpenFlow Applications. In Proceedings of the NSDI, Lombard, IL, USA, 3–5 April 2012; Volume 12, pp. 127–140. [Google Scholar]
- Mao, J.; Han, B.; Sun, Z.; Lu, X.; Zhang, Z. Efficient mismatched packet buffer management with packet order-preserving for OpenFlow networks. Comput. Netw. 2016, 110, 91–103. [Google Scholar] [CrossRef]
- Kazemian, P.; Varghese, G.; McKeown, N. Header Space Analysis: Static Checking for Networks. In Proceedings of the NSDI, Lombard, IL, USA, 3–5 April 2012; Volume 12, pp. 113–126. [Google Scholar]
- Kim, H.; Gupta, A.; Shahbaz, M.; Reich, J.; Feamster, N.; Clark, R. Simpler Network Configuration with State-Based Network Policies; Georgia Institute of Technology: Atlanta, GA, USA, 2013. [Google Scholar]
- Prakash, C.; Lee, J.; Turner, Y.; Kang, J.M.; Akella, A.; Banerjee, S.; Clark, C.; Ma, Y.; Sharma, P.; Zhang, Y. PGA: Using graphs to express and automatically reconcile network policies. ACM SIGCOMM Comput. Commun. Rev. 2015, 45, 29–42. [Google Scholar] [CrossRef]
- Handigol, N.; Seetharaman, S.; Flajslik, M.; Gember, A.; McKeown, N.; Parulkar, G.; Akella, A.; Feamster, N.; Clark, R.; Krishnamurthy, A.; et al. Aster* x: Load-balancing web traffic over wide-area networks. In Proceedings of the GENI Engineering Conference, Beijing, China, 20–25 June 2010. [Google Scholar]
- Valenza, F.; Spinoso, S.; Sisto, R. Formally specifying and checking policies and anomalies in service function chaining. J. Netw. Comput. Appl. 2019, 146, 102419. [Google Scholar] [CrossRef]
- Nguyen, X. The OpenFlow Rules Placement Problem: A Black Box Approach. Ph.D. Thesis, Université Nice Sophia Antipolis, Nice, France, 2016. [Google Scholar]
- Nguyen, X.; Saucez, D.; Barakat, C.; Turletti, T. Rules placement problem in OpenFlow networks: A survey. IEEE Commun. Surv. Tutor. 2016, 18, 1273–1286. [Google Scholar] [CrossRef] [Green Version]
- Moshref, M.; Yu, M.; Sharma, A.; Govindan, R. vCRIB: Virtualized Rule Management in the Cloud. In Proceedings of the 4th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 12), Boston, MA, USA, 12–13 June 2012. [Google Scholar]
- Katta, N.; Alipourfard, O.; Rexford, J.; Walker, D. Infinite cacheflow in software-defined networks. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, Chicago, IL, USA, 17–22 August 2014. [Google Scholar]
- Iyer, A.S.; Mann, V.; Samineni, N.R. Switchreduce: Reducing switch state and controller involvement in openflow networks. In Proceedings of the IEEE IFIP Networking Conference, Brooklyn, NY, USA, 22–24 May 2013. [Google Scholar]
- Kim, E.D.; Lee, S.I.; Choi, Y.; Shin, M.K.; Kim, H.J. A flow entry management scheme for reducing controller overhead. In Proceedings of the 16th IEEE International Conference on Advanced Communication Technology (ICACT), Pyeongchang, Korea, 16–19 February 2014. [Google Scholar]
- Huang, H.; Li, P.; Guo, S.; Ye, B. The joint optimization of rules allocation and traffic engineering in software defined network. In Proceedings of the IEEE 22nd International Symposium of Quality of Service (IWQoS), Hong Kong, China, 26–27 May 2014. [Google Scholar]
- Nakagawa, Y.; Hyoudou, K.; Lee, C.; Kobayashi, S.; Shiraki, O.; Shimizu, T. Domainflow: Practical flow management method using multiple flow tables in commodity switches. In Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies, Santa Barbara, CA, USA, 9–12 December 2013. [Google Scholar]
- Chiba, Y.; Shinohara, Y.; Shimonishi, H. Source Flow: Handling millions of flows on flow-based nodes. ACM SIGCOMM Comput. Commun. Rev. 2010, 40, 465–466. [Google Scholar] [CrossRef]
- Sanabria-Russo, L.; Alonso-Zarate, J.; Verikoukis, C. SDN-Based Pro-Active Flow Installation Mechanism for Delay Reduction in IoT. In Proceedings of the IEEE Global Communications Conference (GLOBECOM), Abu Dhabi, United Arab Emirates, 9–13 December 2018; pp. 1–6. [Google Scholar]
- Casado, M.; Freedman, M.J.; Pettit, J.; Luo, J.; Gude, N.; McKeown, N.; Shenker, S. Rethinking enterprise network control. IEEE/ACM Trans. Netw. 2009, 17, 1270–1283. [Google Scholar] [CrossRef] [Green Version]
- Xu, H.; Yu, Z.; Qian, C.; Li, X.Y.; Liu, Z.; Huang, L. Minimizing flow statistics collection cost using wildcard-based requests in SDNs. IEEE/ACM Trans. Netw. 2017, 25, 3587–3601. [Google Scholar] [CrossRef]
- Moshref, M.; Yu, M.; Sharma, A.; Govindan, R. Scalable rule management for data center. In Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation, Lombard, IL, USA, 2–5 April 2013; pp. 157–170. [Google Scholar]
- Yan, B.; Xu, Y.; Xing, H.; Xi, K.; Chao, H.J. Cab: A reactive wildcard rule caching system for software-defined networks. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, Chicago, IL, USA, 17–22 August 2014; pp. 163–168. [Google Scholar]
- Yu, M.; Rexford, J.; Freedman, M.J.; Wang, J. Scalable flow-based networking with difane. ACM SIGCOMM Comput. Commun. Rev. 2011, 41, 351–362. [Google Scholar]
- Bera, S.; Misra, S.; Obaidat, M.S. Mobi-Flow: Mobility-aware adaptive flow-rule placement in software-defined access network. IEEE Trans. Mob. Comput. 2018, 18, 1831–1842. [Google Scholar] [CrossRef]
- Awan, I.I.; Shah, N.; Imran, M.; Shoaib, M.; Saeed, N. An Improved Mechanism for Flow Rule Installation in In-band SDN. J. Syst. Archit. 2019, 96, 32–51. [Google Scholar] [CrossRef]
- Yan, B.; Xu, Y.; Chao, H.J. BigMaC: Reactive Network-Wide Policy Caching for SDN Policy Enforcement. IEEE J. Sel. Areas Commun. 2018, 36, 2675–2687. [Google Scholar] [CrossRef]
- Hussain, M.; Shah, N. Automatic rule installation in case of policy change in software defined networks. Telecommun. Syst. 2018, 68, 461–477. [Google Scholar] [CrossRef]
- Hussain, M.; Shah, N.; Tahir, A. Graph-Based Policy Change Detection and Implementation in SDN. Electronics 2019, 8, 1136. [Google Scholar] [CrossRef] [Green Version]
- Asif, A.B.; Imran, M.; Shah, N.; Afzal, M.; Khurshid, H. ROCA: Auto-resolving overlapping and conflicts in Access Control List policies for Software Defined Networking. Int. J. Commun. Syst. 2021, 34, e4815. [Google Scholar] [CrossRef]
- Rzepka, M.; Borylo, P.; Lason, A.; Szymanski, A. PARD: Hybrid Proactive and Reactive Method Eliminating Flow Setup Latency in SDN. J. Netw. Syst. Manag. 2020, 28, 1547–1574. [Google Scholar] [CrossRef]
- Chung, J.; Jung, E.; Kettimuthu, R.; Rao, N.S.V.; Foster, I.T.; Clark, R.; Owen, H. Advance reservation access control using software-defined networking and tokens. Future Gener. Comput. Syst. 2018, 79, 225–234. [Google Scholar] [CrossRef]
- Panda, A.; Lahav, O.; Argyraki, K.; Sagiv, M.; Shenker, S. Verifying Reachability in Networks with Mutable Datapaths. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation, NSDI, Boston, MA, USA, 27–29 March 2017. [Google Scholar]
- Heller, B.; Scott, C.; McKeown, N.; Shenker, S.; Wundsam, A.; Zeng, H.; Whitlock, S.; Jeyakumar, V.; Handigol, N.; McCauley, J.; et al. Leveraging SDN layering to systematically troubleshoot networks. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, Hong Kong, China, 16 August 2013; pp. 37–42. [Google Scholar]
- Tseng, Y.; Zhang, Z.; Naït-Abdesselam, F. Srv: Switch-based rules verification in software defined networking. In Proceedings of the IEEE NetSoft Conference and Workshops (NetSoft), Seoul, Korea, 6–10 June 2016; pp. 477–482. [Google Scholar]
- Albert, E.; Gómez-Zamalloa, M.; Rubio, A.; Sammartino, M.; Silva, A. SDN-Actors: Modeling and Verification of SDN Programs. In International Symposium on Formal Methods; Springer: Cham, Switzerland, 2018; pp. 550–567. [Google Scholar]
- Mattos, D.M.F.; Duarte, O.C.M.B.; Pujolle, G. Reverse update: A consistent policy update scheme for software-defined networking. IEEE Commun. Lett. 2016, 20, 886–889. [Google Scholar] [CrossRef]
- Ye, J.; Cheng, X.; Zhu, J.; Feng, L.; Song, L. A DDoS Attack Detection Method Based on SVM in Software Defined Network. Secur. Commun. Netw. 2018, 2018, 9804061. [Google Scholar] [CrossRef]
- Mishra, A.K. SDN Based Network Management for Enhancing Network Security. Ph.D. Thesis, National College of Ireland, Dublin, Ireland, 2020. [Google Scholar]
- Zhu, L.; Dongzhao, Z. A New Network Security Architecture Based on SDN/NFV Technology. In Proceedings of the IEEE International Conference on Computer Engineering and Application (ICCEA), Guangzhou, China, 18–20 March 2020. [Google Scholar]
- Almadani, B.; Beg, A.; Mahmoud, A. DSF: A distributed sdn control plane framework for the east/west interface. IEEE Access 2021, 9, 26735–26754. [Google Scholar] [CrossRef]
- Khan, A.A.; Abolhasan, M.; Ni, W. 5G next generation VANETs using SDN and fog computing framework. In Proceedings of the 15th IEEE Annual Consumer Communications & Networking Conference (CCNC), Las Vegas, NV, USA, 12–15 January 2018; pp. 1–6. [Google Scholar]
- Rahman, A.; Islam, M.J.; Montieri, A.; Nasir, M.K.; Reza, M.M.; Band, S.S.; Mosavi, A. SmartBlock-SDN: An Optimized Blockchain-SDN Framework for Resource Management in IoT. IEEE Access 2021, 9, 28361–28376. [Google Scholar] [CrossRef]
- Meng, W.; Li, W.; Zhou, J. Enhancing the security of blockchain-based software defined networking through trust-based traffic fusion and filtration. Information Fusion 2021, 70, 60–71. [Google Scholar] [CrossRef]
- Derhab, A.; Guerroumi, M.; Belaoued, M.; Cheikhrouhou, O. BMC-SDN: Blockchain-based multicontroller architecture for secure software-defined networks. Wirel. Commun. Mob. Comput. 2021, 2021, 9984666. [Google Scholar] [CrossRef]
- Malik, U.M.; Javed, M.A.; Zeadally, S.; ul Islam, S. Energy efficient fog computing for 6G enabled massive IoT: Recent trends and future opportunities. IEEE Internet Things J. 2021. [Google Scholar] [CrossRef]
- Phan, L.A.; Nguyen, D.T.; Lee, M.; Park, D.H.; Kim, T. Dynamic fog-to-fog offloading in SDN-based fog computing systems. Future Gener. Comput. Syst. 2021, 117, 486–497. [Google Scholar] [CrossRef]
- Prabakaran, S.; Ramar, R.; Hussain, I.; Kavin, B.P.; Alshamrani, S.S.; AlGhamdi, A.S.; Alshehri, A. Predicting Attack Pattern via Machine Learning by Exploiting Stateful Firewall as Virtual Network Function in an SDN Network. Sensors 2022, 22, 709. [Google Scholar] [CrossRef]
- Javanmardi, S.; Shojafar, M.; Mohammadi, R.; Nazari, A.; Persico, V.; Pescapè, A. FUPE: A security driven task scheduling approach for SDN-based IoT–Fog networks. J. Inf. Secur. Appl. 2021, 60, 102853. [Google Scholar] [CrossRef]
- Latif, S.A.; Wen, F.B.X.; Iwendi, C.; Li-li, F.W.; Mohsin, S.M.; Han, Z.; Band, S.S. AI-empowered, blockchain and SDN integrated security architecture for IoT network of cyber physical systems. Comput. Commun. 2022, 181, 274–283. [Google Scholar] [CrossRef]
- Yazdinejad, A.; Parizi, R.M.; Dehghantanha, A.; Zhang, Q.; Choo, K.K.R. An energy-efficient SDN controller architecture for IoT networks with blockchain-based security. IEEE Trans. Serv. Comput. 2020, 13, 625–638. [Google Scholar] [CrossRef]
- Yurekten, O. Demirci, SDN-based cyber defense: A survey. Future Gener. Comput. Syst. 2021, 115, 126–149. [Google Scholar] [CrossRef]
- Tok, M.S. Demirci, Security analysis of SDN controller-based DHCP services and attack mitigation with DHCPguard. Comput. Secur. 2021, 109, 102394. [Google Scholar] [CrossRef]
- Sjoholmsierchio, M.; Hale, B.; Lukaszewski, D.; Xie, G. Strengthening SDN security: Protocol dialecting and downgrade attacks. In Proceedings of the IEEE 7th International Conference on Network Softwarization (NetSoft), Tokyo, Japan, 28 June–2 July 2021; pp. 321–329. [Google Scholar]
- Alamer, A. Security and privacy-awareness in a software-defined Fog computing network for the Internet of Things. Opt. Switch. Netw. 2021, 41, 100616. [Google Scholar] [CrossRef]
- Ahvar, E.; Ahvar, S.; Raza, S.M.; Manuel, S.; Vilchez, J.; Lee, G.M. Next generation of SDN in cloud-fog for 5G and beyond-enabled applications: Opportunities and challenges. Network 2021, 1, 28–49. [Google Scholar] [CrossRef]
- Sultana, R.; Grover, J.; Tripathi, M. Security of sdn-based vehicular ad hoc networks: State-of-the-art and challenges. Veh. Commun. 2021, 27, 100284. [Google Scholar] [CrossRef]
- Jaballah, W.B.; Conti, M.; Lal, C. Security and design requirements for software-defined VANETs. Comput. Netw. 2020, 169, 107099. [Google Scholar] [CrossRef]
- Li, J.; Cai, J.; Khan, F.; Rehman, A.U.; Balasubramaniam, V.; Sun, J.; Venu, P. A secured framework for sdn-based edge computing in IOT-enabled healthcare system. IEEE Access 2020, 8, 135479–135490. [Google Scholar] [CrossRef]
- de Assis, M.V.; Carvalho, L.F.; Rodrigues, J.J.; Lloret, J.; Proença, M.L., Jr. Near real-time security system applied to SDN environments in IoT networks using convolutional neural network. Comput. Electr. Eng. 2020, 86, 106738. [Google Scholar] [CrossRef]
- El Kamel, A.; Eltaief, H.; Youssef, H. On-the-fly (D) DoS attack mitigation in SDN using Deep Neural Network-based rate limiting. Comput. Commun. 2022, 182, 153–169. [Google Scholar] [CrossRef]
- Qaisar, M.U.F.; Wang, X.; Hawbani, A.; Zhao, L.; Al-Dubai, A.Y.; Busaileh, O. SDORP: SDN based Opportunistic Routing for Asynchronous Wireless Sensor Networks. IEEE Trans. Mob. Comput. 2022. [Google Scholar] [CrossRef]
- Mohamed, L.; Boc, M.M.; Fladenmuller, A. Opportunistic SDN-controlled wireless mesh network for mobile traffic offloading. In Proceedings of the IEEE International Conference on Selected Topics in Mobile and Wireless Networking (MoWNeT), Avignon, France, 17–19 May 2017. [Google Scholar]
- Kaur, K.; Garg, S.; Kaddoum, G.; Ahmed, S.H.; Gagnon, F.; Atiquzzaman, M. Demand-response management using a fleet of electric vehicles: An opportunistic-SDN-based edge-cloud framework for smart grids. IEEE Netw. 2019, 33, 46–53. [Google Scholar] [CrossRef]
- Singh, A.; Chatterjee, K. Securing smart healthcare system with edge computing. Comput. Secur. 2021, 108, 102353. [Google Scholar] [CrossRef]
- IBM RackSwitch G8264 Command Reference. pp. 103–107. Available online: http://www-01.ibm.com/support/docview.wss?uid=isg3T7000600&aid=1 (accessed on 10 February 2019).
- Lu, G.; Guo, C.; Li, Y.; Zhou, Z.; Yuan, T.; Wu, H.; Xiong, Y.; Gao, R.; Zhang, Y. Serverswitch: A programmable and high-performance platform for data center networks. In Proceedings of the 8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11), Boston, MA, USA, 30 March–1 April 2011. [Google Scholar]
- Banit, A.; Sherwood, T. Modeling TCAM power for next generation network devices. In Proceedings of the IEEE Proceedings of the International Symposium on Performance Analysis of Systems and Software, Austin, TX, USA, 19–21 March 2006; pp. 120–129. [Google Scholar]
- Luo, L.; Xie, G.; Uhlig, S.; Mathy, L.; Salamatian, K.; Xie, Y. Towards TCAM-based scalable virtual routers. In Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies, Nice, France, 10–13 December 2012. [Google Scholar]
- Richard, D.; King, C.; Venkatachary, S.; Zill, B.D. Constructing optimal IP routing tables. In Proceedings of the INFOCOM, New York, NY, USA, 21–25 March 1999; Volume 99, pp. 88–97. [Google Scholar]
- Wolfgang, B.; Menth, M. Wildcard Compression of Inter-Domain Routing Tables for OpenFlow-Based Software-Defined Networking. In Proceedings of the EWSDN, Budapest, Hungary, 1–3 September 2014. [Google Scholar]
- Bing, L.; Huang, L.; Qiao, C.; Xu, H.; Wang, X. FTRS: A mechanism for reducing flow table entries in software defined networks. Comput. Netw. 2017, 122, 1–15. [Google Scholar]
- Anilkumar, V.; Poddar, R.; Mann, V.; Bhattacharya, S. Effective switch memory management in OpenFlow networks. In Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, Mumbai, India, 26–29 May 2014; pp. 177–188. [Google Scholar]
- Adam, Z.; Ganjali, Y.; Lie, D. Openflow Timeouts Demystified; University of Toronto: Toronto, ON, Canada, 2012. [Google Scholar]
- Li, W.; Qin, Z.; Li, K.; Yin, H.; Ou, L. A Novel Approach to Rule Placement in Software-Defined Networks Based on OPTree. IEEE Access 2019, 7, 8689–8700. [Google Scholar] [CrossRef]
- Samaresh, B.; Misra, S.; Jamalipour, A. FlowStat: Adaptive Flow-Rule Placement for Per-Flow Statistics in SDN. IEEE J. Sel. Areas Commun. 2019, 37, 530–539. [Google Scholar]
- Shirali-Shahreza, S.; Ganjali, Y. Rewiflow: Restricted wildcard OpenFlow Rules. ACM SIGCOMM Comput. Commun. Rev. 2015, 5, 29–35. [Google Scholar] [CrossRef]
- Mimidis-Kentis, A.; Pilimon, A.; Soler, J.; Berger, M.; Ruepp, S. A novel algorithm for flow-rule placement in SDN switches. In Proceedings of the 4th IEEE Conference on Network Softwarization and Workshops (NetSoft), Montreal, QC, Canada, 25–29 June 2018; pp. 1–9. [Google Scholar]
- Rottenstreich, O. Lossy compression of packet classifiers. In Proceedings of the Eleventh ACM/IEEE Symposium on Architectures for Networking and Communications Systems, Oakland, CA, USA, 7–8 May 2015; pp. 39–50. [Google Scholar]
- Rottenstreich, O.; Keslassy, I. On the code length of TCAM coding schemes. In Proceedings of the IEEE International Symposium on Information Theory, Austin, TX, USA, 13–18 June 2010; pp. 1908–1912. [Google Scholar]
- Rottenstreich, O.; Radan, M.; Cassuto, Y.; Keslassy, I.; Arad, C.; Mizrahi, T.; Revah, Y.; Hassidim, A. Compressing forwarding tables for datacenter scalability. IEEE J. Sel. Areas Commun. 2013, 32, 138–151. [Google Scholar] [CrossRef]
- Zhao, B.; Li, R.; Zhao, J.; Wolf, T. Efficient and Consistent TCAM Updates. In Proceedings of the IEEE INFOCOM Conference on Computer Communications, Toronto, ON, Canada, 6–9 July 2020. [Google Scholar]
- Linux Foundation OvS: Open vSwitch. Available online: http://openvswitch.org/ (accessed on 2 April 2019).
- Fernandes, E.L.; Rothenberg, C.E. OpenFlow 1.3 Software Switch. In Proceedings of the Salao de Ferramentas do XXXII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuıdos SBRC, Florianópolis, Brazil, 5–9 May 2014; pp. 1021–1028. [Google Scholar]
- Floodlight Indigo Virtual Switch. Available online: https://floodlight.atlassian.net/wiki/spaces/indigodocs/pages/2719759/User+Documentation (accessed on 2 April 2019).
- Mininet Network Emulator. Available online: www.mininet.org (accessed on 10 August 2019).
- Handigol, N.; Heller, B.; Jeyakumar, V.; Lantz, B.; McKeown, N. Reproducible Network Experiments Using Container-based Emulation. In Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies, Nice, France, 10–13 December 2012. [Google Scholar]
- Lantz, B.; O’Connor, B. A Mininet-based Virtual Testbed for Distributed SDN Development. In Proceedings of the ACM Conference on Special Interest Group on Data Communication, London, UK, 17–21 August 2015. [Google Scholar]
- Wette, P.; DraÌĹxler, M.; Schwabe, A.; Wallaschek, F.; Zahraee, M.H.; Karl, H. MaxiNet: Distributed emulation of software-defined networks. In Proceedings of the Networking Conference, IFIP, Trondheim, Norway, 2–4 June 2014. [Google Scholar]
- Antonenko, V.; Smelyanskiy, R. Global Network Modelling Based on Mininet Approach. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, Hong Kong, China, 16 August 2013. [Google Scholar]
- Marsico, A.; Doriguzzi-Corin, R.; Siracusa, D. An Effective Swapping Mechanism to Overcome the Memory Limitation of SDN Devices. In Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management, Lisbon, Portugal, 8–12 May 2017. [Google Scholar]
- Masoudi, R.; Ghaffari, A. Software Defined Networks: A survey. J. Netw. Comput. Appl. 2016, 67, 1–25. [Google Scholar] [CrossRef]
- Roy, A.R.; Bari, M.F.; Zhani, M.F.; Ahmed, R.; Boutaba, R. Design and management of DOT: A Distributed OpenFlow Testbed. In Proceedings of the Network Operations and Management Symposium (NOMS), Krakow, Poland, 5–9 May 2014. [Google Scholar]
- Ganesh, H.S. OFNet. Available online: http://sdninsights.org/ (accessed on 10 May 2019).
- Bemby, S.; Lu, H.; Zadeh, K.H.; Bannazadeh, H.; Leon-Garcia, A. ViNO: SDN overlay to allow seamless migration across heterogeneous infrastructure. In Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management (IM), Ottawa, ON, Canada, 11–15 May 2015. [Google Scholar]
- Mahalingam, M.; Dutt, D.; Duda, K.; Agarwal, P.; Kreeger, L.; Sridhar, T.; Bursell, M.; Wright, C. Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks; RFC 7348; IETF: Fremont, CA, USA, 2014. [Google Scholar]
- Wang, S.; Chou, C.; Yang, C. EstiNet: OpenFlow network simulator and emulator. IEEE Commun. Mag. 2013, 51, 110–117. [Google Scholar] [CrossRef]
- Gupta, M.; Sommers, J.; Barford, P. Fast, Accurate Simulation for SDN Prototyping. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, Hong Kong, China, 16 August 2013. [Google Scholar]
- Sommers, J.; Bowden, R.; Eriksson, B.; Barford, P.; Roughan, M.; Duffield, N. Efficient network-wide flow record generation. In Proceedings of the IEEE INFOCOM, Shanghai, China, 10–15 April 2011. [Google Scholar]
- ON.Lab. ONOS REST API. Available online: https://wiki.onosproject.org/display/ONOS/REST (accessed on 9 May 2019).
- Varga, A.; Hornig, R. An Overview of the OMNeT++ Simulation Environment. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops, Marseille, France, 3–7 March 2008. [Google Scholar]
- Klein, D.; Jarschel, M. An OpenFlow Extension for the OMNeT++ INET Framework. In Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques, Cannes, France, 5–7 March 2013. [Google Scholar]
- NS-3 Simulator. Available online: https://www.nsnam.org/ (accessed on 10 May 2019).
- Chaves, L.J. OpenFlow 1.3 Module for ns-3. Available online: http://www.lrc.ic.unicamp.br/ofswitch13/ofswitch13.pdf (accessed on 1 May 2020).
- Foster, N.; Freedman, M.J.; Harrison, R.; Rexford, J.; Meola, M.L.; Walker, D. Frenetic: A high-level language for OpenFlow networks. In Proceedings of the Workshop Programmable Routers Extensible Services Tomorrow, Philadelphia, PA, USA, 30 November 2010. [Google Scholar]
- Foster, N.; Harrison, R.; Freedman, M.J.; Monsanto, C.; Rexford, J.; Story, A.; Walker, D. Frenetic: A network programming language. ACM Sigplan Not. 2011, 46, 279–291. [Google Scholar] [CrossRef]
- Courtney, A.; Nilsson, H.; Peterson, J. The Yampa arcade. In Proceedings of the ACM SIGPLAN Workshop Haskell, New York, NY, USA, 28 August 2003; pp. 7–18. [Google Scholar]
- Meyerovich, L.A.; Guha, A.; Baskin, J.; Cooper, G.H.; Greenberg, M.; Bromfield, A.; Krishnamurthi, S. Flapjax: A programming language for Ajax applications. ACM Sigplan Not. 2009, 44, 1–20. [Google Scholar] [CrossRef]
- Monsanto, C.; Foster, N.; Harrison, R.; Walker, D. A compiler and run-time system for network programming languages. ACM Sigplan Not. 2012, 47, 217–230. [Google Scholar] [CrossRef] [Green Version]
- Voellmy, A.; Agarwal, A.; Hudak, P. Nettle: Functional Reactive Programming for OpenFlow Networks; Tech. Rep. YALEU/DCS/RR-1431; Dept. Computer Science, Yale University: New Haven, CT, USA, 2010. [Google Scholar]
- Voellmy, A.; Kim, H.; Feamster, N. Procera: A language for high level reactive network control. In Proceedings of the 1st Workshop Hot Topics Software Defined Networking, Helsinki, Finland, 13 August 2012; pp. 43–48. [Google Scholar]
- Kim, H.; Feamster, N. Improving network management with software defined networking. IEEE Commun. Mag. 2013, 51, 114–119. [Google Scholar] [CrossRef]
- Hinrichs, T.L.; Gude, N.S.; Casado, M.; Mitchell, J.C.; Shenker, S. Practical declarative network management. In Proceedings of the 1st ACM Workshop Research on Enterprise Networking, Barcelona, Spain, 25–29 October 2009; pp. 1–10. [Google Scholar]
- Li, N.; Mitchell, J.C. DATALOG with constraints: A foundation for trust management languages. In Practical Aspects of Declarative Languages; Springer: Berlin/Heidelberg, Germany, 2003; pp. 58–73. [Google Scholar]
- Katta, N.P.; Rexford, J.; Walker, D. Logic programming for software-defined networks. In Proceedings of the Workshop Cross Model Design Validation (XLDI), Copenhagen, Denmark, 9–15 September 2012; Volume 412, pp. 5–7. [Google Scholar]
- Foster, N.; Guha, A.; Reitblatt, M.; Story, A.; Freedman, M.J.; Katta, N.P.; Monsanto, C.; Reich, J.; Rexford, J.; Schlesinger, C.; et al. Languages for software-defined networks. IEEE Commun. Mag. 2013, 51, 128–134. [Google Scholar] [CrossRef] [Green Version]
- Reich, J.; Monsanto, C.; Foster, N.; Rexford, J.; Walker, D. Modular SDN Programming with Pyretic; Technical Report of USENIX; USENIX: Berkeley, CA, USA, 2013. [Google Scholar]
- Soulé, R.; Basu, S.; Sirer, E.G.; Foster, N. Scalable Network Management with Merlin; Cornell University: Ithaca, NY, USA, 2013. [Google Scholar]
- Sherwood, R. Flowvisor: A Network Virtualization Layer. Available online: http://archive.openflow.org/downloads/technicalreports/openflow-tr-2009-1-flowvisor.pdf (accessed on 5 January 2019).
- Batista, B.L.A.; Fernandez, M.P. PonderFlow: A policy specification language for OpenFlow networks. In Proceedings of the ICN, San Francisco, CA, USA, 29–31 October 2014. [Google Scholar]
- Anderson, C.J.; Foster, N.; Guha, A.; Jeannin, J.B.; Kozen, D.; Schlesinger, C.; Walker, D. NetKAT: Semantic foundations for networks. ACM Sigplan Not. 2014, 49, 113–126. [Google Scholar] [CrossRef] [Green Version]
- Smolka, S.; Eliopoulos, S.; Foster, N.; Guha, A. A fast compiler for NetKAT. In Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, Vancouver, BC, Canada, 31 August–2 September 2015; pp. 328–341. [Google Scholar]
- Kozen, D. NetKAT—A formal system for the verification of networks. In Programming Languages and Systems; Springer: Cham, Switzerland, 2014; pp. 1–18. [Google Scholar]
- Foster, N.; Kozen, D.; Milano, M.; Silva, A.; Thompson, L. A coalgebraic decision procedure for NetKAT. In Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Mumbai, India, 15–17 January 2015; pp. 343–355. [Google Scholar]
- Kozen, D. Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 1997, 19, 427–443. [Google Scholar] [CrossRef]
- Robert, S.; Basu, S.; Kleinberg, R.; Sirer, E.G.; Foster, N. Managing the network with Merlin. In Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks, College Park, MD, USA, 21–22 November 2013; p. 24. [Google Scholar]
- Soulé, R.; Basu, S.; Marandi, P.J.; Pedone, F.; Kleinberg, R.; Sirer, E.G.; Foster, N. Merlin: A language for provisioning network resources. In Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies, Sydney, Australia, 2–5 December 2014; pp. 213–226. [Google Scholar]
- Damianou, N.; Dulay, N.; Lupu, E.; Sloman, M. The ponder policy specification language. In Policies for Distributed Systems and Networks; Springer: Berlin/Heidelberg, Germany, 2001. [Google Scholar]
- Trois, C.; Martinello, M.; Bona, L.; Fabro, M.D. From software defined network to network defined for software. In Proceedings of the 0th Annual ACM Symposium on Applied Computing, Salamanca, Spain, 13–17 April 2015; pp. 665–668. [Google Scholar]
- Kim, H.; Reich, J.; Gupta, A.; Shahbaz, M.; Feamster, N.; Clark, R. Kinetic: Verifiable dynamic network control. In Proceedings of the USENIX NSDI, Oakland, CA, USA, 4–6 May 2015; pp. 59–72. [Google Scholar]
- Nelson, T.; Guha, A.; Dougherty, D.J.; Fisler, K.; Krishnamurthi, S. A balance of power: Expressive, analyzable controller programming. In Proceedings of the 2nd ACM SIGCOMM Workshop Hot Topics in Software Defined Networks, Hong Kong, China, 16 August 2013; pp. 79–84. [Google Scholar]
- Nelson, T.; Ferguson, A.D.; Scheer, M.J.G.; Krishnamurthi, S. Tierless programming and reasoning for software-defined networks. In Proceedings of the NSDI, Seattle, WA, USA, 2–4 April 2014; pp. 519–531. [Google Scholar]
- Reitblatt, M.; Canini, M.; Guha, A.; Foster, N. FatTire: Declarative fault tolerance for software-defined networks. In Proceedings of the 2nd ACM SIGCOMM Workshop Hot Topics in Software Defined Networks, Hong Kong, China, 16 August 2013; pp. 109–114. [Google Scholar]
- Erickson, D. The beacon openflow controller. In Proceedings of the Second ACM SIGCOMM Workshop, Hong Kong, China, 16 August 2013; pp. 13–18. [Google Scholar]
- Yeganeh, S.H.; Ganjali, Y. Beehive: Towards a Simple Abstraction for Scalable Software-Defined Networking. In Proceedings of the ACM Workshop on Hot Topics in Networks—HotNets-XIII, Los Angeles, CA, USA, 27–28 October 2014; pp. 1–7. [Google Scholar]
- GitHub An Open Source SDN Controller for Cloud Computing Data Centers. Available online: https://github.com/China863SDN/DCFabric (accessed on 5 August 2021).
- Phemius, K.; Bouet, M.; Leguay, J. DISCO: Distributed multi-domain SDN controllers. In Proceedings of the IEEE/IFIP Network Operations and Man-Agement Symposium: Management in a Software Defined World, Krakow, Poland, 5–9 May 2014. [Google Scholar]
- Bailey, J.; Stuart, S. Faucet: Deploying SDN in the Enterprise. Commun. ACM 2016, 60, 45–49. [Google Scholar] [CrossRef] [Green Version]
- Big Switch Networks Project Floodlight. Available online: http://www.projectfloodlight.org/floodlight/ (accessed on 5 August 2020).
- Sherwood, R.; Gibb, G.; Yap, K.K.; Appenzeller, G.; Casado, M.; McKeown, N.; Parulkar, G. FlowVisor: A NetworkVirtualization Layer. Network 2009, 1, 15. [Google Scholar]
- Tootoonchian, A.; Ganjali, Y. Hyperflow: A distributed control plane for openflow. In Proceedings of the Internet Network Management Conference on Research on Enterprise Networking, San Jose, CA, USA, 27 April 2010; p. 3. [Google Scholar]
- Yeganeh, S.H.; Ganjali, Y. Kandoo: A Framework for Efficient and Scalable Offloading of Control Applications Soheil. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 13 August 2012; p. 19. [Google Scholar]
- Kazarez, A. Loom Github Page. Available online: https://github.com/FlowForwarding/loom (accessed on 20 June 2019).
- Cai, Z.; Cox, A.; Ng, E.T.S. Maestro: A System for Scalable OpenFlow Control; Technical Report; Department of Computer Science, Rice University (Cs.Rice.Edu): Rice, TX, USA, 4 December 2010; pp. 1–10. [Google Scholar]
- Voellmy, A.; Ford, B.; Yang, Y.R. Scaling Software-Defined Network Controllers on Multicore Servers. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, Helsinki, Finland, 13–17 August 2012; pp. 289–290. [Google Scholar]
- Banikazemi, M.; Olshefski, D.; Shaikh, A. Meridian: An SDN platform for cloud network services. IEEE Commun. Mag. 2013, 51, 120–127. [Google Scholar] [CrossRef]
- GitHub MicroFlow: The Light-Weighted, Lightning Fast OpenFlow SDN Controller. Available online: https://github.com/PanZhangg/Microflow (accessed on 20 June 2019).
- NODEFLOW: An OpenFlow Controller Node Style. Available online: http://garyberger.net/?p=537 (accessed on 20 June 2019).
- Gude, N.; Koponen, T.; Pettit, J.; Pfaff, B.; Casado, M.; McKeown, N.; Shenker, S. NOX: Towards an Operating System for Networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 105. [Google Scholar] [CrossRef]
- Koponen, T.; Casado, M.; Gude, N. ONIX: A Distributed Control Platform for Large-Scale Production Networks. In Proceedings of the USENIX Conference on Operating Systems Design and Implementation, Vancouver, BC, Canada, 4–6 October 2010; pp. 1–6. [Google Scholar]
- Berde, P.; Gerola, M.; Hart, J. Onos: Towards an open, distributed sdn os. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, Ser. HotSDN’14, Chicago, IL, USA, 17–22 August 2014; pp. 1–6. [Google Scholar]
- OpenContrail An Open-Source Network Virtualization Platform for the Cloud. Available online: http://www.opencontrail.org/ (accessed on 20 June 2019).
- OpenDaylight: A Linux Foundation Collaborative Project. Available online: https://www.opendaylight.org/ (accessed on 20 June 2019).
- Lee, B.; Park, S.H.; Shin, J.; Yang, S. IRIS: The Openflow- based Recursive SDN controller. In Proceedings of the International Conference on Advanced Communication Technology, Pyeongchang, Korea, 16–19 February 2014; pp. 1227–1231. [Google Scholar]
- OpenMUL SDN Platform. Available online: http://www.openmul.org/openmul-controller.html (accessed on 20 June 2019).
- Ferguson, A.D.; Guha, A.; Liang, C.; Fonseca, R.; Krishnamurthi, S. Participatory Networking: An API for Application Control of SDNs. ACM SIGCOMM Comput. Commun. Rev. 2013, 43, 327–338. [Google Scholar] [CrossRef]
- Li, S.; Hu, D.; Fang, W.; Ma, S.; Chen, C.; Huang, H.; Zhu, Z. Protocol Oblivious Forwarding (POF): Software-Defined Networking with Enhanced Programmability. IEEE Netw. 2017, 31, 58–66. [Google Scholar] [CrossRef]
- POX. Available online: https://github.com/noxrepo/pox (accessed on 20 June 2019).
- Wang, A.; Mei, X.; Croft, J.; Caesar, M.; Godfrey, B. Ravel: A Database-Defined Network. In Proceedings of the Symposium on SDN Research, Santa Clara, CA, USA, 14–15 March 2016; pp. 1–7. [Google Scholar]
- Shin, S.; Song, Y.; Lee, T.; Lee, S.; Chung, J.; Porras, P.; Yegneswaran, V.; Noh, J.; Kang, B.B. Rosemary: A Robust, Secure, and High-Performance Network Operating System Seungwon. In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, Scottsdale, AZ, USA, 3–7 November 2014; pp. 78–89. [Google Scholar]
- GitHub RunOS OpenFlow Controller. Available online: https://github.com/ARCCN/runos (accessed on 20 June 2019).
- Ryu SDN Framework Community Ryu Controller. Available online: https://osrg.github.io/ryu/index.html (accessed on 20 June 2019).
- Botelho, F.; Bessani, A.; Ramos, F.M.V.; Ferreira, P. SMaRtLight: A Practical Fault-Tolerant SDN Controller. arXiv 2014, arXiv:1407.6062. [Google Scholar]
- Oliveira, B.T.D.; Gabriel, L.B.; Margi, C.B. TinySDN: Enabling multiple controllers for software-defined wireless sensor networks. IEEE Lat. Am. Trans. 2015, 13, 3690–3696. [Google Scholar] [CrossRef]
- Takamiya, Y.; Trema, N.K. OpenFlow Controller Framework. Available online: https://github.com/trema/trema (accessed on 1 July 2019).
- Monaco, M.; Michel, O.; Keller, E. Applying Operating System Principles to SDN Controller Design. In Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks, College Park, MD, USA, 21–22 November 2013; p. 2. [Google Scholar]
- Durr, F.; Kohler, T.; Grunert, J.; Kutzleb, A. Zerosdn: A Message Bus for Flexible and Light-Weight Network Control Distribution in SDN; University of Stuttgart, Institute of Parallel and Distributed Systems (IPVS): Stuttgart, Germany, 2016. [Google Scholar]
- Hamid, F.; Lee, H.; Nakao, A. Software-defined networking: A survey. Comput. Netw. 2015, 81, 79–95. [Google Scholar]
- Akyildiz, I.F.; Lee, A.; Wang, P.; Luo, M.; Chou, W. A roadmap for traffic engineering in SDN-OpenFlow networks. Comput. Netw. 2014, 71, 1–30. [Google Scholar] [CrossRef]
- Xie, J.; Yu, F.R.; Huang, T.; Xie, R.; Liu, J.; Wang, C.; Liu, Y. A survey of machine learning techniques applied to software defined networking (SDN): Research issues and challenges. IEEE Commun. Surv. Tutor. 2018, 21, 393–430. [Google Scholar] [CrossRef]
- Matlou, O.G.; Abu-Mahfouz, A.M. Utilising artificial intelligence in software defined wireless sensor network. In Proceedings of the IECON 2017-43rd Annual Conference of the IEEE Industrial Electronics Society, Beijing, China, 29 October–1 November 2017. [Google Scholar]
- Jose, A.S.; Nair, L.R.; Paul, V. Data mining in software defined networking-a survey. In Proceedings of the IEEE International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 18–19 July 2017. [Google Scholar]
- Sultana, N.; Chilamkurti, N.; Peng, W.; Alhadad, R. Survey on SDN based network intrusion detection system using machine learning approaches. Peer-to-Peer Netw. Appl. 2019, 12, 493–501. [Google Scholar] [CrossRef]
- Cui, L.; Yang, S.; Chen, F.; Ming, Z.; Lu, N.; Qin, J. A survey on application of machine learning for Internet of Things. Int. J. Mach. Learn. Cybern. 2018, 9, 1399–1417. [Google Scholar] [CrossRef]
- Le, L.V.; Lin, B.S.; Do, S. Applying Big Data, Machine Learning, and SDN/NFV for 5G Early-Stage Traffic Classification and Network QoS Control. Trans. Netw. Commun. 2018, 6, 36. [Google Scholar] [CrossRef] [Green Version]
- Diego, K.; Ramos, F.M.V.; Verissimo, P.E.; Rothenberg, C.E.; Azodolmolky, S.; Uhlig, S. Software-defined networking: A comprehensive survey. Proc. IEEE 2014, 103, 14–76. [Google Scholar]
- Wang, X.; Li, X.; Leung, V.C. Artificial intelligence-based techniques for emerging heterogeneous network: State of the arts, opportunities, and challenges. IEEE Access 2015, 3, 1379–1391. [Google Scholar] [CrossRef]
- Jamshidi, S. The Applications of Machine Learning Techniques in Networking. 2019. Available online: https://cs.uoregon.edu/available-reports) (accessed on 1 July 2019).
- Mohammed, A.; Mohammed, S.; Shirmohammadi, S. Machine Learning and Deep Learning Based Traffic Classification and Prediction in Software Defined Networking. In Proceedings of the 2019 IEEE International Symposium on Measurements & Networking (M&N), Catania, Italy, 8–10 July 2019; pp. 1–6. [Google Scholar]
- Nguyen, T.N. The challenges in SDN/ML based network security: A survey. arXiv 2018, arXiv:1804.03539. [Google Scholar]
- Amin, R.; Reisslein, M.; Shah, N. Hybrid SDN networks: A survey of existing approaches. IEEE Commun. Surv. Tutor. 2018, 20, 3259–3306. [Google Scholar] [CrossRef]
- Priyadarsini, M.; Bera, P. Software defined networking architecture, traffic management, security, and placement: A survey. Comput. Netw. 2021, 192, 108047. [Google Scholar] [CrossRef]
- Tamal, D.; Sridharan, V.; Gurusamy, M. A survey on controller placement in sdn. IEEE Commun. Surv. Tutor. 2019, 22, 472–503. [Google Scholar]
- Kumar, S.A.; Srivastava, S. A survey and classification of controller placement problem in SDN. Int. J. Netw. Manag. 2018, 28, e2018. [Google Scholar]
- Celio, T.; Fabro, M.D.D.; de Bona, L.C.E.; Martinello, M. A survey on SDN programming languages: Toward a taxonomy. IEEE Commun. Surv. Tutor. 2016, 18, 2687–2712. [Google Scholar]
- Santos, L.F.A.M.; Fidalgo, R.; Fernandes, S. A software engineering perspective on SDN programmability. IEEE Commun. Surv. Tutor. 2015, 18, 1255–1272. [Google Scholar]
- Elisa, R.; Doriguzzi-Corin, R.; Tamurejo, S.; Beato, A.; Schwabe, A.; Phemius, K.; Guerrero, C. Are we ready to drive software-defined networks? A comprehensive survey on management tools and techniques. ACM Comput. Surv. 2018, 51, 1–35. [Google Scholar]
- Al-Somaidai, M.B.; Yahya, E.B. Survey of software components to emulate OpenFlow protocol as an SDN implementation. Am. J. Softw. Eng. Appl. 2014, 3, 74–82. [Google Scholar] [CrossRef] [Green Version]
- Yu, K.; Eum, S.; Kurita, T.; Hua, Q.; Sato, T.; Nakazato, H.; Asami, T.; Kafle, V.P. Information-centric networking: Research and standardization status. IEEE Access 2019, 7, 126164–126176. [Google Scholar] [CrossRef]
- Nitul, D.; Sarma, H.K.D.; Jadeja, R.; Delvadia, K.; Ghinea, G. A Framework for Integrating SDN in ICN. In Information Centric Networks (ICN); Springer: Cham, Switzerland, 2021; pp. 155–168. [Google Scholar]
- Sobia, A.; Azam, M.A.; Rehmani, M.H.; Loo, J. Recent advances in information-centric networking-based Internet of Things (ICN-IoT). IEEE Internet Things J. 2018, 6, 2128–2158. [Google Scholar]
- Rehmat, U.; Ahmed, S.H.; Kim, B. Information-centric networking with edge computing for IoT: Research challenges and future directions. IEEE Access 2018, 6, 73465–73488. [Google Scholar]
- Ngoc, N.Q.; Ullah, R.; Kim, B.; Hassan, R.; Sato, T.; Taleb, T. A Cross-layer Green Information-Centric Networking Design toward the Energy Internet. IEEE Trans. Netw. Sci. Eng. 2022, 9, 1577–1593. [Google Scholar]
- Liu, W.; Wang, Y.; Zhang, J.; Liao, H.; Liang, Z.; Liu, X. AAMcon: An adaptively distributed SDN controller in data center networks. Front. Comput. Sci. 2020, 14, 146–161. [Google Scholar] [CrossRef]
- Yu, C.; Lan, J.; Guo, Z.; Hu, Y. DROM: Optimizing the routing in Software-defined networks with deep reinforcement learning. IEEE Access 2018, 6, 64533–64539. [Google Scholar] [CrossRef]
- Ibrar, M.; Wang, L.; Muntean, G.M.; Akbar, A.; Shah, N.; Malik, K.R. PrePass-Flow: A Machine Learning based technique to minimize ACL policy violation due to links failure in hybrid SDN. Comput. Netw. 2021, 184, 107706. [Google Scholar] [CrossRef]
Studies | Techniques | Description | Strengths | Weaknesses |
---|---|---|---|---|
NDB [70] | Mininet | Tracks down root causes of bugs | Breakpoints and packet backtracking | Debugging time overhead |
VeriFlow [72] | NOX, Mininet | Checks network invariants in real time and prevents faulty rules | Flow rule debugging for reachability analysis | Not suitable for delay-sensitive and QoS-constrained applications |
Flow Checker [75] | OpenFlow switch, flow table | Verifies flow tables based on behaviors of flow rules | Inconsistencies localization in device flow tables | Can only be used in small network |
Anteater [76] | Linux, C++, Ruby | Examines the state of data plane and verifies network invariants | Control plane configuration analysis | Inconsistent data plane map generation for dynamically changing FIBs |
NICE [81] | Mininet, OpenFlow switch, Network X | Utilizes model checking and symbolic execution for bug investigation | Simplification of switch modeling and event testing | Unable to test a controller implemented in the same language |
FPB [82] | Python, OpenFlow, NOX | Provides a formal model for consistent policy update | Least controller intervention | Buffering ability in case of switch to controller link failure is not discussed |
HSA [83] | Ubuntu, flow-based management language, Prolog | Protocol-independent static network-invariant investigations | No need to modify the protocol for implementation of HSA | Static space analysis mechanism |
Py-Resonance [84] | Pyretic, Python | Utilizes state-based policies to predict network’s behaviour | Modular network function control | TCAM under- utilization by least significant policy states in FSM model |
PGA [85] | Mininet, Pyretic compiler, POX controller | Composition of ACL policies that inspects multiple policies | Conflict-free forwarding rule translation | Scalability issues and support of HW/VM middleboxes |
SFC [87] | Java-based prototype, OpenFlow switch | Identifies the anomalies in ACL policies before deployment | Proactive anomalies detection independent of programming language | Overhead for generating flow rules at data plane |
Studies | Techniques | Description | Strengths | Weaknesses |
---|---|---|---|---|
ORPP [88,89] | Mininet, OpenFlow | Resolves the offline and online ORPP problem for the known set of flows, which varies over time | Flow rule prioritization and optimal placement | Does not consider the forthcoming load in low priority path/flow rules |
vCRIB [90] | VM, Open vSwitch, TCAM | Provision of an abstraction for specifying and managing flow rules by automatic partitioning | Considers cost-effective resource utilization and machine performance constraints | Low scalability for dynamic flow demands |
DevoFlow [17] | NOX, TCAM, OpenFlow | Modifies OpenFlow model by breaking the coupling between network control and global visibility without imposing unnecessary costs | Provision of fine-grained flow management and simplification of OpenFlow switches | Does not reveal how to deploy the default path |
Infinite CacheFlow [91] | Ryu Controller, OpenFlow 1.0, Open vSwitch | Proposes a hardware/software hybrid switch design that relies on rule caching to provide large rule tables at low cost | Flow rule dependencies mapped to a graph, flow rule segregation, preserves the network rule semantics | Reactive flow placement Overhead and inconsistent dependencies of flow rules |
Switch Reduce [92] | NOX Controller, OpenFlow | Number of rules at any switch should not exceed the set of unique processing actions to decrease switch state | Controller intervention minimization by stateful data plane | Efficient memory utilization and deletion mechanism for useless entries is lacking |
Flow Entry MGT Scheme [93] | Mininet, Open vSwitch | Resolves the cache-missing problem and keeps recently used flow entries, which increases flow entry matching ratio | Enhances the flow rule matching in flow tables of OpenFlow-enabled switches | Less efficient in networks where the behaviour and demand are not specified |
Traffic Engineering [94] | TCAM, OpenFlow, ITALYNET | Proposes a flow rule multiplexing approach that optimizes flow rule allocation and traffic engineering | Enhances QoS | Considers only identical flow rules that may not be semantically streamlined |
DomainFlow [95] | Virtual extensible LAN, TCAM, VMware vCloud | Presents a flow-level control- and granularity-based mechanism in ethernet switches by using OpenFlow protocol | Exact match rule mechanism supports granular security processing | Only supports limited flow rules and fixed number of switches |
Source Flow [96] | TCAM, OpenFlow, Open vSwitch | Handles many flows without affecting flow granularity | Offers a comprehensive mechanism for scalability | Synchronization problem |
DIFANE [102] | NOX, OpenFlow Switch, TCAM | Load balances the functionalities between network switches and controller | Enhances the SDN scalability and decreases the controller load | Increases load at switches and under-utilizes the controller |
Efficient flow rule installation [106,107,109] | Network performance, QoS and security increases | Detects the network reachability change and computes reconfiguration | Supports resiliency | Introduces end-to-end delay due to policy composition and version comparison |
Studies | Techniques | Description | Strengths | Weaknesses |
---|---|---|---|---|
Advance reservation access control [110] | Ryu controller, OVS switches, ESNet 100 G SDN testbed | Guarantees exclusive access of network resources to a certain flow for which the user/app is authorized | Efficiently protects authorized flows from competing with the network traffic | Need to consider path computation and resource scheduling functions, QoS |
Verifying reachability [111] | Z3 version 4.4.2, z Intel Xeon processors with 256 GB of RAM | Verifies reachability by slicing complex networks into small networks according to the network-wide verifications | Provides tool to verify networks in the presence of middleboxes | Middlebox code is not verified, which can affect network traffic by sending packets to invalid interfaces |
Systematically troubleshoot networks [112] | OpenFlow, TCAM | Helps network administrators to troubleshoot bugs and their root causes to verify that networks are operating correctly | Provides a useful tool to troubleshoot bugs and their root causes | Does not suggest integrating the program semantics into network troubleshooting tools |
SRV [113] | Floodlight, Java, OpenFlow App | Forwards warning messages and refuses the identified flow rule instantly on detection of malicious flow rules | Helpful to detect malicious flow rules | Only discusses priority-based mechanism; other attack scenarios should be analyzed |
SDN-Actors [114] | Erlang, Scala, Akka, OpenFlow | Models network applications using actors and verifies various correctness properties via existing model-checking mechanisms | Offers framework to model and verify SDN programs using static and dynamic verification tools to validate network behaviour | Proposed mechanism only tries to uncover programming errors by checking only the SDN program |
Reverse update [115] | Python, OpenFlow switch, naive controller | Ensures maintenance of flow rules characteristics during the transition time | Provides a technique to preserve flow rule properties during the network policy change | Lacks an investigation of the effects of network policy change by analyzing packet violations |
SVM [116] | Mininet emulator, Floodlight controller | Support vector machine (SVM) algorithm is utilized to judge the traffic and carry out DDoS attack detection | Detects DDoS attacks in SDN to enhance network security | Although this research has the ability to detect DDoS attacks of ICMP traffic, it is less efficient |
FUPE [127] | iFogSim, MATLAB R2018a, OpenFlow protocol | Security enhancement against TCP SYN flood attacks in fog nodes via SDN paradigm | Node trust profiling | Fault tolerance not considered |
Security architecture [128] | Mininet-WiFi/ethernet, Openday light | Secure and energy-consumption-aware communication in cyber-physical systems (CPS) | Transactional alteration localized using blockchains | No real testbed, only simulation-based evaluation |
DHCPguard [131] | Floodlight, ONOS, POX | Sends messages to controller and blocks malicious nodes at forwarding device interfaces | POX controller is designed for DHCP starvation attack mitigation | DHCP failure mitigation not considered |
Strengthen SDN security [132] | Mininet, POX controller | Strengthening security assurance via protocol dialect approach | Enterprise security | Scalability limitation |
SDN-based edge computing [137] | MATLAB, SDN controller | SDN-supported authentication, routing from end device to edge server, and inter-edge servers’ communication | Lightweight authentication method, activity migration | Single SDN control channel, low performance of edge server with scaled malicious attempts |
Near-real-time security [138] | Python, Keras, Mininet, Floodlight, Mininet | Coagulation of the SDN controller using CNN, deployed in any ISP from malicious IoTs | Control channel security | Control channel overhead not discussed |
On-the-fly [139] | Floodlight controller, Java, Mininet | Integrates online learning method to limit packet-in rate while tending to the controller queue and switch space capacity | Malicious nodes remain restricted until they are identified as trustworthy | Scalability (hybrid controller placement) |
Securing a smart healthcare system [143] | Android, Arduino Nano V3.0 ATMEGA328, Linux, Python | Helpful for patient data preservation and blocking unauthorized access | Provision of healthcare system security | Lacking in integration of SDN control function |
Studies | Techniques | Description | Strengths | Weaknesses |
---|---|---|---|---|
Optimal IP routing tables [148] | Internet backbone routing tables | Proposes the ESPRESSO heuristic to minimize the logic to compress the prefix-based match field | Proposed mechanism is helpful for effective utilization of TCAMs | Implemented and tested in traditional IP networking only |
Effective switch memory management [151] | Floodlight, Open Daylight, OVS Switch | Based on intelligent flow management strategy to combine adaptive idle timeout values for flow rules and proactive eviction mechanism for TCAM | Beneficial for effective TCAMs utilization | Initial idle timeout, max idle timeout, and rate of timeout increase KPIs and are not considered to gauge efficiency |
OpenFlow timeouts demystified [152] | OpenFlow 1.2, CAIDA/32 Dataset, UNIV dataset | Provides hybrid flow table management that combines timeout value with control plane eviction messages | Provides analysis of idle timeout by considering miss rate and flow table size | Dynamic setting of timeout values based on network conditions is missing |
OPTree [153] | C++, binary search | Addresses the problem of flow rule placement in firewalls based on ACLs and reduces redundancies | Reduces the number of flow rules during flow rule placement | Lacks a consideration of the network topology change |
Flowstat [154] | POX, Mininet | Computation of flow rules for the identified optimal paths and flow rule redistribution | Avoids congestion on network switches | Limited link failure and fault tolerance capability |
Lossy compression of packet classifiers [157] | Gigabit ethernet Cisco 6500 switch, WireShark | Offers packet classification approach to find a classifier of optimal size to categorize the network traffic | Classify network traffic for effective TCAM usage of switches | Lacks compressing flow rules to classify a high portion of the traffic |
Compressing forwarding tables for data center scalability [159] | TCAM, switches | Each forwarding table column is encoded separately via a dedicated variable-length binary prefix encoding | Offers a useful approach to compress forwarding tables, which is quite helpful in data center virtualization | Can be extended to investigate how other memories (CAM, TCAM) can be utilized to compress forwarding tables |
Studies | Language | Description | Strengths | Weaknesses |
---|---|---|---|---|
Mininet [164] | Python | Offers a rapid prototyping workflow and virtualization functionalities to assist network developers | The emulation tool, which merges several best features of emulators, hardware testbeds, and simulators | Emulated topology can grow only with residing machine resources |
Distributed OF Testbed (DOT) [171] | Java | Supports a cluster of computers that guarantee computation and network resources to switches, hosts, and links | Facilitates large SDN deployments by distributing the workload over a cluster of nodes | Limited number of physical machines to emulate, lacking dynamic scalability and multi-user support |
OFNET [172] | Python | Provides built-in functionalities to test and debug, as well as traffic generation and monitoring tools | Helpful in generating network traffic, monitoring of OpenFlow messages and analyzing performance of SDN controller | Needs to be extended for large L2 network and cloud emulation platform |
ViNO [173] | Java | Helps to create arbitrary network topologies via Open vSwitches | Domain-specific language for topologies and VM migration in least time | Scalability is not specified |
EstiNet [175] | C | Any real application program can run on a simulated host without any modification | Provides accuracy, quickness, repetition, and scalability and supports kernel-reentering simulation methodology | Not scalable to a single process, and results cannot be repeated |
FS-SDN [176] | Python | Supports realistic test and validation of standard networks | Scalable and accurate simulation tool | Limited debugging and tracing capabilities |
OMNeT++ [178,179] | C++ | Used in network modeling, multiprocessors, and different distributed or parallel systems | Popular extensible, modular, component-based scalable simulation tool | Its kernel is in C++ and can only run with modern C++ compiler |
NS-3 [181] | C++ | Offers help for OpenFlow to program network devices | Can add new protocols, supports the lowering of distance between real network and simulated network | Limited visibility of visual interface for creating topology |
Studies | Programming Paradigm | Description | Strengths | Weaknesses |
---|---|---|---|---|
Frenetic [183,184] | Declarative (functional) | Useful for the categorization and accretion of network traffic | Facilitates modular reasoning | Lack in flow matching and monitoring services |
NetCore [187] | Declarative (functional) | It is the successor of Frenetic and carries an enhanced policy management library | Effective handling of controller and switch interaction | Does not support flow matching and monitoring services |
Nettle [188] | Declarative (functional, reactive) | Low-level programming language that deals with streams and not with events | Supports dynamic policies, traffic engineering, and load balancing | Does not consider event-driven approach |
Procera [189] | Declarative (functional, reactive) | Helps in portraying reactive and temporal behaviors | Good for reactive applications and protocols | Does not support basic flow matching and monitoring |
FML [191] | Declarative (data flow, reactive) | High-level language based on non-recursive Datalog [151] | Provides efficient and flexible policies | Limited QoS and monitoring services |
Flog [193] | Declarative (logic), event-driven | Event-driven programming that adopted ideas from FML and Frenetic | Supports basic flow matching and monitoring capabilities | Limited security and traffic engineering capabilities |
Frenetic OCaml [194] | Declarative (functional) | Utilizes proactive flow rule installation and handles the low-level details of the switch to controller | Effective flow rule installation for efficient communication | Does not support flow matching and monitoring services |
Pyretic [195] | Imperative | Helps in specifying static and dynamic forwarding policies to assist in developing network applications | Provides flexible policy making and deployment | Limited flow matching, virtualization, and monitoring capabilities |
FlowLog [209,210] | Declarative (functional) | Offers programming for SDN network applications and supports model checking | Provides basic flow matching and monitoring facilities | Does not support traffic engineering and virtualization |
FatTire [211] | Declarative (functional) | Used for writing fault-tolerant network applications | Supports basic flow matching and traffic engineering functionalities | Does not provide network monitoring |
NetKat [199,202] | Declarative (functional) | Uses Kleene algebra with tests (KAT) [162], based on equational theory, for network programming | Provides sequential and parallel composition capabilities | Does not support external interface monitoring and QoS |
Merlin [197,204] | Declarative (logic) | Based on declarative language and useful for distributing and coordinating policy implementation | Supports more secure data processing, flow matching, and monitoring | Does not support link failure and query language |
Ponder Flow [198] | Policy specification language | PonderFlow provides mechanisms for implementing access control and network abstractions | Supports dynamic policy language and basic flow matching | Limited monitoring and virtualization capabilities |
NOF [207] | Declarative | Enables network application to design the network according to the application requirements | Supports basic flow matching, topology slicing and external interface for monitoring | Limited security and traffic engineering functionalities |
Kinetic [208] | Domain-specific language | Helps network operators to control the dynamic state of their network | Inherits runtime features of Pyretic and best flow matching | Limited traffic engineering and monitoring capabilities |
Studies | Techniques | Description | Strengths | Weaknesses |
---|---|---|---|---|
Beacon [212] | Java | Uses ad hoc NBI and SBI with OpenFlow 1.0 | Offers high-performance flow processing capabilities | No consistency and limited scalability |
Beehive [213] | GO language | Distributed control plane that utilizes REST northbound API and southbound API with OpenFlow specification | Supports multi-threading and good consistency | Weak documentation and reliability |
DCFabric [214] | C and JavaScript | Supports Linux platform along with CLI and WebUI. | Supports multi-threading and has a modularity functionality | Limited scalability |
Disco [215] | Java | Based on distributed flat architecture that utilizes northbound, southbound, and east/westbound API with REST with OpenFlow 1.0 and AMQP, respectively | Good modularity and strong inter-domain connectivity | Limited documentation and reliability |
Faucet [216] | Python | Utilizes SBI with OpenFlow 1.3 | Supports multi-threading with good consistency | Limited scalability |
Floodlight [217] | Multi-threaded Java | Utilizes REST, Java, RPC, and Quantum northbound API and southbound API with OpenFlow 1.0 and 1.3. | Strong consistency | Very limited scalability and reliability |
FlowVisor [218] | C | Provides functions to slice the network resources and is located between guest controllers and switching devices | Good for research experiments and provides slices for several network portions | Limited consistency |
HyperFlow [219] | C++ | HyperFlow is implemented in C++ and utilizes SBI with OpenFlow 1.0 and east/westbound API with publishing and subscribing messages | Moderate scalability and reliability | Supports proprietary licenses, multi-threading, and no consistency |
Kandoo [220] | C, C++, Python | Utilizes Java RPC NBI and SBI with OpenFlow 1.0–1.2 | Very good scalability and utilizes Linux supporting platform and proprietary license. | Limited reliability |
Loom [221] | Erlang | Provides an experimental network switch controller that implements the OpenFlow 1.3.x and 1.4 protocols | Offers scalability and robustness for large-scale implementations | Limited consistency |
Maestro [222] | Multi-threaded Java | Exploits parallelism along with additional throughput optimization techniques | Supports multi-threading and has a fair modularity | No consistency or reliability |
MsNettle [223] | Multi-threaded Haskell | Utilizes SBI with OpenFlow 1.0 and Linux platform in CLI mode | Supports proprietary licenses and has a good modularity. | No consistency and limited documentation |
Meridian [224] | Java | Utilizes REST northbound API and southbound API with OpenFlow 1.0 and 1.3 | Cloud-based platform that supports multi-threading | No consistency and reliability |
Microflow [225] | C | Utilizes Socket NBI and SBI with OpenFlow 1.0–1.5 and uses Linux platform with CLI and WebUI modes | Supports multi-threading and has good scalability | No consistency and reliability |
NODE FLOW [226] | Java Script | Utilizes JSON NBI and SBI with OpenFlow 1.0 | Good reliability | Cisco license and limited documentation |
NOX [227] | C++ | Utilizes ad hoc NBI and SBI with OpenFlow 1.0 and supports Linux platform in CLI and WebUI modes | Supports GPL 3.0 licenses and multi-threading (NOX-MT). | Low modularity with no consistency |
ONIX [228] | C++ | It utilizes Onix API, NBI, and SBI with OpenFlow 1.0, OVSDB, and east/westbound API with Zookeeper | Supports multi-threading and has a good modularity | Supports proprietary licenses and weak consistency |
ONOS [229] | Java | Utilizes REST and Neutron NBI and SBI with OpenFlow 1.0 and 1.3 and east/westbound API with Raft | Supports Apache 2.0 licenses and multi-threading functionality | Weak consistency in cases |
Open Contrail [230] | C, C++, Python | Utilizes REST NBI and SBI with BGP and XMPP and supports Linux platform with CLI and WebUI modes | Supports Apache 2.0 and multi-threading functionality and high modularity | Limited scalability |
Open Daylight [231] | Java | Utilizes REST, RESTCONF, XMPP, and NETCONF NBI and SBI with OpenFlow 1.0 and 1.3 | Good scalability and reliability as well as strong consistency | Based on Cisco’s ONE SDN controller |
OpenIRIS [232] | Java | Utilizes REST NBI, SBI with OpenFlow 1.0–1.3, and east/westbound API with custom protocol | Good reliability and provides multi-threading | Weak consistency and no support for Openstack |
OpenMul [233] | C | Utilizes REST NBI and SBI with OpenFlow 1.0, 1.3, OVSDB, and Netconf | Supports Linux platform in CLI mode and good reliability | Weak scalability and consistency |
PANE [234] | Haskell | Utilizes PANE NBI, SBI with OpenFlow 1.0 and Zookeeper east/westbound API | Supports BSD 3.0 licenses and has a fair modularity | Limited reliability with no consistency |
POF Controller [235] | Java | Utilizes SBI with OpenFlow 1.0 and POF-FIS and supports Linux platform along with CLI and WebUI | Reliable and scalable | Limited documentation and consistency |
POX [236] | Python | Utilizes ad hoc NBI and SBI with OpenFlow 1.0; uses Linux, MacOS, and Windows platform; and supports CLI and GUI | Consistent controller platform | Limited reliability and scalability |
Ravel [237] | Python | Utilizes ad hoc NBI and SBI with OpenFlow 1.0 and supports Linux platform along CLI and WebUI, with fair documentation | Good reliability with strong consistency | Very limited scalability |
Rosemary [238] | C | Utilizes ad hoc NBI and SBI with OpenFlow 1.0, 1.3, and XMPP and supports Linux platform, along with CLI and WebUI | Supports Proprietary and multi-threading functionality with good modularity | No scalability and consistency |
Ryu [240] | Python | Utilizes REST NBI and SBI with OpenFlow 1.0–1.5 and supports Linux and MacOS platforms with CLI mode | Good modularity and support for OpenStack | Limited scalability and weak consistency |
SMaRt Light [241] | Java | Utilizes REST NBI, SBI with OpenFlow 1.3, and east/westbound API | Supports Linux platform in CLI mode and has good reliability and consistency | Proprietary license and limited scalability |
TinySDN [242] | C | Utilizes SBI with OpenFlow 1.0 and supports Linux platform with CLI mode | Supports BSD 3.0 licenses and modularity | No multi-threading functionality or consistency |
Trema [243] | C, Ruby | Utilizes ad hoc NBI and SBI with OpenFlow 1.0 and supports Linux platform in CLI mode | Supports GPL 2.0 licenses and has good modularity | No consistency and reliability |
Yanc [244] | C, C++ | Utilizes REST NBI and SBI with OpenFlow 1.0–1.3 and supports CLI mode | Provides reliable communication | Limited documentation and no consistency |
ZeroSDN [245] | C++ | Uses REST NBI and SBI with OpenFlow 1.0 and 1.3 and supports Linux platform with CLI and WebUI modes | High modularity and consistency | Does not support multi-threading and not scalable |
Studies | Year | Area Discussed | Methods Used |
---|---|---|---|
Akyildiz et al. [247] | 2014 | Flow management, fault tolerance, topology update. | Supervised and unsupervised learning for traffic engineering |
Xie et al. [248] | 2017 | Routing optimization, QoS, resource management security | Supervised and unsupervised learning for traffic engineering |
Matlou et al. [249] | 2017 | SDN, wireless sensor networks | Supervised, reinforcement, and unsupervised learning |
Jose et al. [250] | 2017 | Traffic classification and security | Comprehensive study on security and traffic using traditional and formal methods |
Sultana et al. [251] | 2018 | Intrusion detection | Deep and unsupervised learning for IDS |
Cui et al. [252] | 2018 | Traffic profiling | Different supervised and unsupervised learning methods |
Loung et al. [253] | 2018 | Network function virtualization and QoS | Using machine learning and mathematical methods |
Kreutz et al. [254] | 2014 | Comprehensive survey on SDN core concepts | General discussion based on the traditional and Openflow concepts |
Wang et al. [255] | 2015 | Heterogeneous networks | AI-based techniques |
Jamshidi et al. [256] | 2016 | Cybersecurity intrusion detection | Supervised learning and unsupervised learning |
Mohammed at al. [257] | 2019 | Traffic classification and prediction | Supervised, reinforcement, and unsupervised learning |
Tam et al. [258] | 2018 | Security in network | Machine and deep learning for security |
Amin et al. [259] | 2018 | General concepts of hybrid SDN and terminologies | Categorization of hybrid SDN based on different technical models |
Priyadarsini et al. [260] | 2021 | A comprehensive state-of-the-art progress report on specific topics of SDN | Classifications of traffic management, load balance, network safety, and controller placement |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Hussain, M.; Shah, N.; Amin, R.; Alshamrani, S.S.; Alotaibi, A.; Raza, S.M. Software-Defined Networking: Categories, Analysis, and Future Directions. Sensors 2022, 22, 5551. https://doi.org/10.3390/s22155551
Hussain M, Shah N, Amin R, Alshamrani SS, Alotaibi A, Raza SM. Software-Defined Networking: Categories, Analysis, and Future Directions. Sensors. 2022; 22(15):5551. https://doi.org/10.3390/s22155551
Chicago/Turabian StyleHussain, Mudassar, Nadir Shah, Rashid Amin, Sultan S. Alshamrani, Aziz Alotaibi, and Syed Mohsan Raza. 2022. "Software-Defined Networking: Categories, Analysis, and Future Directions" Sensors 22, no. 15: 5551. https://doi.org/10.3390/s22155551
APA StyleHussain, M., Shah, N., Amin, R., Alshamrani, S. S., Alotaibi, A., & Raza, S. M. (2022). Software-Defined Networking: Categories, Analysis, and Future Directions. Sensors, 22(15), 5551. https://doi.org/10.3390/s22155551