Abstract: A digital society, where (nearly) everything is connected and accessible from anywhere, has been made possible by the Internet. Nevertheless, traditional IP networks are complicated and challenging to administer despite their broad use. It is challenging to set up the network with preset policies and to adjust it in response to changes, loads, and faults. The fact that the control and data planes of modern networks are bundled together adds to the difficulty of the situation. By dismantling vertical integration, separating the network's control logic from the underlying routers and switches, encouraging (logical) centralization of network control, and introducing the ability to program the network, Software-Defined Networking (SDN) is an emerging paradigm that promises to change this state of affairs. The key to the desired flexibility is the separation of concerns created between the definition of network policies, how switching hardware implements those policies, and how traffic is forwarded. SDN facilitates the creation and introduction of new abstractions in networking by breaking the problem of network control into manageable chunks, thereby streamlining network management and promoting network evolution. We provide an extensive survey on SDN in this chapter. Our comprehensive examination covers the network virtualization layers, hardware infrastructure, southbound and northbound APIs, network operating systems (SDN controllers), network programming languages, and network applications. We also examine cross-layer issues like troubleshooting and debugging. To predict how this new paradigm will develop in the future, we go over the primary SDN research topics and obstacles. We specifically cover new opportunities for carrier transport networks and cloud providers, as well as the design of switches and control platforms, with an emphasis on features like resiliency, scalability, performance, security, and dependability. Finally, we examine SDN's role as a fundamental facilitator of a software-defined environment.
Keywords: OpenFlow, network virtualization, network operating systems, programmable networks, network hypervisor, programming languages.
|
DOI:
10.17148/IMRJR.2024.010304