As we read in the previous post on what is software defined networking, we understood that it is a technology that separates control plane from data plane and allows network administrators to have programmable central control of network traffic via a controller. But why do we really need to have a centralized controller??
Well, a one line answer is that it allows us to easily shape the traffic in real time depending on current needs. How?
Controller provides a single interface to configure all the network elements on the network. So instead of going into the command line for each individual network device, you can send out a command from controller which gets propagated to all the network devices and change the traffic shaping in real time.
Also, it enables software control of the network to evolve independent of hardware.
Consider a network on which data is being routed using FTP and VOIP both. Now at times, FTP traffic has higher priority than VOIP and at other times, VOIP traffic has higher priority than FTP. Now to achieve this, we got to tell each switch/router that Hey..!! Traffic priority has changed, let’s change your setting. Whoa, what if there 100s of network devices? That’s one place SDN saves our lives – using SDN Controller, we can shoot out a command that FTP traffic has taken precedence over VOIP traffic and that’s it. This command gets propagated to all the network elements.
Consider a network which is divided into 2 sub-networks. Sub-Network 1 is providing a dedicated bandwidth of 10 Gbps and Sub-Network 2 is providing a dedicated bandwidth of 20 Gbps. Now there will be times when bandwidth requirement from Sub-Network 1 is just 5 Gbps but from Sub-Network 2, it is 25 Gbps. SDN will enable dynamic allocation of bandwidth based on current needs which is not possible to achieve today. Hence comes the definition, SDN allows us to easily shape the traffic.
Consider an organization, which needs low bandwidth, good latency pipe at one point of time but high bandwidth, poor latency pipe at another point of time. Well achieving good latency is highly expensive so when they are not doing any time sensitive operations, they would want to have a poor latency pipe which is relatively cheaper. SDN will help in achieving this.