Generic-Routing-Encapsulation (GRE)
Erfahren Sie mehr über GRE, GRE-Tunneling, Einkapselung und -Entkapselung sowie Konfiguration von GRE.
Generic Routing Encapsulation (GRE) ist eine virtuelle Punkt-zu-Punkt-Verbindung, die Datenverkehr in einem Tunnel kapselt. In den folgenden Themen werden das Tunneling von GRE, der Verkapselungs- und Entkapselungsprozess, die Konfiguration von GREs und die Überprüfung der Funktionsweise von GRE erläutert.
GRE – Überblick
GRE bietet einen privaten Pfad für den Transport von Paketen durch ein ansonsten öffentliches Netzwerk, indem die Pakete gekapselt (oder Tunneling) werden.
GRE kapselt Datenpakete ein und leitet sie an ein Gerät weiter, das sie entkapselt und an ihr endgültiges Ziel weiterleitet. Dadurch können die Quell- und Ziel-Switches so arbeiten, als hätten sie eine virtuelle Punkt-zu-Punkt-Verbindung miteinander (da der von GRE angewendete äußere Header für das eingekapselte Nutzlastpaket transparent ist). GRE-Tunnel ermöglichen es beispielsweise Routing-Protokollen wie RIP und OSPF, Datenpakete von einem Switch zu einem anderen Switch über das Internet weiterzuleiten. Darüber hinaus können GRE-Tunnel Multicast-Datenströme für die Übertragung über das Internet kapseln.
GRE wird in RFC 2784 beschrieben (veraltet frühere RFCs 1701 und 1702). Die Switches unterstützen RFC 2784, aber nicht vollständig.
Als Tunnel-Quell-Router kapselt der Switch ein Nutzlastpaket für den Transport durch den Tunnel zu einem Zielnetzwerk ein. Das Nutzlastpaket wird zuerst in ein GRE-Paket eingekapselt, und dann wird das GRE-Paket in ein Übermittlungsprotokoll eingekapselt. Der Switch, der die Rolle eines Tunnel-Remote-Routers übernimmt, extrahiert das getunnelte Paket und leitet es an sein Ziel weiter. Beachten Sie, dass Sie einen Firewall-Begriff verwenden können, um viele GRE-Tunnel auf einem QFX5100-Switch zu beenden.
Im Abschnitt Plattformspezifisches GRE-Verhalten finden Sie Hinweise zu Ihrer Plattform.
GRE-Tunneling
Die Daten werden vom System über in der Routing-Tabelle festgelegte Routen an das GRE-Endgerät weitergeleitet. (Diese Routen können statisch konfiguriert oder von Routing-Protokollen wie RIP oder OSPF dynamisch erlernt werden.) Wenn ein Datenpaket vom GRE-Endgerät empfangen wird, wird es entkapselt und erneut an seine Zieladresse weitergeleitet.
GRE-Tunnel sind zustandslos, d. h. das Endgerät des Tunnels enthält keine Informationen über den Status oder die Verfügbarkeit des Remote-Tunnel-Endgeräts. Daher kann der Switch, der als Tunnel-Quell-Router fungiert, den Status der GRE-Tunnel-Schnittstelle nicht auf "down" ändern, wenn der Remote-Endgerät nicht erreichbar ist.
Weitere Informationen zum GRE-Tunneling finden Sie unter:
- Einkapselung und -Entkapselung am Switch
- Class of Service auf GRE-Tunneln
- Wenden Sie Firewall-Filter auf GRE-Datenverkehr an
Einkapselung und -Entkapselung am Switch
Kapselung: Ein Switch, der als Tunnel-Quell-Router fungiert, kapselt und leitet GRE-Pakete wie folgt weiter:
Wenn ein Switch ein Datenpaket (Nutzlast) für das Tunneling empfängt, sendet er das Paket an die Tunnel-Schnittstelle.
Die Tunnel-Schnittstelle kapselt die Daten in ein GRE-Paket und fügt einen äußeren IP-Header hinzu.
Das IP-Paket wird auf Basis der Zieladresse im äußeren IP-Header weitergeleitet.
Entkapselung: Ein Switch, der als Tunnel-Remote-Router fungiert, verarbeitet GRE-Pakete wie folgt:
Wenn der Ziel-Switch das IP-Paket von der Tunnel-Schnittstelle empfängt, werden der äußere IP-Header und der GRE-Header entfernt.
Das Paket wird basierend auf dem inneren IP-Header weitergeleitet.
Class of Service auf GRE-Tunneln
Wenn es in einem Netzwerk zu Überlastungen und Verzögerungen kommt, können einige Pakete verworfen werden. Die CoS-Klasse (Class of Service) von Junos OS unterteilt den Datenverkehr in Klassen, auf die Sie bei Überlastung unterschiedliche Durchsatz- und Paketverluste anwenden und dadurch Regeln für Paketverluste festlegen können. Weitere Informationen zu CoS finden Sie unter Junos OS CoS für EX-Serie Switches Übersicht.
Die folgenden CoS-Komponenten sind auf einem Switch verfügbar, der als GRE-Tunnel-Quell-Router oder GRE-Tunnel-Remote-Router betrieben wird:
-
An der GRE-Tunnel-Quelle: Auf einem Switch, der als Tunnel-Quell-Router fungiert, können Sie CoS-Klassifizierer auf einen Eingangsport oder auf einen GRE-Port anwenden, mit den folgenden Ergebnissen zur Unterstützung von CoS-Komponenten bei getunnelten Paketen:
-
Nur Scheduler: Basierend auf der CoS-Klassifizierung des Eingangsports können Sie CoS-Scheduler auf einen GRE-Port des Switches anwenden, um Ausgabewarteschlangen zu definieren und die Übertragung von Paketen durch den Tunnel nach der GRE-Verkapselung zu steuern. Sie können jedoch keine CoS-Rewrite-Regeln auf diese Pakete anwenden.
-
Scheduler und Rewrite-Regeln: Abhängig von der CoS-Klassifizierung des GRE-Ports können Sie sowohl Scheduler als auch Rewrite-Regeln auf die gekapselten Pakete anwenden, die über den Tunnel übertragen werden.
BA-Klassifizierer können nicht auf
gr-Schnittstellen konfiguriert werden. Sie müssen den Datenverkehr aufgr-Schnittstellen mithilfe von Firewall-Filtern (Mehrfeld-Klassifizierern) klassifizieren. -
Am GRE-Tunnel-Endgerät: Wenn es sich bei dem Switch um einen Tunnel-Remote-Router handelt, können Sie CoS-Klassifizierer auf den GRE-Port und die Scheduler anwenden. Sie können auch Regeln für den Ausgangsport umschreiben, um die Übertragung eines entkapselten GRE-Pakets vom Ausgangsport zu steuern.
Wenden Sie Firewall-Filter auf GRE-Datenverkehr an
Firewall-Filter stellen Regeln bereit, die definieren, ob Pakete, die eine Schnittstelle auf einem Switch durchlaufen, zugelassen, verweigert oder weitergeleitet werden. (Weitere Informationen finden Sie unter Übersicht über Firewall-Filter für Switches der EX-Serie-Switches.) Aufgrund der von GRE durchgeführten Kapselung und Entkapselung sind Sie eingeschränkt, wo Sie einen Firewall-Filter zum Filtern von getunnelten Paketen anwenden können und welcher Header betroffen ist. Tabelle 1 identifiziert diese Einschränkungen.
| Endgeräte-Typ | Eingangsschnittstelle | Ausgangsschnittstelle |
| Quelle (einkapselnd) |
Innerer Header |
äußerer Header |
| Remote (Entkapselung) |
Pakete können auf der Eingangsschnittstelle nicht gefiltert werden |
Innerer Header |
Verwenden eines Firewall-Filters zum Entkapseln von GRE-Datenverkehr
Sie können auch einen Firewall-Filter verwenden, um den GRE-Datenverkehr auf Switches zu entkapseln. Diese Funktion bietet erhebliche Vorteile in Bezug auf Skalierbarkeit, Leistung und Flexibilität, da Sie für die Entkapselung keine Tunnel-Schnittstelle erstellen müssen. So können Sie beispielsweise viele Tunnel von mehreren Quell-IP-Adressen mit einem Firewall-Begriff beenden. Informationen zum Konfigurieren eines Firewall-Filters für diesen Zweck finden Sie unter Konfigurieren eines Firewall-Filters zum Entkapseln von GRE-Datenverkehr .
Konfigurieren von GRE-Tunneling (Generic Routing Encapsulation)
Generic Routing Encapsulation (GRE) bietet einen privaten Pfad für den Transport von Paketen durch ein ansonsten öffentliches Netzwerk durch Verkapselung (oder Tunneling) der Pakete. GRE-Tunneling wird über Tunnel-Endgeräte durchgeführt, die den Datenverkehr kapseln oder entkapseln.
Verwenden Sie GRE , um die Plattform- und Release-Unterstützung für bestimmte Funktionen zu bestätigen.
Sie können auch einen Firewall-Filter verwenden, um den GRE-Datenverkehr zu entkapseln. Diese Funktion bietet erhebliche Vorteile in Bezug auf Skalierbarkeit, Leistung und Flexibilität, da Sie für die Entkapselung keine Tunnel-Schnittstelle erstellen müssen. So können Sie beispielsweise viele Tunnel von mehreren Quell-IP-Adressen mit einem Firewall-Begriff beenden. Weitere Informationen zu dieser Funktion finden Sie unter Konfigurieren eines Firewallfilters zum Entkapseln von GRE-Datenverkehr.
So konfigurieren Sie einen GRE-Tunnel-Port auf einem Switch:
-
Bestimmen Sie den Netzwerkport oder Uplink-Port auf Ihrem Switch, der in einen GRE-Tunnel-Port konvertiert werden soll.
-
Konfigurieren Sie den Port als Tunnel-Port für GRE-Tunnel-Services:
[edit chassis]user@switch# set fpc slot pic pic-number tunnel-port port-number tunnel-services
Für QFX10000 wird standardmäßig die Schnittstelle gr-0/0/0 erstellt. Außerdem müssen Sie die set fpc slot pic pic-number tunnel-port port-number tunnel-servicesAnweisung nicht konfigurieren.
In diesem Thema wird Folgendes beschrieben:
Konfigurieren eines GRE-Tunnels
So konfigurieren Sie eine GRE-Tunnel-Schnittstelle:
Wenn Sie auf den Switches QFX10002 und QFX10008 GRE-Tunneling mit dem zugrunde liegenden ECMP-Next-Hop anstelle des Unicast-Next-Hop konfigurieren, schlägt die GRE-Tunnel-Kapselung fehl, und der Netzwerkdatenverkehr wird verworfen.
Indirekte Ausgangs-Next-Hops werden derzeit in der GRE-Implementierung für QFX10000-Switches nicht unterstützt.
Überprüfen Sie, ob das generische Routing-Kapselungs-Tunneling ordnungsgemäß funktioniert.
Zweck
Stellen Sie sicher, dass die GRE-Schnittstelle (Generic Routing Encapsulation) getunnelten Datenverkehr sendet.
Aktion
Zeigen Sie Statusinformationen über die angegebene GRE-Schnittstelle mit dem Befehl show interfaces an.
user@switch> show interfaces gr-0/0/0.0
Physical interface: gr-0/0/0, Enabled, Physical link is Up
Interface index: 132, SNMP ifIndex: 26
Type: GRE, Link-level type: GRE, MTU: Unlimited, Speed: 800mbps
Device flags : Present Running
Interface flags: Point-To-Point SNMP-Traps
Input rate : 0 bps (0 pps)
Output rate : 0 bps (0 pps)
Logical interface gr-0/0/0.0 (Index 68) (SNMP ifIndex 47)
Flags: Point-To-Point SNMP-Traps 16384
IP-Header 10.1.1.2:10.1.1.1:47:df:64:0000000000000000 Encapsulation: GRE-NULL
Input packets : 0
Output packets: 0
Protocol inet, MTU: 1476
Flags: None
Addresses, Flags: Is-Primary
Local: 10.0.0.0
Bedeutung
Die Ausgabe zeigt an, dass die GRE-Schnittstelle gr-0/0/0 aktiv ist. Die Ausgabe zeigt den Namen der physischen Schnittstelle und die Datenverkehrsstatistiken für diese Schnittstelle an---die Anzahl und die Rate, mit der Eingabe- und Ausgabebytes und Pakete auf der physischen Schnittstelle empfangen und übertragen werden.
Plattformspezifisches GRE-Verhalten
Verwenden Sie Generic Routing Encapsulation (GRE), um die Plattform- und Release-Unterstützung für bestimmte Funktionen zu bestätigen.
Verwenden Sie die folgende Tabelle, um plattformspezifische Verhaltensweisen für Ihre Plattform zu überprüfen:
| Plattform-Unterschied | |
|---|---|
| Switches der QFX-Serie |
|
| Switches der EX-Serie | Switches der EX-Serie, die GRE unterstützen:
|