Managing computer network is laborious task. In complex network we need to perform concurrent tasks like routing, traffic monitoring, server load balancing, access control etc. To define the network policies, network administrators need to configure each network device individually from diverse collection of routers, switches etc. There is big challenge if networks are dynamic and network administrators have little scope for automatically responding to various network events. Due to these challenges it is difficult to deploy network policies in persistently changing environment.
As virtualization in datacenter grows, virtualized networks needs to host many virtual & physical devices in more complex configuration. Maintaining such a network is expensive & time consuming.
For minimizing the impact of above issues there is way to manage flexible network called as Software Defined Networking (SDN).
SDN is new approach to control how data packets flow through the network.
Let us see how data flow is controlled by traditional network.
In traditional network, routers & switches are main players that take care of data flow. There are two fundamental elements: Data Plane & Control Plane
Data Plane: As per the rules programmed into hardware device data plane carries frames/packets (data) from one port to other port.
Control Plane: The control plane focuses on how one box interacts with its neighbors. It contains core logic according to which the frames/packets forwarded properly throughout the network.
Traditional network architectures are unable to meet the dynamic requirements of today’s organization and end users.
In the SDN architecture, the data planes and control planes are separated and the control logic is implemented on a logically centralized controller. Because of this separation of planes network devices become simple forwarding devices as traffic is actually controlled by intelligent controller. Decisions regarding forwarding of packets are made by controller. We can implement the SDN controller either on each server or on any other dedicated device.
SDN Network Architecture
By using SDN controller we can manage network behavior. In SDN architecture there is protocol called OpenFlow protocol which facilitates communication between data plane & Control plane. OpenFlow is designed for SDN by which we can control traffic between network devices of multiple vendors.
Benefits of OpenFlow based Software Defined Network (SDN)
– As per application requirement & rules defined in controller, SDN automatically provide network resources to help optimized user experience considering network constraints.
– Centralized Control:
If Switches/Virtual switches or routers are OpenFlow enabled then SDN control Software can control any device irrespective of any device vendor. Because of centralized control we can quickly configure & deploy devices across the network.
–Enhanced user experience:
e.g. You are providing video service to your customers. You can provide maximum video resolution automatically.
With the help of SDN, carrier can detect the available network bandwidth & automatically adjust the resolution of video. Consider there is no SDN, then users need to select resolution setting & which may not be supported properly by your network causing delays, buffering that frustrates user.
– Benefits to cloud solutions:
Cloud administrators are always try hard to expand the benefits of virtualization (Dedicated Server & Storage) to the network but they are limited by physical network infrastructure causing limited flexibility for VM movement.
By creating flow based virtual network we can maximize the benefits of virtualization.
– Load Balancing:
We can improve performance of network by implementing load balancing with the help of SDN. Presently industry uses dedicated Software & hardware resources for load balancing to improve response times.
SDN helps to reduce Capital expenses & Operation expenses by ensuring network devices are optimally deployed and can be controlled centrally & automatically.