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 Interneta protokola (IP) paketē. GRE ir savs IP numurs - 47. 

Iekapsulēšanas procesā piedalās trīs protokoli:
 Iekapsulējamais protokols
 Iekapsulēšanas 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ējamie 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.

GRE IP pakas struktūra 
 GRE  pakas sastāv no trīs iesākumiem (header) un vērtuma (payload).

GRE pakas iesākums 
GRE pakas iesākuma diagramma

0 bits(C) ja uzstādīts kā 1 - Iekļauta kontrolsumma.
1 bits(R) ja uzstādīts kā 1 - Iekļauti atkāpes (offset) un maršrutēšanas (routing) lauki.
2 bits(K) ja uzstādīts kā 1 - Iekļauts atslēgas (key) lauks.
3 bits(S) ja uzstādīts kā 1 - Iekļauts secības (sequence).
4 bits(s) ja uzstādīts kā 1 - Stingra maršruta avots (Strict sorce route) bits ir atrunāts citā dokumentā un tiek ieteikts (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 papildu iekapsulēšanas skaitu.
 Karodziņu 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 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)

 Address family - (16 biti) Norāda maršrutēšanas informācijas lauka sintaksi un semantiku.  
 SRE atkāpe - (8 biti) norāda baitu atkāpi, sākot ar maršrutēšanas lauku līdz pirmajam aktīva stingrā maršrutēšanas avota lauka baitam.
 SRE garums - (8 biti) 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ā.

Ārējās saites 
  RFC-1701
 RFC-1702 (GRE over IPv4)
 RFC-2784

Tunelēšanas protokoli