What is Software-Defined Networking (SDN) ?

 

The limitations of the traditional networks

Traditional networking uses integrated hardware and software to direct traffic across a series of connected switches. The difficulty is that it is hard to perform real-world experiments on large-scale production networks. The reasons for these challenges can be given as Research stagnation due to the expensive equipment to be procured and Networks are lack of modifications and improvements for several years and the rate of innovation in networks is slower as protocols are defined in isolation-lack of high-level abstraction.

What is Software-Defined Networking (SDN)?

SDN came as an idea of virtualizing the network. The initial step for introducing SDN was taken by Stanford University researchers. The Software-Defined Networking (SDN) is a network architecture approach that enables the network to go for a virtualized method which is separating the control-plane that manages the network from the data plane where traffic flows.

A network engineer or administrator can control and monitor traffic from a centralized console without having to touch individual switches in the network with the use of SDN technology. The centralized SDN controller directs the switches to deliver network services wherever they're needed, regardless of the specific connections between a server and devices.
 
An SDN architecture consists of 3 layers. The three layers are the Infrastructure layer, Control layer, and Application layer. 
SDN architecture separates the network into three distinguishable layers, connected through northbound and southbound APIs.

   1. Infrastructure layer: 

The infrastructure layer or data plane consists of both physical and virtual network devices such as switches and routers. All the network devices will implement OpenFlow protocol to implement traffic forwarding rules. (OpenFlow protocol is an open API that provides a standard interface for programming the data plane switches). The data plane is responsible for the processing and delivery of packets. The physical and virtual network devices that it consisted of, handles the packet processing and forwarding by the state of routers and endpoints. This provides a very efficient forwarding mechanism. 

     2. Control layer:

This layer has a centralized control plane that is disconnected from the physical infrastructure to provide an overview of the entire network. 
The layer will use the OpenFlow protocol to communicate with the infrastructure layer. The control plane is establishing the state in routers and determines how and where packets are forwarded. The data plane is programmable, and a central entity maintains, control, and program the data plane. The control of all the data plane devices is done using SDN Controller. The controller also controls the end applications at the Application Layer of the SDN architecture

      3. Application layer:

It uses network services, applications, and orchestration tools to interact with the control layer. It provides an open interface to communicate with other layers in the architecture.
 
SDN technology can make a difference for an organization in the below areas:

1)     Programmable Network: 
SDN enables networks to control by the software without depending only on the physical devices. Because of SDN, network operators can give a customized solution to their customers. By separating hardware from software-based functionalities, Network operators can create innovative new services without limiting to constraints of platforms.

2)     Logically centralized network environment: 
SDN is a centralized network topology. It gives intelligent control and management of network resources. With Bandwidth management, restoration, security, and policies SDN the network provides a great service to network operators by giving them to visualize a holistic view of the entire network.

3)     An abstraction of the network: 
Services and application running on SDN technology are abstracted from the technologies and hardware that provides physical connectivity from network control. Applications can interact with the network through APIs, instead of management interfaces.

4)     Openness: 
SDN architecture uses open APIs that supports a wide range of applications, including cloud orchestration, SaaS, and business-critical networked apps. SDN’s intelligent network services and applications can run within a common software environment.

There are also certain challenges that could be faced because of SDN architecture.

Security is both a benefit and a concern for an organization that uses SDN technology. The centralized SDN controller presents a single point of failure so that if an attacker targets a point it will be affected the entire network's functionality. Different vendors offer various approaches to SDN, with slight modifications and changes in Hardware centric models and virtualization platforms. Therefore, there is really no established definition of “software-defined networking” in the networking industry. 

SDN technology emerged with a lot of hype around 2011 when it was introduced alongside the OpenFlow protocol. Since then, adoption has been relatively slow, especially among enterprises that have smaller networks and fewer resources. Many industries are concerned about the cost that could be incurred with the establishment of SDN.

SDN use cases

  • DevOps: An approach based on software-defined networking can facilitate DevOps by automating app updates and deployments, including automating IT infrastructure components.
  • Campus networks: Campus networks can be difficult to manage, especially with the ongoing need to unify Wi-Fi and Ethernet networks. By using SDN they can have a customized and application-specific service
  • Service provider networks: SDN helps service providers simplify and automate the provisioning of their networks by giving control of the end-to-end network.
  • Datacenter security: SDN can be useful in protection and simplifies firewall administration.

 

References




Comments

  1. A comprehensive post on SDN for those who are interested in the domain. Keep the good work up Suranga!!!

    ReplyDelete
  2. A comprehensive explanation Surangaa. Taking away so much!

    ReplyDelete
  3. Informative post on SDN!!You have mentioned about cloud orchestration in your artcle.Can you please explain what it means?

    ReplyDelete
    Replies
    1. Thank you dilesha. Orchestration is the automated configuration, management, and coordination of computer systems, applications, and services. Cloud orchestration is the use of programming technology to manage the interconnections and interactions among workloads on public and private cloud infrastructure.

      Delete
    2. Suranga, you have given a comprehensive answer. Can you refer me a good article to read further about this?

      Delete
    3. https://searchitoperations.techtarget.com/definition/cloud-orchestrator#:~:text=Cloud%20orchestration%20is%20the%20use,permissions%20oversight%20and%20policy%20enforcement.
      You can read more from above link Asenika

      Delete
  4. Nice article Suranga. Why is SDN taking so long to adopt?

    ReplyDelete
    Replies
    1. i think it is because vendors of SDN solutions have not introduce compelling use cases of SDN yet.Because of that IT decision makers stay away from confusing stuff even though those new technologies are beneficial.

      Delete
  5. Informative article. It is impressive to see how these networking technologies have matured over time.

    ReplyDelete

Post a Comment