Comparing VMware NSX and Hyper-V Network Virtualization

Both VMware NSX and Hyper-V network virtualization offer compelling features, but this breakdown should help you figure out the best fit for you.

IT organizations are continually evaluating software-defined network options to provide greater scalability. Microsoft Hyper-V and VMware vSphere server virtualization products both offer compelling features. Since they are widely used and provide great features in terms of virtual networking and high availability, most of the cloud hosting providers and IT organizations use one of these two products as their back-end network virtualization...

infrastructure to host customer virtual machines. Both server virtualization vendors have developed necessary software to virtualize physical networking models, which eliminates the need for making changes on the physical network devices, and also addresses the limitations and complexity seen in typical environments using virtual local area networks (VLANs).

Microsoft offers Hyper-V Network Virtualization, sometimes referred to as HNV, which is a networking add-on module introduced in Windows Server 2012. VMware offers NSX, which ships as a standalone product and in-kernel product for vSphere hypervisor. The objective of both products is to virtualize physical network Layer-3 components, reduce both operating and capital expenses, and enable automation, but each vendor's approach for implementing the network virtualization components is completely different.

NSX vs. Hyper V

Microsoft HNV code is written from scratch, whereas NSX functionality is implemented from the NVP code acquired from Nicira -- a network virtualization company that VMware acquired in 2012. As indicated in the table, Microsoft HNV only supports the Microsoft Hyper-V hypervisor, whereas VMware provides necessary NSX components to run on KVM, OpenStack and ESXi hypervisors.

VMware NSX comes in two options: NSX for multi-hypervisor environments and NSX for vSphere. Multi-hypervisor NSX, which ships as an ISO file, can be used on Xen, KVM or ESXi hypervisors. The multi-hypervisor version of NSX relies on the Open vSwitch (OVS) for Xen and KVM hypervisors and a new NSX vSwitch is available for use with the ESXi hypervisor. The support for NSX vSwitch is built into the ESXi kernel. The NSX for vSphere is a modified version of NVP to run with vSphere and heavily relies on the vSphere Distributed Switch (VDS) and  the User World Agent (UWA). The UWA, which is running in the vSphere kernel, facilitates communication between vSphere and the NSX controllers.

The minimum hypervisor version required for implementing HNV is Hyper-V 3.0, which is actually available as a role on Windows Server 2012 and 2012 R2 operating systems. You are not required to download or install any component to enable HNV functionality, as Microsoft provides an add-on module, known as Windows Network Virtualization (WNV), to implement necessary aspects of HNV. To implement NSX for vSphere, you must be running VMware ESXi 5.0 or later.

HNV can be implemented using one of the two deployment methods available: System Center Virtual Machine Manager (SCVMM) or HNV PowerShell cmdlets. In fact, SCVMM uses HNV PowerShell cmdlets in the background to configure HNV components on the destination Hyper-V servers. For VMware NSX, the NSX Manager and vSphere Web Client control the complete configuration of NSX.

Microsoft uses a completely different approach for implementing HNV. To implement HNV, you are required to configure the Provider Address (PA), Customer Address (CA), Virtual Subnet ID (VSID), Routing ID Domain RDID and VM Network. VMware NSX offers a different set of components to implement network virtualization, such as NSX controllers, the NSX Manager, NSX vSwitch and NSX Edge.

Managing NSX and HNV

Microsoft SCVMM is a data center management product that offers a wide range of features, including management of HNV configuration across Hyper-V servers. Although NSX Manager is responsible for managing all aspects of NSX when deployed in a vSphere environment, it also provides complete integration with vSphere, vCenter, VMware vCloud Director and vCloud Automation Center, allowing you to manage different aspects of NSX.

To move traffic from physical to virtual or virtual to virtual network segments, VMware NSX uses the NSX Gateway, but there is nothing you can do in HNV to connect your virtual machines (VMs) to the outside network without implementing a Windows Server 2012 R2 Inbox Gateway VM or using a third-party gateway appliance. NSX Gateway is a scalable approach that can be deployed as an active/active cluster and offers in-house features like IP routing, Multiprotocol Label Switching, Network Address Translation, firewall, virtual private network and load balancing services.

Both network virtualization technologies solve the same set of problems but use different overlay protocols. VMware's NSX product is based on the Virtual Extensible LAN (VXLAN), Generic Routing Encapsulation (GRE) and Stateless Transport Tunneling protocols, whereas HNV uses the Networking Virtualization using the Generic Routing Encapsulation (NVGRE) protocol. Since both the technologies are based on the well-known GRE protocol mechanism, there are no compatibility issues with existing network devices. Many Layer-3 physical networking devices are already GRE-aware and can support SST, GRE, VXLAN and NVGRE traffic without requiring any modifications to the physical infrastructure.

While Microsoft offers extensibility of HNV through the Hyper-V Extensible switch API, VMware exposes NSX REST API through HTTP requests to cloud management platforms, including VMware VCS, vCAC, OpenStack and CloudStack.

To automate network virtualization deployments, both vendors provide command-line support. For HNV, you can use HNV PowerShell cmdlets and NSX CLI to implement policies for VMware NSX.

There are no additional costs associated with Microsoft HNV. Microsoft Hyper-V Network Virtualization has been built into Hyper-V since Windows Server 2012.VMware NSX can be sold with either a perpetual or term license. A perpetual license starts at $5,996 per CPU and list price starts $34 per VM per month.

This was first published in July 2014

Dig deeper on Virtualization vendor comparisons



Enjoy the benefits of Pro+ membership, learn more and join.

Related Discussions

Nirmal Sharma asks:

What do you think is the better software defined network option? Why?

0  Responses So Far

Join the Discussion



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: