Le protocole GRE est un protocole de tunneling développé par Cisco, capable d'encapsuler une large variété de types de paquets de protocoles au sein de tunnels IP, en créant une liaison point à point virtuelle vers des routeurs Cisco au niveau de points distants sur un interréseau IP. Le tunneling IP à l'aide du protocole GRE permet l'extension du réseau au sein d'un environnement fédérateur à protocole unique. Il réalise cette opération en connectant des sous-réseaux multiprotocole dans un environnement fédérateur à protocole unique.
Le protocole GRE possède les caractéristiques suivantes :
- Il est défini en tant que norme IETF (RFC 2784).
- Dans l'en-tête IP externe, la valeur 47 est utilisée dans le champ de protocole afin d'indiquer qu'un en-tête GRE va suivre.
- L'encapsulation GRE utilise un champ de type de protocole dans l'en-tête GRE afin de prendre en charge l'encapsulation de n'importe quel protocole OSI de couche 3. Les types de protocoles sont définis dans la norme RFC 1700 en tant que protocoles « EtherTypes ».
- La fonctionnalité GRE est sans état et ne comporte aucun mécanisme de contrôle de flux par défaut.
- Le protocole GRE n'inclut aucun mécanisme de sécurité fort destiné à protéger ses données utiles.
- L'en-tête GRE, avec l'en-tête IP de tunneling indiqué sur la figure, crée un minimum de 24 octets de surcharge supplémentaire pour les paquets qui transitent par le tunnel.