Software Defined Networking (SDN)

Taylor Emma
3 Min Read
Disclosure: This website may contain affiliate links, which means I may earn a commission if you click on the link and make a purchase. I only recommend products or services that I personally use and believe will add value to my readers. Your support is appreciated!

Moving the control function out of data plane elements is the main concept behind Software Defined Networking (SDN). 

http://3.bp.blogspot.com/-gcCGtyMzhX0/UlbUZnTi-WI/AAAAAAAAAxU/Qg5G7nbsgjk/s1600/SDN1.webp

Features

·         Decoupled Data and Control plane                                            

       Can Evolve Independently

·         Can have different Network Topologies

·         Can use Different Technologies

     Why SDN ?

http://4.bp.blogspot.com/-PdqKBUBzT_A/Ulbaqn8RegI/AAAAAAAAAyQ/KTetIBhVqrE/s1600/y.webp

One Possible SDN Design: Push all the control functionality to a Centralized Controller

http://3.bp.blogspot.com/-rVA9DHGPyFY/UlbZGQmuhcI/AAAAAAAAAx0/RNfxOk_5um0/s1600/flow.webp

But Controller may become the Bottleneck in this kind of a setup. As the network grows there will be more events and requests sent to the controller. At some stage controller unable to handle all those requests. In a typical design we may go up to about 30k requests per second which will be sufficient for a sizable enterprise. But we can’t go for Data-centre like environment with this setup. 

How we can overcome?

·         Level Parallelism in multicore systems

·         Improve I/O performance

·         Reduce the number of requests forwarded to controller: Short lived packets will be handled in the data path. Only larger flows are forwarded to the controller.

Another possible SDN Design: Distribute state and/or Computation of the Control Functionality over Multiple Controllers

Having a centralized view is by no means an intrinsic characteristic of SDN. All we need is a unified network wide view to get benefits of SDN. Following are few examples of such implementations.

Onix

NIB (Network Information Base): Holds a collection of Network Entities, each of which holds a set of key-value pairs. If a state changes such as adding new switches and ports will be registered in the NIB.

http://4.bp.blogspot.com/-6QF-8DCtE8w/UlbVBRIEytI/AAAAAAAAAxs/LnqY85yUdzs/s1600/onix.webp

Some more examples will be Hyper Flow and Kandoo.

Steps of Flow setup process

http://1.bp.blogspot.com/-ilgupR_mJ5s/UlbUgzLVCaI/AAAAAAAAAxc/IGDnnCgiVZA/s1600/flowsetup.webp

Steps involved in Converging on a link Failure

http://3.bp.blogspot.com/-AocluRZPybE/UlbUvLq_NOI/AAAAAAAAAxk/xFaPysL6gfs/s1600/linkfail.webp

Resiliency to failures and convergence time are key concerns in Network Performance. If we use a single controller, resiliency to failures will be a major issue. We can use multi-controller networks with appropriate controller discovery mechanisms.

SDN @ Different Network settings

·         Data Centres

o   Thousands of Switching Elements

o   Grow at a fast rate

o   Large number of requests for controller

o   Use Kandoo, Onix or Hyper Flow

·         Service Provider Networks

o   Don’t have as many switches as in Data centres

o   Partition into separate groups

Share This Article
A senior editor for The Mars that left the company to join the team of SenseCentral as a news editor and content creator. An artist by nature who enjoys video games, guitars, action figures, cooking, painting, drawing and good music.
Leave a review