There are five
fundamental traits involved when we look at SDN these consist of plane separation, a simplified device, a
centralized controller, network automation and vitalization. These five
traits are the fundamentals that SDN is built on. It is important to fully understand the
concept behind these five traits as this will allow us to fully understand the
technology itself. If we look at the concept of plane separation first as this
is one of the driving factors within SDN this refers to the separating of the
forwarding and control planes. The role of the forwarding plane is to forward,
drop, consume or replicate an incoming packet. This is done by referencing the
address table in the hardware and sending the packet out the correct port. In
cases where the packet does not meet a certain criteria as specified by Quality
of Service (QoS) filtering or from a buffer overflow condition the packet is
dropped.
This rule changes
in the event that the hardware receives a multicast packet in this instance the
packet must be replicated and then forwarded out different ports. The protocols
logic and algorithms for making these decisions that are required to program
the forwarding plane are stored in the control plane. The majority of these
protocols require a global knowledge of the network that they are operational
on. The control plane is responsible for determining how the forwarding table
and logic in the data plane are to be programmed or configured.
In tradition
networks every device would have its own control plane that would look after
the primary functions of running routing and switching protocols so that all
distributed forwarding tables on the devices within a network would stay
synchronized. The reason for this was to avoid the creation of loops in a
network. If we look at the SDN model we can see that the control plane is moved
away from the switching device and is relocated to a centralized controller. By
doing this we are simplifying devices allowing them to be run by a centralized
management system i.e the controller where all of the management and control
software is situated. This allows the controller to use high-level policies to
govern the network the controller sends primitive instructions to the now
simplified devices allowing them to make fast decisions on incoming packets
where it is appropriate to do so.
If we consider the
centralized software-based controller in SDN in terms of network automation and
virtualization and look deeper at this concept we can see that SDN provides an
open interface on the controller to allow for automated control of the network.
The terms northbound and southbound are often used to describe this automation by
distinguishing if the interface is been used to connect applications or devices
on the network. To distinguish between the two interfaces the southbound API is
used by the controller to program network devices and the northbound API is
used by the controller to allow software plug-ins that provide the protocols
necessary for the network to run efficiently. This allows the network to react
quickly and dynamically to changes in the network and call on different
applications depending on what is required like reacting to a network attack in
real-time to prevent services been disrupted. One of the key elements of the
northbound API is that it allows the software above it to operate without any
knowledge of the individual traits of the network devices themselves. This is
key to allowing applications to be developed that can work over multiple different
vendors hardware even if the specification of the devices differ in their
implementation details. This is all aided by the open approach taken with SDN
to ensure that applications and protocols are not vendor specific and can run
on multiple devices across a network infrastructure.
Now that we have
analyzed the makeup of SDN we can break its operation into 3 blocks the
centralized controller the SDN devices and the applications. To fully
understand this we can break it down further to state that the SDN devices are
responsible for forwarding functionality and are responsible for what to do
with incoming packets. The SDN devices contain data that indicates the actions
to be taken in making these forwarding decisions. The controller has predefined
these decisions by associating the data with flows and passing this information
onto the devices. This simplified nature allows for quick detection of unusual
data patterns if the device does not recognize a flow it sends the packets to
the controller for closer inspection, this allows the controller to take a
granular look at the packets and determine in real-time if they are malicious
or not before directing the device on what action to take or implementing a defense strategic that is programmed to deal with the attack on hand.
No comments:
Post a Comment