In informatica e telecomunicazioni il Generic Routing Encapsulation, in sigla GRE, è un protocollo di rete progettato nel 1994 (documentato con RFC 1701).
Il GRE è in grado di incapsulare fino a 20 tipi di protocolli. Si fa carico, inoltre, di tre altri tipi di protocolli: - passenger protocol - carrier protocol - protocollo di trasporto; in quest'ultimo si occupa del trasporto dei due precedenti protocolli.
Le fasi di lavoro sono le seguenti:
L'header del pacchetto GRE è rappresentato nel diagramma sottostante. RFC 2784 e RFC 2890
| Bits 0–3 | 4–12 | 13–15 | 16–31 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | K | S | Reserved0 | Version | Protocol Type | ||||||||||||||||||||||||||
| Checksum (optional) | Reserved1 (optional) | ||||||||||||||||||||||||||||||
| Key (optional) | |||||||||||||||||||||||||||||||
| Sequence Number (optional) | |||||||||||||||||||||||||||||||