This blog post is part of our data centre networking series:
In the precedent blog, we provided an introduction to Software-Defined Networking (SDN) and the main reasons which compelled the industry to adopt it. We’ve seen how impactful it can be to leverage scalable automation and the power of software to define and run key networking components. Being sufficiently granular to address functions such as switching, routing, security and QoS, provides strong benefits to the organisations’ IT teams. Going further, making those networking functions model-driven and tied to the end-user’s application intent will highly improve the business applications’ outcomes. In this blog, we will cover the principal components of SDN, its architecture and different types.
The SDN network components can be represented into three layers:
The communication between the different layers is done using OpenFlow, a standardised and programmable networking protocol used in SDN to direct traffic and exchange information between the middle and bottom layers.
A management and orchestration plan is also necessary to manage this infrastructure. It allows the configuration of the SDN controller and the initialisation of the “network elements”:
The architecture of an SDN controller includes the following components:
SDN leverages the usage of “standardised” common off-the-shelf switches which are controlled by an SDN controller. This takes the computational complexity away from the SDN network devices, and makes them more “commoditised”, which is a synonym for lower costs.
The SDN Controller builds a global view of the network so that it can make decisions about routing flows from one point of the network to another. It communicates with applications (which will make requests to open and close flows) via APIs on its Northbound interface. It controls the network nodes (SDN devices) via its Southbound interface and the OpenFlow protocol.
The concept of SDN has evolved from its original invention and has since seen several implementations depending on how the controller layer is connected to the SDN devices. There are four types of SDN which we can classify as follows :
Among the widely deployed SDNs in the private cloud infrastructure arena, there is open source SDN as part of OpenStack, which supports the best of breed of overlay protocols such as GENEVE and VXLAN. Canonical’s Charmed Openstack uses Neutron to provide network connectivity between OpenStack instances, enabling multi-VM deployments. For this purpose, Neutron supports various software defined networking technologies, including Open Virtual Network (OVN), Open vSwitch (OVS), Juniper Contrail, Cisco ACI, etc. In addition to carrying the fundamentals of SDN, Charmed OpenStack is also integrated in the application’s larger automated deployment and life-cycle management ecosystem, provided by Juju.
SDN hasn’t stopped developing and there are many efforts and open source projects which work to address the ever evolving networking landscape, influenced by the ever changing application space and user expectations. The journey is certainly long but exciting to get to model-driven and why not self-healing networks.
In the next blog, we will give an overview of Software-Defined Data Centre, its main components and their integration approaches.
The next posts will cover:
Previously I have written about how useful public cloud storage can be when starting a…
This is Part 2 of the "Karafka to Async Journey" series. Part 1 covered WaterDrop's…
For many software teams, documentation is written after features are built and design decisions have…
With the release of the FIPS 140-3 certified cryptographic modules for Ubuntu 22.04 LTS, Canonical…
Open source libraries are repositories of code that developers can use and, depending on the…
Last year, we had the opportunity to speak at Regent’s UX Conference (Regent’s University London’s…