Generally speaking, for EBGP peering using the BGP standards, we peer based on the IP address of the BGP neighbors’ local interfaces. However, that brings up some challenging permutations. When peering is done via the external network of a BGP edge router within an AS, a BGP edge router will not change the next hop of for the route from the advertising AS when it receives it but rather will pass it on unchanged to its IBGP neighbors.
If the external network connecting the two AS’s is not advertised into the IGP of the receiving AS, the next hop of the route will presumably be unreachable.
So this presents us with a few options…
- We can redistribute the external network into the IGP.
- We can advertise the external network into the IGP (presumably as a passive interface).
- We can configure the next hop self parameter on the edge router on the receiving AS’s internal neighbor relationships.
Being aware of all three methods is important to understanding the options available to you should you need to configure “RFC-compliant” BGP. My personal preference is setting the next-hop-self parameter on each of the edge router’s IBGP connections, thus ensuring a reachable next hop without increasing the size of the IGP table. It is not necessarily going to maintain the most optimal routing path to exit the AS (due to the default BGP path selection process being inferior to that of an IGP) but it consistently works to establish connectivity.