Thursday 9 April 2015

The Fundamentals Of SDN

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