
Software-defined networking
Software-defined networking (SDN) has emerged as a concept to decouple the hardware and software components within networking devices with the intention of using commodity hardware for networking equipment. While there are advantages to this decoupling in terms of being able to use commodity hardware, that also means taking the wheel back in time with respect to innovation. Most of the innovation in the networking domain has been made possible through an optimal mix of hardware and software, and designing hardware that can run the software efficiently. It is for this reason that Application Specific Integrated Circuits (ASICs) were developed, that could make the networking devices operate efficiently at high speeds. If software and hardware were to be totally decoupled, the benefits of ASICs would have to go away, and commodity hardware would lead to no differentiation as far as packet forwarding is concerned. It is for this reason that some companies, including Cisco, have taken a hybrid approach to SDN, and have developed a controller that brings some parts of the software into the controller, while retaining the other network-centric software components in the underlying hardware. We will cover this in detail in the section on Cisco's Digital Network Architecture:
