Generic Routing Encapsulation (GRE) provides a mechanism of encapsulating packets of a protocol into packets of another protocol. This allows packets to be transmitted over heterogeneous networks. The channel for transmitting heterogeneous packets is called a tunnel. In addition, GRE serves as a Layer 3 tunneling protocol of Virtual Private Networks (VPNs), and provides a tunnel for transparently transmitting VPN packets.
GRE can be used in the scenarios shown in Figure 1 to Figure 4.
In the scenarios stated above, the source IP addresses and the destination IP addresses of all packets in the GRE tunnel are the source address and the destination address of the GRE tunnel. Therefore, on any transit node or on egress node of the GRE tunnel, the TTLs in the outer IP headers of the GRE packets are the same. If a flow is carried by only one GRE tunnel and the load balancing mode is per-flow, the load balancing is not available. It is recommended that you create multiple GRE tunnels to carry the flow.