The most viable competitor to VXLAN is NVGRE which was proposed by Microsoft, Intel, HP and Dell. It is another encapsulation technique intended to allow virtual network overlays across the physical network. Both techniques also remove the scalability issues with VLANs which are bound at a max of 4096. NVGRE uses Generic Routing Encapsulation (GRE) as the encapsulation method. It uses the lower 24 bits of the GRE header to represent the Tenant Network Identifier (TNI.) Like VXLAN this 24 bit space allows for 16 million virtual networks.
While NVGRE provides optional support for broadcast via IP multi-cast, it does not rely on it for address learning as VXLAN does. It instead leaves that up to an as of yet undefined control plane protocol. This control plane protocol will handle the mappings between the “provider” address used in the outer header to designate the remote NVGRE end-point and the “customer” address of the destination. The lack of reliance of flood and learn behavior replicated over IP multicast potentially makes NVGRE a more scalable solution. This will be dependent on implementation and underlying hardware.
Another difference between VXLAN and NVGRE will be within its multi-pathing capabilities. In its current format NVGRE will provides little ability to be properly load-balanced by ECMP. In order to enhance load-balancing the draft suggests the use of multiple IP addresses per NVGRE host, which will allow for more flows. This is a common issue with tunneling mechanisms and is solved in VXLAN by using a hash of the inner frame as the UDP source port. This provides for efficient load balancing by devices capable of 5-tuple balancing decisions. There are other possible solutions proposed for NVGRE load-balancing, we’ll have to wait and see how they pan out.
The last major difference between the two protocols is the use of jumbo frames. VXLAN is intended to stay within a data center where jumbo frame support is nearly ubiquitous, therefore it assumes that support is present and utilizes it. NVGRE is intended to be able to be used inter-data-enter and therefore allows for provisions to avoid fragmentation.
While NVGRE still needs much clarification it is backed by some of the biggest companies in IT and has some potential benefits. With the VXLAN capable hardware world expanding quickly you can expect to see more support for NVGRE. Layer 3 encapsulation techniques as a whole solve the issues of scalability inherent with bridging. Additionally due to their routed nature they also provide for loop free multi-pathed environments without the need for techniques such as TRILL and technologies based on it. In order to reach the scale and performance required by tomorrows data centers our networks need change, overlays such as these are one tool towards that goal.