Introduction To Software Designed Networks (SDN)
Introduction To Software Designed Networks (SDN)
Traditional Networks
What is so special about SDN that existing or legacy networking is not able to deliver?
Basically, traditional networks can’t cope up and meet current networking requirements like
dynamic scalability, central control and management, on the fly changes or experiments, lesser
error-prone manual configurations on each networking node, handling of network traffic (which
has massively increased due to boom of mobile data), and server virtualization traffic in data
centres.
What’s more, traditional networks are tightly coupled with highly expensive network elements
that don’t offer any kind of openness or ability to customize internals. To deal with such issues,
open source communities came together to define a networking approach for future. And that’s
how the concept of SDN came to life.
What is SDN?
SDN stands for Software Defined Networking and it is implemented through software. SDN is
a framework to allow network administrators to automatically and dynamically manage and
control a large number of network devices, services, topology, traffic paths, and packet
handling (quality of service) policies using high-level languages and APIs.
1|Page
Software Designed Networks (SDN)
SDN Explained
Since SDN is a software layer, it provides advantages such as reduced manual efforts, dynamic
scalability, and central management of network devices. To understand better, consider: In
traditional networks, each network device in enterprise or data centre is configured manually,
something which is not only error-prone, but also requires manual reconfiguration (a highly
tedious and time-consuming task) whenever there’s a change in network.
SDN, on the other hand, aims to have a holistic view of the network - you can
configure/monitor/troubleshoot network devices with ease from central point, avoiding a lot of
manual effort, hence saving time and money in the process.
As software layer is virtual, it would help in virtualizing the networks that will be created on
top. These virtual networks are mapped to existing physical networks. Network
Virtualization was very much needed since server virtualization brought revolution in the IT
industry to virtualize storage and computing entities, something which played a key role in
efficiently utilizing resources. Similarly, network elements in traditional networks are highly
expensive with endless features, but those features were not getting completely utilized, and
that’s the problem SDN aims to solve.
2|Page
Software Designed Networks (SDN)
SDN at its core and as a one-liner, is nothing but separation of control plane from data plane
(or forwarding plane) in traditional network elements (switches, routers).
For the uninitiated, control plane is the intelligent logic in network equipment that controls
how the data traffic (that’s hitting the equipment) is managed and handled. On the other
hand, data plane is the forwarding plane which manages forwarding/manipulating/dropping
of the network data traffic.
With this separation, core intelligence of network elements (i.e. control plane) can be moved
to a central place which usually carries any of the following monikers: ‘control system’,
‘controller,’ or ‘network operating system’.
The following diagram depicts how, in case of switches, SDN will realize the separation of
control plane into controller.
Central management: You can configure, monitor, and troubleshoot the network and
can also get a complete view of it (network topology) from the controller.
3|Page
Software Designed Networks (SDN)
Light-weighted network equipment: Network elements like switches and routers can
be slimmed down, which in turn can help them becoming less expensive over the time.
Intelligence would be at the controller where control plane (i.e. control logic) would
reside, allowing control of underlying network elements by pushing rules over them
through a common channel (i.e. protocols).
SDN controllers are being sold in market by many big networking vendors/companies. Some
examples of these controllers are Cisco Open SDN controller, Juniper Contrail, Brocade SDN
controller, and PFC SDN controller from NEC. Many Open source SDN controllers
like Opendaylight, Floodlight, Beacon, Ryu etc. are also present in market. What’s good about
such controllers is that they provide a good understanding of how SDN solutions are being
designed.
In broader scheme of things, SDN solution will have SDN controller as the middle layer, not
only controlling and managing the underlying network infrastructure layer, but also collecting
network state and information and exposing it to the top application layer through APIs.
In SDN world, over the time, majority of network vendors and open source communities have
accepted Openflow as the communication protocol between control plane and data plane.
Needless to say, an SDN solution with OpenFlow requires the protocol to be implemented in
both controller and network elements. We will discuss more about Openflow and SDN in
general in our upcoming articles
In a traditional network, the data plane tells your data where it needs to go. Likewise, under
the traditional network model, the control plane is located within a switch or router. The
location of the control plane is particularly inconvenient because administrators don’t have
easy access to dictate traffic flow (especially when compared to an SDN).
Under an SDN the control plane becomes software-based and can be accessed through a
connected device. This means that an administrator can control the flow of traffic from a
centralized user interface with greater scrutiny. This gives users more control over how their
network functions. You can also change your network’s configuration settings from the
comfort of a centralized hub. Managing configurations in this way is particularly beneficial
with regards to segmentation of the network as the user can process many configurations
promptly.
The reason why SDN has become an alternative is that it allows administrators to provision
resources and bandwidth instantaneously. It does so while eliminating the requirement to
invest in more physical infrastructure. In contrast, a traditional network would need new
hardware if its network capacity was to increase. The traditional model is to buy more
equipment, not to press a button on a screen.
5|Page
Software Designed Networks (SDN)
Alternative APIs
Southbound APIs: XMPP (Juniper), OnePK(Cisco)
Northbound APIs: I2RS, I2AEX, ALTO
Overlay: VxLAN, TRILL, LISP, STT, NVO3, PWE3, L2VPN, L3VPN
Configuration API: NETCONF
Controller: PCE, ForCES
7|Page
Software Designed Networks (SDN)
The data plane is responsible for forwarding traffic to its final destination. The control plane
dictates which path flows will take before they reach the data plane. This is done through the
use of a flow protocol. This segment is where an administrator interacts with the SDN and
actually manages the network.
All software-defined network solutions have some version of an SDN Controller, as well as
southbound APIs and northbound APIs:
Controllers: The “brains” of the network, SDN Controllers offer a centralized view of
the overall network, and enable network administrators to dictate to the underlying
systems (like switches and routers) how the forwarding plane should handle network
traffic.
8|Page
Software Designed Networks (SDN)
SDN Architecture
9|Page
Software Designed Networks (SDN)
Internals of SDN
10 | P a g e
Software Designed Networks (SDN)
11 | P a g e
Software Designed Networks (SDN)
Implications of SDN
12 | P a g e
Software Designed Networks (SDN)
OpenFlow
o Leading SDN protocol
o Decouples control and data plane by giving a controller the ability to install flow rules
on switches (Bare Metal)
o Hardware or software switches can use OpenFlow
o Spec driven by ONF (Open Networking Foundation)
13 | P a g e
Software Designed Networks (SDN)
OpenFlow Switching
14 | P a g e
Software Designed Networks (SDN)
Controller: Programmability
15 | P a g e
Software Designed Networks (SDN)
16 | P a g e
Software Designed Networks (SDN)
17 | P a g e
Software Designed Networks (SDN)
18 | P a g e
Software Designed Networks (SDN)
19 | P a g e
Software Designed Networks (SDN)
Reduce OpEX: SDN enables algorithmic control of the network of network elements
(such as hardware or software switches/routers) that are increasingly programmable,
making it easier to design, deploy, manage, and scale networks. The ability to automate
provisioning and orchestration optimizes service availability and reliability by reducing
overall management time and the chance for human error.
20 | P a g e
Software Designed Networks (SDN)
21 | P a g e
Software Designed Networks (SDN)
Centralized Provisioning
One of the main advantages granted by SDN is the ability to manage a network from a
centralized perspective. In a nutshell, SDN virtualizes both the data and control planes
allowing the user to provision physical and virtual elements from one location. This is
extremely useful as traditional infrastructure can be difficult to monitor especially if there are
lots of disparate systems that need to manage individually. SDN eliminates this barrier and
allows an administrator to drill up and down at will.
Scalability
A good side effect of centralized provisioning is that SDN gives the user more scalability. By
having the ability to provision resources at will you can change your network infrastructure at
a moment’s notice. The difference in scalability is remarkable when compared to that of a
traditional network setup where resources need to be purchased and configured manually.
22 | P a g e
Software Designed Networks (SDN)
Security
Even though the movement towards virtualization has made it more difficult for
administrators to secure their networks against external threats, it has brought with it a
massive advantage. An SDN controller provides a centralized location for the administrator to
control the entire security of the network. While this comes at the cost of making the SDN
controller a target, it provides users with a clear perspective of their infrastructure through
which they can manage the security of their entire network.
Deploying SDN allows an administrator to optimize hardware usage and work more
efficiently. The user can assign active hardware with a new purpose at will. This means that
resources can be shared with relative ease. This beats a legacy-driven network where
hardware is confined to a single purpose.
Latency
One of the problems with virtualizing any infrastructure is the latency that arises as a result.
The speed of your interaction with an appliance is dependent on how many virtualized
resources you have available. Your service is at the discretion of how your hypervisor divides
23 | P a g e
Software Designed Networks (SDN)
up your usage (which can add latency). Every active device on a network takes its toll on
your network availability. This is going to be exacerbated in the future as more Internet of
Things (IoT) devices hit the market and start to be incorporated into the mix.
Limited Management
Even though you can manage the services of devices throughout your network, you can’t
manage the devices themselves. While on first glance this might appear to be a trivial detail,
it is very important with regards to upscaling a network. All of these devices need to be
monitored, patched and upgraded frequently in order to stay in working operation. As a
result, it is important to bear in mind that there remains a wealth of maintenance
requirements not addressed by SDN.
Though traditional networks may have their limitations, there is a standardized consensus on
security threats and procedures. At this point in time, no such consensus exists for SDN.
Though there are many SDN solution providers, SDN security concerns are uncharted
territory for many administrators. As such, it can be very difficult to maintain the integrity of
an SDN service against external threats when you don’t have the requisite knowledge to
defend the system
After all, your ability to prevent attacks from taking root is dependent upon spotting threats
before they occur. To do this you need a level of expertise with SDN that is hard to achieve
without significant experience of using an SDN system. While those without experience can
learn about using an SDN, they need to undergo a substantial learning curve in order to
manage the nuances of security threats.
De-Provisioning
One of the biggest benefits provided by an SDN is the ability to deploy new resources quickly.
However, this capability needs to be closely managed in order to maintain performance. In
practice, this means regularly de-provisioning resources when they aren’t needed.
24 | P a g e
Software Designed Networks (SDN)
Leaving resources active when not in use takes up virtual resources that would be better
used elsewhere.
Network Monitoring
Every professional administrator recognizes the importance of network monitoring but what is
surprising is that there are comparatively few SDN-compatible products. This is problematic
given that you need to monitor an SDN to make sure that it’s secure and performing
satisfactorily. In order to monitor an SDN, you need APIs so that an SDN can be integrated
with them. We’ve covered this subject in more detail below as this is a complex topic.
Security
When onboarding any new piece of technology, you need to take into account new security
risks. An SDN is no exception. From the moment you deploy an SDN, you give your network
new vulnerabilities that can be targeted by malicious entities. As a result, you need to have a
solid awareness of current security threats and how to address them. This includes a
thorough understanding of protocol limitations and switch impersonation in particular. It also
means that you have to implement new best practices to keep your service protected from
external threats.
Quality of Service (QoS) monitoring is a nightmare within any network but particular
caution needs to be taken on an SDN network. As we discussed earlier, with an SDN you
have control over services but not physical devices. As a result, you need to be particularly
cautious about how you provision your resources. In addition, you also need to bear in mind
the default Quality of Service settings on each of your network devices as they can have a
large effect on the quality of your network performance.
25 | P a g e
Software Designed Networks (SDN)
SDN monitoring is tricky to monitor because it is a dynamic service. As a
consequence, services can be provisioned and de-provisioned rapidly. This means that you
need a network monitor that can keep up with these changes; otherwise, you will limit your
visibility. A tool like SevOne acts as a good starting point for overseeing an SDN but you may
need to go a little further and commit to a program with APIs.
The best way to respond to SDN’s rapid changes is to use a performance monitoring solution
with APIs. This will keep track of resources as you provision them. A network monitoring
platform with APIs will be able to keep up with your needs and ensure that your network
environment isn’t lost or obscured. Products with APIs provide you with more flexibility than
other static network monitoring solutions.
Another core feature that SDN monitoring solutions need to have is the ability to add extra
monitoring capacity. Whenever you use an SDN to upscale your network infrastructure, you
need a monitoring solution that can also upscale to keep track of this. It is no good having a
network monitoring solution that doesn’t have the bandwidth to monitor your SDN.
While it is important to recognize that an SDN cannot completely manage the physical
liabilities of devices throughout the network, it still helps to centralize control of the network’s
services themselves. Managing network infrastructure through the control plane provides
administrators with a higher degree of control than they would have on a traditional legacy
network.
Despite the considerable following of SDNs, they remain in their infancy. That being said this
technology does have a very high development potential for transcending the barriers
presented by a legacy network. Organizations are always looking for ways to decrease the
complexity of network management and reduce general overhead costs. SDN’s value in this
capacity is very promising.
26 | P a g e