Software-defined networking is a network concept where, in network architecture, the network’s "control plane" or data transmission structure is separated from other functions. It creates some abstraction in the software layers that manage the network.
By contrast, network virtualization is a broad-level concept for changing the architectural structure of a network. Experts talk about network virtualization in terms of replacing physical hardware structures with logical structures, for example, splitting or partitioning a single hardware piece into various logical functions. Whether this relates to server operations or data storage, the essential concept of using virtual pieces of hardware (sometimes called VMware) is the same.
|To learn more about network virtualization, read this new whitepaper by IBM Fellow, Dell CTO Emeritus and Cloudistics’ Chief Scientist, Dr. Jai Menon "Approaches and Benefits of Network Virtualization"|
Some of those familiar with software-defined networking and network virtualization would describe software-defined networking as more of a "mechanical" or practical technique to change the way a network is built. In a sense, software-defined networking could serve the overall goal of network virtualization, which would help control the project as a kind of top-level philosophy for design. In other words, using SDN coding techniques, versus utilizing virtual machines for initial network construction.
Others talk about software-defined networking as a type of programming tool, the way individual programming languages work to support hardware and software architectures. These are the building blocks that enable the larger sophisticated IT setups to be built and operated.