The VXLAN and NVGRE Explain


Lighted Ways Tech
Shop Your Best Moments here. The easiest way to find your things!- CHECK EVERYTHING ON AMAZON
Computer servers running Hyper-V can be set up to expose independent virtual machines to one or more networks.

nvgre vs vxlan network virtualization difference

 Figure 1: NVGRE vs VXLAN: The difference | Source: Fiber Cabling Solutions


VXLAN is introduced by Cisco while NVGRE is primarily supported by Microsoft. These two titans in the tech industry are jostling to make their standards become the unified standard in the industry.


An information center hosting hundreds of thousands of customers located across many locations with virtualized customer workloads will most likely need many VLANs and at the same time the ability to share assets on each other networks. VXLAN/ NVGRE SUPPORT Software Defined Networking (SDN) was created partly to solve problems associated with multi-tenant environments. This wide resource sharing enables Microsoft to create NVGRE for Hyper-V, a native hypervisor that can create virtual machines on x86-64 systems starting with Windows 8 and VMware to create Virtual Extensible LAN (VXLAN), a tunneling protocol that recognizes network users to access or provide networking services to networks that does not support or provide directly. Computer servers running Hyper-V can be set up to expose independent virtual machines to one or more networks. To make the most of networking traffic, the network adapters used must be compatible with the tunneling protocols. CNAs supports tunneling offloads within the adapter hardware itself offering offload support of tunneled network traffic, in addition, to entirely supports Windows Hyper-V NVGRE and VMware vSphere VXL.

The Virtual Extensible LAN (VXLAN)

This underlying technology, referred to as VXLAN (Virtual Extensible LAN) is a networking virtualization technology developed to regulate an overlay encapsulation protocol. This technology seeks to ease the usual problems encountered related to an extensive cloud-computing deployment utilizing VLAN-like encapsulated approach of MAC (Media Access Control Layer) based OSI (Open Systems Interconnection) Model data link layer 2 Ethernet frames enclosed by layer 4 UDP (User Datagram Protocol) packets. With this technique in place, scalability increases to 16 million well-founded networks thereby allowing layer 2 adjacency through IP networks. The VXLAN technology describes a 24-Bit LAN section identifier which provides cloud scale segmentation in addition to providing the architecture for use by customers in expanding their cloud deployments with repeatable pods in different layer 2 domains.

Network Virtualization Generic Routing Encapsulation (NVGRE)

 Figure 2: Figure showing a GRE-encapsulated packet | Source: doc.microsoft.com

The Network Virtualization Generic Routing Encapsulation (NVGRE)

NVGRE is a networking virtualization process that primarily seeks to ease the scalability problems related to large cloud computing deployments. The network virtualization process uses encapsulation to tunnel the data link layer (layer 2) packets over the network layer (layer 3) networks. The aim is to permit multi-tenant and load-level networks that could be shared across on-site and cloud-based environments.

In NVGRE, the packets of the virtual machine are encapsulated inside another packet resulting to this new NVGRE-formatted packet possessing the appropriate source and destination provider area (PA) IP addresses.

Also, it has a 24-Bit VSID (Virtual Subnet ID) stored within the GRE header of the new packet.

1. It is possible for a protocol driver to offload "mixed mode" packets, which means packets in which the inner and outer IP header versions are different. For example, a packet could have an outer IP header as IPv6 and the inner IP header as IPv4.

2. It is also possible for a protocol driver to offload an NVGRE-formatted packet that has no inner TCP or UDP header. For example, an IP packet could have an inner payload that is an Internet Control Message Protocol (ICMP) packet.
Previous Post Next Post