Hello, I was listening to an episode of the Network Collective podcast. I don't recall the exact episode, but it was regarding BGP. Someone on it said that people erroneously believe that the command neighbor <ip addr> ebgp-multihop 2
command is required to have a peer relationship work between two directly-connected routers that are both using a loopback interface for the neighborship, when in fact the command is not required b/c after the router decrements the TTL from 1 to 0, it will see that the packet is meant for itself and therefore read it.
When I lab this in eve-ng using Cisco IOS (IOL images), the ebgp-multihop
command is required for the neighborship to work. Does anybody find this behavior to be different depending on the vendor or platform?
Since a router is supposed to discard packets after the TTL reaches zero, and it's supposed to decrement the TTL before even doing a route look-up, I don't see why a router would first see whether it owns the destination IP address in the packet before deciding what to do with the packet. Unfortunately, I can't think of how to test the behavior other than by labbing eBGP with loopback interfaces.
Edit: Adding configs so it's clear. Neighbors share the 1.1.1.0/30 subnet (rtr8 is .1 and rtr9 is .2).
rt8#show run | s router bgp router bgp 8 bgp log-neighbor-changes neighbor 9.9.9.9 remote-as 9 neighbor 9.9.9.9 ebgp-multihop 2 neighbor 9.9.9.9 update-source Loopback0 rt9#show run | s router bgp router bgp 9 bgp log-neighbor-changes neighbor 8.8.8.8 remote-as 8 neighbor 8.8.8.8 ebgp-multihop 2 neighbor 8.8.8.8 update-source Loopback0
No comments:
Post a Comment