SDN
Software-defined networking (SDN)[1][2]
SDN architecture) defines how a networking and computing system can be built using a combination of open software-based technologies and commodity networking hardware to supports dynamic programmable network configuration.
SDN uses the controller for network device management, network service orchestration, and service traffic scheduling, which features low costs, centralized management, flexible scheduling and dynamic network environment.
Automatic operation, management and centralized management brought by SDN have great application space in automatic scheduling and capacity expansion of scaleable network in large-scale data centers.
Many network device vendors have adopted the concept of SDN. such as Avaya, HP, Brocade, Cisco, Hewlett Packard (HP) and Vmware NSX.
Basic Architecture
The traditional distributed networks, reachability information is broadcast between devices at Layer 2, and topology information is transmitted through standard routing protocols at Layer 3. This requires that all devices, regardless of their vendors, use the same network protocol for successful communication. To well adapt to varying requirements and scenarios, traditional networks are becoming more and more complex. even the traditional network devices are managed one by one using commands, leading to low network management and service scheduling efficiency and high operation costs.
SDN Applications
the applications can build an abstracted view of the network. These applications could include networking management, analytics, or business applications used to run large data centers.
SDN Controller
SDN controller is a 'brain” of the SDN network. The SDN controller is a logical entity that receives instructions or requirements from the SDN application layer and relays them to the networking components. The controller also extracts information about the network from the hardware devices and communicates back to the SDN applications with an abstract view of the network, including statistics and events.
For example, Cisco's APIC-EM is a commercial version of SDN controller that was created for Enterprise hardware.
SDN Networking Devices
The SDN networking devices control the forwarding and data processing capabilities for the network. This includes the forwarding and processing of the data path.
The SDN architecture APIs are often referred to as northbound and southbound interfaces.
- Northbound interface is defined as the connection between the controller and applications
- Southbound interface is the connection between the controller and the physical networking hardware.
Types of SDN
- Open SDN: Network administrators use a protocol like OpenFlow to control the behavior of virtual and physical switches at the data plane level.
- SDN by APIs: Instead of using an open protocol, application programming interfaces control how data moves through the network on each device.
- SDN Overlay Model: Another type of software-defined networking runs a virtual network on top of an existing hardware infrastructure, creating dynamic tunnels to different on-premise and remote data centers. The virtual network allocates bandwidth over a variety of channels and assigns devices to each channel, leaving the physical network untouched.
- Hybrid SDN: This model combines software-defined networking with traditional networking protocols in one environment to support different functions on a network. Standard networking protocols continue to direct some traffic, while SDN takes on responsibility for other traffic, allowing network administrators to introduce SDN in stages to a legacy environment.
The advantages of SDN
- Network programmability - administrator personnel can send instructions to network devices by using a programming language using scripts to automatically create and assign tasks and collect network statistics.
- Network abstraction - the controller interacts with network devices and applications through southbound and northbound APIs, respectively, and abstracts underlying hardware devices as virtualized resource pools. Applications and services are no longer tightly coupled with hardware.
- Cost reduction - The original hardware devices are retained on the network and they still have all functions of management, control, and forwarding. This does not require large-scale migration and improving O&M efficiency and reducing costs.
- Flexible service scheduling - without changing the overall logic of hardware devices, SDN adds open northbound and southbound APIs to translate computer languages into configuration command lines, making GUI-based management and centralized management possible and solving the problem of inflexible service scheduling on traditional networks.
- Centralized management - with controllers of SDN, network administrators can manage underlying hardware devices, orchestrate network services, allocate network resources, and adjust traffic priorities. They can directly detect the status of the entire network and adjust bandwidth and optimization policies in a timely manner, facilitating network-wide management.
- Openness - the SDN architecture allows vendors to develop their own ecosystems through open APIs. These open APIs support multiple applications, such as cloud orchestration, OSS/BSS, and SaaS. In addition, the SDN architecture can control hardware of multiple vendors through OpenFlow.
SDN Framework
OpenFlow
OpenFlow is the protocol that allows the SDN controllers to communicate with the forwarding plane of network devices. It is considered one of the most popular protocols that is used between the network devices and SDN controller. because OpenFlow protocol is a defact standard supported by multiple vendors's network hardware vendors.[3]
- OF-config - OpenFlow Configuration and Management Protocol
Types of OpenFlow switches,
- Hardware-based OpenFlow switches
- Software-based OpenFlow switches - OVS (OpenvSwitch)
- Hybrid OpenFlow switches - A virtual switch on the top of specialized hardware so called DPDK(Data Plan Development Kit), much faster than commodity computer based software-based OpenFlow switches.
OpenDaylight (ODL)
OpenDaylight is a JAVA based open source SDN controller, founded by the Linux Foundation. It is the popular open source SDN controllers at the moment.
OpenFlow enabled device is required to work with OpenDaylight. The best virtual network to test open daylight is Mininet. Mininet enables you to run a virtual network on your computer with devices that support OpenFlow.
POX[4]
POX is Python based a networking software platform.
NOX[5]
NOS is C++ based SDN controller.
ONOS[6]
ONOS (Open Network Operating System) is an open source SDN controller to build SDN/NFV solutions for service provider networks
ONIE[7]
Open Network Install Environment (ONIE) is open source network OS inatallation framework for open networking hardware
Netconf[8][9]
Cisco Open SDN Controller. Network Configuration Protocol, better known as NETCONF, gives access to the native capabilities of a device within a network, defines methods to manipulate its configuration database, retrieves operational data, and invokes specific operations
Floodlight[10]
Floodlight is the leading open source OpenFlow controller
Ryu[11]
Ryu is a python based software defined networking framework. it supports various protocols for managing network devices, such as OpenFlow, Netconf, OF-config
References
- ↑ https://slideplayer.com/slide/6204491/
- ↑ https://nitizsharma.com/software-defined-networking-sdn/
- ↑ https://slideplayer.com/slide/6204491/
- ↑ https://github.com/noxrepo/pox
- ↑ https://github.com/noxrepo/nox
- ↑ https://opennetworking.org/onos/
- ↑ https://opencomputeproject.github.io/onie/overview/index.html#
- ↑ https://www.keysight.com/blogs/en/tech/traf-gen/2020/11/16/netconf-and-yang-de-facto-network-management-for-sdn
- ↑ https://www.cisco.com/c/en/us/td/docs/net_mgmt/open_sdn_controller/1-1/admin/guide/b_OSC11_Admin_Guide/b_OSC11_Admin_Guide_appendix_0111.pdf
- ↑ https://github.com/floodlight/floodlight
- ↑ https://ryu-sdn.org/