While a complete and thorough discussion of BGP theory is well beyond the scope of this chapter, a few functional details critical to high availability merit some discussion. Most importantly, when talking about routing, you have to talk about preventing routing loops, the archenemy of high availability. BGP uses two distinct loop prevention mechanisms: one prevents loops in External BGP (EBGP) connections, and the other in IBGP connections.
EBGP loop prevention, as a concept, is very easy to understand.
Figure 13-2 shows an EBGP-speaking
r1, receiving a route update
from an EBGP neighbor,
checks the AS path. If the update contains
r1’s AS number, in this case 1717,
r1 drops the update. The presence of AS 1717
in the advertisement indicates that the route either originated in AS
1717, or has already been advertised through AS 1717 and is a
Figure 13-2. EBGP loop prevention
EBGP loop prevention is an inherent function of BGP and does not need to be enabled to prevent loops. It is “on” by default and does not require configuration in JUNOS or IOS.
IBGP loop prevention is a bit more complex and is based on three foundational rules:
A route received from an ...