
The TCP/IP Guide - Version 3.0 (Contents) ` 782 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
Limitations on BGP's Ability to Select Efficient Routes
When considering the route selection process, it's very important to remember that BGP is
a routing protocol that operates at the inter-autonomous-system level. Thus, routes are
chosen between ASes and not at the level of individual routers within an AS.So, for
example, when BGP stores information about the path to a network, it stores it as a
sequence of autonomous systems, not a sequence of specific routers. BGP cannot deal
with individual routers in an AS because by definition, the details of what happens within an
AS are supposed to be “hidden” from the outside world. It doesn't know the structure of
ASes outside its own.
However, this has an important implication for how BGP selects routes: BGP cannot
guarantee that it will pick the fastest, lowest-cost route to every network. It can select a
route that minimizes the number of ASes that lie between itself and a particular network, but
of course ASes are not all the same. Some ASes are large and consist of many slow links,
while others are small and fast. Choosing a route through two of the latter type of AS will be
better than choosing a route through one of the former, but BGP can't know that. Policies
can be used to influence AS selection to some extent, but in general, since BGP doesn't
know what happens in an AS, it cannot guarantee the efficiency of a route overall. (Inciden-
tally, this is the reason why there is no general “cost” or “distance” path attribute in BGP.)
Key Concept: As an exterior routing protocol, BGP operates at the autonomous
system level. Its routes are calculated based on paths between ASes, not individual
routers. Since BGP, by definition, does not know the internal structure of routers
within an AS, it cannot know for certain the cost to send a datagram across a given AS. This
in turn means that BGP cannot always guarantee that it will select the absolute lowest-cost
route between any two networks.
Originating New Routes and Withdrawing Unreachable Routes
Naturally, a facility exists to allow BGP speakers to originate new routes to networks. A
BGP speaker may obtain knowledge about a new route from an interior routing protocol on
an AS to which it is directly attached and choose to share this information with other ASes.
It will create a new entry in its RIB for this network and then send information about it out to
other BGP peers.
BGP also includes a mechanism for not only advertising routes it can reach, but those it
cannot. The latter are called unfeasible or withdrawn routes, and are mentioned in Update
messages as needed to indicate that a router can no longer reach the specific network.
BGP General Operation and Messaging
In the previous topics we have seen how BGP stores information about routes and uses it
to determine paths to various networks. Let's now take a high-level look at how BGP
operates in general terms. Like many other protocols covered in this Guide, BGP's