Software-defined networking is not a technology, but an architecture that provides support for virtual machine mobility independent of the physical network.
Over the last year, the hottest topics in networking have been software-defined networking (SDN) and Network Virtualization (NV) have been one of the hottest topics in networking. There is, however, considerable confusion amongst enterprise IT organizations relative to these topics. There are many sources of that confusion, including the sheer number of vendors who have solutions that solve different problems using different solution architectures and technologies, all of whom claim to be offering SDN and/or NV solutions.
To eliminate that confusion, it’s helpful to put software-defined networking into the context of a broad movement to have more of a focus on software based solutions and to identify the key opportunities that SDN can address. It’s also helpful to review both SDN and NV to understand the relationship between these two emerging approaches to networking.
Traditional data network
In the traditional approach to networking, most network functionality is implemented in a dedicated appliance; i.e., switch, router, application delivery controller. In addition, within the dedicated appliance, most of the functionality is implemented in dedicated hardware such as an ASIC (Application Specific Integrated Circuit).
Some of the key characteristics of this approach to developing network appliances are:
- The ASICs that provide the network functionality evolve slowly;
- The evolution of ASIC functionality is under the control of the provider of the appliance;
- The appliances are proprietary;
- Each appliance is configured individually;
- Tasks such as provisioning, change management and de-provisioning are very time consuming and error prone.
Networking organizations are under increasing pressure to be more efficient and agile than is possible with the traditional approach to networking. One source of that pressure results from the widespread adoption of server virtualization. As part of server virtualization, virtual machines (VMs) are dynamically moved between servers in a matter of seconds or minutes. However, if the movement of a VM crosses a Layer 3 boundary, it can take days or weeks to reconfigure the network to support the VM in its new location. It can sometimes be difficult to define exactly what it means for a network to be agile. That said, if it takes weeks to reconfigure the network to support the movement of a VM, that network isn’t agile.
The bottom line is that a traditional network evolves slowly; is limited in functionality by
what is provided by the vendors of the ASICs and the vendors of the network appliances; has a relatively high level of OPEX and is relatively static in nature. SDN networking holds the promise of overcoming those limitations.
The shift to software
As noted, the traditional data network has been largely hardware-centric. However, over the last few years the adoption of virtualized network appliances and the burgeoning interest in software-defined data centers (SDDCs) have lead a movement towards an increased reliance on software-based network functionality. For example, in the mid to late 2000s, network appliances such as WAN Optimization Controllers (WOCs) and Application Delivery Controllers (ADCs) were purpose- built, hardware appliances. That means that functions such as encryption/decryption and the processing of TCP flows were performed in hardware that was designed specifically for those functions. Driven largely by the need for increased agility, it is now common to have WOC or ADC functionality provided by software running on a general purpose server or on a VM.
A SDDC can be looked at as the complete opposite of the traditional data center network that
was previously described. For example, one of the key characteristics of a software-defined data center is that all of the data center infrastructure is virtualized and delivered as a service. Another key characteristic is that the automated control of data center applications and services is provided by a policy-based management system.
One of the characteristics that is often associated with any fundamentally new approach to technology is that there is confusion about the opportunities that can be addressed by that new approach. In order to successfully evaluate and adopt a new approach to technology such as software-defined networks, IT organizations need to identify which opportunity or opportunities that are important to the organization are best addressed by that new approach.
After all of the SDN-related discussions that have occurred over the last couple of years, the following have emerged as the most likely set of opportunities that SDN can address.
- Support the dynamic movement, replication and allocation of virtual resources
- Ease the administrative burden of the configuration and provisioning of functionality such as QoS and security
- More easily deploy and scale network functionality
- Perform traffic engineering with an end-to-end view of the network
- Better utilize network resources
- Reduce OPEX
- Have network functionality evolve more rapidly based on a software development lifecycle
- Enable applications to dynamically request services from the network
- Implement more effective security functionality
- Reduce complexity
The Open Networking Foundation (ONF) is the group that is most associated with the development and standardization of software-defined networks. According to the ONF1, “Software-Defined Networking (SDN) is an emerging architecture that is dynamic, manageable, cost-effective, and adaptable, making it ideal for the high-bandwidth, dynamic nature of today’s applications. This architecture decouples the network control and forwarding functions enabling the network control to become directly programmable and the underlying infrastructure to be abstracted for applications and network services. The OpenFlowTM protocol is a foundational element for building SDN solutions.”
According to the ONF, the SDN architecture is:
- Directly programmable: Network control is directly programmable because it is decoupled from forwarding functions.
- Agile: Abstracting control from forwarding lets administrators dynamically adjust network-wide traffic flow to meet changing needs.
- Centrally managed: Network intelligence is (logically) centralized in software-based SDN controllers that maintain a global view of the network, which appears to applications and policy engines as a single, logical switch.
- Programmatically configured: SDN lets network managers configure, manage, secure, and optimize network resources very quickly via dynamic, automated SDN programs, which they can write themselves because the programs do not depend on proprietary software.
- Open standards-based and vendor-neutral: When implemented through open standards, SDN simplifies network design and operation because instructions are provided by SDN networking controllers instead of multiple, vendor-specific devices and protocols.