CLOUD CONCEPT

GENEVE

GENEVE is an extensible UDP-based encapsulation protocol that carries network traffic and metadata across an underlying IP network.

Cloud Concepts Hub →

What is GENEVE

Generic Network Virtualization Encapsulation (GENEVE) separates the traffic being transported from the physical or virtual network carrying it. Clouds use it for network overlays and transparent insertion of appliances such as firewalls, where preserving original packets and carrying processing metadata are important.

Generic Network Virtualization Encapsulation (GENEVE) is an encapsulation protocol standardized in RFC 8926. It wraps an original payload in a GENEVE header, UDP header, and outer IP header so that an underlying network can transport it between tunnel endpoints. The standard destination port is UDP 6081. The outer addresses identify the tunnel endpoints, while the encapsulated packet retains the addressing information that an appliance or destination needs to process the original traffic.

GENEVE provides a common encapsulation format rather than a complete network virtualization system. Its header includes a 24-bit virtual network identifier and supports variable-length options for metadata. Those options allow implementations to carry additional context without defining a different tunnel protocol for every requirement. However, tunnel endpoints must support the particular payload format and options in use; supporting generic GENEVE does not automatically make an appliance compatible with every cloud implementation.

A practical cloud application is transparent security inspection. Instead of configuring each application to use a proxy, routing directs traffic through an inspection path. A load-balancing component encapsulates packets and distributes them to compatible firewall or intrusion-prevention appliances. Each appliance decapsulates the traffic, applies its policy, and returns permitted traffic using the required encapsulation. This approach allows the appliance fleet to scale independently of the applications it protects.

In AWS, Gateway Load Balancer uses GENEVE on UDP port 6081 to exchange traffic with registered appliances. Its target groups use the GENEVE protocol and port 6081, rather than a TCP target-group protocol. Target type is a separate setting: instance targets are registered by instance ID, while IP targets are registered by IP address. Selecting IP targets does not change the encapsulation protocol, and selecting GENEVE does not mean the original application traffic must use UDP. An encapsulated packet can contain a TCP connection or other supported IP traffic.

For example, an organization can route application-subnet internet traffic through a Gateway Load Balancer endpoint to a fleet of firewalls. The firewalls must implement the AWS-specific GENEVE integration, not merely accept ordinary TCP connections. Appliance security controls must permit UDP 6081 from the appropriate load-balancer infrastructure, plus the separately configured health-check traffic. Gateway Load Balancer health checks use TCP, HTTP, or HTTPS; they are not GENEVE health checks. A healthy management listener alone does not prove that the inspection data path works.

Encapsulation introduces overhead and operational complexity. Account for outer headers and metadata when validating maximum transmission unit, fragmentation behavior, and appliance throughput. Packet captures on the underlay show outer tunnel traffic, so troubleshooting may require decoding GENEVE to inspect the original flow. GENEVE itself does not provide encryption or peer authentication; isolation and confidentiality require additional controls where necessary.

Finally, GENEVE does not by itself provide high availability, balanced traffic distribution, routing symmetry, or firewall state replication. Those depend on the surrounding service and architecture. Deploy appliances across failure domains, validate forward and return routing, and test failure behavior with established connections. Moving a flow to a healthy appliance can still interrupt a session if that appliance lacks the original connection state.

Key aspects of GENEVE

GENEVE provides extensible packet transport for overlays and appliance integration, while interoperability, security, MTU handling, and resilience depend on the surrounding implementation.

UDP-based packet encapsulation

GENEVE transports an inner payload inside an outer IP and UDP packet, normally using destination port 6081. Distinguish the outer tunnel transport from the original application's protocol when configuring access controls and troubleshooting.

Extensible metadata

Variable-length options carry implementation-specific context alongside the payload. Verify compatibility with the cloud integration's required options and packet format, rather than relying only on a vendor's claim of GENEVE support.

Protocol and target type are independent

A target-group protocol specifies how traffic reaches targets, while its target type specifies how targets are registered. For AWS Gateway Load Balancer, GENEVE on port 6081 can be used with instance or IP targets.

Transparent appliance integration

GENEVE can transport original packets through an inspection fleet without requiring applications to explicitly address a proxy. Routing, flow affinity, and return-path design remain responsibilities of the surrounding architecture.

Encapsulation overhead and observability

Outer headers and optional metadata consume packet-size and processing capacity. Test MTU behavior and decode both outer and inner packets when investigating drops, latency, or unexpected firewall decisions.

No built-in security or availability guarantee

GENEVE does not inherently encrypt traffic, authenticate endpoints, or replicate appliance connection state. Apply appropriate network controls and test appliance failover separately from basic tunnel connectivity.

Cloud services for GENEVE

Amazon VPC routing directs selected traffic to Gateway Load Balancer endpoints, which provide access to an inspection service. Gateway Load Balancer distributes that traffic to compatible appliances, often running on Amazon EC2, using GENEVE on UDP port 6081. Appliances inspect the original packets and return permitted traffic through the integration. Target registration, health checks, route symmetry, and appliance capacity must be configured together: successful target health checks do not guarantee correct inspection, and load-balancer failover does not automatically preserve stateful firewall sessions. Deploying across Availability Zones improves resilience when routing and appliance availability are designed accordingly.

Amazon EC2 image Amazon EC2

EC2 can host firewall and other network-appliance software that terminates the GENEVE tunnels used by Gateway Load Balancer. The appliance software must support the required integration, and instance sizing must account for inspection workload and encapsulated packet processing.

Open Amazon EC2 →
Virtual private cloud VPC_32 image Amazon VPC

VPC route tables and Gateway Load Balancer endpoints steer traffic into and out of a GENEVE-backed inspection service. VPC supplies the routing and access-control environment; the endpoint is not a general-purpose GENEVE tunnel endpoint configured by the application.

Open Amazon VPC →