Generic Routing Encapsulation (GRE) ist ein Standard für das Tunneling. Mit GRE lassen sich IP-Protokolle und andere Schicht-3-Protokolle über ein IP-Netz übertragen. Beim GRE- Protokoll wird ein Datenpaket mit einer Nutzlast in einem anderen Paket verkapselt und durch IP-Netze getunnelt.
Das äußere, verkapselnde Datenpaket wird von den Routern über den GRE-Tunnel zum Endpunkt geroutet. Das verkapselte Datenpaket wird nicht analysiert. Wenn das verkapselnde Datenpaket die Zielstation erreicht, wird das innere Datenpaket mit den Nutzdaten entkapselt.
Das GRE-Tunnelpaket besteht aus dem Tunnel-Header, dem GRE-Header und der Payload. Der Tunnel-Header enthält die Adressangaben, der GRE-Header Informationen über das verkapselte Tunnelprotokoll und die Verschlüsselungsalgorithmen und die Nutzlast umfasst den Protokoll-Header des verkapselten Tunnelprotokolls und die reinen Nutzdaten.
Mit dem GRE-Tunneling können Multicast- und IPv6- Datenpakete zwischen Netzwerken transportiert werden. Beispiele für ein solches Tunneling sind Ethernet over MPLS ( EoMPLS) und Virtual Private LAN Service over GRE (VPLSoGRE). Generic Routing Encapsulation ist in RFC 2784 beschrieben.