The concept of software-defined networking isn't new, but it can finally be taken seriously as an alternative to...
inflexible hardware-centric networking now that multicore processing enables a new level of speed and performance. Once software-defined networking emerges, network devices will come with software development kits and open APIs, enabling a new world of networking applications to evolve.
What's the problem with hardware-centric networking?
To a whole generation of network engineers, a router or a switch is a purpose-built appliance with custom chips and software. But it wasn’t always this way. In the '80s, a router was simply a server forwarding packets between two or more network interfaces. The custom ASIC was born from the growth in network capacity and complexity. That's when the router became a specialized single-purpose device.
During all this time we may have forgotten the compromise at the heart of hardware-centric networking: slower innovation. Baking the software into silicon lengthens production cycles and reduces the number of features you can incorporate into the system. Worse, once baked in, the hardware cannot be easily modified. Firmware only softens this compromise, not really changing the underlying choice. Hardware is hard, inflexible and super-fast.
Scalable multicore processors and virtualization have brought a revolution in computing for servers, but so far their impact has been subtler in the network device arena. But now, the first glimpses of this revolution are appearing as more and more can be accomplished with relatively commoditized network processors.
Why software-defined networking now?
Software is infinitely flexible, but slower than hardware. Multicore processing is gradually narrowing the gap in performance.
What's more, software has gotten much better since the '80s. New development practices, virtualization and open standards have made software much more modular, flexible and easy to develop. Software is also much more accessible to developers across the globe. A hardware fabrication factory is several thousand square feet and costs millions of dollars, whereas some of the best software development environments can run in a window on any laptop and can be acquired for free (e.g., Eclipse). For developers and vendors, the software-centric network will open up whole new avenues of development, free up resources and accelerate innovation.
What about the network professional? How does software-centric networking look from an end-user perspective? In many ways, the appliances themselves look identical: 19 inches wide and rack mountable, with lots of ports on the front and lots of fans on the back. But the user experience can be dramatically different.
Software-defined networking will evolve in three phases:
Innovation: At first, most of the benefits of software-defined networking accrue to the vendor in the form of competitive innovation and speed-to-market. More flexible development practices and more generic hardware mean faster production times, faster release times and easier upgrades.
Customization: The network manager starts seeing the benefits of software-centric networks in the form of customization. Software-based network devices are more easily scriptable and support more protocols and standards,. They can load new features dynamically and integrate more easily with other systems.
Applications: The third phase of software-centric networking occurs when the software stack is open for third-party developers, and applications become plentiful. Network devices will come with a software-development kit and/or open and documented APIs. Then a community of developers will gradually coalesce around emerging industry standards for network “apps.” Pretty soon, you may see open source options, smaller apps catering to niche solutions and “scratch-an-itch” scripting or development by end users.
The software-centric network is emerging in parallel with the hardware-centric network moving in from the edge of the network as innovation shifts from a narrow group of hardware geeks to a broad universe of coders, scripters and power users. Today, many users have no idea who makes their phone; they only know it runs Android or iOS and lots of apps. One day in the near future, there will be likely be apps for your network as well.
About the author: Andreas M. Antonopoulos is senior vice president and founding partner with Nemertes Research, where he develops and manages research projects, conducts strategic seminars and advises key clients. Andreas is a computer scientist, a master of data communications and distributed systems, a Certified Information Systems Security Professional (CISSP) and a self-professed geek, with an engineering, programming and consulting background.