Software-Defined Networking (SDN) is revolutionizing data center networks. As the technology takes the industry to a new era of innovation, it is worth taking a look at the challenges that come along.
The motivation behind SDN is different from the internet
Before SDN, network researchers faced several limitations in their experiments. The infrastructure in campus networks didn’t allow them to experiment different protocols. This was because switches were built with hard-coded proprietary protocols and it was not possible to simply change them. Even if it was somehow made possible to tweak a router, it would have brought the whole network down.
Keeping these problems in mind, researchers at Stanford came up with a proposal called “OpenFlow” which enabled innovation in campus networks. They proposed programmable switches called OpenFlow switches and a central entity called controller which would control the switches. The idea was simple: the OpenFlow switches would just receive and forward the network traffic based on the rules provided to them by the controller. This allowed the network administrator to create rules for experimental traffic in addition to the rules for production traffic. Then, these rules were installed in the switches by the controller. Once installed, the switches would forward experimental traffic according to experimental rules while production traffic was forwarded according to production rules. This isolation of traffic forwarding allowed researchers to conduct experiments in campus networks without disrupting the normal flow of traffic.
On the other hand, the internet was not built to be controlled by a single authority. If there was a “controller” in the internet, the controlling authority would be able to enforce its own policy on whole world. Imagine the ethical and legal issues that could have been raised if there was such an organization that controlled the internet.
SDN architecture is not scalable
The controller can get overwhelmed as the traffic volume increases thereby becoming a bottleneck. As the number of switches grow, the controller needs to keep information about more switches and create and install rules accordingly. It is almost impossible to design such a controller which can handle traffic volumes on as big scale as the internet.
SDN requires special switches
The switches which are used to create a software-defined network are different from the normal switches used in the internet. These switches are “dumber” than normal switches in a sense that they cannot create forwarding rules on their own. The rules are installed and removed by the controller thereby giving the network administrator complete control over the network. Furthermore, SDN switches are not inter-operable with legacy switches. Hence, it is impossible to create an SDN network with heterogeneous switches.
In contrast, the internet can have different types of switches installed in different networks. The routers and switches in the internet are able to communicate with each other and set up their forwarding tables themselves.
SDN has a single point of failure
The architecture of SDN has a single point of failure – the controller. The overall working of whole network depends on it. If the controller goes down, the whole network can become unusable. Wide area networks such as the internet cannot have such delicacy as they need to be resilient otherwise it would be very easy for the malicious users to bring down the whole internet.
No matter how big the challenges are, researchers are working on making SDN work for wide-area networks. Each of these challenges are being solved by new approaches such as replicating the controller to increase resilience, decentralized control architecture, and protocols to make SDN switches inter-operable. A new approach called Software-Defined WAN has also been proposed. However, it is just not possible to make SDN work at internet-scale.
Mazhar Naqvi is a CS grad student with research interests in computer networks and security. He can be reached at firstname.lastname@example.org and you can follow him on linkedin at https://www.linkedin.com/in/mazharnaqvi
Learn how Unified Inbox’s UnificationEngine™ platform enables communications with complex systems through IoT Messaging at http://unificationengine.com!