Software-defined networking (SDN) must be magic. Why else would researchers, educators, vendors, customers -- practically everyone and anyone connected to the networking industry -- be so high on SDN?
The answer, of course, lies in the promise of SDN. After all, isn't it supposed to completely transform networking? Isn't it the innovation that has finally rescued the networking industry after a decade-long drought? And, most importantly, isn't the SDN market forecast to generate tens of billions of dollars -- an estimate being raised every month? (See Defining SDN & NFV.)
The cloud over SDN
Interestingly, everyone has their own definition of SDN and their own take on how it will reshape the networking industry. That's not entirely surprising. The term is broad enough to allow everyone's convenient interpretation to stand. The industry has made progress in moving beyond hype, and customers are now asking how SDN will help them, rather than what SDN is. Nevertheless, there is still a fair amount of confusion, which causes doubt and constricts the real progress that SDN stands to deliver. It is time to lift the cloud over SDN.
The ultimate goal of an SDN solution is to massively simplify network operations, increase agility, and accelerate deployment of new services without sacrificing security and control.
The four key tenets of an SDN solution are abstraction, automation, control, and visibility.
SDN bridges the gap between applications and networks to enable the rapid consumption of network services such as bandwidth, QoS, security, firewall, and load balancing by providing visibility and control to the applications. It is about providing abstraction of network capabilities, and it is about the automation of network provisioning. It is about separating what applications need from how the network implements its capabilities.
In order to lift the cloud over SDN, we need to understand how various implementations of "SDN" currently promoted across our industry measure up against these defining characteristics of SDN.
1. Does SDN = OpenFlow?
Discussion of separating the control and data planes took off when the Open Networking Foundation introduced the OpenFlow protocol version 1.1 circa 2011. Normally, the control and forwarding planes are part of the same network switch or router. But the ONF advocated separating and logically centralizing the control plane from the forwarding plane. The forwarding plane would remain part of the network element -- in other words, the switch or router. The ONF introduced OpenFlow as the southbound protocol used by the control plane to program reachability information in the forwarding elements.
Separating the control plane and the forwarding plane was not new. It had been done a decade ago in routers, though both functions still resided in the same physical device. The idea of physically separating the two planes and logically centralizing the control plane is not new, either. It had been already proposed in prior work, such as IETF ForCES initiative. But the industry took note of the revived efforts this time around, and the idea opened up interesting possibilities. Benefits included the ability to conduct control plane upgrades that did not disrupt network forwarding, centralizing the control plane to enable traffic optimizations based on a network-wide view (vs. network-element views), and removing the burden of processor-intensive distributed control protocols from lightweight network elements: virtual switches, CPEs, etc.
However, the overt focus on the separation of the control and forwarding planes and the shiny new OpenFlow protocol diverted attention away from SDN. The separation of the control and forwarding planes created the notion that all forwarding elements could be made simpler and cheaper. It is absolutely true that the networking requirements in campus and data center networks have traditionally not been nearly as stringent as required in the WAN. As a result, the premium attached to these devices have not been justified. The "white-box" discussion that ensued in the industry and drove down the cost of networking devices commensurate with networking requirements has been great for customers. This change has been long overdue. It was tempting for some to apply the same broad brush everywhere and suggest that all networking elements, including WAN core and edge routers, could also be simplified. This caused some confusion in the industry, which has largely settled now.
To be clear, this approach -- separating the control and forwarding planes -- falls short when measured against the four tenets of SDN discussed before. Though it provides control over forwarding elements under the OF controller domain, it does not deliver against the other three tenets: visibility into applications, abstraction of networking capabilities, and network automation.
However, the long-overdue change that caused pricing structures to change in the networking industry is nothing but goodness, and the ONF deservedly gets the credit for this.
2. Does SDN = traffic engineering?
The often-cited case study of Google's SDN implementation for the purpose of traffic engineering the network is certainly interesting. The Google implementation is about computing optimal paths for the network using an offline compute tool and then programming these paths in network elements using OpenFlow. This approach affords Google full control and visibility over the network infrastructure. But it is not the first such implementation, nor is it new by any means.
The (former) MCI network team members must get a chuckle out of this, because they did exactly the same thing 14 years ago. The one difference? They did not use OpenFlow as the southbound protocol. Instead, they used MPLS labels for traffic engineered paths computed with an offline traffic engineering (TE) engine, now called a path computation element (PCE) server, which were programmed using SNMP in their network elements. Yes, this was back in Y2K.
Next: A new approach