EBGP Multihop

Hello Bala

The specific process that is followed in the scenario you describe from the lesson is the following:

  1. R1 prepares to send the packet to R3, and sets the TTL to 1.
  2. R1 will make its forwarding decision (chooses the egress port) using the destination IP address of R3 and its routing table.
  3. Before egress, the TTL is checked to see if it must be dropped or not. TTL is not equal to 0, so it is not dropped.
  4. The packet is sent
  5. R2 receives the packet. As per RFC1812 a router will not discard a packet it receives with a TTL of 1 or 0, but it will process it normally.
  6. R2 will make its forwarding decision based on the destination IP and routing table.
  7. Just before egress, the TTL is checked to see if it must be dropped or not. TTL is 1. At this point, if the local device is the destination, it receives it successfully. If not (which is the case now) it is dropped.
  8. R2 sends TTL exceeded message.

Note that the wireshark capture of the packet on R1 in the lesson is taken before the decrement of the TTL on R1. Rene states that R2 will decrement the TTL but according to the RFC, this is not quite correct. I will tell Rene to take a look and confirm that this is the case, and if so, the lesson will be updated.

I hope this has been helpful!

Laz