Protocole GRE dans les routeurs industriels
Le protocole GRE (Generic Routing Encapsulation) est un protocole de communication utilisé pour établir une connexion point à point directe entre les nœuds du réseau. GRE adopte la technologie Tunnel, qui est le protocole de tunneling de couche 3 du VPN (Virtual Private Network), et encapsule les messages de données de certains protocoles de couche réseau (tels que IP et IPX) afin que ces messages de données encapsulés puissent être transmis dans un autre protocole de couche réseau (tel que IP), résolvant ainsi le problème de la transmission sur des réseaux hétérogènes. GRE est défini par la RFC 2784.
Le protocole GRE présente les avantages suivants.
Plusieurs protocoles sont utilisés sur une seule dorsale de protocole.
La construction d'un réseau peut être réalisée avec un nombre limité de sauts
Mise en réseau de sous-réseaux non contigus
Besoins en ressources inférieurs à ceux de ses alternatives (par exemple, les VPN IPsec)
Principe de fonctionnement
Le système achemine les données vers les points de terminaison GRE via des itinéraires établis dans la table de routage. Lorsqu'un point de terminaison GRE reçoit un paquet, il est décapsulé et réacheminé vers son adresse de destination. Les tunnels GRE sont sans état et les points de terminaison de tunnel ne contiennent aucune information sur l'état ou la disponibilité des points de terminaison de tunnel distants. Par conséquent, un commutateur fonctionnant comme routeur source de tunnel ne peut pas arrêter une interface de tunnel GRE si le point de terminaison distant est inaccessible.
Flux de transmission des messages GRE
Si un message de l'hôte A est transmis du routeur A au routeur B, les données GRE sont encapsulées sur le routeur A et décapsulées sur le routeur B. Le chemin emprunté par le message de données encapsulé à travers le réseau est le tunnel GRE.
1. Message d'encapsulation
1) Lorsque le routeur A reçoit un paquet de l'hôte A 192.168.10.10 avec l'IP de destination 192.172.1.10 (hôte B), il encapsule le paquet d'origine en tant que paquet de charge utile dans le protocole GRE et ajoute un en-tête GRE avec l'IP source 1.1.1.2 et l'IP de destination 1.1.1.3 à l'extrémité opposée du tunnel.
2) Terminez l'encapsulation du paquet GRE
3) Le routeur A continue d'ajouter l'IP source du tunnel GRE 113.113.11.11 et l'IP de destination 113.113.10.10 à l'extérieur du paquet et l'envoie à Internet
2. Décryptage du message
1) Une fois le paquet envoyé sur Internet, tous les routeurs transmettront le paquet uniquement en fonction de l'adresse IP publique externe jusqu'à ce que le paquet soit transmis à l'IP de destination réelle 113.113.10.10 (routeur B)
2) Le routeur B va d'abord démêler l'en-tête IP public du paquet, puis se rendre compte que l'IP de destination dans l'en-tête GRE est 1.1.1.3, ce qui est exactement lui-même.
3) Le routeur B continuera à déballer le paquet GRE et découvrira que l'IP de destination est 192.172.1.10, envoyant finalement le paquet à 192.172.1.10 (hôte B)