From: amsoares@netcabo.pt
Date: Tue Nov 21 2006 - 21:18:35 ART
Hello Group,
A few days ago i made some sniffing in order to understand how the GRE Keepalives work. I used Ethereal to see what was going on and i would like to share with you my findings.
Suppose the setup that follows:
R1:
!
Interface Ethernet0/0
ip address 10.10.10.1 255.255.255.0
!
Interface Tunnel 12
ip unnumbered Ethernet0/0
tunnel source 10.10.10.1
tunnel destination 10.10.10.2
keepalive 10 3
!
R2:
!
Interface Ethernet0/0
ip address 10.10.10.2 255.255.255.0
!
Interface Tunnel 12
ip unnumbered Ethernet0/0
tunnel source 10.10.10.2
tunnel destination 10.10.10.1
keepalive 10 3
!
What happens:
A) R1->R2:
=====================================================================
| IP | IP src | IP dst | GRE | IP | IP src | IP dst |GRE |
|PT=GRE|10.10.10.1|10.10.10.2|PT=IP|PT=GRE|10.10.10.2|10.10.10.1|PT=0|
=====================================================================
B) R2->R1:
===================================
| IP | IP src | IP dst |GRE |
|PT=GRE|10.10.10.2|10.10.10.1|PT=0|
===================================
C) R2->R1:
=====================================================================
| IP | IP src | IP dst | GRE | IP | IP src | IP dst |GRE |
|PT=GRE|10.10.10.2|10.10.10.1|PT=IP|PT=GRE|10.10.10.1|10.10.10.2|PT=0|
=====================================================================
D) R1->R2:
===================================
| IP | IP src | IP dst |GRE |
|PT=GRE|10.10.10.1|10.10.10.2|PT=0|
===================================
Packet A: R1 sends a keepalive to R2
Packet B: R2 replies to the Keepalive
Packet C: R2 sends a Keepalive to R1
Packet D: R1 replies to R2
So the Keepalive is in fact a IP/GRE/IP/GRE packet that when decapsulated at the destination becomes a IP/GRE packet that is sent to the source. This mechanism resets the Keepalive counter and maintains the Interface Up.
However it took me some time to understand this because Ethereal shows packets A and C Sourced from R2 and R1 respectively. I don't know why (Bug?) Ethereal displays the Inner IP Header Information instead of the Outer IP Header Information. I'm running the last release (0.99.0).
Regards,
AMS
This archive was generated by hypermail 2.1.4 : Fri Dec 01 2006 - 08:05:48 ART