With the full Internet BGP routing table being upward of 200K routes and with a BGP
router having the potential to be receiving multiple copies of that routing table from
multiple providers, it has to have some way to compare those multiple BGP routing tables
and select only the best route to go into the IP routing table on the router. It uses the
BGP Best Path Selection Algorithm to do this.

You should note that Cisco BGP routers have weight as the first criteria in the table
where other brands of routers do not.

Unless there are no options in place to influence the result, the BGP Best Path selects
the best path b are put in place by network administrators.

Let’s look at the selection criteria, in order, that BGP uses to select the best routes to
install into the IP Routing table:

1 Weight — This is a Cisco-defined attribute that is assigned locally to your router
and does not get carried through to the router updates. If there are multiple paths to a
particular IP address (which is very common), then BGP looks for the path with the
highest weight. There are several ways to set the weight parameter, such as the neighbor
command, the as-path access list, or route maps.

2 Local Preference — This is an indicator to the AS as to which path has local
preference, with the highest preference being preferred. The default is 100. For example:

bgp default local-preference 150

3 Network or Aggregate — This criterion prefers the path that was locally
originated via a network or aggregate. The aggregation of specific routes into one
route is very efficient and saves space on your network. 

4 Shortest AS_PATH — BGP uses this one only when there is a “tie” comparing
weight, local preference, and locally originated vs. aggregate addresses.

5 Lowest origin type — This deals with protocols such as Interior Gateway 
Protocol (IGP) being a lower preference than Exterior Gateway Protocol (EGP).

6 Lowest multi-exit discriminator (MED) — This is also known as the external
metric of a route. A lower MED value is preferred over a higher value.

7 eBGP over iBGP — Similar to #5, BGP AS Path prefers eBGP over iBGP.

8 Lowest IGP metric — This criterion prefers the path with the lowest IGP metric
to the BGP next hop.

9 Multiple paths — This determines if multiple paths require installation in the routing
table. 

10 External paths — When both paths are external, it prefers the path that was
received first (the oldest one).

11 Lowest router ID — This prefers the route that comes from the BGP router with
the lowest router ID.

12 Minimum cluster list — If the originator or router ID is the same for multiple
paths, it prefers the path with the minimum cluster list length.

13 Lowest neighbor address — This prefers the path that comes from the lowest
neighbor address.