Generic Routing Encapsulation - Generic Routing Encapsulation

Generisk routing inkapsling
Kommunikationsprotokoll
Ändamål Nätverkstunnel
Utvecklare Cisco Systems
Introducerad 1994
RFC (s) RFC1701, RFC1702, RFC2784

Generic Routing Encapsulation ( GRE ) är ett tunnlingsprotokoll som utvecklats av Cisco Systems , som kan inkapsla en mängd olika nätverkslagerprotokoll inuti virtuella punkt-till-punkt-länkar eller punkt-till-multi länkar över ett Internet Protocol nätverk.

Exempel på användningsområden

Exempel på protokollstack

OSI -modellskikt Protokoll
5. Session X.225
4. Transport UDP
3. Nätverk (GRE-inkapslat) IPv4
Inkapsling GRE
3. Nätverk IPv6
2. Datalänk Ethernet
1. Fysisk Ethernet fysiskt lager

Baserat på principerna för protokollskiktning i OSI bryter protokollinkapsling, inte specifikt GRE, lagringsordningen. Det kan ses som en separator mellan två olika protokollstackar, en fungerar som bärare för en annan.

IP som leveransprotokoll

GRE -paket som är inkapslade inom IP använder IP -protokoll typ 47 .

Paketrubrik

Utökat GRE -pakethuvud (RFC 2890)

Den utökade versionen av GRE -pakethuvudet enligt RFC 2890 .

Bit 0–3 4-12 13-15 16–31
C K S Reserverad0 Version Protokollstyp
Checksumma (valfritt) Reserverad 1 (valfritt)
Nyckel (valfritt)
Sekvensnummer (valfritt)
C
Checksumma lite. Ställ in på 1 om en kontrollsumma finns.
K
Nyckelbit. Ställ in på 1 om en nyckel finns.
S
Sekvensnummer bit. Ställ in på 1 om ett sekvensnummer finns.
Reserverad0
Reserverade bitar; inställt på 0.
Version
GRE Versionsnummer; inställt på 0.
Protokollstyp
Indikerar eterprotokollstypen för den inkapslade nyttolasten. (För IPv4 skulle detta vara hex 0800.)
Checksumma
Närvarande om C -biten är inställd; innehåller kontrollsumman för GRE -huvudet och nyttolasten.
Reserverad 1
Närvarande om C -biten är inställd; är inställt på 0.
Nyckel
Presentera om K -biten är inställd; innehåller ett applikationsspecifikt nyckelvärde.
Sekvensnummer
Presentera om S -biten är inställd; innehåller ett sekvensnummer för GRE -paketet.

Standard GRE -pakethuvud (RFC 2784)

En standard GRE -pakethuvudstruktur , enligt definitionen i RFC 2784 och RFC 2890 , representeras i diagrammet nedan.

0 Bit 1–12 13–15 16–31
C Reserverad0 Version Protokollstyp
Checksumma (valfritt) Reserverad1 (valfritt)
C
Checksumma lite. Ställ in på 1 om en kontrollsumma finns.
Reserverad0
Reserverade bitar; inställt på 0.
Version
GRE Versionsnummer; inställt på 0.
Protokollstyp
Indikerar eterprotokollstypen för den inkapslade nyttolasten. (För IPv4 skulle detta vara hex 0800.)
Checksumma
Närvarande om C -biten är inställd; innehåller kontrollsumman för GRE -huvudet och nyttolasten.
Reserverad 1
Närvarande om C -biten är inställd; är inställt på 0.

Standard GRE -pakethuvud (RFC 1701, föråldrat)

Den nyare strukturen ersatte den ursprungliga strukturen enligt definitionen i RFC  1701 :

Bit 0–4 5–7 8-12 13–15 16–31
C R K S s Upprepas Flaggor Version Protokollstyp
Checksumma (valfritt) Förskjutning (tillval)
Nyckel (valfritt)
Sekvensnummer (valfritt)
Routing (valfritt, variabel längd)

Den ursprungliga GRE RFC definierade ytterligare fält i pakethuvudet som blev föråldrade i den nuvarande standarden:

R
Routing Bit. Ställ in på 1 om information om routning och förskjutning finns.
K
Nyckelbit. Ställ in på 1 om en nyckel finns.
S
Sekvensnummer bit. Ställ in på 1 om ett sekvensnummer finns.
s
Strikt källvägsbit.
Upprepas
Rekursionskontrollbitar .
Flaggor
Reserverad för framtida bruk, inställt på 0.
Offset
Presentera om R -bit eller C -bit är inställd; innehåller giltig information, endast om R -bit är inställd. Ett förskjutningsfält som anger förskjutningen inom ruttfältet till den aktiva källvägsposten
Nyckel
Presentera om K -biten är inställd; innehåller ett applikationsspecifikt nyckelvärde.
Sekvensnummer
Presentera om S -biten är inställd; innehåller ett sekvensnummer för GRE -paketet.
Routing
Närvarande om R -bit är inställd; innehåller en lista med källvägsposter, därför av variabel längd

PPTP GRE -pakethuvud

Den Point-to-Point Tunneling Protocol (PPTP), definierad i RFC 2637 , använder en variant GRE pakethuvud struktur, representeras nedan. PPTP skapar en GRE -tunnel genom vilken PPTP GRE -paketen skickas.

Bit 0–4 5–7 8 9-12 13–15 16–31
C R K S s Upprepas A Flaggor Version Protokollstyp
Nyckellastlängd Nyckelsamtal -ID
Sekvensnummer (valfritt)
Kvittensnummer (valfritt)
C
Checksumma lite. För PPTP GRE -paket är detta inställt på 0.
R
Routing bit. För PPTP GRE -paket är detta inställt på 0.
K
Nyckelbit. För PPTP GRE -paket är detta inställt på 1. (Alla PPTP GRE -paket har en nyckel.)
S
Sekvensnummer bit. Ställ in på 1 om ett sekvensnummer tillhandahålls, vilket indikerar ett PPTP GRE -datapaket.
s
Strikt källvägsbit. För PPTP GRE -paket är detta inställt på 0.
Upprepas
Rekursionskontrollbitar . För PPTP GRE -paket är dessa inställda på 0.
A
Kvittensnummer finns. Ställ in på 1 om ett kvittensnummer tillhandahålls, vilket indikerar ett PPTP GRE -bekräftelsepaket.
Flaggor
Flagga bitar. För PPTP GRE -paket är dessa inställda på 0.
Version
GRE Versionsnummer. För PPTP GRE -paket är detta inställt på 1.
Protokollstyp
För PPTP GRE -paket är detta inställt på hex 880B.
Nyckellastlängd
Innehåller storleken på nyttolasten, exklusive GRE -rubriken.
Nyckelsamtal -ID
Innehåller Peer's Call ID för den session som paketet tillhör.
Sekvensnummer
Presentera om S -biten är inställd; innehåller GRE nyttolast sekvensnummer.
Kvittensnummer
Presentera om A -biten är inställd; innehåller sekvensnumret för det högsta GRE -nyttolastpaketet som mottagits av avsändaren.

Standarder

  • RFC  1701 : Generic Routing Encapsulation (GRE) (informativ)
  • RFC  1702 : Generic Routing Encapsulation via IPv4 -nätverk (informativ)
  • RFC  2637 : Point to Point Tunneling Protocol (informativt)
  • RFC  2784 : Generic Routing Encapsulation (GRE) (föreslagen standard, uppdaterad av RFC 2890)
  • RFC  2890 : Utökningar av nyckel- och sekvensnummer till GRE (föreslagen standard)
  • RFC  8086 : GRE-in-UDP-inkapsling (föreslagen standard)

Se även

Referenser

externa länkar