Mnemonics for BGP Best Path Algorithm

From: Victor Cappuccio (cvictor@protokolgroup.com)
Date: Thu Oct 13 2005 - 02:15:17 GMT-3


Hello I'm looking for a Mnemonics for the BGP Best Path Algorithm, like
for example when redistributing some routing protocol in EIGRP I always
use this one BIG (bandwidth) Dogs (Delay) Really (Reliability) Like
(Load) Me (Metric) (I read it some where and I always remember it), can
you think one for BGP?

http://www.cisco.com/univercd/cc/td/doc/cisintwk/ics/icsbgp4.htm

Thanks ;)
Victor.

---------

1._ Prefer the path with the highest WEIGHT.

*Note: *WEIGHT is a Cisco-specific parameter, local to the router on
which it's configured.

2._ Prefer the path with the highest LOCAL_PREF. Note the following:

o_ Path without LOCAL_PREF is considered as having the value set with
the *bgp default localpreference*

command, or 100 by default.

3._ Prefer the path that was locally originated via a *network *or
*aggregate *BGP subcommand, or through

redistribution from an IGP. Local paths sourced by *network *or
*redistribute *commands are preferred

over local aggregates sourced by the *aggregate-address *command.

4._ Prefer the path with the shortest AS_PATH. Note the following:

o_ This step is skipped if *bgp bestpath as-path ignore *is configured.

o_ An AS_SET counts as 1, no matter how many ASs are in the set.

o_ The AS_CONFED_SEQUENCE and AS_CONFED_SET are not included in the AS_PATH

length.

5._ Prefer the path with the lowest origin type: IGP is lower than EGP,
and EGP is lower than

INCOMPLETE.

6._ Prefer the path with the lowest multi-exit discriminator (MED). Note
the following:

o_ This comparison is only done if the first (neighboring) AS is the
same in the two paths; any

confederation sub-ASs are ignored. In other words, MEDs are compared
only if the first AS in the

AS_SEQUENCE is the same for multiple paths. Any preceding
AS_CONFED_SEQUENCE is

ignored.

o_ If *bgp always-compare-med *is enabled, MEDs are compared for all
paths. This option needs to

be enabled over the entire AS, otherwise routing loops can occur.

o_ If *bgp bestpath med-confed *is enabled, MEDs are compared for all
paths that consist only of

AS_CONFED_SEQUENCE (paths originated within the local confederation).

o_ Paths received from a neighbor with a MED of 4,294,967,295 will have
the MED changed to

4,294,967,294 before insertion into the BGP table.

o_ Paths received with no MED are assigned a MED of 0, unless *bgp
bestpath missing-as-worst *is

enabled, in which case they are assigned a MED of 4,294,967,294.

o_ The *bgp deterministic med *command can also influence this step as
demonstrated in the How

BGP Routers Use the Multi-Exit Discriminator for Best Path Selection.

7._ Prefer external (eBGP) over internal (iBGP) paths. If bestpath is
selected, go to Step 9 (multipath). 7.

*Note: *Paths containing AS_CONFED_SEQUENCE and AS_CONFED_SET are local
to the

confederation, and therefore treated as internal paths. There is no
distinction between Confederation

External and Confederation Internal.

8._ Prefer the path with the lowest IGP metric to the BGP next hop.
Continue, even if bestpath is already

selected.

9._ Check if multiple paths need to be installed in the routing table
for BGP Multipath. Continue, if

bestpath is not selected yet.

10._When both paths are external, prefer the path that was received
first (the oldest one). This step

minimizes route-flap, since a newer path will not displace an older one,
even if it would be the

preferred route based on the next decision criteria (Steps 11, 12, and 13).

Skip this step if any of the following is true:

o_ The bgp best path compare-routerid command is enabled.

*Note: *This command was introduced in Cisco IOS. Software Releases
12.0.11S, 12.0.11SC,

12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T, and 12.1.3.E.

o_ The router ID is the same for multiple paths, since the routes were
received from the same router.

o_ There is no current best path. An example of losing the current best
path occurs when the neighbor

offering the path goes down.

Prefer the route coming from the BGP router with the lowest router ID.
The router ID is the highest IP

address on the router, with preference given to loopback addresses. It
can also be set manually using

the bgp router-id command.

*Note: *If a path contains route-reflector (RR) attributes, the
originator ID is substituted for the router ID

in the path selection process.

12._If the originator or router ID is the same for multiple paths,
prefer the path with the minimum cluster

list length. This will only be present in BGP route-reflector
environments. It allows clients to peer with

RRs or clients in other clusters. In this scenario, the client must be
aware of the RR-specific BGP

attribute.

13._Prefer the path coming from the lowest neighbor address. This is the
IP address used in the BGP

neighbor configuration, and corresponds to the remote peer used in the
TCP connection with the local

router.



This archive was generated by hypermail 2.1.4 : Sun Nov 06 2005 - 22:00:50 GMT-3