Gre: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 81: | Zeile 81: | ||
*Als Zieladresse wird die äußere Tunneladresse des Zielsystems (in der Regel ein Router) verwendet. | *Als Zieladresse wird die äußere Tunneladresse des Zielsystems (in der Regel ein Router) verwendet. | ||
*Am Zielrouter wird nach dem Empfang des IP-Paketes der GRE-Header entfernt und das Paket ohne GRE-Informationen unter Verwendung der Routing-Tabelle weitergeleitet. | *Am Zielrouter wird nach dem Empfang des IP-Paketes der GRE-Header entfernt und das Paket ohne GRE-Informationen unter Verwendung der Routing-Tabelle weitergeleitet. | ||
| + | =Links= | ||
| + | *https://de.wikipedia.org/w/index.php?title=Generic_Routing_Encapsulation&action=edit | ||
Version vom 8. September 2022, 16:23 Uhr
Grundlegendes
- Das Generic Routing Encapsulation (GRE) ist ein Netzprotokoll, welches dazu dient, andere Protokolle einzukapseln
- Man kann so diese in Form eines Tunnels über das Internet Protocol (IP) zu transportieren.
- GRE setzt – wie UDP und TCP – direkt auf IP auf und verwendet die IP-Protokoll-Nummer 47.
Beispiele für GRE-Anwendungen
- VPN-Verbindungen für PPTP
- Aufbau von Tunneln zwischen IPv6-fähigen Netzen über IPv4-Infrastruktur (und vice versa)
- Tunnel zwischen IPsec-Endstellen, wenn die Benutzung dynamischer Routingprotokolle oder Multicastübertragungen über VPN-Verbindungen benötigt wird
- Tunnel für Mobilitätsprotokolle wie Mobile IP oder Proxy Mobile IPv6
- Tunnel für die Übertragung des IPX- oder des AppleTalk-Protokolls
Header-Aufbau
- Ein GRE-Header ist mindestens 4 Byte groß. Da das GRE-Paket zusätzlich noch in ein IP-Paket eingepackt wird,
- Diese im GRE-Tunnel übertragene Pakete mindestens 24 Byte werden größer.
- Dies muss bei der Festlegung der maximalen Paketgröße (MTU) berücksichtigt werden.
Ein GRE-Header hat den folgenden Aufbau:
| Bits 0–3 | 4–12 | 13–15 | 16–31 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | K | S | Reserved0 | Version | Protocol Type | ||||||||||||||||||||||||||
| Checksum (optional) | Reserved1 (optional) | ||||||||||||||||||||||||||||||
| Key (optional) | |||||||||||||||||||||||||||||||
| Sequence Number (optional) | |||||||||||||||||||||||||||||||
- C
- Checksum bit; wird auf 1 gesetzt, wenn eine Checksum enthalten ist.
- K
- Key bit; wird auf 1 gesetzt, wenn ein Key vorhanden ist.
- S
- Sequence number bit; wird auf 1 gesetzt, wenn eine Sequenznummer vorhanden ist.
- Reserved0
- Reservierte Bits; werden auf 0 gesetzt.
- Version
- GRE Versionsnummer; wird auf 0 gesetzt.
- Protocol Type
- Enthält den ether protocol type der übertragenen Nutzlast. (Für IPv4 beträgt der Wert hex 0800.)
- Checksum
- Vorhanden, falls das C-Bit gesetzt ist; enthält die Prüfsumme für den GRE Header und die Nutzlast.
- Reserved1
- Vorhanden, falls das C-Bit gesetzt ist; wird auf 0 gesetzt.
- Key
- Vorhanden, falls das K-Bit gesetzt ist; enthält einen applikationsabhängigen Schlüsselwert.
- Sequence Number
- Vorhanden, falls das S-Bit gesetzt ist; enthält die Sequenznummer des GRE-Paketes.
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 bis 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 (in der Regel ein Router) verwendet.
- Am Zielrouter wird nach dem Empfang des IP-Paketes der GRE-Header entfernt und das Paket ohne GRE-Informationen unter Verwendung der Routing-Tabelle weitergeleitet.