Even if the terms are used interchangeably, network functions virtualization (NFV) and software defined networking (SDN) arguably are different. But both seem to be part of the broader push towards core networks that are virtualized and easily programmable. So SD-WANs reflects an SDN approach, while use of white box network elements represents NFV. Telcos will do both.
At a high level, one might argue that the business outcome for network functions virtualization (NFV) is lower cost networks. One might also argue that the business outcome for SDN, while contributing to lower cost, is greater network control.
NFV is the process of moving services such as load balancing, firewalls and intrusion prevention systems away from dedicated hardware into a virtualized environment, many would agree. Others might note that NFV makes use of “virtual machines” to supply network functions.
And, as with many innovations, the initial drive to reduce cost eventually leads to new thinking about use cases, revenue streams and service creation. On the other hand, SD-WANs are a prime example of the opposite trend: a new service offering requiring separation of control plane and data plane.
And many would say one core attribute of NFV is the ability to separate control plane functions from data plane operations, so software can run on commodity hardware. But that is a core principle of SDN as well.
Both are based on network abstraction. But SDN and NFV differ in how they separate functions and abstract resources.
SDN abstracts physical networking resources--switches, routers and other network elements--and moves decision making to a virtual network control plane. In this approach, the control plane decides where to send traffic, while the hardware continues to direct and handle the traffic.
NFV aims to virtualize all physical network resources beneath a hypervisor, which allows the network to grow without the addition of more devices.
In other words, SDN separates network control functions from network forwarding functions. NFV abstracts network forwarding from the hardware on which it runs. You might also argue that NFV provides basic networking functions, while SDN controls and orchestrates them for specific uses.
So what makes that different from a software defined network (SDN)? That often is hardly to explain. SDN aims to automate processes, while NFV often aims only to virtualize them. Software defined networking (SDN) is an approach to using open protocols, such as OpenFlow, to apply globally aware software control at the edges of the network to access network switches and routers that typically would use closed and proprietary firmware, some would say.
In principle, then, an entity can deploy SDN without NFV, or NFV without SDN.
As a practical matter, NFV often ie easiest to understand as a way of separating software and controller functions from dedicated network elements. By implementing network functions in software that can run on a range of industry standard servers hardware, NFV aims to reduce cost and make networks more flexible.