|
To avoid creating routing loops inside
an AS, BGP does not advertise routes learned via IBGP peers to other
IBGP peers. Thus, it is important to maintain a full IBGP mesh
within the AS -- that is, every BGP router in the AS has to build a BGP
session with all other BGP routers inside the AS. The figure illustrates one of the common mistakes administrators make when
setting BGP routing within an AS.
In the network illustrated in the
figure, an ISP has three POPs: San Jose, San Francisco, and Los
Angeles. Each POP has multiple non-BGP routers and a BGP border
router running EBGP with other ASs. The administrator sets up an
IBGP connection between the San Jose border router and the San
Francisco border router. He sets up another IBGP connection between
the San Francisco border router and the Los Angeles border router.
In this configuration, EBGP routes learned via San Jose will be
given to San Francisco, EBGP routes learned via San Francisco are
given to San Jose and Los Angeles, and EBGP routes learned via Los
Angeles are given to San Francisco. Routing in this picture is not
complete; EBGP routes learned via San Jose will not be given to Los
Angeles, and EBGP routes learned via Los Angeles will not be given
to San Jose. This is because the San Francisco router will not pass
on IBGP routes between San Jose and Los Angeles. What is needed is
an additional IBGP connection between San Jose and Los Angeles
(shown via the dotted line). You will see later how this situation
could be handled by using the concept of route reflectors, an option
that scales much better in cases where the AS has a large number of
IBGP peers.
|