Table of Contents
Network segmentation is achieved with the help of VLANs but the limitation is that a VLAN has only a fixed 12-bit field which means you can have a maximum 4000 VLANs in a network topology. This may be sufficient in the earlier days of computing but with rapid expansion in networking due to cloud hosting and multi-tenancy requirements there is a need for many more individual network tunnels.
Various solutions have been proposed to address this limitation such as VXLAN (Virtual extensible LAN), NVGRE (Network virtualization using generic routing encapsulation), and STT (stateless transport tunnelling). Apart from these a new network virtualization standard evolved Geneve (Generic Network Virtualization).
In today’s topic we will learn about Geneve (Generic Network Virtualization), its capabilities, its format and usage.
What is Geneve?
Geneve (Generic Network Virtualization) is meant to support network virtualization cases where tunnels are established like a backplane between virtual switches hosted on hypervisors, physical switches, other appliances or middleboxes.
- An arbitrary IP network is used as an underlay to provide consistent bandwidth across all connection points. Geneve (Generic Network Virtualization) data format is flexible and extensible.
- Geneve (Generic Network Virtualization) encapsulated packets are transmitted via standard networking equipment.
- Unicast or multicast addressing is used to send packets from one tunnel endpoint to one or more tunnel endpoints.
- The client application and host are not modified in any way.
- The tunnel endpoint encapsulates the end user IP packet into the Geneve (Generic Network Virtualization) header along with tunnel identifier ID to specify the tenant virtual network.
- The complete packet is sent to the destination endpoint in a standard UDP packet which is supported via IPV6 or IPV4 protocols.
- The receiving tunnel endpoint removes header and intercept the packet and directs end user packet to destination within the virtual network as indicated with tunnel identifier.
Related: VXLAN vs Geneve
Is Geneve UDP or TCP?
Geneve uses an encapsulating UDP header for connectionless semantics of IP and Ethernet. Geneve protocol aims to create a layer 2 overlay network over layer 3 infrastructure and to achieve this it encapsulates layer 2 frames into UDP packets. The header fields are:
- Source Port – a source port is chosen by the originating tunnel endpoint. This port needs to be the same for all packets which belong to a single encapsulated flow for the prevention of rendering due to usage of different paths. To have an even distribution of flow across multiple links, the source port should be calculated using the hash of the encapsulated packet header using a traditional 5-tuple.
- Destination Port – the chosen port is used to identify Genève packets and MUST NOT ‘reversed’ to different connection ends.
- UDP Length – the length of UDP packet including its header
- UDP Checksum – can be set to zero on packet transmission encapsulated in IPV4 or IPV6. When a packet is received having a UDP checksum of zero it is accepted and decapsulated. Packets having incorrect checksum are dropped and not decapsulated.
Related FAQs
Q.1 What is GENEVE, and why is it used?
- GENEVE is a network encapsulation protocol designed to support network virtualization. It creates a virtual network overlay on top of a physical network, allowing for efficient, scalable, and flexible deployment of multi-tenant cloud and data center environments. GENEVE encapsulates layer 2 frames in UDP packets, making it suitable for virtualized networking and supporting advanced networking features.
Q.2 How does GENEVE differ from other encapsulation protocols like VXLAN and NVGRE?
- GENEVE is more flexible and extensible compared to other encapsulation protocols like VXLAN and NVGRE. It was developed to unify the capabilities of multiple protocols, allowing customizable metadata fields for different applications, while supporting various extensions and functionalities, such as load balancing, in a single standard.
Q.3 What are GENEVE’s main components, and how does it work?
- GENEVE has a header, optional metadata, and payload. The header includes fields such as the GENEVE version, protocol type, and tunnel options. The encapsulated packet is wrapped in UDP and then transmitted over the IP network. The metadata field allows customized extensions for functions like network segmentation, QoS, and security policies, making GENEVE adaptable to different networking needs.
Q.4 What are the key benefits of using GENEVE in cloud and data center environments?
- GENEVE is highly flexible and extensible, enabling customized network solutions that can evolve with changing requirements. It’s widely used in cloud and data center environments due to its support for multi-tenancy, efficient traffic forwarding, and integration with network functions, such as security policies and monitoring. GENEVE’s customizable options make it future-proof and adaptable to new networking use cases.
Q.5 Is GENEVE supported by popular network vendors and software-defined networking (SDN) platforms?
- Yes, GENEVE is widely supported by major network vendors, SDN platforms, and cloud providers. Many virtualization platforms, such as VMware NSX, OpenStack, and Microsoft Azure, offer native or third-party support for GENEVE. Additionally, it’s also being adopted in hardware switches, which enhances its performance in hybrid and data center environments, enabling end-to-end support across the network.
ABOUT THE AUTHOR
I am here to share my knowledge and experience in the field of networking with the goal being – “The more you share, the more you learn.”
I am a biotechnologist by qualification and a Network Enthusiast by interest. I developed interest in networking being in the company of a passionate Network Professional, my husband.
I am a strong believer of the fact that “learning is a constant process of discovering yourself.”
– Rashmi Bhardwaj (Author/Editor)