Benutzer:Norbert 2000/GRE
Das Generic Routing Encapsulation (GRE) ist ein Netzprotokoll, das von der Firma Cisco Systems entwickelt wurde. Es dient dazu, andere Protokolle einzukapseln und so in Form eines Tunnels über das Internet Protocol (IP) zu transportieren.
Beispiele für GRE-Anwendungen:
- VPN-Verbindungen für PPTP,
- Aufbau von Tunneln zwischen IPv6-fähigen Netzen über IPv4-Infrastruktur (und vice versa) oder
- Als Tunnel zwischen IPsec-Endstellen, um dynamische Routingprotokolle oder Multicastübertragungen über VPN-Verbindungen fahren zu können.
- Als Tunnel für die Übertragung des IPX oder des AppleTalk-Protokolls.
GRE verwendet die IP-Protokoll-Nummer 47, ein GRE-Header hat folgenden Aufbau:
0 | Bits 1-12 | 13-15 | 16–31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | Reserved0 | Version | Protocol Type | ||||||||||||||||||||||||||||
Checksum (optional) | Reserved1 (optional) |
- C (Bit 0) – Checksum Present - wenn dieses Bit 1 ist, sind die Felder checksum und reserved1 vorhanden.
- Ver (Bits 13–15) – Version Number
- Reserved0, Reserved1 – Diese Felder werden in der aktuellen Version nicht verwendet und sollten alle auf 0 gesetzt sein, ist dies nicht der Fall, ist das ein Hinweis darauf, dass eine ältere Version (RFC 1701) implementiert ist.
GRE-Header sind mindestens 4 Byte groß. Da das GRE-Paket zusätzlich noch in einem neuen IP-Paket eingepackt wird, werden im GRE-Tunnel übertragene Pakete mindestens 24 Byte größer. Dies muss bei der Festlegung der maximalen Paketgröße Maximum Transmission Unit (MTU) berücksichtigt werden.
Konfiguration
GRE-Tunnel werden in Cisco-Routern als (virtuelle) Interfaces konfiguriert. Im Beispiel die Minimalkonfiguration für einen GRE-Tunnel IPv4 in IPv4:
[...] ! interface Tunnel0 (lokal eindeutige Nummer von 0-2147483647) ip address 192.168.0.1 255.255.255.0 (innere Tunneladresse) tunnel source 10.0.0.1 (äußere lokale Tunneladresse) tunnel destination 10.0.0.2 (äußere Tunneladresse des Zielrouters) end
Adressierung
GRE-Tunnel haben eigene Tunnel-Adressen, die aber nur innerhalb der beteiligten Router genutzt werden. Diese Adressen entsprechen den Anforderungen des einzukapselnden Protokolls und werden am Tunnelinterface konfiguriert.
Um Pakete durch den Tunnel hindurch zu transportieren, benötigt der Tunnel zusätzlich äußere Adressen, die im Transportnetz, das die Tunnelendpunkte verbindet, geroutet werden. Diese Adressen entsprechen den Anforderungen des Internetprotokolls.
Übertragung
Ein zu übertragendes Paket wird am Quellrouter zuerst mit einem GRE-Header versehen. Dann wird das resultierende Paket als Nutzlast in einem neuen Unicast-IP Paket eingepackt, dessen Quelladresse die lokale äußere Tunneladresse ist. Als Zieladresse wird die äußere Tunneladresse des Zielsystems verwendet.
Am Zielrouter wird nach dem Empfang des IP-Paketes der GRE-Header wieder entfernt. Das eingekapselte Paket wird dann über das Tunnelinterface weitergeleitet.
Weblinks
- Generic Routing Encapsulation (GRE), RFC 1701, October 1994
- Generic Routing Encapsulation (GRE) over IPv4 networks, RFC 1702, October 1994
- Generic Routing Encapsulation (GRE), RFC 2784, March 2000
[[Kategorie:Routingprotokoll]] [[Kategorie:Tunnelprotokoll]] [[Kategorie:Internet-Anwendungsprotokoll]] [[cs:Generic Routing Encapsulation]] [[en:Generic Routing Encapsulation]] [[es:GRE]] [[fi:GRE]] [[fr:Generic Routing Encapsulation]] [[it:Generic Routing Encapsulation]] [[nl:Generic Routing Encapsulation]] [[ru:GRE (протокол)]]