Generic Routing Encapsulation
Generic Routing Encasulation (GRE) ir tunelēšanas protokols kuru izstrādāja Cisco Systems. Tā galvenais mērķis ir OSI modeļa tīkla slāņa protokolu iekapsulēšana iekš Interneta protokola (IP) paketes. GRE ir savs IP nummurs - 47.

Iekapsulēšanas procesā piedalās trīs protokoli:
- Iekapsulējamais protokols
- Iekapsulācijas protokols (GRE)
- Transporta protokols IP
Pielietojums
GRE tunelēšanas protokols ļauj savienot divus tīkla maršrutētājus loģiskajā topoloģijā punkts-punkts izmantojot IP kā transporta protokolu tādā veidā paslēpjot iekapsulējamo protokolu.
Kā iekapsulējamaie protokoli var būt dažādi OSI modeļa tīkla slāņa protokoli, piemēram - IPv4, IPv6, IPX, AppleTalk, CLNP, PPP u.c.
Protokolu steks
Tabulā ir attēlots veids kā tiek veikta GRE iekapsulēšana.
OSI modeļa līmeņi | Protokoli |
---|---|
5. Sesijas | X.225 |
4. Transporta | UDP |
3. Tīkla (GRE-iekapsulētais) | IPv6 |
Iekapsulēšana | GRE |
3. Tīkla | IPv4 |
2. Datu posma | Ethernet |
1. Fiziskais | Ethernet fiziskais slānis |
GRE IP pakas struktūra
GRE pakas sastāv no trīs iesākumiem (header) un vērtuma (payload).
Transporta pakas iesākums | GRE pakas iesākums | Iekapsulējamās pakas iesākums | Vērtums |
GRE pakas iesākums
GRE pakas iesākuma diagramma
Bits 0–4 | 5–7 | 8–12 | 13–15 | 16–31 | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | R | K | S | s | Recur | Flags | Version | Protocol Type | |||||||||||||||||||||||
Checksum (optional) | Offset (optional) | ||||||||||||||||||||||||||||||
Key (optional) | |||||||||||||||||||||||||||||||
Sequence Number (optional) | |||||||||||||||||||||||||||||||
Routing (optional) |
- 0 bits(C) ja uzstādīts kā 1 - kontrolsumma ir iekļauta.
- 1 bits(R) ja uzstādīts kā 1 - Atkāpes(offset) un maršrutēšanas (routing) lauki ir iekļauti
- 2 bits(K) ja uzstādīts kā 1 - Atslēgas(key) lauks ir iekļauts
- 3 bits(S) ja uzstādīts kā 1 - Secības(Sequence) lauks ir iekļauts
- 4 bits(s) ja uzstādīts kā 1 - Stingra maršruta avots (Strict sorce route) bits ir atrunāts citā dokumentā un tiek rekomendēts (s) bitu uzstādīt kā 1 tikai ja visa maršrutēšanas informācija sastāv no stingra maršruta avota.
- Rekursijas kontroles(Recur) lauks - (3 biti) iekļauj atļauto papildus iekapsulēšanas skaitu.
- Karogu(Flags) lauks - (5 biti) ir rezervēts un tam jābūt uzstādītam kā 0.
- Versijas lauks - (3 biti) satur GRE protokola versiju.
- Protokola tipa lauks - (16 biti) iekļauj sevī vērtuma paketes protokola tipu. Kopumā tas būs paketes Ethernet protokola tips.
- Kontrolsummas lauks - (16 biti) Satur IP pakas kontrolsummu.
- Atkāpes(Offset) lauks -(16 biti) norāda baitu atkāpi sākot ar maršrutēšanas(routing) lauku līdz pirmajam aktīva stingrā maršrutēšanas avota lauka baitam.
- Atslēgas lauks - (32 biti)Satur iekapsulēšanas procesā uzstādītu numuru kurš var tikt izmantots kā avota autentifikācijas pārbaudes parametrs.
- Secības lauks - (32 biti)Satur iekapsulēšanas procesā uzstādītu secības numuru, saņēmējs var izmantot lai kontrolēt paku saņemšanas secību.
- Maršrutēšanas lauks - satur maršrutēšanas avotu ierakstus (Source Route Entry).
- Maršrutēšanas avotu ieraksti (SRE)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Adress family | SRE Offset | SRE lenght | |||||||||||||||||||||||||||||
Routing information |
- Address family - (16 biti) Norāda maršrutēšanas informācijas lauka sintaksi un semantiku.
- SRE atkāpe - norāda baitu atkāpi sākot ar maršrutēšanas(routing) lauku līdz pirmajam aktīva stingrā maršrutēšanas avota lauka baitam.
- SRE garums - norāda SRE garumu baitos, ja uzstādīts kā 0, tad šis SRE ir pēdējais.
- Maršrutēšanas informācija - satur informāciju kura var noderēt šīs pakas maršrutēšanā.