Software-defined networking (SDN)
Software-defined networking (SDN) is an innovative approach to computer networking that decouples the control plane from the data plane, allowing for greater flexibility and manageability of network resources. In traditional networking, physical hardware switches are necessary for data flow management, which can become cumbersome as networks grow in scale and complexity. SDN leverages virtualized switches, which are managed by centralized software, making it easier to adjust network configurations and allocate bandwidth dynamically. This flexibility enables network administrators to rapidly deploy and scale networks according to changing demands, similar to cloud computing.
However, while SDN provides significant benefits in terms of adaptability, it also introduces challenges, such as potential performance slowdowns and increased complexity in maintenance and security. The architecture of SDN is typically divided into three layers: the application layer, the control layer (which includes the network controller), and the infrastructure layer (containing programmable switches). As organizations increasingly rely on digital technologies, SDN offers a modern solution to the evolving needs of large networks, although it may not be suitable for all scenarios due to its resource demands and operational challenges.
On this Page
Subject Terms
Software-defined networking (SDN)
Software-defined networking (SDN) refers to a specialized type of computer network. Computer networks allow machines to communicate with one another. Simple networks allow two computers to communicate with each other, while complex networks allow many computers—often separated over a wide geographic area—to share information.
![The Open Networking Foundation is funded by Google, Facebook, Microsoft, and other technology companies with the aim of promoting SDN. The Pancake of Heaven! [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)] rssalemscience-20190201-33-174197.jpg](https://imageserver.ebscohost.com/img/embimages/ers/sp/embedded/rssalemscience-20190201-33-174197.jpg?ephost1=dGJyMNHX8kSepq84xNvgOLCmsE2epq5Srqa4SK6WxWXS)
![Overview of Software-Defined Networking Architecture. Open Networking Foundation (ONF) [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)] rssalemscience-20190201-33-174231.jpg](https://imageserver.ebscohost.com/img/embimages/ers/sp/embedded/rssalemscience-20190201-33-174231.jpg?ephost1=dGJyMNHX8kSepq84xNvgOLCmsE2epq5Srqa4SK6WxWXS)
In traditional computer networking, computers send data to switches. Switches are pieces of hardware that manage the flow of data between a router and a computer. However, as networks grew in size, this process required a larger amount of physical switches to be in place for a network to function. Later, networks began to have computers emulate switches, allowing the network to operate without a separate piece of hardware to serve as the switch. Emulation is a process in which one computer uses hardware or software to imitate or copy the systems of another computer.
In SDN, all the emulated switches on a network are managed by a piece of controlling software. This allows network administrators to rapidly expand or shrink the number of computers that have access to the network, and to reassign network bandwidth as necessary. However, because SDN causes additional strain on hardware, it tends to perform more slowly than other types of networks.
Background
Networking refers to the process of sending and receiving data within an information system. Networks are series of nodes, often composed of individual computers, which are attached in a manner that allows them to share information. In many cases, multiple computers are connected to a central hub called a switch. In larger networks, many switches may be connected to a router, a device that manages traffic across the network.
Most networks utilize a physical network structure, which is the traditional way of creating a network. In a network utilizing a physical structure, each computer is connected to another computer or a central hub through a direct connection. The connection is often hardwired, though it may also be accomplished through the use of a wireless network.
Computers within a network usually use a standard set of rules known as protocols to operate. Common protocols include voice over IP (VoIP), HTTP, and the internet protocol suite (TCP/IP). Together, these protocols allow data to be transmitted across the internet.
Some networks utilize a process called virtualizing switches. This means that the network may not utilize specialized hardware switches like earlier networks. Instead, the computers connecting to the network use specialized software to emulate a switch. Emulators can be deployed more rapidly than hardware switches, and can be reproduced more easily in a precise, controllable manner. This allows for faster network deployment, as pieces of hardware do not have to be physically installed in new areas before they can be connected to the network. Additionally, virtual switches tend to be more agile than their physical counterparts. If needed, the network can be rapidly moved from one set of machines to another by remotely installing or uninstalling the necessary software. However, because the hardware involved in virtual switches needs to be powerful enough to both emulate existing hardware and the software it would run, it tends to run more slowly than physical hardware switches.
Overview
As digital technology has evolved, the networks required for computers to function at modern standards have grown in both size and complexity. Modern networks grow rapidly, and are often required to change their service areas in short periods of time. Though these networks are sometimes administered by large, specialized staffs, it is exceedingly difficult to rapidly relocate large numbers of hardware switches.
While virtualized switches may be easier to manage than physical switches, it can be difficult for large, modern networks to manage an increasing numbers of virtualized switches. Errors made when activating, deactivating, or relocating switches can cause problems for the larger network as a whole. This includes accidentally disconnecting some of the devices on a network, which can cause severe problems for businesses that rely on the network to function.
For this reason, many companies have turned to software-defined networking (SDN). SDN tends to be used on large networks of virtual switches, though it can also incorporate hardware switches. It is similar in structure to cloud computing, in that each switch involved can be controlled from a central location. The switches used in SDN can be programmed, and are controlled remotely through specialized software. Because of this, the configuration of the network’s switches can be rapidly changed.
In SDN, the control plane of the network is separate from the data plane. The control plane involves network administration, including setting rules for how data is transferred and processed. Those rules are applied in the data plane. Because the network is managed by specialized software that can rapidly alter emulated switches, the control plane is no longer bound to the data plane. In previous generations of networks, where the switches were controlled by physical hardware, they could not be separated from the control plane.
Networks that run using SDN can typically be divided into three layers. In the application layer, numerous applications run on computers or emulators. These send data to the control layer, which is made up of the network controller. The control layer contains the software that allows administrators to manage the network. It controls the infrastructure layer, which contains numerous programmable switches.
Because SDN is more flexible than traditional networking, it can often be adapted to meet the needs of the client. Some clients may require industry-specific software or greater amounts of bandwidth at specific times. Using SDN, the network administrator can tailor the product to the client’s specific needs. However, because of the extra processing demands, networks that utilize SDN tend to be slower than traditional hardware-based networks. They can also be more difficult to maintain and more difficult to secure.
Bibliography
“Basics of Computer Networking,” GeeksforGeeks, www.geeksforgeeks.org/basics-computer-networking/. Accessed 14 May 2019.
Fisher, Tim. “What is a Computer Network Switch?” Lifewire, 13 May 2019, www.lifewire.com/definition-of-network-switch-817588. Accessed 14 May 2019.
Mitchell, Bradley. “What is Computer Networking?” Lifewire, 12 Dec. 2018, www.lifewire.com/what-is-computer-networking-816249. Accessed 14 May 2019.
Monnet, Quentin. “An Introduction to SDN,” Whirl, 8 July 2016, qmonnet.github.io/whirl-offload/2016/07/08/introduction-to-sdn/. Accessed 14 May 2019.
Rouse, Margaret. “Network Protocol.” Tech Target, February 2019, searchnetworking.techtarget.com/definition/protocol. Accessed 14 May 2019.
“Software-Defined Networking (SDN) Definition.” Open Networking Foundation, 2019, www.opennetworking.org/sdn-definition/. Accessed 14 May 2019.
“What is SDN?”Ciena, 2019, www.ciena.com/insights/what-is/What-Is-SDN.html. Accessed 14 May 2019.
"What Is Software Defined Networking (SDN)?" Geeks for Geeks, 25 Oct. 2024, www.geeksforgeeks.org/software-defined-networking/#. Accessed 15 Nov. 2024.
“What is Software-Defined Networking (SDN)?” SDX Central, 2019, www.sdxcentral.com/networking/sdn/definitions/what-the-definition-of-software-defined-networking-sdn/. Accessed 14 May 2019.