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.
![](http://upload.wikimedia.org/wikipedia/lv/thumb/5/5c/Generic_Routing_Encapsulation2.jpg/600px-Generic_Routing_Encapsulation2.jpg)
Iekapsulēšanas procesā piedalās trīs protokoli:
- Iekapsulējamais protokols
- Iekapsulēšanas protokols (GRE)
- Transporta protokols IP
Pielietojums
[labot šo sadaļu | labot pirmkodu]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
[labot šo sadaļu | labot pirmkodu]Tabulā ir attēlots veids, kā tiek veikta GRE iekapsulēšana.
OSI modeļa līmeņi | Protokoli |
---|---|
5. Sesijas | X.225 |
4. Transporta | pUDP |
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
[labot šo sadaļu | labot pirmkodu]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
[labot šo sadaļu | labot pirmkodu]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 - 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)
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 length | |||||||||||||||||||||||||||||
Routing information |
- 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ā.