SDN
What is SDN?
Software-Defined Networking (SDN) is a method of achieving network virtualization. It uses the core technology OpenFlow to separate network devices' control plane and data plane, making the network intelligent and fulfilling the purpose of flexible network traffic control.
Simply put, SDN technology allows IT administrators to use a centralized panel of software applications to control network traffic in complex topology networks without manually controlling each network device (such as routers, switches, etc.) one by one. In this way, SDN builds a centrally manageable and software-programmable network architecture with centralized management, flexible scheduling, and low cost.
What are the Problems SDN Solves?
Traditional distributed network devices broadcast reachability information at Layer 2 and transmit topology information through routing protocols at Layer 3. The network comprises various devices from different manufacturers, which requires the devices in the network to communicate using a unified, standardized protocol. As the network becomes more complex, users' requirements are also constantly changing, and traditional distributed networks need to formulate new protocols and modify network protocols to cope with the ever-changing communication requirements. In addition, this type of network also requires the management of devices one by one, which could be more flexible and efficient, increasing the cost and complexity of operation and maintenance.
The SDN architecture uses programmable technology to allow manufacturers to use open APIs to develop applications that suit their business needs and to control multi-vendor hardware through OpenFlow centrally. Devices in highly distributed complex networks can all be centrally configured, managed, and troubleshot, significantly reducing the complexity and cost of network management, operation, and maintenance and improving network management efficiency and troubleshooting.
How does SDN Work?
The hardware devices of traditional networks have the capabilities of the management plane, control plane, and forwarding plane. The management plane is responsible for formulating policies and coordinating network services, the control plane controls the operating system and computing algorithms, and the forwarding plane is responsible for forwarding and receiving data packets.
The core principle of SDN technology is to decouple the control plane (operating system and software) and data plane (data forwarding function) of network devices so that the control plane of network devices can be extracted from the hardware devices and programmed directly through the software. As can be seen from the figure below, the software-defined management and control capabilities in the SDN architecture are separated from the data forwarding capabilities of the hardware devices. The network devices in SDN become pure hardware white box devices, and the software is defined separately.
The above SDN, which separates software and hardware as much as possible, is called software SDN. It should be noted that this is only a classic SDN technology architecture. Still, with the development of SDN technology, there is also a hardware SDN technology that weakens the separation of software and hardware. Its focus is to achieve operation and maintenance automation. This hardware SDN technology retains the underlying operating system and most software protocols of the control plane on the hardware devices. It uses controllers to manage hardware devices and network configuration management tools, thus achieving centralized management of hardware devices.
What are the Applications of SDN?
SDN has been adopted in many fields, and the following are some examples.
Data Center: Simplify the management of complex data centers, support dynamic workload migration and traffic between servers, and achieve fast configuration and dynamic regulation.
Wide Area Network (SD-WAN): Connect applications and cloud services, provide better user experience, and optimize comprehensive area network performance.
Access Network (SD-Access): Improve the security and efficiency of user and device access and simplify access management.
Network Function Virtualization (NFV): Use virtualization technology to deploy and manage network functions, reduce costs, increase flexibility, and provide customized paths.
Campus and Enterprise Network: Through centralized management, unified implementation of security policies, dynamic adjustment of access rights based on user identity, device, and context, and user experience improvement.
Cloud Computing and Multi-Cloud Integration: Support elastic expansion and automated management of cloud resources and achieve efficient integration of different cloud environments.
Internet of Things (IoT): Achieve efficient device management and security monitoring through centralized control and support large-scale device access and management.
5G: Optimize different types of networks, support network slicing and multi-access edge computing (MEC), and improve network flexibility.