Please consider the attached image below:
A GRE tunnel is set up between R1 and R4.
Tunnel source is R1 interface having the IP address 172.16.0.1/16
Tunnel destination is R4 interface having the IP address 192.16.0.2/16
There is IGP reachabilty between 172.16.0.0/16
and 192.16.0.0/16
network.
Hence we bring up the tunnel as below.
On R1
R1(config)#interface tunnel 1
R1(config-if)#tunnel source 172.16.0.1
R1(config-if)#tunnel destination 192.16.0.2
R1(config-if)#ip address 8.8.8.1 255.0.0.0
On R4
R4(config)#interface tunnel 1
R4(config-if)#tunnel source 192.16.0.2
R4(config-if)#tunnel destination 172.16.0.1
R4(config-if)#ip address 8.8.8.2 255.0.0.0
Objective is to ping 4.4.4.4
with Source as 1.1.1.1
Q1: When the packet is encapsulated, how will it look like? Please explain in terms of Outer source IP address, Outer Destination IP address, Inner Source IP address, Inner destination IP address, GRE header etc.
A: Outer Source IP address: 8.8.8.1
Outer Dest IP address: 8.8.8.2
Inner Src IP address: 1.1.1.1
Inner Dest IP address: 4.4.4.4
Q2: Since R2 and R3 DO NOT have knowledge of tunnel, how will they see when the packet comes to them? What Source and destination IP address will they see? Why would they not drop the packet?
A: R2 and R3 are unaware of the tunnel. Hence they have no knowledge of the 8.0.0.0
subnet. So when the packet comes to R2, it will ONLY see the TUNNEL DESTINATION, e.g. 192.16.0.2
, but what about the Src IP address? My confusion here is, will the original packet be tweaked? What happens to Outer Src IP address and Outer Dest IP address at this point?
Q3: The most common advantage of GRE tunnel(they say) is support for multicast (thereby we can run routing protocols over the tunnel as routing protocols require multicast. Is that the only advantage?
A: I guess this is the major advantage
Q4: To bring up the tunnel itself, we need to ensure that the Tunnel Source and destination are reachable (say via IGP), then how is it different from Q3? I mean, to bring the tunnel itself, we need the IGP reachabilty (which would also require multicast).
A:I am not sure of this.
I have updated the post with my own answer. Please correct me if wrong.