RFC 2784 – Generic Routing Encapsulation (GRE)
| Status | Proposed Standard |
|---|---|
| Veröffentlicht | März 2000 |
| Volltext | rfc-editor.org/rfc/rfc2784 |
RFC 2784 spezifiziert das Generic Routing Encapsulation (GRE) Protokoll, ein allgemeines Kapselungsverfahren, das es erlaubt, beliebige Netzwerkschichtprotokolle als Nutzlast über beliebige andere Netzwerkschichtprotokolle als Zustellprotokoll zu transportieren. Ziel ist es, die Vielzahl spezifischer „X-over-Y“-Kapselungen durch einen einfachen, generischen Mechanismus zu ersetzen, der die Komplexität des Kapselungsproblems von O(n²) auf ein handhabbares Maß reduziert. Das Verfahren adressiert nicht die Entscheidung, wann eine Kapselung erfolgen soll, sondern nur die Struktur des Kapselungsheaders.
Der Kern besteht aus einem GRE-Header, der zwischen den Zustell-Header und das Payload-Paket eingefügt wird. Der GRE-Header enthält ein Pflichtfeld für den Protokolltyp der Nutzlast (definiert als Ethertype) sowie optionale Felder für eine Prüfsumme. Der Header unterstützt eine Version 0 mit reservierten Bits, wobei Bits 1-5 (gemäß RFC 1701) als veraltet gelten und von einem konformen Empfänger nur bei Implementierung von RFC 1701 verarbeitet werden dürfen. Bei IPv4 als Nutzlast muss der Protokolltyp auf 0x800 gesetzt werden, und die TTL des decapsulierten Pakets wird dekrementiert.
Historisch und aktuell ist GRE ein fundamentales Tunnelprotokoll in IP-Netzen, das unter anderem für VPNs, Mobile IP oder die Verbindung separater Routing-Domänen genutzt wird. Es ist im Internetstandard festgelegt und wird von nahezu allen Routern und Betriebssystemen unterstützt. Die Spezifikation legt fest, dass GRE-Pakete im IPv4-Zustellnetz Protokollnummer 47 verwenden, und definiert grundlegende Sicherheitsaspekte, die eine Filterung der verdeckten Nutzlast erfordern können.