Network Function Virtualization with Geneve
Geneve stands for (Generic Network Virtualization Encapsulation)
If you have been working on NSX solutions, I am sure you are familiar with VXLAN concepts and how it faces challenges of IT today and enables flexibility and proramability in most critical Networking section of datacenter and various types of clouds. VXLAN uses a tunnel concept where traffic is encapsulated and decapsulated at respecting end-points which we call as VTEPs in NSX ecosystem.
Overlays using encapsulation has been in the industry since long now but when it comes to heterogeneity, none of them are compatible with each other.
With introduction of NSX-T which caters well to heterogeneity today, traffic encapsulation/decapsulated and tunnels are created using Geneve instead of VXLAN tunnels. Geneve is not something new in the market but what makes it special is its fitment to heterogenous solutions and good amount of or rather improved flexibility.
Geneve, encapsulation co-authored by VMware, Microsoft, Red Hat and Intel, has been created with best effort to combine the best of the current network virtualization encapsulations (VXLAN, NVGRE, and STT) into a single protocol that could do all the things that those protocols do, and more.
Encapsulation solutions, offered by different vendors are not compatible with each other due to a fundamental difference in their respective control planes.Geneve basically defines encapsulation data format only. Unlike the earlier formats, it does not include any information or specification for the control plane.
If you have worked with VXLAN already, then you would definitely have observed the need and use cases of extra header that a VXLAN traffic carries which defines VNI of logical segment a particular device belongs to. That certaily is a key towards network virtualization.
It gives you greater flexibility in terms of number of logical segments that you can have in an ecosystem and more than that, it really holds utmost importance in cloud era today which gives flexibility to clients to design their IP schema and placement of workloads with greated degree of flexibility.
Geneve, on the other hand takes this degree of flexibility to a new extent considering it leverages encoding metadata in a TLV (Type-Length-Value) structure which gives developers a leverage and flexibility to subdivide this field to carry information other than just virtual network identifier (VNI).
TLV structure also makes it easy for hardware to skip over any metadata types that it cannot or does not need to understand. Thus it becomes possible to independently evolve the capabilities of both software and hardware endpoints as new requirements emerge.