Controller placement problem during SDN deployment in the ISP/Telco networks: A survey

With the successful implementation of Software‐Defined Networking (SDN) in data center networking, the way forward for its deployment in the ISP/Telco network is becoming prominent. Small and medium‐sized networks may easily adopt SDN. The research on SDN deployment and implementation for a large‐scale network is continuing. This paper properly presents the current research status of Controller Placement Problem (CPP) and Multi‐CPP (MCPP) over SDN with their specific challenges and provides a comprehensive review of the major performance metrics, that is, latency, and controller load balancing techniques. This survey highlights the use of network partitioning‐based CPP and clustering approaches and their benefits in the context of SDN deployment. Moreover, this paper highlights the importance of implementing SDN and SDN security issues into ISP/Telco networks. Finally, we provide some key areas of ongoing research and discuss the future research direction regarding the various SDN‐based Controller Placement (CP) issues in the next‐generation IP and advanced networking technologies.


INTRODUCTION
Software-Defined Networking (SDN) is an extensively used network architecture.It isolates the control plane from the data plane to manage a whole network, enabling network scalability and programmability.The control plane and data plane are interconnected in traditional network architecture. 1,2li et al. 3 indicate that the Controller Placement Problem (CPP) is the process of determining the best places to put controllers and the best switches to go with those controllers in order to accomplish an objective.Researchers and network engineers have focused a lot of attention on one of the most challenging difficulties in SDN, the positioning of the controller.
To achieve better performance, identifying the correct number of controllers and their best locations inside the network is the primary challenge in SDN.Over the years, a number of CPP techniques have been proposed, developed, and used to find the best solution; each has distinct goals, advantages, and drawbacks. 4 I G U R E 1 An overview of the paper's structure.latency and load balancing of SDN controllers.After that, in Sections 5 and 6, we go into SDN in ISP/Telco networks and SDN security considerations in ISP/Telco networks, respectively.In Section 7, we highlight discussions and future research directions and finally conclude the paper in Section 8.The overview of this survey paper is structured as shown in Figure 1.

SOFTWARE-DEFINED NETWORKING
SDN is a network management approach that makes use of programmable network configurations to enhance performance, lower the cost of network provisioning, and simplify network monitoring.Hence, SDN technology is a type of network management technique that enables a high level of programmability and centralized management.Seyedkolaei et al. in Reference 15, SDN's core idea is to create programmable networks through the division of the control plane and data plane in order to enhance network operation.The data plane, often referred to as the forwarding plane, is in charge of directing traffic in accordance with the decisions made by the controllers.The control plane has the responsibility of managing traffic on the network and establishing guidelines and regulations for for the data plane devices(s).It provides the data required for routing.SDN virtualizes network services, reducing hardware needs and enabling software and programs to manage data centers.SDN offers the programmability of network elements and the creation of new routing and forwarding technologies without the need for hardware upgrades. 16obo et al. 17 added that, Currently, the SDN paradigm is being adopted and used for a variety of computing models, including cloud, fog, and edge computing, as well as a variety of networking types, including corporate, mobile, and wireless.The SDN approach advances networking through innovation, simplification, and development.The SDN paradigm has shifted network intelligence from network devices to a central controller.Controllers are distributed out over a network to improve reliability, balance load, and eliminate single points of failure.
Some benefits of SDN may include the following: network management and visibility; reduced hardware footprint and opex; simplified policy changes; and networking innovations.There are still some challenges with SDN, nevertheless.
The SDN concept is being used and adopted by emerging architectures such as Network Function Virtualization, the Internet of Things, data centers, vehicular ad hoc networks, cloud computing, as well as more traditional networking sectors like sensor networks, optical networks, mobile networks, and wireless networks. 18oth scientific research and business are becoming more interested in SDN.With multiple companies, for example, Google, Facebook, Yahoo, and Microsoft, pushing and implementing SDN through open standards development, SDN has now had a significant impact on the industry.SDN is currently being used in a variety of network types, including enterprise and goverment networks, datacenter networks, wide-area networks (like Google B4), mobile networks and Internet exchange points, and so forth. 19he SDN paradigm is used in data centers, cellular providers, service providers, businesses, and residences.The majority of vendors are accepting SDN in order to develop products and services that will satisfy the demands of leading network owners and operators and offer novel concepts to the market.For example, Google, Verizon, NTT Communications, Deutsche Telekom, Microsoft, and Yahoo! claim that SDN will enable them to create networks that are simpler, easier to design and program, and easier to manage. 20Researchers used partners to deploy SDN technology over a three-year period at their campus and at a number of other campus sites across the country.
SDN deployment and implementation for a large-scale network, however, remain unresolved research questions.Multiple network vendors have released OpenFlow-capable switches as products and described their SDN plans.Also, many of the largest networking equipment manufacturers, including Ericsson, Cisco, VMware, Huawe, NetApp, Alcatel-Lucent, HP, Cumulus Networks, Brocade and Juniper Networks, have already launched SDN projects.
When choosing an SDN solution provider, companies must consider the following features: cloud compatibility, integration readiness, data and analytics, programmability, and support.A few SDN solutions in 2022 for the top companies have been discussed in Table 1 (https://www.spiceworks.com/tech/networking/articles/best-sdn-solutions/).

Name Company overview
Cisco Meraki For managing networks, Cisco Meraki provides software-defined solutions that address WAN, Wi-Fi, mobile device management, IoT, and other related domains.

Cisco+ NaaS
To implement, administer, and monitor our SDN environment, Cisco+ contains all the tools, technologies, and service support we require.
Cradlepoint NetCloud 4G, 5G, and WAN-based wireless networking solutions are Cradlepoint's areas of expertise.Using cloud-based, software-defined technologies, Cradlepoint NetCloud assists in developing and integrating wireless network systems.
Dell SDN Solution Since it launched in 2019, Dell SDN combines VMware's VeloCloud software with Dell's IT infrastructure to create an all-in-one solution.

IBM SDN Services
Along with having its own data centers and supplying NaaS, it focuses on SDN strategy, assessment, and consultancy.

An overview of SDN architecture
Cloud compatibility, integration readiness, data and analytics, programability, support, and so forth are important SDN aspects that are must-haves.Network programmability, logically centralizing intelligence and control, abstraction of the network, and openness are key areas in which SDN technology can benefit a business.The reference architecture for the generic SDN is shown in Figure 2. 21 It is made up of three layers: a control layer in the middle, an infrastructure layer at the bottom, and an application layer on top.

Infrastructure layer:
It is composed of forwarding components like switches, routers, and wireless access points, among others.These devices are responsible for collecting and sending packets in accordance with the controller's instructions.Each switch keeps one or more flow tables, each of which has entries that consist of the entry identification, action, and statistics fields.When a packet arrives, its header is compared to the entries in the flow table.If there is a match, the entry's stated action-such as forwarding the packet to a certain port or discarding it-is executed.If there is no match, the packet is sent to the controller for processing.

Control layer:
For managing the infrastructure components, it consists of one or more controllers.These controllers are responsible for keeping the entire picture of the network using information collected by the forwarding devices and also for forwarding rules to switches.The primary functions of the controller are mostly related to topology and traffic flow.Link discovery, topology management, decision-making, storage management, and flow management are the major components found inside the controller core.The controllers use a southbound interface, such as OpenFlow, for communicating to the forwarding devices.The east and west bound interfaces of the control layer are utilized for communication when there are multiple controllers as shown in Figure 2. The optimal selection of controllers is based on the controller features.Most popular open source SDN controllers in industry and academia includes the Open Network Operating System (ONOS), OpenDayLight (ODL), OpenKilda, Ryu and Faucet. 22he modularity of each controller is governed by the design focus and programming languages.The controller's portability and performance are affected by the programming language choice.For example, Python based controllers such as Ryu provide a well-defined API for developers to change the way components are managed and configured.Shah et al. 23 insists that Java is the best option, because it allows multithreading and is cross-platform.Python, however, has performance problems with multithreading.There are issues with memory management in C and C++.The .Net languages are runtime platform-dependent (Linux compatibility is not supported).Thus, authors in Reference 23 demonstrate that among different controllers (NOX, POX, Maestro, Floodlight, Ryu), Java-based Beacon has the greatest performance.Some openFlow (OF) controllers are Summarized in Table 2.
The appropriate selection of an SDN controller is based on performance factors such as throughput, latency and CPU usage.Others may use the few common features of SDN controllers, including programming language, OF support, network programmability, northbound REST Application Programming Interface (API), Southbound Interface (SBI), efficiency (performance, reliability, scalability and secuirty), GUI, clustering, quantum API, productivity, partnership support, platform support and modularity. 24

Application layer:
SDN applications use the controller's API to configure flows to route packets along the best route possible, load balance traffic, handle link failures, and divert traffic for auditing, authentication, inspection, and other similar security-related tasks.Thus, access control, firewalls, load balancing, network virtualization, security monitoring, and so forth are a few of the SDN applications.Because they are event-driven, SDN applications' responses might be as simple as a default action or as complicated as a dynamic reaction.

Open interfaces:
OpenFlow, ForCES, OpFlex, PCEP, and other southbound interfaces specify the communication protocol between data plane nodes and control plane components.Despite the fact that each has a different design objective, the command signals between the control plane and data plane are implemented using the SDN southbound protocols.
OF is the most commonly used Southbound Interface (SBI) and is a de facto standard for industry.The fundamental responsibility of OF is to define flows and classify network traffic based on a predefined rule.Northbound interfaces like EST, OSGi, FML, Procera, and so forth provide an interface for application developers to create applications.

CONTROLLER PLACEMENT PROBLEM
The number and placement of controllers in the network affect a wide range of factors, such as performance metrics, availability, fault tolerance, and convergence time.Because of this, one of the issues that needs more attention is identifying the number and placement of controllers, known as CPP. 2 SDN is capable of resolving current network issues and enhancing network performance.Although there are other issues and opportunities for research in SDN, the CPP is considered to be the main issue that could have a significant effect on network performance. 25PP primarily relies on figuring out how many controllers are needed overall and where they should be placed to improve network performance.Through regular message exchanges between controllers and switches, all SDN operations are completed.Therefore, message exchanges are significantly impacted by the location of the controller(s), which has an impact on SDN performance.
Research on CPP was first conducted by Heller et al. 26 They defined the issue as a facility placement problem and demonstrated that it was NP-hard.Since then, many initiatives have been made to position the controllers in the best possible way.By calculating the optimal location for the deployed controllers and the minimal number of controllers to be placed, the authors provided a principal objective to solve the Controller Placement Problem (CPP) by reducing the propagation delay (latency).Kumari et al. 27 focus primarily on the CPP solution approaches.The paper offers a formal definition of CPP and an in-depth review of the different performance indicators and characteristics of the available CPP solutions.
In terms of CPP, Wang et al. 28 outlined a novel strategy to reduce propagation latency between Switch-Controller (SC), offered many lines of future study, highlighted some difficulties in the field, and opened relevant CPP questions.The need for an efficient algorithm, multi-objective optimization, cooperation among controllers, and cost awareness are a few of the issues described.
Chen et al. 29 added that, the deployment model and performance optimization are the two key areas of interest in the research of CPP.Numerous network performance measures, including propagation delay, controller capacity, node failure, deployment cost, and energy savings, have been taken into account from the perspective of performance optimization.
Abdel Rahman et al. 30 looked at the best placement in the scenario when switches and controllers are linked together via Wi-Fi networks.Hollinghurst et al. 31 presented a rigorous comparison of four widely utilized approaches to the controller placement problem.Ul Huque et al. 32 suggested a simple approach to satisfy the necessary SC latency in large scale networks while dynamically minimizing the number of provided controllers.Kesentini et al. 33 used a method based on the Nash Bargaining game to minimize SC delays, Controller-Controller (CC) delays, and controller load balancing all at once.Kobo et al. 17 thoroughly examined two issues: controller placement and controller mastership reelection.Researchers discussed and used the k-means model for local controller placement and the reoptimized k-means or k-center model for global controller placement.
In order to maximize network reliability, controller load balance, and latency between controllers and switches, Zhang et al. 34 formulate the Multiobjective Optimization Controller Placement (MOCP) problem.They then determine the best locations for controller placement, the nodes that each controller can control within those locations, and the best way to distribute their routing requests among these controllers.The authors propose a mathematical model of this problem as the optimization objective function.The Adaptive Bacterial Foraging Optimization (ABFO) technique is designed in response to the computation complexity according to the actual network state in order to resolve this model.
In general, CPP can be widely divided into two classes: capacitated controller placement problem (CCPP) and uncapacitated controller placement problem (UCPP).

Capacitated CPP (CCPP)
When placing controllers in CCPP, load and capacity are taken into account.If load and capacity are not considered, there is a possibility that the controller will fail.Some controllers could be excessively loaded, while others might be hardly loaded.

Uncapacitated CPP (UCPP)
Each SDN controller in UCPP has an unlimited capacity, and the load placed on the controllers is neglected.
Getting the best location and satisfying results when solving CPP is challenging and involves meticulous planning and wise decision-making.In order to appropriately arrange many controllers, it is important to take into account the various factors that affect SDN performance.These CPP objectives and challenging factors are presented in Table 3.
Das et al. 38 describe the CPP in SDN and emphasize its importance.In addition to the CPP's main use cases in data center networks and wide area networks, they also examine the CPP's most recent uses in a number of new fields, such as mobile/cellular networks, 5G, named data networks, wireless mesh networks, and VANETs.Regarding the CPP issues, they haven't paid enough attention to large ISP/Telco networks.

General formulation of CPP
The primary network components for an SDN-enabled network are switches, controllers, and the links that join them.Therefore, the network is often modeled as an undirected graph G = (S, E, C), where S represents the set of switches and E is the set of physical links among those switches or controllers, and C be the controllers to be placed in the network.The switches and the controllers are represented as follows: S = s1, s2, s3, … sn, where n denotes the number of switches in the network, and C=c1, c2, c3, … ck, where k denotes the number of controllers located in the network.Here, Pi = p1, p2, p3, … pk is one possible placement of the k controllers.The relationship between the switch and controller can be defined as follows: C ⊂ S. The d(s,c) is the shortest path between s ∈ Sn and c ∈ Ck.

Comparative analysis of different SDN controller placement strategies
Currently, a number of solutions have been developed and proposed to address SDN-based CPP.Existing solutions have been categorized in terms of controller allocation and the optimal number of controllers by minimizing network latency (propagation, controller processing), deployment cost, and energy consumption, as well as maximizing reliability and resilience. 4he findings illustrate the existence of multiple CPP strategies, including cluster-based, linear and quadratic programming (LP/QP)-based, evolutionary-based (bio-inspired, genetic algorithms), heuristic and greedy algorithm-based, simulated annealing-based, and so forth, while machine learning-based techniques are currently the subject of extensive research.Each of these strategies has a specific objective, a specific application, a certain weakness, and so on.A few different controller placement strategies for cluster-based large-scale networks are shown in the Table 4 as examples.

Multiple controller placement problem
The single centralized controller cannot keep up with the expanding network and application demand.The most likely scenario is a single-point bottleneck and failure.Since the controller is solely responsible for all control activities, any network failure would have a substantial impact on network performance.As a result, the multi-controller is a feasible alternative for SDN in large-scale networks, and it matters for investigating SDN control plane scalability. 48Since the location and number of controller deployments have a large impact on network performance in a multi-controller network architecture, MCPP has become an area of interest in current SDN research.Hu et al. 49 concluded that it is ineffective to deploy just one controller to manage a huge network.Placing multiple controllers is still challenging.In order to enhance the network's scalability and latency, it is most effective for big networks to use multiple controllers to manage the control plane traffic.There are two types of multi-controller architecture: flat architecture and hierarchical architecture.
Multiple controllers are deployed in a large-scale SDN environment in order to minimize latency, the workload of the controller, or multiple network performance indicators in relation to controller placement.Consequently, an SDN controller can manage multiple Network Operating System (NOS). 26In a small network, such as the network in a data center, a controller is adequate to manage the switches.In order to increase the WANs' scalability and stability, multi-controller deployment is becoming popular. 50Dhar et al. 51 pay emphasis to the CPP issues with SDN and find that multiple controllers must be deployed in order to keep a large-sized SDN scalable and reliable.
Holfed et al. 19 address new developments in architectural standards, protocols, and application designs to enable scalability in SDN.Selvi et al. 52 indicates that using a single controller causes the network's reliability and performance to decrease as the network's size grows.In order to manage and improve network availability, multiple controllers are used.The CPP for this setup is known as MCPP.The choice of metrics and the network topology themselves determine where to locate controllers.
Wang et al. 53 suggested a multi-controller architecture.In this work, researchers used a distributed strategy to evenly transfer the load among multiple controllers.The proposed model employs a distributed method and multiple controls to address the reliability issue.When a controller fails unexpectedly, the system can be restored by diverting all communications to other controllers that are still functioning normally.
Yuqi Fan et al. 54 present the Reliability-aware Controller Placement (RCP) algorithm, which divides the network into subnetworks and inserts a controller into each of them.Many controllers are efficiently positioned, and the connections between switches and controllers are defined using a local search technique.The simulation results show both the main and back systems' latency may be effectively reduced using the provided RCP technique.
A common trend in SDN is the addition of multiple controllers, which addresses reliability problems, horizontal expansion, and performance bottlenecks.The position and quantity of controller deployments, however, have been discovered to have a significant impact on network performance in a multi-controller network design as SDN networks have advanced.Therefore, there is still a challenge to be solved regarding how to create an appropriate placement of the distributed control layer in the SDN network design.

Scalability concerns in SDN
SDN with multiple controllers refers to an SDN-enabled network that provides high performance, scalability, and availability, among other benefits.However, SDN suffers from a variety of performance and scalability issues, demanding major research efforts to maximize control plane scalability.Efficient resource allocation is in great demand and required for a scalable and adaptable network. 55here are many different ways of determining scalability, including: administrative, functional, geographical, load, and generational.There is now a lot of work being done to improve the control plane's scalability in SDN.One of the most common control plane scaling approaches is topology-based scalability, which investigates the relationship between network topology (e.g., number of controllers, locations, etc.) and scalability concerns. 56here are two types of topology-based controllers: centralized controllers and distributed controllers.Furthermore, the distribution has flat, hierarchical, and hybrid topologies. 36The distributed and hierarchical SDN controllers can partition the network into smaller domains and assign some control functions to local or regional controllers.This can minimize the load and latency of the central controller while also improving the scalability and performance of the SDN network.
Domain partitioning concentrates on dividing the entire network into multiple SDN domains, whereas controller placement concentrates on locating the best places to increase scalability.The scalability of multiple controllers is increased by using multiple controller deployments to divide a network into different domains. 25Greater outcomes in terms of accessibility and scalability will be achieved by using multiple physically distributed but logically centered controllers across different network domains.However, this could lead to issues with load imbalances across several controllers.As a result, the Effective Initial Mapping in SDN (EIMSDN) method has been proposed to balance the load and reduce latency for managing the flow in the software-based network. 57SPs and data centers must constantly grow their operations to meet rising demand.ISP networks often feature fewer switches and routers than data center networks; nonetheless, nodes in such networks are typically geographically distributed.The huge diameter of these networks contributes to controller scaling issues, flow setup and state convergence latencies, and consistency requirements.Scaling while ensuring reliability and performance might be difficult. 58SPs struggle to continuously provide a high-quality service with the rise in connected devices and data-intensive applications.The ability of a system to accommodate an increase in usage, traffic, and data without significantly altering the infrastructure is referred to as scalable ISP/Telco infrastructure.The following are some challenges frequently encountered when creating and maintaining scalable ISP/Telco infrastructure: cloud dependencies, traffic peaks, data management, security, latency, cost, and maintenance.ISPs can get a lot of benefits by implementing an efficient telecommunications traffic management system, including improved network performance, a better user experience, reduced latency, enhanced security, and better resource allocation.

Machine learning for the CPP in SDN
Depending on the demands of the network administrator, the SDN paradigm can be used for a variety of tasks, including traffic engineering, network virtualization, and load balancing. 59It is easier to employ ML techniques because of the benefits of SDN, such as logically centralized control, a global perspective of the network, software-driven traffic study, and continuous updating of forwarding rules.ML has been used in a variety of applications in the specialized area of SDN, including traffic engineering, resource management, intrusion detection systems, and for other security purposes.Amin et al. 60 used ML methods based on supervised learning, unsupervised learning, and reinforcement learning, to optimize routing in SDN.
The training, evaluation, and testing phases are the three main stages of machine learning.The training step is carried out using the training set.It is necessary to train the supervised learning model using the labeled dataset.It is not necessary to train the unsupervised model using the labeled dataset.Semi-supervised learning is based on a data set where some of it has labels and some of it has none.
In order to address the CPP issues, Ramya et al. 61 suggests a traffic engineering method that makes use of machine learning's performance to anticipate controller numbers by analyzing and predicting controller traffic.The K-Means++ algorithm is used to determine the best places for controllers to be placed.The proposed method is simulated using Mininet and the proposed methodology performs better than the existing methodologies.
Ramya et al. 62 draw the conclusion that in the future, a machine learning-based strategy may be employed for classifying and predicting the controllers' traffic for the same placement methodology, from which the dynamic controller allocation can be realized.
From the perspectives of traffic classification, routing optimization, QoS/QoE prediction, resource management, and security, Xie et al. 63 explore how machine learning techniques are utilized in the context of SDN.By separating the control and data planes, software-defined networks SDN revolutionized network architecture and made networks simpler.However, machine learning (ML) and its derivatives have improved the intelligence of the systems.ML and SDN have recently been the focus of a lot of research studies.
Faize et al. 64 raise up a few significant issues and potential directions for future ML for SDN research: reliable training datasets, a distributed multi-controller platform, enhanced network security, cross-layer network optimization, and a gradually deployed SDN.A wider range of areas, including edge computing, optical networks, the internet of things, vehicular networks, mobile networks, and wireless sensors, can benefit from the usage of ML for CPP in SDN.
The existing controller placement strategies in a multi-controller SDN environment overlook a number of factors, including the path reliability for S2C and C2C connection and the adoption of an efficient ML algorithm. 65Researchers presented the Constrained Multi-Objective Heuristic Placement Approach (CMOHPA) technique based on the criteria of greatest S2C path reliability, limited S2C hop count, maximum C2C reliability, load-balancing between the controllers, and a limited number of controllers to find the most suitable position of controllers.

Network partitioning-based CPP and clustering approach
The features of WANs are long distance, high connection costs, and massive scale.WANs connect several local area networks or datacenters across geographically separated sites.Generally speaking, the objective of CPP in a datacenter is to obtain an optimal solution; however, in WANs, a heuristic method or network partition should be used to quickly narrow the search space and obtain a suboptimal, workable solution. 37ommonly, CPP is modeled as a network partitioning issue.To ensure that the network as a whole achieves the specified goals, it is important to partition the network into subnetworks and implement the objectives separately in each of them.Although adaptive CPP splits the entire network at regular intervals, clustering methods may be useful for deciding where to deploy the initial controllers.The clustering approach separates the network into domains, which makes figuring out how many controllers are needed easier. 66 CPP Solutions' Strategy: the network-partitioned-based CPP and clustering approach have potential benefits in the context of large WAN ISP/teleco networks.Recent findings state that the controller's response time is influenced by both the load on the controller and the S2C latency influence the controller's response time.The performance of SDN is influenced by reliability, load balancing, and response time between switch and controller.Partitioning becomes necessary if the controller is overloaded and there is significant propagation latency between the switches.Network partitioning could reduce the overall complexity of the large-sized network.The one school of thought regards CPP as a clustering problem in which a big network is divided into multiple small network domains, each of which is under the control of a single controller.67 Zhang et al. 68 consider a distributed SDN architecture that makes use of a cluster of controllers in order to increase network scalability and reliability.They assess the delay trade-offs for the CPP for a few real ISP network topologies and suggest an innovative adaptive technique that takes S2C and C2C latencies into consideration in order to find the relevant Pareto frontier.
Fan et al. in Reference 44, the initial one controller placement concept fails to satisfy the demands of the actual network when SDN is gradually expanded to large networks like wide area networks.In order to apply SDN in large networks, many controllers must be used to create a distributed control layer.
Yazici et al. 69 suggest a cluster-based distributed paradigm in which a master controller is chosen based on the network load such that, in the event of an increase in demand, the master node can be moved to a less burdened one.
To choose suitable sites for the controllers, the network must be properly divided up into multiple clusters.However, the network partitioning results in a trade-off between a number of parameters, including load balancing, reliability, and latency. 5As a result, another complex challenge is splitting the network and locating the controller in each cluster. 70arge networks are usually separated into different domains to provide scalability, privacy, and security. 2][73] In order to reduce overall latency, Syed-Yusof et al. 74 suggests a multi-criteria clustering strategy that puts the controllers depending on predetermined constraint metrics between the controllers and the switches.The findings demonstrated that the suggested technique enhanced node distribution over the state-of-the-art options for the dense network anticipated in the 5G scenario.Without adding excessive latency, their method may considerably increase the scalability performance of SDN control networks.
The network clustering-based Particle swarm optimization (PSO) strategy for the placement of controllers in SDN is recommended by Wang et al. 53,71 Gao et al. 75 developed a PSO approach, as an expanded article, to reduce the network's overall average latency.The authors divide the network into k clusters, and each cluster is managed and controlled by a controller.The load on the controllers, which is a crucial aspect for large-sized networks, is taken into account.Considerations include load balancing, switch-to-controller latency, inter-controller latency, and controller load.In comparison to the k-center and capacitated k-center strategies, the results demonstrate improved performance.While considering load balancing, the goal is to achieve maximum utilization by each controller.
Liao et al. 42 introduce DBCP, a density-based switch clustering technique to partition the network into multiple smaller sub-networks.The size of each sub-network in DBCP can be determined by the deployed controller's capacity.The optimal number of controllers is also determined as a result of density-based clustering.Their experimental results show that DBCP gives greater performance compared to state-of-the-art approaches in terms of time consumption, propagation latency, and fault tolerance.
In Reference 29, Chen et al. provides a strategy called community detection controller deployment (CDCD).There are two components to the controller deployment.The first is network partitioning, often known as community detection, and the second is controller position selection.In order to divide the large-scale SDN network into many sub-networks with community properties, the Louvain heuristic algorithm (LHA) is used.
Qi et al. 76 suggested a network partition methods based on the modified density peaks clustering (MDPC) algorithm, which clusters the switches to generate multiple sub-networks out of the overall network, in order to reduce the average propagation latency between switches and controllers.The controller would remain at the original switch location during the division process but wouldn't exist independently without switches.To locate the controller in the center of the sub-network and lower average latency, researchers employed average degree and closeness centrality.Their controller placement method effectively cut down on latency.In particular, the average latency can be decreased by 10% when compared to optimized Kmeans and 35% when compared to K-means.
Chen et al. 77 proposed an improved Density-based Controller Placement Algorithm (DCPA) that can partition the entire network into several sub-networks after exploring possible values of radius to find the necessary number of controllers.The controllers are placed in each sub-network to reduce both average and the worst-case propagation latency between the controllers and switches.Testing the algorithm's performance on 100 actual network topologies from the Internet Topology Zoo, their results showed that DCPA can always identify the controller placement strategy with a small time overhead to lower propagation latency for various network scales, with a margin of error of less than 10% from the optimal situation.

CPP and M-CPP algorithms: K-means/K-Means++
One approach for resolving the network partitioning-based CPP problem is the clustering methodology.K-Means Clustering, an unsupervised learning approach, is used to handle clustering issues in machine learning or data science.The primary drawback of K-means is that it initially assumes centroids at random and attempts to form clusters.We employ the K-Means++ technique to prevent it. 61-Means++ guarantees a more intelligent initialization of the network's centroids and raises the standard of clustering.The clustering centers in this algorithm are chosen from the nodes that are far apart from one another.The rest of the method, except initialization, is identical to the typical k-means approach for locating controllers in a network's best places.K-Means++ then combines the basic K-Means algorithm with a smarter centroid initialization. 78nitialization algorithm: 1. Randomly select the first centroid (clustering center) from the existing data points (X). 2. For each data point, compute its distance D(X) from the nearest, previously chosen centroid.
3. Select the next centroid from the data points such that the probability of choosing a point as a centroid is directly proportional to its distance from the nearest, previously chosen centroid (i.e., the point having the maximum distance (D(X)) has a higher probability of being selected next as a centroid).4. Repeat steps 2 and 3 until the required number of controller positions, that is, k centroids, are initialized.
Finding the optimal location After initialization of k centroids, the remaining are the same as K-means. 5. Assign data points Xi to the nearest cluster Cj: In this stage, we will first use the Euclidean Distance metric to determine the distance between data point X and centroid C.After that, select the cluster for the data points where the distance between the point and the centroid is the shortest.6. Re-initialize centroids: Next, we will re-initialize the centroids by calculating the average of all data points in that cluster.7. Repeat steps 5 and 6: We will keep going back and performing steps 3 and 4 until we have the best centroids and the assignments of the data points to the right clusters are stable.
Wang et al. 79 presented a Clustering-based Network Partition Algorithm (CNPA) to address the network partition problem and eliminate the drawbacks of clustering algorithms such as K-means and K-center.The end-to-end latency and the queuing latency of controllers combine to make up the total latency.The CNPA can guarantee that each partition can shorten the maximum end-to-end latency between controllers and switches.To further decrease the queuing latency of controllers, appropriate multiple controllers are then placed in the sub-networks.

PERFORMANCE METRICS IN SDN
Numerous qualitative performance measures and techniques have been offered in the literature to address the controller placement problem in SDN.Propagation latency, reliability, load distribution, and failure resilience metrics are enhanced by effective controller placement.A few important SDN Performance metrics are mentioned in Table 5.In this survey, we discuss two performance metrics: latency, the primary performance parameter used in CPP, and controller load balancing.The bulk of research to date has found that network latency between controllers and switches and from controller to controller is the most relevant issue.Because it has a significant impact on SDN's overall performance.A proper placement of controllers should reduce latency, and each controller shouldn't be overloaded.With an appropriate load-balancing strategy, response time and packet loss ratio could be efficiently decreased, resource usage could be improved, and overload could be avoided.Additionally, it might increase the network's capacity for expansion, reliability, packet delivery efficiency, and durability. 82t is essential to have a common benchmarking methodology for evaluation because there are multiple controllers available with varying architectures and properties.Zhu et al. 83 provide a thorough review of benchmarking approaches and tools for SDN controllers.The software tool used for benchmarking SDN controllers must be exceedingly efficient and precise.The most popular benchmarking tools are CBench, PktBlaster, OFNet, HCprobe, OFCBenchmark, WCBench, and OFCProbe.

Latency
The amount of time it takes for data to move from one point to another between sender and receiver or between a specific user action and the response is known as latency.Common latency problems can be worth looking into.A low-latency network is one that has short transmission delays, which is desirable; a high-latency network, on the other hand, has greater transmission delays and is less desirable.In the context of WANs and SDN, reducing network device communication latency is a critical challenge that requires the optimal controller location.Javadpour et al. 84 highlighted that in SDN networks, the quantity of controllers and their placement can have an impact on two metrics: reliability and latency.
Since latency has an impact on ISP/Telco network performance, it has significance and needs to be thoroughly studied.High-latency networks that experience lengthy delays impede communication.It's true that we all desire communication with as little latency as possible.However, a network's typical latency varies slightly depending on the context, and latency problems change from network to network.Data packets are continuously processed and routed through various network channels made of wires, optical fiber cables, or wireless transmission mediums by network equipment including routers, modems, and switches.As a result, network operations are intricate, and a number of factors influence the rate at which data packets move.The following are common causes of network latency: medium of transmission, distance traveled by network traffic, network hops count, data amount, server performance, user issues and Physical issues or inadequate hardware.
Latency or delay is one of the most often used performance indicators.Transmission, propagation, queuing, and processing delay make up the total latency.It is possible to evaluate latency between two nodes in one of two ways: switch to controller latency (also known as node to controller latency) or controller to controller latency.In CPP, latency may be either switch-to-switch (SS), SC, CC, or total latency of network.
Heller et al. 26 begin a study on controller placement in SDN and suggest that propagation latency-both average and worst-case propagation latency-is the primary factor to be taken into account.This issue is conceptualized as a facility location issue, and K-center is used to solve it.
Selvi et al. 52 employ several qualitative metrics, including throughput, utilization, and latency.The amount of time needed to forward a packet through a network is called latency.There are several different types of latency, including communication latency and traffic delivery latency.
Wang et al. 79 identify that a critical difficulty in SDN is selecting suitable locations for controllers to reduce the latency between controllers and switches.The CPP described a few of the performance factors that were taken into consideration, including control plane overhead, latency, load imbalance, cost, and connection.They use the controller-to-node latency (propagation, queuing, and processing delay) as a crucial performance parameter.
Sapkota et al. 85 propose a novel population-based meta-heuristic method, Naked Mole-Rat (NMR) Algorithm, to position controllers on the site more effectively based on SC, CC, and load-balancing among the controllers.Two widely accessible standard topologies, Ernet and Savvis, are used to demonstrate the concepts and methods.When compared to the Bat method, the NMR algorithm's controller localization approach yields somewhat superior results.
Mamushiane et al. 66 extended and used a facility location approach known as Partition Around Medoids (PAM) with propagation latency to determine the optimum places to put SDN controllers.This study suggested using the Silhouette and Gap Statistics algorithms to decide how many controllers to deploy in a wide-area network.As a research study, they looked at the South African National Research Network (SANReN).
Rasol et al. 86 assesses the Joint Latency and Reliability-aware Controller Placemen (LRCP) optimization model.With the help of alternate backup channels, LRCP gives network administrators a variety of options for balancing the reliability and latency trade-offs between controllers and switches.This study suggests the Control Plan Latency (CPL) metric, the sum of average switch-to-controller latency and the average inter-controller latency, in order to evaluate the controller placements offered by LRCP and determine how effective they are in an actual controller deployment.
In each link failure state, Fan et al. 44 further take into account the number of control path reroutings and the worst-case latency between the controller and the switch.To solve the problem, they offer a heuristic approach based on particle swarm optimization.The suggested algorithm's usefulness is demonstrated by the numerical results.Additionally, it demonstrates that in the majority of link failure conditions, the suggested technique may ensure the latency and reliability of the control layer.
Yuqi Fan et al. 54 present the RCP algorithm.The objective of this approach is to to minimize the average latency between all switches and the appropriate controllers in the event of a single broken link.The latency of each path is made up of the latency of the primary path plus the average of any potential backup paths that might be available in the event of a single link failure.
Chen et al. 29 present that the network is separated into many sub-networks, and the essential performance metric is the latency between the controller and switch.The Equation 1 by Liao et al. in Reference 42 can be used to determine the latency model in this study.
where d ijk (s, c) is the dijkstra shortest path distance, corresponds to the latency from the switch s to the associated controller c, c ∈ (c) denotes that controller c is placed at the position of one of the switches, |(c)| is the number of switches controlled by c.Also, Equations ( 2) and (3) for average and worst latency calculations are presented by Lu et al. 37 Where L avg and L wst are the average and the worst latency between switches and controllers and d(s, c i )|s ∈ s i is the distance from the node s to the controller c i of its subdomain.Similarly the average controller to controller latency can be formulated in Equation (4) as, Where L cc−avg is the average latency between the two controllers and K is the number of controllers.Similarly, processing latency increases significantly as the controller's load exceeds or reaches its processing capability.As a result, the load on the controllers is often balanced in order to reduce processing latency.Equation ( 5) illustrates the The Table 6 contains a few examples of research about different propagation and processing latency contexts in WAN applications.
In Reference 2, discussion largely focuses on controller placement strategies that take into account optimization goals including latency, connectivity, cost, load, energy, QoS, and control plane overhead, or a combination of these objectives.A mathematical model for controller placement that reduces the worst-case latency in the event of controller failures was proposed by Killi and Rao. 93Their model avoids a substantial increase in latency brought on by single connection failures.In the event of a single link failure, they also suggested a mathematical model to reduce the total worst-case latency and maximum worst-case latency.
For a reliable CPP, Singh et al. 94 suggest a Varna Based Optimization (VBO) to guarantee that it reduces the overall average latency.Their results demonstrate that the proposed VBO algorithm outperforms other effective heuristic algorithms for the reliability-aware CPP (RCPP), such the PSO. 75PSO and Teacher Learning-Based Optimization (TLBO) and their experimental results show that TLBO performs better than PSO for publicly accessible topologies. 95ang et al. 96 optimized the average latency and the worst latency utilizing the data plane traffic demands in their article, which concentrated on the CPP in the SDN multi-controller architecture.The traffic gravitation for the subdomain division problem was identified, and an enhanced label propagation algorithm (LPA) was created.On the other hand, using a heuristic approach based on open searching and the gravitational force of nodes toward the controller, they determined the best controller placement position in each subdomain.Their experiment proved that the placement algorithm is more effective at minimizing the average latency and the worst latency with a fewer controllers.
Dhar et al. 97 proposed a mathematical approach called the "$-method" to form the clusters and put one controller in each cluster to reduce the worst-case SC latency.In terms of worst-case SC latency minimization with fewer controllers, the "$-method" outperforms other current techniques.By assigning the switches from a failed controller to the controllers closest to it, they have also examined the failure mode of a controller, which demonstrates that it also performs better in terms of network fault tolerance and improves network resilience.
During the real-time migration of an existing legacy network into a Software Defined IPv6 Network (SoDIP6) network, the optimal path routing and BFR approach are used to determine the best location for the SDN control plane.In order to decide where to locate the controller using Breadth-First router Replacement (BFR), Dawadi et al. 98 analyzed the optimal latency.
In Reference 79, the most important factor is network latency between controllers and switches because it has a significant impact on SDN's overall performance.The end-to-end latency and the controller queuing latency are two more potential sources of latency that they research and examine in this work.A CNPA is then presented to partition the network in order to reduce end-to-end latency.The maximum end-to-end latency between controllers and switches can be reduced by each partition, according to the CNPA.The necessary number of controllers are subsequently installed in the subnetworks to further reduce the controllers' queuing delay.By deploying controllers in an SDN-enabled wide-area network, this study aims to decrease the maximum latency between controllers and switches.
An exemplary Problem formulation by Wang et al. 79 is described briefly.The Haversine formula in equation 6 is used to compute the great circle distances between pair of switches (or any two nodes) in Veness et al. 99 and Wang et al. 100 and the shortest path distance is calculated by using the Dijkstras algorithm in Skiena et al. 101 Distance = 2(r) × arcsin )) Where,  is latitude of a node,  is longitude of a node and r is radius of the earth.The end-to-end latency and queuing latency are calculated by Equations ( 7) and ( 8), respectively.End-to-end latency for a packet traveling from switch Sm to controller Cn is: Here, packet transmission latency (DT i ) = P i ∕B i , where P i is the amount of bits of a packet in link i and B i is the bandwidth of the link.The propagation delay is given by DP i = d i ∕S, where d i is the distance of link i and S is the signal speed at which data travels through the medium.The switch processing latency is denoted to D spi , which is affected by the load of switch i.
Queuing latency: Here m stands for the system's server/controller count.All controllers are thought to have the same service rate  in order to make the analysis simpler.Then the traffic intensity is termed as ( =  /m).Total Latency: Objective formulation: (10)   such that s m , c n ∈ SDN i (∀i ∈ k) Assuming the requirement of latency is denoted by Tth, the maximum total latency is expected to be less than Tth.Due to differing geographic distributions, each subnetwork has a significantly varying density of switches.The subnetworks with a lot of switches could have a lot of queuing latency.As a result, multiple controllers are installed inside subnetworks that contain a lot of switches.

Controller load balancing
SDN controller plays an important role to enable load balancing in distributed systems by optimizing resource allocation, minimizing response time, and maximizing throughput of that system.Since the SDN controller has the potential to provide an extensive overview of the available resources, using multiple load-balancing techniques in SDN networks can improve network performance.Alhilali et al. 102 classifies AI-based LB strategies into four main categories: nature-inspired techniques, machine learning, mathematical models, and other LB techniques.They provided comprehensive details on different metrics applied by several LB methods used to assess the performance of load balancing in SDN.Some of these metrics include response time, throughput, resource utilization, latency, workload degree, deployment cost, jitter, packet loss ratio, delay, round-trip time, bandwidth utilization ratio, migration delay, link utilization, flow completion time, migration cost, overhead, packet load ratio, power consumption, and cumulative distribution function.
Network Partitioning-based MCPP implementation approaches over SDN with load balancing for large size networks are summarized in Table 7.
SDN load balancing has also brought forward the concept of multiple-controller SDN.A controller often experiences higher load as the number of nodes linked to it increases.The network has additional delays as a result of queuing at the controller system caused by the rise in node-to-controller requests.Nodes of various controllers must be balanced in order to maintain resilience for controller placement.
Additionally, suitable load balancing helps in maximizing scalability, minimizing response time, maximizing throughput, minimizing resource consumption, avoiding overload of any single resource and so on.Neghabi et al. 80 point out that though load balancing techniques are important for SDN, there isn't yet a full and comprehensive systematic investigation in this field.They present a survey of the existing mechanisms and compare their properties, then describe specific common load balancing techniques in the SDN and identify the types of difficulties that would be taken into consideration.
An SDN-based load balancer physically separates the network control plane from the forwarding plane.More than one device is able to be controlled at the same time when load balancing using SDN.There may be instances where some controllers are overloaded because of excessive traffic flow if the nodes are assigned to the nearest controller, utilizing latency as a metric or the shortest path distance between the node and controller.The number of nodes per controller in the network may be unbalanced. 52n order to prevent overload on any of the resources, load balancing is a strategy that distributes the workload across multiple resources. 108Some of the load balancing objectives include increasing throughput, reducing response time, and improving traffic. 109SDN load balancing techniques are more precise and perform better.Due to commercial concerns, load balancing is one of the most crucial topics in SDN-related research. 110Dynamic load adjustment is a technique for distributing the workload among the current hosts by executing virtual machine migration and analyzing workload performance at various time intervals. 111sing two strategies, controller clustering, which targets the dynamic controller, and switch migration, which manages the load distribution between controllers to maintain load, Hu et al. 49 present a complete review that explains the multi-controller concept and highlights the role of load balancing.
Using a new controller state synchronization approach and load variance-based synchronization (LVS), Zehua et al. 112 have addressed the looping and controller synchronization issues to improve load-balancing performance in multi-controller architecture.
By using a poly-stable matching algorithm, the authors Killi and Rao in Reference 113 aimed to decrease the maximum load imbalance among controllers.
The controller capacity is impacted by increasing the number of SDN switches during migration.A suitable strategy is required to find the controller and install more controllers in the network for load balancing in order to handle the issue of increased control traffic with the rise of SDN switches. 98n effective load balancing technique for numerous controllers in SDN is created by the research in Zhong et al. 114 A SCPLBS on SDN distributed controllers is presented.The time that controllers use to collect and publish loads can be changed adaptively.If the loads on the controllers are higher than the threshold, the switch with the highest loads is transferred to the controller with the lowest loads.The study in Zhou et al. 115 suggests a DALB.The aim of this algorithm is to balance the load on each controller.The switch with the highest load is relocated if its loads go over the threshold.DALB reduces the overhead of the controllers by using a threshold for load collection.Adaptive threshold adjustments can be made for each controller based on the loads that are handled by it.
According to Konglar et al., 103 a distributed controller architecture, however, does not ensure that the overload issue can be fully resolved.In order to reduce the loads on the overloaded controllers, this work suggests a LDOP.They propose a controller manager that is only responsible for transferring switches from an overloaded controller to other controllers.The LDOP method can also lower the overall number of loads from all controllers that exceed the threshold.Switches are moved based on preventing switch migration from making a chosen controller an overloaded controller.The LDOP algorithm can operate when all controllers are overloaded.
In their research, Babbar et al. 105 have presented a latency-based load balancing solution for multiple SDN controllers.Their suggested technique resolves the load-balancing issues with multiple overloaded controllers in the SDN control plane by determining the necessary latency and addressing multiple overloads concurrently.Along with the migration, their algorithm's latency has decreased by 25% when compared to other algorithms.
In Reference 68, the communication with the switches is handled by multiple controllers in a distributed architecture.As a result, each controller experiences a reduction in processing load as a result of the distribution of control traffic between switches and controllers, which has a positive load balancing effect.
The load balancing approach for distributed controllers in SDN presented in Reference 104 is dynamic and adaptable and is based on a hierarchical control plane.They have put forward a useful load balancing mechanism for distributed controllers that may dynamically migrate the load via switch migration from the heavily loaded controller to the lighter loaded one in accordance with the load distribution of the control plane.According to the simulation results, the suggested technique can dynamically balance the load on the control plane and boost the throughput of distributed controllers.
Wang et al. 53 presented a load adjustment technique to be applied to each controller in order to achieve load balance among multiple controllers.In SDN systems, Three logical parts make up the suggested mechanism: a load collector, load balancer, and switch migrater.The experiment results demonstrated the effectiveness of the data gathering process and the adjustment of global and local loading.To simulate different loads for each switch, Cbench was used to generate traffic.
Based on the traffic pattern that divides the traffic into TCP and UDP, Gasmelseed et al. 107 suggests a new load-balancing method for SDN.In order to get beyond the centralized controller's management, scalability, and availability constraints, this study uses a distributed controller design.According to this study, the suggested algorithm outperforms random, round robin, and weighted round robin in terms of availability, response time, transaction rate, throughput, concurrency, and packet loss.To prevent the single point of failure problem and to achieve fault tolerance, the proposed algorithm employs a failover mechanism.The algorithm also demonstrates its effectiveness in a dynamic network with heterogeneous traffic that demands high availability, low response times, high transaction rates, high throughput, minimal concurrency, and minimal packet loss.
From their simulation results, Lin et al. 116 concluded that the proposed robust controller placement heuristic algorithm with an integer linear programming (RCP-ILP) enhances the robustness, the efficiency and load balancing of SDNs at the cost of least controllers placement against links failure.
Yang et al. 117 presented Simulated Annealing Partition-based K-Means (SAPKM), a low-complexity controller placement algorithm for SDWAN, to provide load balancing among distributed controllers.Through the simultaneous improvement of propagation delay and network reliability performance, experimental findings showed the efficacy of SAPKM in lowering average load and load balancing indices.
For a typical ISP, Al et al. 14 describe a SDN load-distribution method.To do this, researchers have created an optimization technique using linear programming.For this, a multi-objective model has been created.Among the numerous objectives are to increase link availability, maximize link utilization, and minimize the typical round-trip time for the most popular websites.

SDN IN ISP/TELCO NETWORKS
Dawadi et al. 13 compared the network performance of the traditional network with that of the SDN network for Internet Protocol (IP) routing in order to assess the viability of the SDN deployment in the ISP/Telco network.Researchers discovered that SDN-IP performs better in terms of bandwidth and latency.The experimental investigation of interoperability between SDN and traditional networks demonstrates that SDN implementation in a carrier-grade ISP network at the production level is practical and forward-thinking.Also, they claimed that their experimental work would motivate service providers to effectively convert their traditional networks to SDN.Zhang et al. 68 evaluated the delay trade-off of the controller placement problem for several real ISP network topologies and proposed a new evolutionary algorithm to find the corresponding Pareto frontier.Additionally, researchers develop a simple model to estimate the response time perceived by the switch.This was accurately validated with a working Software Defined WAN (SDWAN).They also developed new approximation algorithms that formulate optimization problems to minimize response time and evaluate their performance against optimal solvers for real ISP network topologies.
In order to convert traditional IPv4 networks to multi-domain SoDIP6 networks and investigate the viability of joint network migration in ISP networks, this 98 study implements the SDN-IP and ONOS SDN controller.Researchers present findings from thorough simulations for the best location of the master ONOS controller during network migration by considering the least amount of control path latency utilizing optimal path routing and BFR technique.
In this article, 98 by utilizing the ONOS/SDN-IP platform for network migration, researchers take note of the migration of shortest-path routers and find the optimal location for controller installation with its instance generation for control traffic load balancing through the selection of median point router.
Dawadi et al. 98 presented that, due to the lack of highly developed SDN-based standards and other important considerations that must be taken into account while real-time migrating existing legacy IPv4 networks, SDN deployment across ISP/Telco networks is a difficult problem.Numerous migration strategies have been researched, but none of them appear to be close to being put into practice.
Due to the increase in traffic demand, ISP must strengthen the current network infrastructure in order to handle peak traffic loads and respond to situations that impair network performance, such as link failures or router problems. 118he controllers will only handle the SDN-capable nodes during incremental SDN deployments, and each ISP must be extremely selective about which nodes to upgrade and when to do so.Poularakis et al. 119 studied the issue of when and which nodes in an ISP network should undergo SDN upgrades.Researchers concentrated on two common objectives for ISPs: (i) increasing the amount of programmable traffic that travels through at least one SDN-enabled node; and (ii) increasing the flexibility of traffic engineering, or the number of additional paths made available to flows by SDN upgrades.As part of their research, they also look at the dual upgrading problem, which involves ensuring certain goals for performance while minimizing the cost of upgrading for the ISP.
Vissicchio et al. in Reference 10, it is nearly impossible to upgrade a full ISP network in one go with SDN because it would be extremely operational burden and would increase performance and security threats.ISPs are anticipated to choose to migrate to SDN incrementally, that is, by progressively upgrading their network nodes over a number of years.The controllers will only handle the SDN-enabled nodes in these incremental SDN deployments; the rest of the traditional network will continue to use OSPF-like routing protocols.
Kong et al. 120 evaluate real-world ISP traffic using OFSim, and their results indicate that: (i) Current OpenFlow switch implementations cannot handle real-world ISP traffic; and (ii) Although there is a controller scalability issue, the performance bottleneck may actually be in the current OpenFlow switches, where the flow table entry installation delay is a more urgent issue despite the controller scalability issue.
Moradi et al. 121 introduce Dragon, a unique traffic engineering (TE) application framework in large ISP networks for the SDN control plane, to address the scalability issue.They demonstrate that Dragon outperforms existing TE approaches in terms of speed and optimality by doing rigorous evaluations on real topologies and prototyping with SDN controllers and switches.
Also, SDN will play a significant role in the future telecommunications landscape.The most significant application scenarios for SDN are (1) virtualization of mobile core networks, (2) virtualization of content delivery networks, and (3) virtual network platform as a service (VNPaaS).Telcos from all around the world are the main players in SDN business and services.This is so because the telecom sector recognizes the significance of the effective network an SDN provides.
By enhancing the quality of service at network nodes that are close to Internet of Vehicles (IoV)s, the Vehicular ad-hoc networks (VANET) can be made more effective. 122esearch trends in the joint paradigm of 5G and SDN include adaptive clustering in SDN-enabled 5G, SDN-based advance channel allocation in 5G SDN-based networks, joint optimization for reduced power consumption, and SDN-based 5G IoV architecture.Transmission Latency, energy efficiency, scalability, mobility and routing, interoperability, and security make up the majority of the research topics. 123he next-generation advanced network must be elastic, dynamically adaptable to user needs, and flexible.Mobile edge computing for SDN-based wireless networks, 124 Mobile Edge Computing using Deep Reinforcement Learning, 125 5G-Slicing-Enabled Scalable SDN Core Network, 126 Adaptive clustering SDN-enabled 5G VANET, 127 hybrid SDN-based distributed Cloud architecture having the control plane distributed over different controller types (i.e., fog, edge, SDN), 128 deploying SDN OpenFlow with the 5G mobile Network, 129 security improvement in SDN-based 5G network, 130 and 5G security and emerging concepts are a few current research issues in joint SDN and 5G environments.

SDN SECURITY CONSIDERATIONS IN ISP/TELCO NETWORKS
There are several difficulties with SDN implementation for ISP/Telco networks that must be taken into account and resolved.Despite of all its features and functions, security of SDN is still considered to be a major concern.The SDN Infrastructure is vulnerable to various security threats.Application layer, control layer, and infrastructure layer attacks are some of the more frequent threats against SDN.Every SDN component must be secured in order to maintain a secure SDN environment. 131here are various SDN security attacks: hardware Trojan attacks, replication attacks, malicious code attacks, eavesdropping attacks, spoofing attacks, sybil attacks, distributed denial of service attacks (DoS), and man-in-the-middle. 132ne of the most common of these is DDoS attacks.The attacks are more likely to succeed in an SDN context because of the centralized controller and the ease with which flooding can cause disruption.One common security intrusion tactic used by attackers to prevent authorized users from accessing a targeted host or other network resources is the DDoS attack.They are divided into three categories: application-based attacks, protocol-based attacks, and volume-based attacks. 133o keep up with the constant inflow of new threats without compromising network performance or even harming the consumer experience, thus service providers require a cutting-edge strategy and toolkit.The SDN controller must provide techniques for fault tolerance, recovery, and backup and protect the network from malicious attacks, errors, and failures.The centralized and programmable nature of the SDN controller exposes security to new dangers and weaknesses.ISP/Telco must implement and integrate a variety of reliable and secure techniques and tools, including encryption, authentication, authorization, auditing, logging, monitoring, testing, verification, and debugging, in order to address some of the issues raised by SDN.These can help to protect the integrity, availability, and resilience of the SDN network by preventing, detecting, and mitigating any risks and damages (https://www.linkedin.com/advice/3/whatbenefits-challenges-implementing-sdn-traffic).
Application security, API security, controller security, DDoS, infrastructure security, and so forth are all supported by secure SDN architecture. 134It's important to take into account dynamic variations in application demand as well. 135he IoT, autonomous vehicles, telemedicine, and smart cities are a few examples of emerging technologies that have always attracted attackers.The security threats against the supported services must therefore be addressed by 5G networks. 136

DISCUSSIONS AND FUTURE RESEARCH DIRECTIONS
In this survey, we discussed first the CPP, MCPP, and performance metrics in SDN.We then emphasize the significance of load balancing when choosing the multi-controllers.There are still a number of challenges that need to be researched.38]51 But none of them have particularly addressed ISP/Telco networks.Therefore, research must be confined to CPP issues in large-scale ISP/Telco networks.
The majority of the research approaches do not take into account dynamic load balancing and prospective ISP/Telco failure scenarios.A load balancing method for ISP/Telco is therefore quite promising.Additionally, the majority of the reviewed methods omitted the load detection/prediction approach.The presentation of a new technique to perform load prediction using ML and AI is thus another area for future development.In addition to the technical difficulties associated with the performance and scalability of SDN solutions in WANs, ISPs must make a significant investment to switch from their present legacy hardware deployment to SDN solutions.
Furthermore, The placement of controllers based on long-term and short-term planning and employing traffic prediction are currently unresolved research questions in SDN.The CPP and MCPP in the network-based partitioned with load-balancing approach can also be evaluated for controller placement in a variety of scenarios in 5G and beyond networks.As a result, further research should be done to find solutions to these issues accordingly.
More research needs to be done on effective traffic balancing solutions.We encourage future researchers to pursue the areas of the aforementioned topic in order to create novel methods for MCPP with load balancing for SDN in WAN.
Regarding the controller placement (CP) issues in the context of next-generation IP and advanced networking technologies with SDN support, we identify the following potential research topics: 1. Controller security issue in the joint paradigm of SDN and 5G: One of the most crucial issues is the controller's security.In the near future, 5G and SDN will promote mobile communication through the creation of cutting-edge applications such as smart cities, cutting-edge military security, intelligent traffic, etc.In the future, it will be important to solve the security concerns that arise when integrating SDN with 5G.For instance, the centralized controller in SDN may introduce new threats to network flows, requiring the implementation of a strong security framework.As a result, researchers should think carefully about high-level security for controller placement techniques.

CP issue in the SD-IoT networks:
A massive, intelligent, efficient, secure, reasonable, and scalable IoT must be developed to manage the rapidly increasing number of devices.SDN has become an essential platform for implementing Internet of Things (IoT) services due to the high benefits it offers by separating the network control plane from the data plane.In contrast, distributed and dynamic IoT networks cannot be solved effectively by placing a static SDN controller.Therefore, a intelligent way for controller placement and their load balancing approach in SDN-IoT network must be researched.3. CP issue in the SDN enabled 5G satellite: The location of SDN controllers should be such that they can minimize the effects of any failure or inefficiency in the nodes or links while continuing to improve average control path reliability and lowering controller-to-gateway latency.Due to the changing network topology in 5G satellite networks, the controller location issue is definitely significant and needs to be looked into.4. CP issue in the SDN-based distributed cloud, fog, and edge (5G-enabled and beyond) To meet different performance needs, SDN controllers can be deployed in various deployment techniques, such as centrally or distributed.When the controllers support both IP and SDN switches, the design becomes more complicated.Scalability, consistency, reliability, and security levels vary according to these varying designs.For the control plane to be correctly extend over all the different controller types (such as fog, edge, and cloud), a special kind of controller design is needed.In order to efficiently use the scarce fog resources, the controller needs to be knowledgeable and intelligent.The efficient study of controller connectivity and collaboration approaches among all controllers must be addressed.

CP issue in the SDN-based IoV:
Controller placement is a key challenge for achieving SDN's stability and flexibility to changes in network state.It is challenging for the IoV to offer reliable and scalable wireless network services for emerging applications in the 5G and beyond future due to flow fluctuations in the highly dynamic IoV.An intelligent and efficient ML-based technique must be studied for the optimal positioning of SDN controllers at the edge of networks for IoV, considering different optimization problems like latency and load balancing.Further, placement driven by a machine learning-based prediction of road traffic, taking more placement metrics in sequence, and decreasing inter-controller synchronization overhead could be the research area to meet the CP issues in an Software Defined Vehicular Networks (SDVN) context.6. CP issue in the Software defined wireless sensor networking (SWSN): Multiple SDN controller nodes will be needed to manage the configuration of large-scale WSNs.The use of multiple SDN controllers to create a physically distributed SDN is a common way to enhance performance, increase scalability, and improve fault tolerance.Deploying a controller is still a difficult problem in SWSN because it is based on the network's size and requirements.Thus, Identifying the optimal location of SDN controllers and multiple controller deployments is the research issue with SDN-enabled WSN. 7. CP issue in SDN-Optical Networks (SDON): With their increased bandwidth capacity, optical networks assist the telecommunications industry globally in a number of ways, including quicker data speeds, greater transmission range, and reduced latency.To achieve balance and the best SDON performance, the proper placement of SDON controller components should be addressed in future.

CONCLUSION
There is the major state-of-the-art review on MCPP in SDN for data centres and few are found in ISP/Telco networks, as far as we are aware.With the intention of establishing the context for SDN, we have first provided a quick overview of SDN and its architecture in this paper.We talked about load balancing techniques and research approaches related to CPP and MCPP.To increase the effectiveness of SDN, controller placement must be done optimally.Multiple controllers are necessary for large-scale SDN in order to assure scalability and stability.At present, the majority of researchers are working on controller placement problem for data centers.However, they do not offer a particularly efficient approach for the large-sized ISP/Telco networks with multi-controllers dynamic traffic load and fault.The efficient and effective choice of numbers and placement of SDN controllers is a challenge that might be solved through further research in this field.Thus, the future research is required to increase the availability, performance of the network and making the network more reliable.
After the completion of this survey, the following points are concluded and highlighted: 1.There are challenges, issues, and opportunities for controller placement in the SDN network over a large-scale ISP/Telco.These need to be identified and addressed.2. The best strategy for placing multiple (newly added) SDN controllers in a large-scale ISP/Telco networks must be determined.3. Load statistics for multiple controllers are to be measured, and still, an intelligent load distribution strategy must be developed.4. Researchers need to focus on optimizing the number and locations of controllers in order to create balanced controller load distributions in the network.5. Modeling SDN security and researching the effects of CPP optimization are both necessary for future work.
Generic layered view of SDN.
TA B L E 2Controllers support a number of Northbound Interfaces (NBIs), but most of them are based on REST APIs.To improve controller interoperability, standard east-west interfaces like ALTO, Hyperflow, etc. define several network controller communication protocols.
Factors of CPP.
TA B L E 3

TA B L E 4 SDN controller placement strategies.
SDN performance metrics.Degree of load balancing, Throughput, Utilization, Execution time, Peak load Ratio, Response time, Overhead, Root mean Square Error, Packet loss rate, Percentage of matched dead line flow, Energy consumption, Migration cost, Forwarding centric, Guaranteed bit rate, Overload ratio, average number of synchronization per minute, Workload and TA B L E 5 Different latency approaches.
TA B L E 6 Network partitioning-based MCPP implementation approaches in different state-of-the-art.
TA B L E 7