Parfois, plusieurs tunnels seront utilisés dans le réseau, car ils peuvent tous deux transporter des charges utiles différentes.
Le tunnel IPSec ne peut pas transporter le trafic multicast, mais il peut chiffrer le trafic transporté. Au contraire, le tunnel GRE peut transporter du trafic multidiffusion, mais il ne peut pas protéger les données transportées en cours de modification.
Nous utilisons donc généralement les deux, ce qui génère deux combinaisons: IPsec sur GRE et GRE sur IPsec.
Tout d'abord, jetons un coup d'œil à IPsec sur GRE.
Dans IPsec sur GRE, les données seront d'abord cryptées par IPsec, puis transportées par le GR et transférées au terminal distant. Dans cette situation, puisque les données seront d'abord traitées par IPsec, puis par le tunnel GRE, le trafic multidiffusion ne pourra donc pas être transféré dans IPsec sur GRE.
Cela fonctionne comme le montre la figure ci-dessous:
Contrairement à IPsec sur GRE, le GRE sur IPsec a un traitement inverse des données. Les données seront d'abord encapsulées par le tunnel GRE, puis cryptées par IPSec et transférées au terminal distant. Dans cette situation, étant donné que le GRE peut transporter les données de multidiffusion, le GRE sur IPsec pourrait également traiter le trafic de multidiffusion, mais cela se fait indirectement plutôt que directement.
GRE sur IPsec traite les données comme suit: