Types of Software Defined Networks Implementation
The implementation of SDN varies very much from the conventional network. In traditional networking, the data packet forwarding and routing happen in the same device. Whereas in SDN it is separated into two planes as data plane and control plane. In every SDN implementation, there are three elements involved:
- Protocol to communicate with hardware devices(Switches)
In traditional networks, these three elements are present in the same device, which makes it difficult to program and control the switches. But in SDN, these three elements are separated which opened ways for many types of research and developments in Software-defined networks. In this article, we have discussed ways of implementing Software-defined Networks.
Types of SDN Implementation:
- Open SDN
- SDN via APIs
- SDN via Hypervisor-based Overlay Network
Open SDN is implemented using the OpenFlow switch. It is a straightforward implementation of SDN. In Open SDN, the controller communicates with the switches using sound bound API with the help of OpenFlow protocol.
SDN via APIs:
In SDN via API, the functions in remote devices like switches are invoked using conventional methods like SNMP or CLI or through newer methods like Rest API. Here, the devices are provided with control points enabling the controller to manipulate the remote devices using APIs.
SDN via API does not require OpenFlow enabled switches and can also work well with traditional switches. Using SDN via API, it is easier to make orchestration software. SDN via API provides increased openness thereby eliminating the need for proprietorship.
Even Though the SDN via API is non-proprietary, the APIs used in SDN via API is proprietary and can only be used by particular vendors.
SDN via Hypervisor-based Overlay Network:
In SDN via the hypervisor, the configuration of physical devices is unchanged. Instead, Hypervisor based overlay networks are created over the physical network. Only the devices at the edge of the physical network are connected to the virtualized networks, thereby concealing the information of other devices in the physical network. Here, the hypervisor controls the network traffic of the physical device by sending and receiving traffic to the virtualized networks. As a result, the edge devices control the virtual network.
If a packet enters the edge of the virtual network, the hypervisor takes the packet and encapsulates it with another frame. The edge of the virtual network is called Virtual Tunnel Endpoint (VTEP). The hypervisor then sends the encapsulated packet to the destination VTEP based on the information programmed by the controller and then it is forwarded to the destination host.
Advantages of SDN:
- The centralized controller is one of the core advantages of SDN which is used to make the decision fast with the incoming packets.
- As the data plane and control plane is separated, the lines of code to manage the device are reduced.
- The code will be written only once on the controller which will be used to manage the underlying planes.
- The controller itself is provided with the feature of network topology management, device management, flow management, statistics tracking which indeed eliminates the need for third-party devices/software to manage all these activities.
- The network abstraction helps to decouple the network from underlying devices.
- SDN is also well known for its openness ie. SDN is not proprietary.
Disadvantages of SDN:
- SDN lacks the standard Northbound API.
- Co-ordinating the applications is also a pitfall in SDN’s controller.
- The use of SDN for large scale is not properly defined and explored.
- Prioritization of flow for any packet transfer is also the issue in SDN.
Application of SDN:
- SDN manages the traffic loads for different paths or for a set of defined endpoints.
- It finds the best path for a packet transfer between two endpoints.
- It takes care of the changes in the topology of the network which may be caused by adding the new devices to the existing path, adding a new path for a packet transfer, and link failure.
- It helps to redirect the traffic in case of any segregation, authentication, and inspection is taking part in the path.
- SDN also does load balancing, firewalling, etc.