GRE

Generic Routing and Encapsulation

Protocol
Introduced in Rel-8
Generic Routing and Encapsulation (GRE) is a tunneling protocol used to encapsulate a wide variety of network layer protocols inside virtual point-to-point links over an IP network. In 3GPP, it is used for encapsulating user plane and control plane packets between network functions, particularly in EPS and 5G architectures for backhaul and interconnect.

Description

Generic Routing and Encapsulation (GRE) is a lightweight, stateless tunneling protocol defined by IETF (RFC 2784, RFC 2890). Within 3GPP architectures, it is adopted as a transport mechanism for encapsulating packets between network entities. GRE works by taking an original packet (the payload packet, which can be of various protocols like IP, MPLS, or Ethernet) and encapsulating it within a new outer IP packet. The outer IP header contains the source and destination IP addresses of the tunnel endpoints. Between the outer IP header and the original payload packet, a GRE header is inserted. This minimal header (typically 4-8 bytes) contains key fields such as a protocol type field, which indicates the protocol of the encapsulated payload (e.g., 0x0800 for IPv4), and optionally a key field for identifying individual traffic flows within a tunnel.

In 3GPP systems, GRE's role is prominent in the user plane transport. For example, in the Evolved Packet System (EPS), GRE is used as one of the encapsulation protocols on the S1-U interface between the eNodeB and the Serving Gateway (S-GW), and on the S5/S8 interfaces between the S-GW and Packet Data Network Gateway (P-GW). It encapsulates the user's IP packets (or Ethernet frames) for transport over the operator's IP backbone. Each bearer (a logical pipe with specific QoS) is typically mapped to a unique GRE key, allowing the receiving node to identify the bearer context to which the packet belongs without deep packet inspection. This enables per-bearer treatment and forwarding.

The protocol's architecture is simple and efficient. It does not provide inherent security (like encryption) or reliable delivery (like sequencing and acknowledgments); these must be provided by other protocols if needed (e.g., IPsec for security). This simplicity is its strength, offering low overhead and high performance. In 5G systems, while newer protocols like GPRS Tunneling Protocol User Plane (GTP-U) are more common, GRE remains a defined option and is used in specific deployments and for interworking scenarios. Its stateless nature means tunnel endpoints do not maintain complex state machines for the tunnel itself, making it robust and scalable for carrying massive amounts of user plane traffic in mobile backhaul networks.

Purpose & Motivation

GRE was adopted into 3GPP specifications to provide a simple, standardized, and efficient method for tunneling user data between distributed network nodes over an IP-based transport network. The evolution towards All-IP networks in 3GPP Release 8 (EPS) necessitated a replacement for earlier, more complex tunneling methods used in GPRS. GRE addressed this need by offering a lightweight encapsulation protocol that is widely supported in router hardware, leading to high-performance forwarding.

The key problems it solves are payload protocol abstraction and traffic identification. Mobile user packets can be IPv4, IPv6, or PPP. GRE can encapsulate any of these, creating a uniform transport layer. Furthermore, the GRE key field provides a straightforward mechanism for demultiplexing multiple logical connections (EPS bearers) over a single physical or IP tunnel between two nodes. This is crucial for applying the correct QoS policy and routing each packet to the appropriate user session context at the tunnel endpoint. Its creation and adoption were motivated by the desire for a flexible, vendor-interoperable, and cost-effective tunneling solution that leverages the ubiquitous IP infrastructure, aligning with the industry's move towards flatter, IP-centric mobile network architectures.

Key Features

  • Lightweight encapsulation with minimal header overhead
  • Can tunnel a broad variety of network layer protocols (multi-protocol support)
  • Uses a Key field for demultiplexing multiple logical flows (e.g., EPS bearers)
  • Stateless operation with no tunnel setup or teardown signaling
  • Widely supported in network hardware for high-performance forwarding
  • Defined as a transport option for user plane interfaces in 3GPP (e.g., S1-U, S5/S8)

Evolution Across Releases

Rel-8 Initial

Introduced as a key user plane tunneling protocol for the Evolved Packet System (EPS). GRE was specified for use on the S1-U interface (eNodeB to S-GW) and the S5/S8 interfaces (S-GW to P-GW) as an alternative to GTP-U, providing a simple encapsulation method for bearer traffic over the IP-based transport network.

Defining Specifications

SpecificationTitle
TS 24.582 3GPP TS 24.582
TS 29.275 3GPP TS 29.275
TS 29.276 3GPP TS 29.276
TS 36.300 3GPP TR 36.300
TS 36.361 3GPP TR 36.361