# Future Internet Architectures on an Emerging Scale--A Systematic Review
## 3 Evolutionary and Clean Slate Approaches
### Challenges of SDN  
Managing complex networks and environments with traditional network design can be expensive, and this is where efficient network services that are flexible and scalable come into play. SDN aims to provide an enhanced configuration with an improved performance, but it is still in its infancy. There are several issues that need to be addressed, including network reliability, scalability, standardization, and adoption. Network reliability is a concern when it comes to how reliable the SDN centralized control is in handling network failures, particularly the central controller. While there are fault-tolerant architectures with multiple controllers, scalability can still be an issue, as the data and control planes are decoupled, and both have their standard APIs. In such cases, the SDN controller may become a bottleneck, as the network scales in terms of the number of switches and nodes [29]. However, multiple controllers in a hierarchical structure can help to prevent bottlenecks. Standardization and adoption are also crucial issues to address for SDN's continued success.  
SDN is based on a centralized networking system, with the controller managing the global view of the network. However, the OpenFlow standards that are used by SDN can raise issues regarding scalability and reliability. One such issue is the controller placement: given a certain network topology, it is important to determine the number and placement of the controllers. While this issue has been studied in the literature with respect to performance optimization, maximizing fault tolerance remains an important challenge to address [30].  
Among the various SDN standards, OpenFlow is widely accepted as the most common SDN standard, but it still has open issues such as resilient communication and scalability [31]. SDN must have a similar resiliency to TCP/IP architectures. The centralized controller is always a concern, as the data plane can lead to an uncontrollable state due to certain attacks. The fault tolerance and robustness of this centralized control are challenging areas that need attention for resilient communication in the future of SDN. There are scalability concerns for SDN, such as the timely delivery of packets to the controller, which may increase the network load, leading to a bottleneck in the controller. Furthermore, additional latency issues may arise due to switches being configured by external entities. Although these issues are not problematic for smaller networks, as the network grows, the controller must process millions of flows per second, highlighting these scalability issues.  
The development of a high-level programming language for SDN applications is still an area that needs attention. Currently, there is a lack of collaboration between SDN application developers, network device consumers, and network device vendors [23]. The transition from traditional networking to SDN can be challenging, as there are concerns regarding the SDN interoperability with legacy network devices, as well as performance and privacy issues that are related to its centralized control. Moreover, the lack of technical support experts for SDN is a major concern. At present, SDN deployment is limited to small testbeds for research prototypes, and such prototypes are not mature enough to instill confidence for real-world deployment.